ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:417.30KB ,
资源ID:16578506      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16578506.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业论文基于单片机的时钟电路的设计.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

毕业论文基于单片机的时钟电路的设计.docx

1、毕业论文基于单片机的时钟电路的设计基于单片机的时钟电路的设计The design of clock circuit based on MCU 专 业:电子信息科学与技术学 号:04111103姓 名:乔波臻指导教师:孙南海基于单片机的时钟电路的设计摘 要:文章主要采用AT89c51单片机最小化应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P1.0-P1.2口作扫描输出,P0.1P0.4口接按钮开关S1,S2,S3,S4,S5,rest 接S6复位按键。P0.0控制秒的调整,每按一次加1秒;P0.1控制分的调整,每按一次加1分;P0.2控制时的调整,每按一次加1个小时。为了提供L

2、ED数码管的驱动电流,用74ls595作电源驱动输出。实际设计按情况采用11.0592MHz的晶振。电子时钟电路采用12h记时方式,时间用8位数码管显示。该电路采用AT89c51单片机,使用5V电池供电。关键词: 单片机;抖动;数码管;中断;低功耗;时钟The design of clock circuit based on MCUAbstract:This article mainly uses at98c51 monolithic integrated circuit minimum application design, LED demonstrated that selects the

3、 dynamic scanning method to realize, the P0 mouth output section code data, the P1.0-P1.2 mouth makes the scan out, the P0.1-P0.4 mouth meets push-button switch S1, S2, S3, S4, S5, rest. P0.0 control of the second adjustment, and each time one second; P0.1 control points of adjustment, each time at

4、1 pm; P0.2 control of the adjustment, and each time one hour.In order to provide the LED nixietube the drive current, 9012 makes the power source with the triode to actuate the output. The actual design uses 11.0592MHz according to the situation the crystal oscillator. The electron clock circuit sel

5、ects the 24h time method, the time demonstrated with 8 nixietubes. This electric circuit uses at98c51 monolithic integrated circuit, uses the 5V battery power supply.Key words: SCM; jitter;digital control; interrupt; low power consumption; the clock目 录1 引 言 12 以AT89c51单片机为核心的时钟电路结构和工作原理 22.1 AT89c51

6、的结构组成及引脚功能 22.1.1 AT89c51的结构组成 22.1.2 AT89C51的引脚功能 32.2 时钟电路工作原理及原理图 62.4 时钟电路的消除震荡设计 92.5 时钟电路的误差分析及功耗 103 以AT89C51单片机为核心的时钟电路的程序设计 123.1主程序设计及系统主流程图 123.2 时钟电路的时钟和闹铃程序设计及流程图 133.3 时钟电路的显示程序设计及流程图 143.4 时钟电路的键盘程序设计及流程图 154 Keil 与Proteus软件的联调仿真 164.1 Keil Software及Proteus 简介 164.2 时钟电路的仿真图如下 175 结束语

7、 19参考文献 20附 录 21致 谢 331 引 言单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时

8、广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文主要采用AT98c51单片机最小化应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P1.0-P1.2口作扫描输出,P0.1P0.4口接按钮开关S1,S2,S3,S4,S5,rest 接S6复位按键。下面我主要从硬件、程序、软件联调3方面来设计。2 以AT89C51单片机为核心的时钟电路结

9、构和工作原理2.1 AT89c51的结构组成及引脚功能2.1.1 AT89C51的结构组成AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51

10、是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。 2.1.2 AT89C51的引脚功能 兼容MCS51指令系统 32可编程I/O线 两个16位可编程定时/计数器 全静态工作:0-24MHz 两个外部中断源 数据保留时间:10年 低功耗睡眠功能 可编程串行通道 低功耗的闲置和掉电模式 寿命:1000写/擦循环 三级程序存储器锁定 片内振荡器和时钟电路 128x8bit内部RAM 2.7-6.V的宽工作电压范围 6个中断源 4K字节可编程闪烁存储器AT89c51芯片的管脚说明:1. VCC:供电电压。2. GND:接地。3. P0

11、口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。4. P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 5. P2口:P2口为一个内部上拉电阻的8位双向

12、I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。6. P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为

