课程设计51单片机数字时钟要点(共17页).doc

上传人:飞****2 文档编号:19360160 上传时间:2022-06-06 格式:DOC 页数:17 大小:312KB
返回 下载 相关 举报
课程设计51单片机数字时钟要点(共17页).doc_第1页
第1页 / 共17页
课程设计51单片机数字时钟要点(共17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《课程设计51单片机数字时钟要点(共17页).doc》由会员分享,可在线阅读,更多相关《课程设计51单片机数字时钟要点(共17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上Harbin Institute of Technology课程设计说明书(论文) 课程名称:课程设计 设计题目:数字日历钟表的设计 院 系:电信学院通信工程 班 级: 设 计 者: 学 号: 指导教师: 设计时间:2013.6.12-3013.6.18 哈尔滨工业大学哈尔滨工业大学课程设计任务书 姓 名: 院 (系): 专 业: 班 号: 任务起至日期: 年 月 日至 年 月 日 课程设计题目: 数字日历钟的设计 已知技术参数和设计要求:1 数码管显示:秒、分、时(可同时显示,也可轮换显示)2 能够设置时间,“设置按键”数量不限,以简单合理易用为好。3 误差:1秒天

2、(报告中要论述分析是否满足要求)扩展(优秀必作)1 设置校准键:当数字钟显示在“整点30秒”范围时,按动“校准键”,数字钟即刻被调整到整点,消除了30秒的误差。2 加上“星期”显示(可以预置),并可以对其进行设置。 其他要求:1 按动员老师的要求、课程设计报告规范进行设计2 不允许使用时数字钟表、日历专用IC电路。3 可以使用通用器件:模拟、数字、单片机、EPLD、模块电路等。4 设计方法不限。 工作量:1. 查找资料2. 设计论证方案3. 具体各个电路选择、元器件选择和数值计算4. 具体说明各部分电路图的工作原理5. 绘制电路原理图6. 绘制印刷电路图7. 元器件列表8. 编写调试操作9.

3、打印论文 工作计划安排:1. 查阅资料: 2. 方案论证3. 设计、分析、计算、模拟调试、仿真、设计原理4. 撰写报告:课程设计要求、方案论证、原理论述(原理框图、原理图)、分析、计算、仿真,PCB图的设计,误差分析、总结,参考文献等5. 上交课程设计论文2013-6-19 同组设计者及分工: 指导教师签字_ 年 月 日 教研室主任意见: 教研室主任签字_ 年 月 日*注:此任务书由课程设计指导教师填写数字日历钟的设计一、课程设计要求1. 数码管显示:秒、分、时(可同时显示,也可轮换显示)2. 能够设置时间,“设置按键”数量不限,以简单合理易用为好。3. 误差:1秒天(报告中要论述分析是否满足

4、要求)4. 设置校准键:当数字钟显示在“整点30秒”范围时,按动“校准键”,数字钟即刻被调整到整点,消除了30秒的误差。5 加上“星期”显示(可以预置),并可以对其进行设置。二、方案论证2.1单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,其内部采用Flash ROM,具有4KB ROM 存储空间,能于3V的超低压工作,但运用于电路设计中时由于不具备ISP在线编程技术,烧入程序时需要专门的C编程器(当前可用的实验烧写开发板只支持具有ISP在线编程功能的AT89S系列的芯片),当在对电路进行调试时,更显麻烦,并且增加了造价,方案二:采用89S51芯片作为主控模块,AT89S51

5、是 MCS-51系列单片机目前运用较多的一种芯片,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且具备ISP在线编程技术,方便对电路进行调试.但由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。针对该问题,可采用易于插拔的芯片插槽,芯片的程序烧写用专门的实验板进行烧写(当前可用的实验烧写开发板支持AT89S系列).AT89S51单片机的功能引脚图如下图所示:AT89S51单片机的功能引脚图所以选择采用AT89S51作为主控制系统。2.3时钟芯片的选择方案和论证方案一: 采用DS1302时钟芯片实现时钟,DS1302芯

6、片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V5.5V范围内,功耗也较低,但价格比较贵,且目前市场上采购不到方案二: 直接采用单片机定时计数器提供秒信号,使用程序实现时、分、秒计数。采用此种方案实现虽然有一定的时间误差,但可减少少芯片的使用,节约成本,易于实现,符合初学者实验选用。所以采用方案二。综上各方案所述,对此次作品的方案选定: 采用AT89S51作为主控制系统; 通过软件编程采用定时器定时实现秒.分.时计时;LED数码管静态显示时间。三、原理论述单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。此数字钟是一

7、个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。显示器件选用LED七段数码管。在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路。使用动态数码显示的方法,运用独立式按键识别过程,按“时”,“分”,“秒”数据送出显示处理方法。 这里采用应用广泛的80C51单片机作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。首先将T0设定工作于定时方式1,对机器周期计数形成基准时间(50ms),然后使用循环的程序结构使基准时间计数20次从而形成秒,秒计60次形成分,分计60形成小时,小时计到24形成一天,天计

8、到7形成一星期,再重新循环。最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。3.1系统原理图 AT89C51的P1口接入三个按键,对时、分、秒进行调整。P0口输出字段码,控制要显示的字符,外接74LS245芯片,驱动LED显示。P3口输出字位码,去控制要显示的位,其原理图如图3-6所示。图3-6 电子钟原理图当接入电源时,数字电子钟以秒为单位开始计时。运行状态下,按下控制按键S-SET,对秒进行调整;按下M-SET调整分钟;按下H-SET对小时进行调整。这样通过三个按键,分别对时、分、秒进行调整,从而实现调时。3.2 程序设计流程图 这次的数字电子钟设计用到很多子程序

9、,它们的流程图如下所示。开始启动定时器按键检测时间显示主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。图4-1 主程序流程图按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。NYNYNY时加1显示时间结束开始秒按键按下?秒加1分按键按下?分加1时按键按下?图4-2 按键处理流程图N24小时到?分单元清零,时单元加1NNNYY时单元清零天单元加1时间显示中断返回开始一秒时间到?60秒时间到?60分

10、钟到?秒单元加1秒单元清零,分单元加1YY定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就检测1天是否到,1议案如果到,天单元就加1,如果没到,就显示时间。图4-3 定时器中断流程图 时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,然后是时十位显示,最后是天的显示。3.3 时钟程序设计步骤(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒分时的计时是通过累加和数值比较实

11、现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。(6)中断服务程序:进行计时操作(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。四、分析运算4.1 硬件部分采用7SEG-MPX8-CC 八个共阴二极管显示器来显示日期和时间。通过设置功能按键来实现调整日期和整点调时的功能。电路连接使用PCB,使电

12、路连接简洁美观。4.2 软件部分(1) “时钟”基准时间由单片机内部的定时中断T0提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不能超过16位定时器的最长定时时间;最短不能少于中断服务程序的执行时间。基准时间越短,越有利于提高时钟的运行精确度。基准时间定为0.05秒。(2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现“秒”定时,同理进行“分”“时”定时。4.3计算该部分主要是对51单片机内部定时中断T0的计时初值进行计算。该单片机使用的晶振为内部晶振,因此晶振频率为fosc=12MHz,机器周期为Tj=12/fosc=12/12106=1us。

13、由上面分析可知,定时时间T=50ms定时初值为X=216-T/Tj=65536-50000=15536=3CB0H五、程序简要说明:实现24小时制电子钟,8位数码管显示,显示时分秒显示格式:23-59-59(小时十位如果为0则不显示)P0口输出段选信号,P2口输出位选信号P1.2为调时按钮,P1.1为调分按钮;晶振12M源程序如下:S_SETBITP1.0 ;数字钟秒控制位M_SETBITP1.1 ;分钟控制位H_SETBITP1.2 ;小时控制位D_SET BIT P1.3 ;天控制位SECONDEQU30HMINUTEEQU31HHOUREQU32HDAY EQU 33HTCNTEQU34

14、HORG00HSJMPSTARTORG0BHLJMPINT_T0START:MOVDPTR,#TABLEMOVHOUR,#0;初始化MOVMINUTE,#0MOVSECOND,#0MOV DAY,#0MOVTCNT,#0MOVTMOD,#01HMOVTH0,#(65536-50000)/256;定时50毫秒MOVTL0,#(65536-50000)MOD 256MOVIE,#82HSETBTR0;*;判断是否有控制键按下,是哪一个键按下A1:LCALLDISPLAYJNBS_SET,S1JNBM_SET,S2JNBH_SET,S3LJMPA1S1:LCALLDELAY;去抖动JBS_SET,A

15、1INCSECOND;秒值加1MOVA,SECONDCJNEA,#60,J0;判断是否加到60秒MOVSECOND,#0LJMPK1S2:LCALLDELAYJBM_SET,A1K1:INCMINUTE;分钟值加1MOVA,MINUTECJNEA,#60,J1;判断是否加到60分MOVMINUTE,#0LJMPK2S3:LCALLDELAYJBH_SET,A1K2:INCHOUR;小时值加1MOVA,HOURCJNEA,#24,J2;判断是否加到24小时MOVHOUR,#0LJMP K3K3: INC DAY ;天值加1MOVMINUTE,#0MOVSECOND,#0LJMPA1;等待按键抬起

16、J0:JBS_SET,A1LCALLDISPLAYSJMPJ0J1:JBM_SET,A1LCALLDISPLAYSJMPJ1J2:JBH_SET,A1LCALLDISPLAYSJMPJ2;定时器中断服务程序,对秒,分钟和小时的计数INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)MOD 256INCTCNTMOVA,TCNTCJNEA,#20,RETUNE;计时1秒INCSECONDMOVTCNT,#0MOVA,SECONDCJNEA,#60,RETUNEINCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,

17、RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA,#24,RETUNEMOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUNE:RETI;显示控制子程序DISPLAY:MOVA,SECOND;显示秒MOVB,#10DIVABCLRP3.6MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.6MOVA,BCLRP3.7MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.7CLRP3.5MOVP0,#40H;显示分隔符LCALLDELAYSETBP3.5MOVA,MINUTE;显示分钟

18、MOVB,#10DIVABCLRP3.3MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.3MOVA,BCLRP3.4MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.4CLRP3.2MOVP0,#40H;显示分隔符LCALLDELAYSETBP3.2 MOVA,HOUR;显示小时MOVB,#10DIVABCLRP3.0MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.0MOVA,BCLRP3.1MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.1RETTABLE: DB 3FH,06H,5BH,4FH,6

19、6HDB6DH,7DH,07H,7FH,6FHDELAY:MOVR6,#10D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETEND六、调试与运行6.1 电路仿真此设计的电路在单片机仿真软件Proteus.Professional.7.1中进行仿真,仿真电路如图5-1所示:图5-1 电子钟仿真电路图6.2 调试和运行在KEIL (单片机汇编) C51软件中编写好的程序,将程序放入单片机仿真软件中,结合硬件电路进行调试与运行。通过按键对时间进行调整。如显示时间为14-30-22,既是14点30分22秒,通过以下调整则可实现。(1) 按动S-SET键,将秒调到22;(2) 按动M-

20、SET键,将分调到30;(3) 按动H-SET键,将时调到14。则将时间调到了所要显示的时间14-30-22,通过此方法可将时间调整到任何需要显示的时间。七、PCB图的设计八、 总结通过这次单片机课程设计,发现了自身所学知识存在许多的不足和问题,同时也学到了不少东西,提高了动手实践的能力.在整个设计过程中,从设计方案的确定,到具体电路的设计,最后到总体电路的联接构建工程量是比较大的,单靠个人能力,很多方面考虑不周,有的地方甚至毫无头绪,想不出具体方案,因此,绝对不能心急,不明白的地方和其它的同学共同讨论研究,毕竟群策群力办法要多些。作为初学者,尽管这次设计中遇到了许多难题,但也都一一得以解决。

21、比如程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,和同学们的共同讨论,理清了思路,反而得心应手。虽然此次课程设计的作品有些简单,但是通过自己的努力最终把电路成功设计出来,个人觉得还是很有成就感的,更为重要的是实实在在学到了不少东西,使自己这方面的知识技能有了很大的进步。因此,我自己觉得这次课程设计对我而言算得上是一次全新的尝试,也是一个小小的成功,更是一次很好的锻炼,让我有了全方位的提高和进步。九、设计相关说明元器件清单:单片机:80C51按键:BUTTON电阻:RES电容:CAP晶振:CRYSTALLED数码管:7SEG-MPX8-CA-BLUE(CA:共阳,CC:共阴)地:GRAND 电源:POWER十、参考文献1单片机原理与应用 宗成阁 编著2 单片机应用与仿真调试 严天峰 编著3模拟电子技术(第三版) 胡宴如 耿苏燕 编著4数字电子技术(第三版) 杨志忠 卫桦林 编著专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