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

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

ID:9859938

大小:71.00 KB

页数:16页

时间:2018-05-12

单片机课程设计--电子钟_第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位微处理器,俗称单片机。该

4、器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的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

6、,这个值远远小于1s。因此本系统采用定时器与软件循环相结合的定时方法。设定时器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. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。