13、输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0( INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RDP3口同时为闪烁编程和编程校验接收一些控制信号。7.RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。8. ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在

14、平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。9. /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。10. /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储

15、器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。11. XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。12. XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求

16、的宽度。2.2 时钟电路工作原理及原理图电路特点 :这里介绍的电子钟,电路可称得上极简,它仅使用单片很少引脚完成电子钟的全部功能。一片40引脚的单片机AT89c51为电子钟主体,其显示笔画数据从P0口分时输出,P1口则输出对应的3位选通信号.由于LED数码管点亮时耗电较大,故使用89c51单片机来完成 。本电子钟程序设计时只使用了一个定时数T0,其它的中断全部关断,定时器工作在两个8位自动加载初始值状态.这是保证走时精确稳定的重要方法.很多书本教材上都让大家用定时器中断来执行动态显示程序和按键扫描程序,我自己认为这是一种很不好的方法(但是这种方法是初学者必须掌握的基础),除了浪费硬件资源以外,

17、还会增加程序复杂性,还会影响其它程序运行。系统框图:一、 电子时钟的技术指标显示范围:时间采用12/24小时制显示格式:时间按时分秒排列,显示如00点01分22秒显示为000122显示位数:8位8段LED数码管作正常、调时和节电显示时钟误差:24小时误差35秒二、 硬件电路的选择1、单片机的选择 选用AT89C51单片机,配备11.0592MHz晶振,复位电路采用上电复位。2、显示电路选择 采用软件译码动态显示。3、电源选择 采用直流5V电源供电。电路图如下:2.3时钟电路的显示单元动态显示技术:在多位LED显示时,由一个8位口控制,由另一个端口进行显示位的控制。但是,由于段选是公用的,要让各

18、位数码管显示不同的字符,就必须采用扫描方式,即动态扫描显示方式。首先从段选线上送出字段码,再控制位选线,字符就显示在指定位置上,持续15ms时间,然后关闭所有显示;接下来又送出新的字段码,按照上述过程又显示在新的位置上,直到每一位数码管都扫描完为止,即为一个扫描周期。由于人的视觉停留效应,因此当扫描周期小到一定程度时,人就感觉不出字符的移动或闪烁,觉得每位数码管到一直在显示,达到一种稳定的视觉效果。动态扫描显示的扫描方式有程序控制和定时中断扫描两种。程序控制扫描方式要占用许多CPU时间,在计算机的任务较重时,难以得到好的效果,所以在实际中常采用定时中断扫描方式,这种方式是每隔一定时间(如1ms

19、)显示一位数码管,假设有8位数码管,显示扫描周期为2ms,显示效果十分良好。本次设计采用这种方法。主要采用595来驱动,74HC595的管教如下:【1】74595的数据端:1. Q0Q7: 八位并行输出端,可以直接控制数码管的8个段。2. Q7: 级联输出端。我将它接下一个595的SI端。3. SI: 串行数据输入端。【2】74595的控制端说明:1. /SCLR(10脚): 低点平时将移位寄存器的数据清零。通常我将它接Vcc。2. SCK(11脚):上升沿时数据寄存器的数据移位。QA-QB-QC-.-QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)3

20、. RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。4. /G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。2.4 时钟电路的消除震荡设计在单片机应用系统中,消除抖动有硬件和软件两种方法。硬件去抖动方法主要有利用R-S触发器和滤波器电路,,由于按键消除抖动时,按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在

21、闭合与断开的瞬间均有一个抖动过程,所以键闭合与断开会产生如附图所示的电压波形,抖动时间一般在510ms。这个抖动对判断键是否按下或释放有较大影响,因此必需消除键的抖动,只有这样,才能可靠地判断键的状态。软件去抖动通常是程序检测到键被按下时,延时10ms后再检测键是否仍然闭合,若是则确认是一次真正的闭合,否则就忽略次此按键。本次设计时采用的软件消抖程序。2.5 时钟电路的误差分析及功耗【1】主要误差来源及补偿 :1、硬件电路在线路手工焊接时可能存在虚焊,或者有接触不良的情况,以及外界环境的影响,通过使用印刷电路板机器焊接,可以减少硬件误差影响。2、采用11.0592MHz晶振计算定时计数初值时存

