毕业论文 - 数字温度计的设计(5)

2018-12-27 15:55

D 3.6 系统整体硬件电路 VCCS2R210KD1LED1234567891011121314151617181920AT89S52P1.0VCCP1.1P0.0/AD0P1.2P0.1/AD1P1.3P0.2/AD2P1.4P0.3/AD3P1.5P0.4/AD4P1.6P0.5/AD5P1.7P0.6/AD6RESETP0.7/AD7P3.0/RXDEAP3.1/TXDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7/AD15P3.4/T0P2.6/AD14P3.5/T1P2.5/AD13P3.6/WRP2.4/AD12P3.7/RDP2.3/AD11XTAL2P2.2/AD10XTAL1P2.1/AD9GNDP2.0/AD8212223242526272829303132333435363738394010k*8RP1CC1+10uFS1321DS18B20VCCDQGNDVCCC130PF12MHZ32.768MHZR310KR110KR310kD2LED160212345678910111213141516VSSVCCV0RSR/WEDB0DB1DB2DB3DB4DB5DB6DB7BLKBLAVcc2X1X2GNDDS130218273645Vcc1SCLKC2I/OCE30PFBS3SW-PBS4SW-PBS5SW-PBS6SW-PB\\ 17

第四章 软件设计

4.1主程序设计

程序才用模块化设计,流程图如图1所示。

从上面主程序看出,主程序的组成是通过分别调用各子程序组成总体系统功能,能很直观的看出主程序所要完成的功能,首先是初始化各模块,之后调用键盘完成时间,日历,时钟的初始化和时间数据的读写,调用温度子程序完成温度芯片的初始化和读写,调用显示子程序显示数据,最后又转到键盘程序来回循环。 初始化部分主要有初始化定时器部分和和一些寄存器、标志位、初始化时间等对定时器T0初始化时,首先置初值,CPU开中断,定时器T0开中断,并且开始计数,而对定时器T1初始化时,首先置初值,,定时器T1关中断,并且停止计数,只有收到命令时才能产生中断。

寄存器的初始化主要是初始化执行程序时用到的部分RAM空间,防止程序执行时带来混乱。

标志位初始化是对时间调整时判断是调分还是调时等而专设的位标志,初始化过程中标志位全部置0,即开始时是处于显示状态,而不是调整状态,这一点在程序中相当明了。

初始化时间是开机时显示的时间,并通过调用日历时钟的写程序来完成时间的置初值。

\\ 18

开始 初始化T0并开中断 初始化T1并中断

\\

寄存器初始化 标志位初始化 初始化时间 调键盘子程序 调温度子程序 调显示子程序 结束 1主程序流程图

19

4.2 键盘子程序设计

多功能键盘程序的设计是本设计的难点,也是完成本设计的重点,当有键按下时,调用10ms延时程序,再判断是否有键按下无则返回,若有先调用显示程序再判断是否松开,否则再转到显示程序,这样避免了在按键松开之前能正常显示。 K1键按下后对应的位置闪烁。当判断键值为1时则为调秒状态,对应的秒低位闪烁,为2时为调分状态并分闪烁,为3时为调时状态并时闪烁,为4时为调日状态并日闪烁,为5时为调月状态并月闪烁,为6时为调年状态并年闪烁,为7时为调星期状态并星期闪烁。K2为加1键,K3为减1键,K4为总返回键,即在调时间时不用只有按下K1键值为8才返回,而通过按下K4键即可返回。键盘子程序流程图如图2所示。

在键盘子程序中当判断键值为1~7时是对时间秒、分、时、日、月、年、星期调整原理和调秒相同,由于键盘流程图非常复杂,在此省略了调分时等。

\\ 20

开始 有键按下? 延时10ms Y K2按下? N K3按下? N K4按下? N K1按下? Y 调显示 N Y 调显示 Y 有键按下? Y 键值清0 N 标志位清0 返回Y K1为0? N 键值加1 下页3 下页1

\\ 21


毕业论文 - 数字温度计的设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:食品化学习题集及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: