基于89C52单片机的实用八路物位测量仪的设计
其中显示部分程序如下:
DISP: MOV R0,#20H ;R0指向显示缓冲区首地址
MOV R1,#01H
MOV R3,#08H
LOOP3: MOV a,@R0
MOV R4,A ;显示缓冲区数据送R4
MOV A,R1
lCALL WRITE ;数据锁存到273
INC R1
INC R0
DJNZ R3,LOOP3
3.3 采样处理子程序
调试过的部分源代码如下:
LOOP: MOV A,#0FH ;主程序循环开始
MOV P0,A ;先查询P0口,读取射线计数
MOV A,P0
XCH A,PQ
XRL A,PQ
MOV B,A
JB B.0,JIA1 ;第1路有计数,跳至加1程序
JIA10:JB B.1,JIA2 ;第2路有计数,跳至加1程序
JIA20:JB B.2,JIA3 ;…..
JIA30:JB B.3,JIA4
JIA40:JB B.4,JIA5
JIA50:JB B.5,JIA6
JIA60:JB B.6,JIA7
JIA70:JB B.7,JIA8 ;第8路有计数,跳至加1程序
LJMP LOOP01 ;接着处理键盘的查询
3.4主程序部分流程图
主程序流程图见图3
图3 主程序流程图
4 结束语
本设计的创新点在于充分利用了AT89C52的硬件资源,实现了软件计数器,能够对脉冲量信号所反映的物位信号通过数码管来显示,显示部分的处理采用Max7219显示驱动器,与软件编程相结合,大大节约了硬件资源,减少了通用的单片机扩展芯片,降低了成本。本仪表投入生产后成本比用其它方式组成的系统节约直接硬件成本每台约300元,投产后产生年经济效益约60万元(按每套仪表利润0.8万元计)。
参考文献:
[1].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[2].Max7219datasheethttp://www.dzsc.com/datasheet/Max7219_1019200.html.
[3].AT89C52 datasheethttp://www.dzsc.com/datasheet/AT89C52+_1064535.html.
[4].MCS-51datasheethttp://www.dzsc.com/datasheet/MCS-51_477840.html.
[5].74LS273datasheethttp://www.dzsc.com/datasheet/74LS273_588907.html.
评论