AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.docx
《AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.docx》由会员分享,可在线阅读,更多相关《AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间.docx(41页珍藏版)》请在冰豆网上搜索。
AT89S51课程设计报告电子钟滚动显示时间日期矩阵键盘设置时间
摘要··································································2
第一章设计任务3······················································一、设计任务························································3
二、设计目的························································3
三、设计环节及进程安排··············································3
第二章总体方案设计与方案可行性说明4·······························一、预期效果························································4
二、总体方案设计及程序设计思路······································4
第三章总框图及总体软件设计说明6·····································一、总框图··························································6
二、总体软件设计说明················································6
第四章接口电路逻辑图及硬件设计说明,或系统资源使用说明7·········一、接口电路逻辑图··················································7
二、接口电路逻辑图说明:
·············································8
三、硬件设计说明及系统资源使用说明··································8
第五章主要子程序框图及其设计说明9···································一、外部中断流程图··················································9
外部中断0说明···············································9
二、定时器0流程图··················································10
定时器0说明·················································11
三、定时器1流程图··················································12
定时器1说明·················································14
四、键盘扫描子程序流程图············································15
键盘扫描子程序说明···········································17
第六章源程序清单18····················································
第七章调试记录及调试结果19············································
第八章系统实现功能与操作说明20·······································一、系统实现功能:
··················································20
二、操作说明:
·······················································20
第九章课程设计总结21···················································一、实现的效果:
··················································21
二、程序各部分说明及系统资源使用情况:
····························21
三、本次实习的经验总结··············································22
附录23·····································································
-1-
摘要
数字电子钟是采用数字电路实现对年、月、日、时、分、秒数字显示的计时装置。
在这次设计中,采用LED数码管滚动显示年、月、日、时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用11MHz的晶振产生振荡脉冲,定器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
-2-
第一章设计任务
一、设计任务:
用实验室的AT89S51实验板,写出数字时钟的程序,能滚动显示实时时间日期于LED数码管,并可以修改时间日期,在规定的时间内完成设计、调试,经答辩合格后,提交设计说明书。
二、设计目的:
通过一个微机应用系统的设计与调试过程,运用《微机原理及接口技术》课程所学的知识,在设计中加以实践,达到理解、巩固和发展所学内容的目标。
通过系统构造、流程设计、编程与调试的过程,掌握分析与解决实际问题的方法与手段,提高系统设计、程序编码与调试方面的实际动手能力,作为从事工程技术工作的一次系统训练。
三、设计环节及进程安排:
1、布置课题,明确任务、总体方案及程序案头设计2天
2、局部程序模块设计调试3天
4、整体程序联合调试2天
5、程序功能完善、改进、扩展1天
6、答辩及编写设计说明书2天
-3-
第二章总体方案设计与方案可行性说明
一、预期效果:
时间、日期从最右边移入显示,逐渐缓慢向左移动,直至从最左边移出;时间、日期可调,按外部中断键时间暂停,进入时间日期设置,此时可以矩阵键盘输入时间日期,输入完后再按一下外部中断键时间按照设置的值接着走。
二、总体方案设计及程序设计思路:
1、主程序:
功能1——赋初始值,
功能2——查询44H是否为0,移动显示完一位后,44H减1,每一轮显示23位后,44H减到0,则跳转到RESTAR,每滚动显示完一轮,将显示内容的初始地址重置为50H,不断循环滚动显示。
外部中断0用于:
CPLTR1,每按一次外部中断按键,对TR1取反,关掉定时器1,此时数码管还是移动显示,但时间不走;CPLF0,用于定时器0中判断是否扫描矩阵键盘,时间正常走时不扫键盘,当按下外部中断后,取反F0,进行键盘扫描;MOVR1,#2FH,每次按外部中断后,给R1重新赋值,让每次键盘扫描时都将扫描到的第一个键值赋给30H
2、定时器0:
功能1——数码管的滚动动态显示时间日期,定时器0设置为2mS中断一次,每中断一次动态显示1位数码管,设置标志位(40H=#8),每中断一次40H减1、存首地址的R0增1、存位码的R3左移1位,进入下一次中断后显示第二位值,按该规律不断对40H、R0、R3的值进行修改,直至40H等于0,当40H等于0时表明已经动态显示了8位,重新赋要显示数存的初始首地址R0=50H、位码R3=80H和40H=8,进入下一轮对相同初始首地址动态显示。
这样循环250次以后,动态显示的初始首地址增1,再进入与之前同样的循环,每动态显示完8位,从新赋要显示数存的初始首地址、位码R3=80H和40H=8,每动态显示完250位后,向左边移动一位,如此循环,当移动了23位(灭灯的7位+显示时、分、秒、年、月、日和中间间隔的16位)后,回到最初刚开始滚动显示的状态,开始新一轮的滚动显示,如此不断循环。
字节单元50H~6DH存储的值对应于定时器要滚动动态显示的内容(50H~56H和67H~6DH存的#10H对应的数码管段码为熄灭,让显示效果为所有显示的数都是从最右边一直移动到最左边,57H对应小时十位,58H对应小时个位,59H对应“——”的段码,5AH对应分钟十位,5BH对应分钟个位,5AH对应“——”的段码,5DH对应秒钟十位,5EH对应秒钟个位,60H对应年份十位,61H对应年份个位,62H对应月份十位,63H对应月份个位,64H对应日期十位,65H对应日期个位)。
功能2——定时器0还用于矩阵键盘扫描,每中断250次(大概为250*2mS)后判断标志位F0是否位1,如果为1,则调用键盘扫描子程序。
键盘扫描子程序中不仅判断是否有按键按下,如果有按下,通过查表法找到对应的预定义的按键值,并将每次按键值赋给以30H为首地址的连续字节单元,还将以30H为首地址的连续字节单元的内容赋给定时器0对应显示时、分、秒、年、月、日的字节地址,以供定时器0显示设置的时间日期。
-4-
3、定时器1:
功能1——计时,每计时完1秒,秒字节地址中的值增1,满60秒分节地址中的值增1,满60分小时节地址中的值增1······如此不断向高位进位。
——将时、分、秒、年、月、日对应的字节地址进行处理,将处理结果赋给定时器功能2时、分、秒、年、月、日显示实时时间。
对应显示0的字节地址,以供定时器0
-5-
第三章总框图及总体软件设计说明
一、总框图:
8255
(1)
数码管断PA
PB
数码管位码
ALED0~LED7
TPC
矩阵键8
9
S5LED8~LED15
PA
按键外部中断01
8255
(2)
1
图
口地址,PA口地址0FE00H,PB8255
(1)8255用于扩展外部端口,的地址为0FE00H~0FE03H口地址PA的地址为0FD00H~0FD03H,0FE03H0FE01H,PC口地址0FE02H,控制口地址:
。
8255
(2)0FD03H。
0FD02H0FD00H,PB口地址0FD01H,PC口地址,控制口地址:
二、总体软件设计说明:
将该区域的内容进行滚动动0程序设置57H~66H字节地址为存储时分秒年月日的区域,定时器还对预设的标志位进行判断,看是否要进行矩阵键盘扫描,如果需要则调用键盘0态显示,定时器字节地址,以供定时扫描子程序,对矩阵键盘进行扫描并将扫描的到键值进行处理,赋给57H~66H器0对正在设置的时间值进行显示。
,以供定57H~66H定时器1计时并对时分秒