单片机课程设计电子时钟_第1页
单片机课程设计电子时钟_第2页
单片机课程设计电子时钟_第3页
单片机课程设计电子时钟_第4页
单片机课程设计电子时钟_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计报告一、设计目的1、巩固所学课本知识、加深对51系列单片机应用的范围;2、通过对课程设计思路的分析、方案的选择等过程提动手实践能力;3、掌握单片机的逻辑功能,使用方法及工作原理;4、学会检查程序的错误与排除错误的方法。2、设计任务及要求利用所学知识设计一个电子时钟,使其具有以下功能(1)实时时钟能够以小时、分、秒为单位进行计时;(2)具有秒闪功能;(3)具有随时校时功能;(4)有闹钟功能,一旦走时到整点能够发出警报声以提示;(5)能够通过数码管显示。三、设计思路本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块走时、调时、报时、显示即可满足设计要求。4、模块设计1、主程序设计本程序利用定时计数器T1进行定时。首先设置T1工作模式为模式1,显示缓冲区清零,设置调时取位寄存器(存储所调位的地址)初值。启动定时器。进入循环模块后先调用显示子程序,调用调试子程序。2、走时模块调用调时子程序启动T0开中断调用显示子程序开始设置T0为方式1设置中断次数20清计数单元设定计时初始值,进入中断,采用定时器计时,设置100MS,循环10次为一秒,每到1秒,则“秒”单元中的内容加1;“秒”单元加到了60,则“秒”单元清0,同时“分”单元中的内容加1;“分”单元加到了60,则“分”单元清0,同时“时”单元中的内容加1;“时”单元加到了24,则“时”单元清0不过数码管能够显示小时、分,秒通过数码管的小数点闪烁显示。3、调时模块保护现场重置计数器初值1秒到秒单元加1并调整为十进制60秒到秒单元清零分单元加1并调整为十进制到60分分单元清0小时单元加并调为十进制24小时到吗小时单元加清0恢复现场中断返回秒闪标志位设置调用整点报时按键校时是通过实验箱的两个独立键盘P14、P15来控制的,P14控制“时”的校准,P15控制“分”的校准。其中,先通过判断P15(JBP15,LOOP1),若有按键按下,给一个5MS的延时去抖(ACALLDELAY1),在判断是否P15已按下,如果按下则开始修改,然后以相同的方式选择对“时”的修改。4、报时模块分单元清零调用显示子程序分加键闭合是否延时子程序结束时单元清零调用显示子程序时加键闭合是否时加键闭合是否时加键闭合是否调用延时时单元加1并调整为十进制数到24开始分加键闭合是否调用延时分单元加1并调整为十进制数到60分分加键闭合是否采用加法设定,设定好,不停与计时的分单元的数值比较,当分单元数值都为零时,启动蜂鸣器。开始响铃标志位为1否取反蜂鸣器电平响铃到时了吗标志位清0返回YNYN5、显示模块采用动态显示,动态显示是一位一位地轮流点亮各位的数码管,因此需要分时送出段选码和位选码,单片机P0输出段码,P1口输出位码,输出6个字符。每次控制一个数码管显示,而且是先送段选码锁存后在送位选码点亮相应的数码管。R70结束延时1毫秒R0自加1R7自减1延时1毫秒(R0)A,取A高四位,查其笔型码送入P0口P20置1,然后清零通过74LS573输入段选码,把位选码送入P0口P21置1,然后清零(R0)A,取A低四位,查其笔型码送入P0口P20置1,然后清零开始初始化通过74LS573输入段选码,把位选码送入P0口P21置1,然后清零5、心得体会本次课程设计中有很多的心得体会,有关于单片机的,也有关于模电数电等基础科目的。刚拿到题目,不知道从哪入手,后来通过对书本的回顾,加深了对单片机的记忆。有些知识会迁移和联系模电数电。课堂教学考虑到大多数同学的需求,主要强调“基本”基本知识、基本理论、基本方法、基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。我们正面临就业问题,这次课设给了我们一个机会去试验。单片机理论的学习是为课程的设计作准备的,但有时学习的理论也解决不了实践中的问题。实践中获得的知识能让我对单片机的知识有更好的认识和理解。虽然这次的课程设计我参考了一些文献资料,没有做到创新,但在对程序的读写过程中我明白了许多。这次课程设计的最大收获是只有把理论用到实践中我们才能真正掌握好所学知识。六、源程序ORG0000HAJMPMAINORG001BHAJMPITOPORG0100HMAINMOV20H,20MOV32H,12H“时”单元赋初值MOV31H,59H“FEN”单元赋初值MOV30H,50H“MIAO”单元赋初值MOVTMOD,10H定时器T1方式1工作MOVTL1,0B0HT1赋100MS定时初值MOVTH1,3CHSETBTR1QIDONGT1MOVIE,88HYUNXUTIZHONGDUANLOOPLCALLDISPLAY调用显示子程序LCALLKEYDO调用调时子程序SJMPLOOPITOPPUSHPSWBAOHUXIANCHANGPUSHACCMOVTL1,0B0HMOVTH1,3CHDJNZ20H,RETURN1S未到,返回CPL7FH点显示MOV20H,20MOVA,30HADDA,01HDAAMOV30H,ACJNEA,60H,RETURNMOV30H,00HMOVA,31HINCADAAMOV31H,ACJNEA,60H,RETURNMOV31H,00HACALLRINGMOVA,32HINCADAAMOV32H,ACJNEA,24H,RETURNMOV32H,00HRETURNPOPACCPOPPSWRETI显示子程序DISPLAYMOVR7,03MOVR1,0FEHMOVR0,32HLOOP1MOVA,R0ANLA,0F0HSWAPAMOVDPTR,TABMOVCA,ADPTRCLRP20CLRP21MOVP0,ASETBP20NOPCLRP20ACALLLOOP2MOVA,R0ANLA,0FHMOVCA,ADPTRCJNER7,03H,LPSETBACC7LPCJNER7,02H,NOTSHOWJNB7FH,NOTSHOWCPLACC7小数点闪显NOTSHOWMOVP0,ASETBP20NOPCLRP20ACALLLOOP2DECR0DJNZR7,LOOP1SJMPLOOP4LOOP2MOVA,R1MOVP0,ASETBP21MOVR5,250LOOP3DJNZR5,LOOP3CLRP21RLAMOVR1,ALOOP4RET调时子程序KEYDOJBP14,NK1LCALLDELAY20JBP14,NK1MOVA,31HADDA,01HDAAMOV31H,ACJNEA,60H,NM60MOV31H,00HNM60LCALLDISPLAYJNBP14,DELAY20NK1JBP15,NK2LCALLDELAY20JBP15,NK2MOVA,32HADDA,01HDAAMOV32H,ACJNEA,24H,NH24MOV32H,00HNH24LCALLDISPLAYJNBP15,DELAY20NK2RETDELY10MSMOVR3,10D1MOVR4,248DJNZR4,DJNZR3,D1RET响铃子程序RINGMOVA,31HCJNEA,00H,STOPCLRP10ACALLDELAY1SSETBP10STOPRET延时子程序DELAY20MOV60H,120LP1MOV61H,250DJ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论