单片机课程设计--电子钟

单片机课程设计--电子钟

ID:23449824

大小:66.50 KB

页数:16页

时间:2018-11-07

单片机课程设计--电子钟_第1页
单片机课程设计--电子钟_第2页
单片机课程设计--电子钟_第3页
单片机课程设计--电子钟_第4页
单片机课程设计--电子钟_第5页
资源描述:

《单片机课程设计--电子钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、目录1.设计要求12.设计方案12.1设计方案的选择12.1.1计时方案12.1.2显示方案12.2硬件部分23.系统模块24.设计流程图35.心得及体会5参考文献6程序71.设计要求(1)基本功能:设计一个时钟电路,能显示年月日和时分秒;通过功能键完成年月日时分秒的切换与对时功能; (2)附加功能:添加秒表功能,能通过键盘进行时间和秒表功能切换。2.设计方案本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得

2、编程变得更容易,这样通过四个模块:键盘、ATC89C51单片机芯片芯片、扬声器、LED数码管显示即可满足设计要求。2.1设计方案的选择2.1.1计时方案使用单片机内部的可编程定时器。利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。2.1.2显示方案对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几

3、个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用4位LED数码管来分别显示时、分、秒,因数码管个数较少,故本系统选择动态显示方式。2.2硬件部分AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用AT

4、MEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案3.系统模块根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:单片机最小系统模块:包括低功耗、高性能CMOS8位微控制器AT89C51;本模块以AT89C51为系统控制核心,系统复位有复位电路完成,内部有一个高增益、反相放大器,输出引脚为XTAL1,输入引脚为XTAL2。通过这两个引脚在芯片外接石英晶体振荡器和电容,构成稳定的自激振荡器。输入输出

5、模块:本模块有5个按键,一个开关和一个复位键;单片机运行期间利用按键完成操作;S2控制电子钟的启动和调整状态,S3为加1键,S4为减1键;3个键任意一个都独自连到一个I/O口,他们可以独立的实现相应的电子钟功能。电子钟可以显示4位数字,所以利用四个数码管作为显示窗口,显示年、月、日、时、分、秒等主程序模块:主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置外部中断的工作方式、定时器的工作方式和计数初值、入口地址等参数。计时模块:即定时器0中断子程序,完成刷新计时缓冲区的功能。系统使用12MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为4.0ms,这个值远远小于1s

6、。因此本系统采用定时器与软件循环相结合的定时方法。设定时器0工作在方式1,每隔4.0ms溢出中断一次,则循环中断250次延时时间是1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:00:00。因定时器0工作在方式1,则4ms定时对应的定时器初值为:65536-4ms/2us=0F05FH,即TH0=0F0H,TL0=5FH。但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时4ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个

7、数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要3~8个机器周期。经过测试,定时器0重装的计数初值设为9E5FH~9E67H,可以满足精度要求。4.设计流程图取十位数加1开始初始化关闭定时器T0取十位数占A高半字节送“P.”显示程序取个位数占A低半字节S1是否按下加1N十进制调数Y开中断EA=1个位数送入缓冲单元键盘扫描子程序把十位数交换到低半字节

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。