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

下载本文档

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

文档简介

单片机原理及应用课程设计题目C52单片机电子时钟电路设计姓名陶鹏鹏专业电子科学与技术班级121班指导教师高海涛安徽科技学院数理学院目录1、基于单片机的电子时钟电路设计11设计任务与要求111设计目的112设计要求12方案设计2、单片机应用系统简介21AT89C52单片机的功能结构22单片机的引脚定义及功能23定时计数器231定时/计数器结构232工作原理24键盘接口技术25复位操作26显示控制模块3、硬件电路设计31电子时钟的电路图32单元电路设计321晶振、复位电路模块322键盘控制模块323蜂鸣器电路模块324显示器电路模块4、软件设计41系统主程序设计42主程序清单43系统仿真与调试5、结论与心得摘要电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用数码管显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时,分和秒的校对,片选的灵活性好。本课程设计就是用一块89C52单片机和共阴极数码管显示屏及其他元器件设计出一个电子时钟。用单片机的定时器来产生时钟信号,通过扫描几个按键来控制时钟。把这几个模块的程序及原理图设计好后组合在一起就成了一个电子时钟。关键词89C52单片机;共阴极数码管;定时器;石英晶体振荡器;1、基于单片机的电子时钟电路设11设计任务与要求111设计目的(1)学习输出口的使用方法;(2)学习定时/计数器的使用;(3)学习中断的使用;112设计要求电路的基本功能应包括数码显示时间、可以手动调节时间、定时闹铃等,制作出实物并调试演示成功。12方案设计方案该系统采用52系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。AT89C52单片机特点如下1单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。2单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。3控制功能强单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。图11时钟电路结构设计总框图2、单片机应用系统简介21AT89C52单片机的功能结构如下图所示,单片机是属于三总线结构,89C52单片机功能方框图。AT89C52单片机晶振复位电路独立键盘电路显示电路蜂鸣器电路图21单片机内部结构框22单片机的引脚定义及功能图21双列直插式引脚分布引脚功能VCC工作电源5V。GND电源地。ALE/PROG访问外部存储器时作为低8位地址锁存控制信号;在对EPROM编程时作为编程脉冲输入;在不访问外部存储器和非EPROM编程状态下,该脚输出频率为1/6单片机晶振频率的方波信号,该信号,可作为时钟脉冲,但在访问数据存储器时会丢失一个脉冲。PSEN外部程序存储器读选通信号。EA/VPP访问程序存储器控制信号。当EA为低电平时,只读外部存储器,当EA为高电平时则先读内部程序存储器,再读外部程序存储器;这个引脚在编程时接编程电压VPP。RST复位信号,对系统复位信号要2T。XTAL1片内振荡电路输入端。XTAL2片内振荡电路输出端。P0P3输入输出端口。23定时计数器231定时/计数器结构图22定时/计数器结构89C52单片机内部设有两个16位定时/计数器,简称为定时器0(T0)和定时器1(T1)。定时器计数器的结构如图22所示TMOD方式控制寄存器,用于设定定时计数器的工作方式TCON定时器控制寄存器,用于启动定时计数器IE中断允许控制寄存器定时计数器是微机的中断源232工作原理89C52系列单片机内部定时计数器的工作原理可用图23来说明。图23定时计数器的工作原理定时/计数功能选择当CT0时,为定时器功能,此时,C与A相连(计数脉冲为机器周期);当CT1时,为计数功能,此时,C与B相连(计数脉冲从P34或P35口输入)。定时/计数器设置定时计数器设置由工作方式控制寄存器(TMOD)、定时控制寄存器(TCON)以及中断允许寄存器(IE)共同完成。24键盘接口技术键盘分两类独立连接多键盘和矩阵式键盘,如图24所示。图24独立式键盘独立式按键结构独立式按键结构的键盘是最简单的键盘电路,每个键独立接入一根输入线。这种键盘的优点是结构简单、使用十分方便,目前这种结构的键盘应用还相当普遍,这种键盘的缺点是随着键数数量的增加所占用的I/O口线也增加。独立式按键结构的键盘在没有键按下时,数据输入线均为高电平,当有键按下时,与之对应的数据线将变成低电平。因此可用位指令判别是否有键按下。25复位操作复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作。复位操作后,程序将从0000H开始重新执行。除此之外,复位操作还使单片机的ALE和PSEN引脚信号在复位期间变为无效状态。单片机对复位信号的要求一是复位信号为高电平,二是复位信号有效持续时间不少于24个振荡脉冲(两个机器周期)以上。在这里特别要提醒的是,在一个应用系统中,如果有几片单片机同时工作,在程序上有连接关系,系统复位时,应确保每一片单片机同时复位。复位信号由单片机的RST引脚输入,复位操作有上电自动复位、按键复位和外部脉冲复位三种方式。随着单片机技术的发展,目前有些单片机内部带有看门狗电路,当程序进行出错或进入了无休止循环时,看门狗电路将利用软件强行使系统复位。26显示控制模块图25八位共阴数码管显示为了节省I/O口,采用动态显示的方法,用两片74HC573,用作段锁存和位锁存器。3、硬件电路设计31电子时钟的电路图图31电子时钟电路原理图32单元电路设计321晶振、复位电路模块图32晶振、复位电路图晶振电路采用12MHZ的晶振,22PF的电容。当MCS5L系列单片机的复位引脚RST全称RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间。322键盘控制模块图32键盘控制电路图根据题目要求,只需要6个按键如图32,选用独立按键模式。这6个键的功能分别为KEY1时钟时位加键,每按一次时位的时间值加1;KEY2时钟时位减键,每按一次时位的时间值减1;KEY3时钟分位加键,每按一次分位的时间值加1;KEY4时钟分位减键,每按一次分位的时间值减1;KEY5时钟秒位加键,每按一次秒位的时间值加1;KEY6时钟秒位减键,每按一次秒位的时间值减1;323蜂鸣器电路模块图33蜂鸣器电路模块喇叭一脚与单片机的P11脚相连,一脚接地。如图33所示。324显示器电路模块4、软件设计41系统主程序设计初始化程序设置单片机的定时器0工作在模式1(16位定时器),对定时器0赋初值,开启总中断和定时器中断,定时器开始计时,可计时24小时,为节省I/O口,用动态扫描的方法,用两片74HC573分别控制段选通和位选通,将时间显示到共阴极数码管上,计时完成后重新开始计时,蜂鸣器电路可通过P11口在整点时发声报时。42主程序清单根据硬件电路的连接以及我们要实现的功能,编写出了如下的C程序,该程序能够实现我们设计所需要的功能,具体的程序代码如下INCLUDE/包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义UNSIGNEDCHARFRQSBITH_KEY_ADDP32/定义按键输入端口SBITH_KEY_DECP33SBITM_KEY_ADDP34SBITM_KEY_DECP35SBITS_KEY_ADDP36SBITS_KEY_DECP37DEFINEDATAPORTP0/定义数据端口程序中遇到DATAPORT则用P0替换SBITLATCH1P22/定义锁存使能端口段锁存SBITLATCH2P23/位锁存SBITBEEPP11/定义喇叭端口BITBEEPFLAGUNSIGNEDCHARCODEDOFLY_DUANMA100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F/显示段码值09UNSIGNEDCHARCODEDOFLY_WEIMA0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F/分别对应相应的数码管点亮,即位码UNSIGNEDCHARTEMPDATA8/存储显示值的全局变量UNSIGNEDCHARH,M,SBITUPDATETIMEFLAGVOIDDELAYUS2XUNSIGNEDCHART/函数声明VOIDDELAYMSUNSIGNEDCHARTVOIDDISPLAYUNSIGNEDCHARFIRSTBIT,UNSIGNEDCHARNUMVOIDINIT_TIMER0VOIDVOIDBEEP_OFFVOIDVOIDBEEP_ONVOIDVOIDDISPLAY_DATA_OPERATIONVOIDVOIDMAINVOIDUNSIGNEDCHARNUM0H_KEY_ADD1/按键输入端口电平置高H_KEY_DEC1M_KEY_ADD1/按键输入端口电平置高M_KEY_DEC1S_KEY_ADD1/按键输入端口电平置高S_KEY_DEC1INIT_TIMER0WHILE1/主循环IFH_KEY_ADD/如果检测到低电平,说明按键按下DELAYMS10/延时去抖,一般1020MSIFH_KEY_ADD/再次确认按键是否按下,没有按下则退出WHILEH_KEY_ADD/如果确认按下按键等待按键释放,没有释放则一直执行数码管扫描,防止闪烁IFH0/减操作HIFM_KEY_ADD/如果检测到低电平,说明按键按下DELAYMS10/延时去抖,一般1020MSIFM_KEY_ADD/再次确认按键是否按下,没有按下则退出WHILEM_KEY_ADD/如果确认按下按键等待按键释放,没有释放则一直执行数码管扫描,防止闪烁IFM0/减操作MIFS_KEY_ADD/如果检测到低电平,说明按键按下DELAYMS10/延时去抖,一般1020MSIFS_KEY_ADD/再次确认按键是否按下,没有按下则退出WHILES_KEY_ADD/如果确认按下按键等待按键释放,没有释放则一直执行数码管扫描,防止闪烁IFS0/减操作STEMPDATA0DOFLY_DUANMAH/10/分解显示信息,如要显示68,则68/10668108TEMPDATA1DOFLY_DUANMAH10TEMPDATA20X40/显示一横TEMPDATA3DOFLY_DUANMAM/10TEMPDATA4DOFLY_DUANMAM10TEMPDATA50X40TEMPDATA6DOFLY_DUANMAS/10TEMPDATA7DOFLY_DUANMAS10/DISPLAY0,8/显示全部8位/主循环中添加其他需要一直工作的程序IFBEEPFLAG1BEEPFLAG0DELAYMS500/延时1MS,累加频率值FRQ/US延时函数,含有输入参数UNSIGNEDCHART,无返回值UNSIGNEDCHAR是定义无符号字符变量,其值的范围是0255这里使用晶振12M,精确延时请使用汇编,大致延时长度如下TTX25US/VOIDDELAYUS2XUNSIGNEDCHARTWHILET/MS延时函数,含有输入参数UNSIGNEDCHART,无返回值UNSIGNEDCHAR是定义无符号字符变量,其值的范围是0255这里使用晶振12M,精确延时请使用汇编/VOIDDELAYMSUNSIGNEDCHARTWHILET/大致延时1MSDELAYUS2X245DELAYUS2X245/显示函数,用于动态扫描数码管输入参数FIRSTBIT表示需要显示的第一位,如赋值2表示从第三个数码管开始显示如输入0表示从第一个显示。NUM表示需要显示的位数,如需要显示99两位数值则该值输入2/VOIDDISPLAYUNSIGNEDCHARFIRSTBIT,UNSIGNEDCHARNUMSTATICUNSIGNEDCHARI0DATAPORT0/清空数据,防止有交替重影LATCH11/段锁存LATCH10DATAPORTDOFLY_WEIMAIFIRSTBIT/取位码LATCH21/位锁存LATCH20DATAPORTTEMPDATAI/取显示数据,段码LATCH11/段锁存LATCH10IIFINUMI0/定时器初始化子程序/VOIDINIT_TIMER0VOIDTMOD|0X01/使用模式1,16位定时器,使用“|“符号可以在使用多个定时器时不受影响EA1/总中断打开ET01/定时器中断打开TR01/定时器开关打开/定时器中断子程序/VOIDTIMER0_ISRVOIDINTERRUPT1STATICUNSIGNEDINTTTH0655362000/256/重新赋值2MSTL06553620002

温馨提示

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

评论

0/150

提交评论