《单片机电子时钟课程设计报告4600字》由会员分享,可在线阅读,更多相关《单片机电子时钟课程设计报告4600字(51页珍藏版)》请在金锄头文库上搜索。
1、 单片机电子时钟课程设计报告4600字 单片机课程设计报告学院:机械与电子工程学院 专业:自动化姓名:刘洪播学号:09043132 1单片机课程设计报告一、设计要求1、准确计时,以数字形式显示时、分、秒的时间。2、小时以24小时计时形式,分秒计时为60进位。3、校正时间功能,即能随意设定走时时间。4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。(未实现)5、设计5V USB直流电源,系统时钟电路、复位电路。6、能指示秒节奏,即秒提示。二、设计方案本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来
2、调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求。(一)设计方案的选择1.计时方案使用单片机内部的可编程定时器。利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。2.显示方案对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬 2
3、件开销大,电路复杂。需要几个L899ED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。(二)硬件部分1、STC89C52单片机介绍STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复
4、写的FlashROM和256bytes的RAM,2个16位定时计数器5。STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。3STC89C52单片机管脚结构图各个端口对照朱照优老师编写的单片机原理与应用2、总电路原理图4(五) 软件部分根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:(1)主程序模块。主程序主要用于系统初始化:设置计时
5、缓冲区的位置及初值,设置8155的工作方式、定时器的工作方式和计数初值等参数。主程序流程如下图所示。主程序流程图(2)计时模块。即定时器0中断子程序,完成刷新计时缓冲区的功能。 系统使用6MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为65.536ms,这个值远远小于1s。因此本系统采用定时器与软件循环相结合的定时方法。设定时器0工作在方式1,每隔50ms溢出中断一次,则循环中断20次延时时间是1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:00:00。因定时器0工作在方式1,则50ms定时对应的定时器初值为:6553650ms/2us=
6、40536=9E58H,即TH0=9EH,TH0=58H。但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时50ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要38个机器周期。经过测试,定时器0重装的计数初值设为9E5FH9E67H,可以满足精度要求。另外,MCS-51单片机只有二进制加法指 6令,而时间是按十进制递增,因此用加法指令
7、后必须进行二-十进制转换。计时模块流程图如下图所示。7计时模块流程图2、实验源程序: ORG 0000HMOV 30H,#1 MOV 31H,#2 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0MOV TMOD,#01 XS0: SETB TR0 MOV TH0,#00H MOV TL0,#00HXS:MOV 40H,#0FEH MOV DPTR,#TAB MOV P2,40H MOV A,30HMOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL AMOV 40H,AMOV P2,40
8、H MOV A,31H8ADD A,#10MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL AMOV 40H,AMOV P2,40H MOV A,32HMOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL AMOV 40H,A MOV P2,40H MOV A,33H ADD A,#10MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL AMOV 40H,A MOV P2,40H MOV
9、 A,34HMOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL AMOV 40H,A 9MOV P2,40H MOV A,35HMOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL AMOV 40H,A JB TF0,JIA JNB P1.0,P100 JNB P1.1,P1000 JNB P1.2,P10000 AJMP XSP100: MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 3
10、5H,#0 JIA: CLR TF0MOV A,35HCJNE A,#9,JIA1 MOV 35H,0MOV A,34HCJNE A,#5,JIA10 MOV 34H,#0P10000: JNB P1.2,P10000 MOV A,33HCJNE A,#9,JIA100 MOV 33H,#0MOV A,32HCJNE A,#5,JIA1000 10MOV 32H,#P1000: JNB P1.1,P1000MOV A,31HCJNE A,#9,JIA10000 MOV 31H,#0MOV A,30HCJNE A,#2,JIA100000 MOV 30H,#0AJMP XS0JIA100000:
11、INC 30HAJMP XS0JIA10000:CJNE A,#3,JIAJIAMOV A,30HCJNE A,#02,JIAJIA MOV 30H,#0MOV 31H,#0AJMP XS0JIAJIA:INC 31HAJMP XS0JIA1000:INC 32HAJMP XS0JIA100: INC 33HAJMP XS0JIA10: INC 34HAJMP XS0JIA1: INC 35HAJMP XS0RETYS1MS: MOV R6,#9HYL1: MOV R7,#19H11DJNZ R7,$DJNZ R6,YL1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,0
12、92H,082H,0F8H,080H,090HDB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010HEND三、实物拍摄12四、设计总结做了两周的课程设计,有很多的心得体会,有关于单片机的,也有关于模电数电等基础科目的。因为单片机已经很久没复习,刚拿到题目,不知道从哪入手,后来通过对书本的回顾,加深了对单片机的记忆。有些知识会迁移和联系模电数电。课堂教学考虑到大多数同学的需求,主要强调“基本”基本知识、基本理论、基本方法、基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。我们正面临就业问题,这次课设给了我们一个
13、机会去试验。单片机理论的学习是为课程的设计作准备的,但有时学习的理论也解决不了实践中的问题。实践中获得的知识能让我对单片机的知识有更好的认识和理解。虽然这次的课程设计我参考了一些文献资料,没有做到创新,但在对程序的读写过程中我明白了许多。这次课程设计的最大收获是只有把理论用到实践中我们才能真正掌握好所学知识。五、参考文献1 朱兆优等单片机原理与应用.北京电子工业出版社.2010.092 何立民单片机应用系统设计M北京:北京航空航天大学出版社,1993.3 楼然笛单片机开发M北京:人民邮电出版社,1994.1314第二篇:单片机应用课程设计实验报告-电子时钟 13900字键入文字 键入文字 键入
14、文字单片机应用课程设计电子时钟一、设计任务及要求【电子时钟】利用实验板上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1、在4位数码管上显示当前时间。显示格式“时时分分”;2、由LED闪动做秒显示;3、利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。拓展设计:1 用数码管的小数点闪动替代二极管显示秒,使之成为一个“完整的时钟”;2、使数字时钟的闹钟铃声为音乐。1 / 23键入文字 键入文字 键入文字二、设计思路【工作原理及设计思路】计时功能利用单片机的定时器来完成,由于定时器定时的时长有限,所以要利用中断程序才能定时1秒,若中断程序
15、每隔5ms中断一次并当作一个计数,则每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断1min是否到了,再判断1h是否到了。为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。闹铃声由交流蜂鸣器产生,所以当闹铃时间和当前时间相等时,可以对蜂鸣器输入方波信号,蜂鸣器就会发出声音。三、设计分析【系统的主要功能】本实验实际是设计一个电子表,可以显示时和分,并且用一个二极管显示秒。另外,还可以对它进行时间调整,还要有闹铃功能。【所作题目的意义】时钟电路在各个系统中都起着十分重要的作用,是保证系统正常工作的基础。同时时钟电路整体的设计及其工作原理涉及到了单片机基础课程中各章节的内容,是对单片机理论基础课程的一个综合实践,通过本课题不仅让我对电子时钟这一课题有更深入的了解,更加深了自己对单片机课程整体知识的把握,将