22、在小数舍入误差公式: ,定时器/计数器采用工作方式1,定时器T0、T1溢出周期为50ms,计算得到N=19456=4C00H,TH0=4CH,TL0=00H.若仍采用理论上的12MHz计算初值,则有:N1=3CB0H,那么用11.0592MHz,N1不变,益出周期约为54.25ms,每次溢出比实际的要慢4.3ms,那么一秒钟要慢85ms,从而影响24h比实际的要慢122min。修正后误差处理通过软件实现,最终的时钟误差测得值3-5s。功耗问题:【2】许多实时时钟都采用电池供电,典型应用是利用一块小的锂电池在主电源掉电时直接驱动振荡器和时钟电路。为有效延长电池的使用寿命,振荡器必需消耗尽可能少的

23、能量。为了保证这一点,应谨慎考虑振荡器的设计。典型的高频振荡电路ESR较低,但设计中一般会留出5倍、甚至10倍的ESR裕量,而低频晶振则具有较高的ESR。对于一个RTC振荡器,或许留出2倍的负阻裕量即可,振荡器的负阻裕量越小、耗电越低,但是,这种电路对寄生参数、噪声非常敏感。此外,振荡电路的负载电容对功耗也有一定影响,虽然125pF内部负载的RTC的耗电要比6pF负载的RTC大,但是,它通常具有更高的抗干扰能力。在有些应用中(如VCR),时钟和日期信息在系统掉电时将会丢失,而在大多数应用中要求系统主电源断电时仍保持时钟和日期有效。为保持时钟振荡器持续运转,可采用主辅电池结构或大电容配合主电源为

24、时钟电路供电,这样,RTC芯片内部还必须提供两组电源的切换电路。如果用电池(如Li电池)作为备份电源,RTC设计还应该注重低功耗指标,以使其在电池供电时具有尽可能低的功耗。电源切换控制电路通常由主电源供电,需要时可切换到电池供电,并将RTC置为低功耗模式,电池供电时,可禁止微处理器与RTC之间的通信(通常被称为写保护),以使电池电流降至最小,同时避免数据 被破坏。在采用电池为电路系统供电时,时钟电路耗电最大的部件是振荡器,对于那些嵌入了晶振和电池的时钟模块(如DS12C887),由于振荡器在出厂时处于禁止状态,因此电池的损耗电流主要是电池的自放电,室温下,电池自放电每年的消耗能量大约占电池容量

25、的05。有些时间保持NVRAM模块利用时钟来控制IC和SRAM,出厂时,振荡器处于禁止状态、SRAM与电池断开,只有模块在主电源供电并第一次与时钟电路断开时,电池才与SRAM接通。这一功能常被称作电池保鲜。Dallas Semiconductor的绝大多数RTC都提供有一个电池输入引脚和一个内部反向充电保护电路。由于Li电池的额定温度是4085,因此,使用时应确保环境温度不要超出85。3 以AT89C51单片机为核心的时钟电路的程序设计3.1主程序设计及系统主流程图主程序 :设计中采用定时器T0中断完成,其余状态循环调用显示子程序。系统主流程图如图所示:3.2 时钟电路的时钟和闹铃程序设计及流

26、程图时钟采用11.0256MHZ的脉冲控制, 闹铃采用整点报时功能。3.3 时钟电路的显示程序设计及流程图显示子程序:数码管显示的数据存放在内存单元70H-75H中,其中70H71H存放秒数据,72H73H存放分数据,74H75H存放时数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出70H75H某一地址中的数据,然后查的对应的显示段码从P1口输出。P3口将对应的数码管选中,就是显示该地址单元的数据值,每个LED数码管亮1MS时间再逐位循环。3.4 时钟电路的键盘程序设计及流程图P0口输出段码数据,P

27、1.0-P1.2口作扫描输出,P0.1P0.4口接按钮开关S1,S2,S3,S4,S5,rest 接S6复位按键。P0.0控制秒的调整,每按一次加1秒;P0.1控制分的调整,每按一次加1分;P0.2控制时的调整,每按一次加1个小时。4 Keil 与Proteus软件的联调仿真4.1 Keil Software及Proteus 简介在这里我们对KEIL和PROTEUS简单介绍下:1 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加

28、深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51单片机软件开发系统的整体结构 :C51工具包的整体结构中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成

29、目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。2 Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,

30、还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。 Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Ro

31、ute to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。4.2 时钟电路的仿真图如下用proteus仿真的电路在keil编写的时钟程序:5 结束语本次设计采用单片机作为核心控制器,实现具有定时、校时功能的数字钟。随着人们生活水平的提高,人们对数

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2