单片机课程设计 时钟系统 任务书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《单片机》课程设计任务书
1、课程设计目的
1)进一步加深对MCS-51内部结构和使用方法的理解。

2)提高综合程序设计能力。

2、课程设计要求
在单片机最小应用系统的基础上,设计一单片机实时时钟系统,该系统外接有6位LED显示器,可显示6位24小时制的时间:小时分钟秒;该系统外接有3个按键,分别用于调整单片机的小时、分钟、秒数(调整方法为每按一次,对应的时间加1)。

画出整个硬件原理图及软件流程图,并编写相应的程序。

3、课程设计任务:
1)显示部分:设计硬件电路图,使单片机系统具有电源、复位等功能;用单片机的2个并行口(P0,P1)输出小时、分钟、秒数共6位LED显示器;其中P0口输出要显示的内容,P1口输出确定点亮哪一个LED显示器。

编写显示程序,功能是循环地从显示缓冲区(片内RAM 25H-2AH单元)取出时间数值并查询该数字对应的字形码,然后将该字形码输出到对应的LED显示器上,输出采用动态显示方式:每次点亮一个LED 10ms,然后接着点亮下一个LED 10ms,循环下去。

2)键盘部分:设计硬件电路图,利用P2口给单片机外接3个按键,使单片机能根据键盘的输入修改当前时间的小时、分钟及秒数。

1#,2#,3#按键分别接P2口的P2.0、P2.1、P2.2引脚。

1#、2#、3#按键分别用于小时、分钟、秒数的加1调整(但秒不向分钟进位、分钟不向小时进位)。

小时、分钟、秒数分别存放在显示缓冲区内(片内RAM 25H-2AH单元)。

该程序对按键具有延时约20ms的去抖动功能,延时程序可采用软件延时;在确定该次按键有效时,首先应暂停当前定时器T0的定时,待按键程序处理完毕后再恢复T0定时器的定时。

画出各程序的流程图并编写程序。

3)定时部分:利用MCS-51内部定时器T0,软硬件结合编写
一个定时时间为1S的程序,1S时间到则调用一次秒加1子程序。

画出各程序的流程图并编写程序。

4)时间处理部分:编写一个秒加1子程序,实现显示缓冲区中的秒计数的加1及满60调用分钟加1子程序。

编写一个分钟加1子程序,实现显示缓冲区中的分钟数的加1及满60调用小时加1子程序。

编写一个小时加1子程序,实现显示缓冲区中的分钟数的加1及满24后自动清0。

画出各程序的流程图并编写程序。

5)主程序部分:主程序为一个循环执行的程序段,首先对中断及定时作一些初始化的处理,并能协调调用各个需要的子程序、及时地处理键盘输入,画出主程序的流程图并编写程序。

4、工作原理:
本设计利用MCS-51内部定时器T0来实现定时,并通过在中断程序里对中断次数计数达到定时1S的功能。

1S钟时间到后,自动调用秒加1子程序,秒加1子程序再根据需要调用分加1、小时加1子程序以实现24小时制的时间变化。

主程序不断读取显示缓冲区的时间值,然后查找相应的字形码,最后利用动态显示的原理输出字形码到外接的LED显示器上。

主程序在每个循环检查是否有按键按下,当有按键按下时,则调用键盘子程序;在键盘子程序里,先对按键进行延时20ms的去抖动,然后根据不同的按键进行相应的小时、分钟、秒数处理。

相关文档
最新文档