智能电表集中抄表系统入户子系统 第15页
第四章 程序的编制
单片机编程部分采用的语言是汇编语言,汇编语言的程序设计是开发微机系统软件的基本功,在程序设计中具有十分重要的地位。由于汇编语言具有执行速度快和易于实现硬件控制等独特的优点,使之成为用户使用较多的一种程序设计语言。特别是对于程序的空间和时间要求很高的场所,或者要求直接控制设备的应用场合,汇编语言是必不可少的。
计算机的程序设计语言可分为三种,即机器语言、汇编语言和高级语言。汇编语言是用指令助记符、符号地址、标号等书写的程序。由汇编语言编写的语言,必须遵守严格的语法规则。汇编语言可用助记符来表示指令的操作码,也可用标号和符号来代替地址、常量和变量。另外,汇编语言还引入了新的汇编指令——伪指令和宏指令,使得采用汇编语言进行程序设计更为方便灵活。但不同的CPU的指令系统的指令编码不同,因此与之相应的汇编语言亦不同。
和机器语言相比较,汇编语言的特点是易读、易记和易编,缺点是汇编语言编写的程序不能由机器直接执行,而必须通过一种具有“翻译”功能的系统程序——汇编程序的帮助,才能将这种符号化的汇编语言转换为相应的机器代码,常称为机器语言目标程序,简称目标程序。
4.1 流程图
流程图是程序算法的一种图形描述,由逻辑框和流程线组成对于复杂的问题,可分解为若干个程序模块,然后确定各模块的算法,画出程序流程图。对于大的程序,可分别画出分模块流程图和总的流程图,这时流程图可设计的粗略一些,能反映出结构即可。对于简单的程序段,也可不用画流程图,而直接按确定的算法编写程序。
主程序流程图如下图4所示
停电保护在开始以后就运行,数据每次都直接放入存储器。
A数为第一次的读数值,以后为每个月的月末值。
B数为电表当前的读书。
四舍五入子程序模块流程图
假设电表读数为一个000.0的形式。
该程序通过循环右移来实现四舍五入的过程。
4.2 程序设计
单片机主要使用汇编语言程序,在使用串口之前,必须先对串口进行初始化,主要是设置产生波特率的定时器T1、串口控制和中断控制。具体程序如下:
MOV A,#0FFH
MOV P1,A
MOV A,P1
MOV #H,A
MOV TMOD,#20H
MOV TH1,#OFDH
MOV TL1,#OFDH
MOV SCON,#0D8H
MOV PCON,#0
SETB TR1
最终生成的程序如下
SCLK BIT P1.1
IO BIT P1.0
RST BIT P1.2
CS1 BIT P1.3
CS2 BIT P1.4
E BIT P1.5
RW BIT P1.6
RS BIT P1.7
X EQU 44H
Y EQU 45H
ORG 0000H
LJMP START
ORG 0003H
LJMP INN0
ORG 000BH
LJMP TTOO
ORG 0013H
LJMP INN1
ORG 0023H
LJMP TOXI
START: MOV SP,#50H
JNB 20H,STA01
www.youerw.com MOV Y,#0B8H
MOV 46H,#0FFH
MOV 60H,#0CH
MOV 80H,#40H
MOV 61H,#0CH
MOV 81H,#60H
MOV 62H,#0CH
MOV 82H,#00H
MOV 63H,#0CH
MOV 83H,#20H
MOV 64H,#0EH
MOV 84H,#80H
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] 下一页
智能电表集中抄表系统入户子系统 第15页下载如图片无法显示或论文不完整,请联系qq752018766