欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    数字电子钟课程设计 报告.docx

    • 资源ID:3559030       资源大小:46.34KB        全文页数:16页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字电子钟课程设计 报告.docx

    数字电子钟课程设计 报告 单片机应用技术 课程设计报告书 1 目 录 一、课程设计的目的及意义3 1.1 课程设计的目的3 1.2 课程设计的意义3 二、课程设计概况3 三、课程设计方案及内容4 3.1 总体设计方案4 3.2 硬件设计7 3.3 软件设计 12 3.4元器件清单 15 3.5数字钟实物图 16 四、总结 16 参考书目 18 附录一 19 附录二 20 附录三 21 2 设计题目 数字电子钟 一、 课程设计的目的及意义 1、课程设计的目的 l 进一步掌握各芯片的逻辑功能及使用方法; l 进一步掌握数字钟的设计方法和和计数器相互级联的方法; l 进一步掌握数字系统的设计和数字系统功能的测试方法; l 进一步掌握数字系统的制作和布线方法。 3 2、课程设计的意义 20世纪末,电子技术获得了飞速发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记时间,忘记了要做的事情,但是,一旦重要的事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展,发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。 单片机模块中最常见的是数字钟,数字钟是一种利用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛使用。 数字电子钟是采用数字电路对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可缺少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大的扩展了钟表原来的报时功能,因此研究数字钟及扩大其应用,有着日常现实的意义。 二、课程设计概况 数字钟具有显示时、分、秒的功能; 有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; 计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时,报时声音四低一高,并且要求走时准确。 4 三、课程设计方案及内容 3.1 总体设计方案 本次设计时钟电路,使用了AT89S51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂, 使用键盘上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、单片机芯片、扬声器、显示屏即可满足设计要求。 芯片 键盘 单 片 机 扬声器 显示屏 图3-1 数字钟总体设计框图 数字钟的工作原理 1)晶体振荡器电路 晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。 电路通过CMOS非门构成的输出为方波的数字式晶体振荡电路,这个电路中,CMOS非门U1与晶体,电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电 阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器.电容C1,C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。 晶体XTAL的频率选为32768HZ.该元件专为数字钟电路而设计,其频率较低,有利于减少分频器级数。从有关手册中,可查得C1,C2均为30pF.当要求频率准确度和稳定度更高时,还可接入校正电容并采取温度补偿措施。 由于CMOS电路的输入阻抗极高,因此反馈电阻R1可选为10M.较高的反馈电阻有利于提高振荡频率的稳定性。非门电路可选74HC00。 5 2)分频器电路 通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频。 通常实现分频器的电路是计数器电路,一般采用多级2进制计数器来实现。例如,将32768Hz的振荡信号分频为1HZ的分频倍数为32768(215),即实现该分频功能的计数器相当于15极2进制计数器。常用的2进制计数器有74HC393等。 本实验中采用CD4060来构成分频电路。CD4060在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便。 CD4060计数为14级2进制计数器,可以将32768HZ的信号分频为2HZ,CD4060的时钟输入端两个串接的非门,因此可以直接实现振荡和分频的功能。 3)时间计数单元 时间计数单元有时计数,分计数和秒计数等几个部分。 时计数单元一般为12进制计数器计数器,其输出为两位8421BCD码形式;分计数和秒计数单元为60进制计数器,其输出也为8421BCD码。 一般采用10进制计数器74HC390来实现时间计数单元的计数功能。为减少器件使用数量,可选74HC390,该器件为双25-10异步计数器,并且每一计数器均提供一个异步清零端(高电平有效)。 秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。 秒十位计数单元为6进制计数器,需要进制转换.将10进制计数器转换为6进制计数器,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。 分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。 时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换.利用1片74HC390实现12进制计数功能的电 6 路,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。 4)译码驱动及显示单元 计数器实现了对时间的累计以8421BCD码形式输出,选用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流,选用CD4511作为显示译码电路,选用LED数码管作为显示单元电路。 5)校时电源电路 当重新接通电源或走时出现误差时都需要对时间进行校正.通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数或将频率较高的方波信号加到需要校正的计数单元的输入端,校正好后,再转入正常计时状态即可。 根据要求,数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。图3-7所示即为带有基本RS触发器的校时电路。 6)整点报时电路 一般时钟都应具备整点报时电路功能,即在时间出现整点前数秒内,数字钟会自动报时,以示提醒。其作用方式是发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示。 根据要求,电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。报时电路选74HC30,选蜂鸣器为电声器件。 图3-2 数字钟显示原理图 7 3.2 硬件设计 一、数字钟的原理图 二、 数字钟的PCB版图 8 硬件接线: 把单片机系统区域中的P1.0-P1.7端口用8芯排线连接到动态数码显示区域中的A-H端口上; 把单片机系统区域中的P3.0-P3.7端口用8芯排线连接到动态数码显示区域中的S1-S8端口上; 把单片机系统区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到独立式键盘区域中的SP3、SP2、SP1端口上。 1、数字钟的组成框图 振荡器产生高稳定的高频脉冲信号,作为数字钟是时间基准,再经分频器输出标准秒脉冲信号。秒计数器满60后向分计数器进位,分计数器满60后复位,数码管显示归零。计时出现误差时可以用校时电路进行校分、校秒。 9 图3-3 数字钟组成框图 2、系统时钟误差分析 时间是一个基本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自国家授时中心、人们日常使用的时钟九就是以一定的精度与该基准保持同步的。结合时间概念和误差理论可以定义时钟的走时误差S=S1-S2,S1 表示程序实际运行计算的秒;S2 表示 客观时间的标准秒。S>0 时表示时钟秒单元数值刷新滞后,即走时误差为“慢”;反之, S<0 表示秒单元数值胡刷新超前,即走时误差为“快”。 本次设计的单片机时钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差, 延迟误差。晶体频率产生这震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在这一秒溢出,造成走时误差;延时时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。 三、 各部分功能介绍 1、AT89S51单片机 l 单片机的发展及应用 10 单片机诞生于20世纪XX年代末,经历了SCM、MCU、SoC三大阶段。单片机由运算器、控制器、存储器、输入输出设备构成单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。 l 单片机的引脚 图3-4 单片机的引脚 40个引脚按功能大致可分为4类:电源、时钟、控制和I/O引脚。 电源: 11 VCC - 芯片电源,接+5V; VSS - 接地端; (2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 (3)控制线:控制线共有4根, ² ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 ² PSEN:外ROM读选通信号。 ² RST/VPD:复位/备用电源。 RST功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 ² EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 (4)I/O线 AT89S51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INT0 外部中断0 P33 INT1 外部中断1 P34 T0 定时计数器0 P35 T1 定时计数器1 P36 WR 外部数据存储器写选通 P37 RD 外部数据存储器读选通 12 2、7段LED数码管 显示器普遍的用于直观的显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一。 发光二极管由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件。分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按照规律控制各发光段亮、灭,就可以显示各种字型或符号,LED数码管有共阳、共阴之分。图是共阳式、共阴式LED数码管的原理图和符号: 显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要六个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。LED显示器的显示控制方式按驱动方式可分为静态显示方式和动态显示方式两种。 3、按键 按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本次课程设计采用的是独立式按键,直13 接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。电路图如下: 3.3 软件设计 1、软件程序内容 本设计的软件程序包括主程序、中断子程序、打铃子程序、时钟显示子程序、 查询时间表切换程序和延时子程序等等。另外,由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。 2、软件设计流程图 这次的数字电子钟设计用到很多子程序,它们的流程图如下所示: 主程序是先开始,然后启动定时器,定时器启动后再进行按键检测,检测完后,就可以显示时间。 按键处理是先检测秒按键是否按下,按键如果按下,秒就加1,如果没有按下就检测分按键是否按下,分按键如果按下,分就加1,如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1,如果没有按下,就把时间显示出 14 来。 时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位计算显示,再就是时个位计算显示,最后是时十位计算显示。 数字钟实际上是一个对标准频率进行计数的计数电路。由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。 图3-5主程序框图 15 图3-6中断流程图 图3-7时间显示流程图 时钟程序设计步骤 选择工作方式,计算初值; 采用中断方式进行溢出次数累计; 从秒分时的计时是通过累加和数值比较实现的; 时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值。 主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。 中断服务程序:进行计时操作。 加一子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。 16 3.4 元件清单 1. +5V电源。 2. 面包板1块。 3. 示波器。 4. 万用表。 5. 镊子1把。 6. 剪刀1把。 7. 拨线铨1把。 8. 导线 若干 9. 共阳八段数码管6个。 10. 74LS90芯片7块。 11. 74LS47芯片6块。 12. 74LS51芯片1块。 13. 74LS30芯片1块。 14. 74LS08芯片1块。 15. 74LS04芯片1块。 16. CD4060芯片1块。 17. CC4016芯片1块。 18. 1K电阻1个。 19. 100电阻6个。 20. 10M电阻1个。 21. 20p电容1个。 22. 200p电容1个。 23. 32.768k时钟晶体1个。 24. =130的三极管。 3.5数字钟实物图 17 四 总结 经过一周的努力,在指导老师和同学的帮助下,终于完成了该电子时钟的课程设计,在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。此次的数字钟设计重在于仿真和接线,虽然能把电路图接出来,并能正常显示,但对于电路本身的原理并不是十分熟悉.总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。在连接六进制、十进制、六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏。在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所引起的。 设计过程中遇到的问题及其解决方法。 在检测面包板状况的过程中,出现本该相通的地方被断了的导线堵塞,用镊子将其挑出。在检测74LS47驱动电路的过程中发现有两个数码管显示的数字是没有规律的,正是由于我们布线的整齐简明,经过检查发现是74LS47其中的两跟译码线与显示管脚连接出错,交换,就OK了!在连接晶振的过程中,晶振起振,但是输出的脉冲明显不是1HZ的,对照设计电路检查,发现CD4060的输出管脚接错,接上3号管脚,一切OK!。在制作报时电路的过程中,发现蜂鸣器在57分59秒的时候就开始报时,后经检测电路发现是由于把 18 74HC30芯片当16引脚的芯片来接,以至接线都错位,重新接线后能正常报时。在布置地线和5V电压线时,不甚把两线接到了一起,导致整个板没法工作。经认真的检查,排除了问题! 这次的课程设计终于完成了,在此次课程设计中我们获益非浅,其过程中遇到了很多编程问题和操作问题,但最终还是在老师的指导下迎刃而解,在此,向我们的指导教师表示衷心的感谢! 参考书目 1数字电子技术基础, 陈明义主编 ,中南大学出版 2Multism ,软件,Interactive Image Technologies, Ltd ,出品 3李军 , 51单片机高级实例开发指南 ,北京航空航天大学出版社,2009. 4王建校,杨建国 ,51系列单片机及C51程序设计 , 科学出版社,2002. 5谭浩强 , C程序设计 , 北京航空航天出版社,2003 6崔刚,陈文楷,基于FPGA数字钟设计J 19 7单片机原理及应用, 李建忠 西安电子科技大学出版 ,XX年2月 8单片机中级教程, 张俊谟 北京航空航天大学出版 ,XX年1月 98051单片机课程设计实训教材,陈明萤.清华大学出版社 附录一 硬件原理图 20 附录二 软件流程图 21 附录三 源程序清单 #include<AT89X52.h > unsigned char code dispcode= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39, 0x5c,0x79,0x71,0x00; unsigned char dispbitcode=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char dispbuf8=0,0,16,0,0; unsigned char dispbitcnt; unsigned char second; unsigned char minite; unsigned char hour; 22 unsigned int tcnt; unsigned char mstcnt; unsigned char i,j; void main(void) TMOD=0x02; TH0=0x06; TL0=0x06; TR0=1; ET0=1; EA=1; while(1) if(P0_0=0) for(i=5;i>0;i-) for(j=248;j>0;j-); if(P0_0=0) second+; if(second=60) second=0; dispbuf0=second%10; dispbuf1=second/10; while(P0_0=0); if(P0_1=0) for(i=5;i>0;i-) for(j=248;j>0;j-); if(P0_1=0) 23 minite+; if(minite=60) minite=0; dispbuf3=minite%10; dispbuf4=minite/10; while(P0_1=0); if(P2_0=0) for(i=5;i>0;i-) for(j=248;j>0;j-); if(P0_2=0) hour+; if(hour=24) hour=0; dispbuf6=hour%10; dispbuf7=hour/10; while(P0_2=0); void t0(void) interrupt 1 using 0 mstcnt+; if(mstcnt=8) mstcnt=0; P1=dispcodedispbufdispbitcnt; P3=dispbitcodedispbitcnt; dispbitcnt+; if(dispbitcnt=8) 24

    注意事项

    本文(数字电子钟课程设计 报告.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开