毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

用单片机实现温度远程显示 第3页

更新时间:2008-4-24:  来源:毕业论文

用单片机实现温度远程显示 第3页

优、单片机软件设计说明及程序流程图

为方便调试,采用模块化编程,共分1个主模块及5个子模块,各模块功能说明及流程图如下(源程序见附录):

1、主模块(rand_main.a51

上电后程序显示初始化标志并等待3秒,然后进入巡回模式,自动检测地址为A10)至F15)的智能仪表,对在线的仪表及已使用通道以3秒为周期自动巡回读取实时温度并送数码管显示,仪表未在线或未用通道则自动跳过;定点模式时根据上、下按键情况自动向前或向后移动一个通道后等待下一次按键(向上至最高通道号时跳到上一个仪表的最低在用通道,向下至最低通道号时跳到下一个仪表的最高在用通道);等待期间以3秒为周期读取当前仪表当前通道实时温度并送数码管显示,另外,为了区分巡回、定点工作模式,定点工作模式时最低位数码管以约0.5Hz的频率闪烁显示。当检测到巡回/定点切换键按下时自动在巡回及定点模式间转换,当检测到温度值低于-199.9度时显示-199.9度。

       主模块流程图见下页:若图片无法显示请联系QQ752018766

2、数据转换子模块(rand_data.a51

功能:  本模块先将ASCII码转换成BIN码,然后将BIN码转换成BCD码并将数据转换成可直接显示的格式

入口:  a=通道号

出口:   r1=个位,r2=十位,r3=百位,r4=千位(显示数据)

a=0表示该通道未用

注:本子模块中直接将小数点信息加到相应位数据上,如需在某位显示小数点,则将该位数据加10H,显示子模块根据此信息显示小数点

各子程序功能介绍:

l         bcd2_bcd1:将r3,r4中的4bcd码由低至高分别存入r1,r2,r3,r4中;

l         ascii4_bcd3:将(r0)为首地址的4字节ascii码转换成bcd码并将bcd码由低至高依次存放在r3,r4,r5中,r3,r4中各存放2bcd码,r5中存放一位bcd码;

l         bin_bcd:将r1,r2中的bin码转换成bcd码并将bcd码由低至高依次存放在r3,r4,r5中,r3,r4中各存放2bcd码,r5中存放一位bcd码;

l         ascii4_bin2:将(r0)为首地址的4字节ascii码转换成2bin码存放在r1(低字节),r2(高字节)中;

注:[r0)指r0中内容]

l         ascii_bin:将(r0)为地址的一位ascii码转换成bin码存A中。

(高级子程序调用低级子程序以实现更强的功能,源程序中对各子程序有较详细的注释,故此处仅画出主流程图)

开始

计算通道数据首地址

调用数据转换程序

还原小数位数存R6

BCD码超过5位吗?

该通道数据为0X0ffff吗?

返回该通道未用信息

Y

Y

N

N

退出

转换成可显示数据存R1-R4

有效位前的零消除处理

 

返回数据正确信息

负数处理,当数据小于-199.9时显示-199.9


3、显示、软件看门狗、20ms定时器子程序(rand_disp.a51

功能:    通过定时器01MS为周期动态显示缓冲区中的内容;同时完成20ms定时器及软件看门狗计数;当软件看门狗定时器溢出时自动复位。

入口:   disp_buf为首地址依次存放从个位至十万位待显示数据,以disp_wc为首地址(位地址)依次存放个位至千位闪烁控制位信息,为'0'常亮,'1'闪烁.


出口:   wdt中存放软件看门狗计数值,time_20ms中存放20ms的计数值。Wdt溢出时跳至程序存储器0000H单元若图片无法显示请联系QQ752018766

2、数据转换子模块(rand_data.a51

功能:  本模块先将ASCII码转换成BIN码,然后将BIN码转换成BCD码并将数据转换成可直接显示的格式

入口:  a=通道号

出口:   r1=个位,r2=十位,r3=百位,r4=千位(显示数据)

a=0表示该通道未用

注:本子模块中直接将小数点信息加到相应位数据上,如需在某位显示小数点,则将该位数据加10H,显示子模块根据此信息显示小数点

各子程序功能介绍:

l         bcd2_bcd1:将r3,r4中的4bcd码由低至高分别存入r1,r2,r3,r4中;

l         ascii4_bcd3:将(r0)为首地址的4字节ascii码转换成bcd码并将bcd码由低至高依次存放在r3,r4,r5中,r3,r4中各存放2bcd码,r5中存放一位bcd码;

l         bin_bcd:将r1,r2中的bin码转换成bcd码并将bcd码由低至高依次存放在r3,r4,r5中,r3,r4中各存放2bcd码,r5中存放一位bcd码;

l         ascii4_bin2:将(r0)为首地址的4字节ascii码转换成2bin码存放在r1(低字节),r2(高字节)中;

注:[r0)指r0中内容]

l         ascii_bin:将(r0)为地址的一位ascii码转换成bin码存A中。

(高级子程序调用低级子程序以实现更强的功能,源程序中对各子程序有较详细的注释,故此处仅画出主流程图)若图片无法显示请联系QQ752018766

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

用单片机实现温度远程显示 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。