新闻中心

EEPW首页>嵌入式系统>设计应用> 基于单片机设计的电子计时牌

基于单片机设计的电子计时牌

作者: 时间:2012-06-19 来源:网络 收藏
3.2 读程序分析

  读一字节子程序同写一字节子程序是一个道理,首先可设置循环计数值为8,以便为读取一个8位字节数据做准备,然后在串行时钟下降沿从P0.2端口读取一位时钟数据到C,以进行带进位的累加器循环右移,这样,循环8次后,即完成了一个字节时钟数据的读取。其结果存放到累加器ACC中。具体读取一字节数据的程序如下:

程序

  3.3 安全生产天数的计算

  本系统中的一项功能就是显示当前的安全生产天数。要得出安全生产天数值,首先应在单片机的内存单元中设定好安全生产天数的起点日期,同时设定一个基准时间,这样就可以计算出设置的安全生产天数起点日期到这个基准时间的天数,也就是起点的累计天数。然后,当每次读取时钟芯片日历时钟数据时,系统就会计算出当前读到的日期到基准时间的天数,也就是当前日期的累计天数,两个累计天数之差即是要显示的安全生产天数。

  4 实时监控系统的设计

  本系统的主程序用于完成数据的初始化以及T0定时器的设置等,其它任务均放到定时中断程序中来执行。图3所示为其中断服务程序流程图。中断服务程序首先要判断是否有按键按下,即是否进人数据设置状态?如果不是在设置状态,就要从时钟芯片读取要显示的数据,以及把每一项显示缓冲区的数据送数码管显示。如果是在设置状态下,则设置每0.25 s刷新显示一次数据。

中断服务程序流程图

  若在设置状态下,则意味着有按键按下,那么就要读取相应的按键。本设计中如果按键在设置状态下,不进行相应的数据调整操作,则保存设置的数据,并退出设置状态。读键时,首先读出其键码并保存。然后判断键码稳定否,如果不稳定,说明按键已经响应,则不进行数据调整。如果键码稳定,则再判断是否是调整键,如果是调整键,则调整修改指针,即每按一次调整键,修改指针加一,并进行下一项数据的修改。修改指针一般从安全天数的千、百、十、个到年、

  月、日、星期再到小时、分。如果一开始按下的按键不是调整键,则不会进入设置状态。在调整键已经响应的情况下,如果再读到有键按下的信号,那么,当其不是调整键时,进入数据修改状态,以进行相应数据的调整。注意:在设置状态下,每次操作均清除时钟,以便计时退出。调整好相应数据后,即可保存数据并进行数据的显示。

  5 数据的显示

  本设计中采用16片8位串行输入/并行输出74HC164N和数码管来进行串行移位显示。所用数码管是共阳极的8段数码管。由于分成三组输出来显示数据,因此,设计时把安全生产天数和温度显示部分的74HC164N时钟线连在一起接到单片机的P0.5,而把年月日星期显示部分的74HC164N时钟线连在一起接到单片机的P0.7,另外,把时钟显示部分的74HC164N时钟线连在一起接到单片机的P1.0。

  6 结束语

  本设计在完成过程中进行了多次的试验,尤其是在对温度的读取方面,得到了很多老师的指导,在此一并感谢。


上一页 1 2 下一页

评论


技术专区

关闭