基于STC89C52的电子时钟设计教材_第1页
基于STC89C52的电子时钟设计教材_第2页
基于STC89C52的电子时钟设计教材_第3页
基于STC89C52的电子时钟设计教材_第4页
基于STC89C52的电子时钟设计教材_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、四川师范大学成都学院电子工程学院课程设计报告 目录 1. 前言 1 2. 整体设计方案 2 3. 硬件设计方案 2 3.1 复位电路 2 3.2 晶振电路 3 3.3 LED 显示电路 3 3.4 按键输入电路 4 3.5 蜂鸣器电路 5 4. 软件设计方案 6 4.1 软件设计方法 6 4.2 系统软件设计思想 6 4.3 系统主程序 6 4.4 中断子程序 7 4.4.1 定时器 T0 的中断程序设计 7 4.4.2 定时器 T1 的中断程序设计 8 4.5 按键扫描子程序 9 4.6 调时、分、秒子程序 10 4.7 调节闹钟子程序 11 5. 调试与功能说明 12 5.1 硬盘调试 1

2、2 5.2 系统性能测试与功能说明 13 5.3 系统时钟误差分析 13 四川师范大学成都学院电子工程学院课程设计报告 5.4 软件调试问题及解决 13 6. 设计总结 13 参考文献 14 附录 1:多功能电子时钟原理图 15 附录 2:C语言源程序 16 四川师范大学成都学院电子工程学院课程设计报告 1. 前言 20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了 社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使 现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总 是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的

3、时间。忘记了要做的事情,当 事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿 成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功 耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片 机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统 设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用 单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传 统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计

4、 时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长 的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对 .时,分,秒.数字显示的计时装置 , 广泛用于个人家庭 车站, 码头办公室等公共场所 , 成为人们日常生活中不可少的必需品 , 由于数字集成电 路的发展和石英晶体振荡器的广泛应用 ,使得数字钟的精度 , 远远超过老式钟表 , 钟表 的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。 诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定 时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都

5、是以钟表 数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、 码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。 由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能 稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 四川师范大学成都学院电子工程学院课程设计报告 2. 整体设计方案 多功能电子时钟的功能的电路具有实现显示时、分、秒,以( 24 小时)计时方式的 功能;具有快速校准时、分、秒的其本功能;秒表 / 时钟功能的转换;具有整点报时

6、的 功能;还可以实现对时间的调整。由单片机、复位、时钟电路、晶振、 LED数码管、按 键、蜂鸣器组成。 图 1 时钟电路框图 3. 硬件设计方案 3.1 复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮 电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰 出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 单片机在启动时都需要复位,以使 CPU及系统各部件处于确定的初始状态,并从初 态开始工作。 89 系列单片机的复位信号是从 RST引脚输入到芯片内的施密特触发器中 的。当系统处于正常工作状态时,且振荡器稳定后,如果 RST

7、引脚上有一个高电平并维 持 2 个机器周期 (24 个振荡周期 ) 以上,则 CPU就可以响应并将系统复位。 单片机系统的复位方式有:手动按钮复位和上电复位。本课程设计采用手动按键复 位。 手动按钮复位需要人为在复位输入端 RST上加入高电平(图 (3) )。一般采用的办法 是在 RST端和正电源 Vcc之间接一个按钮。当人为按下按钮时,则 Vcc 的+5V电平就会 直接加到 RST端。手动按钮复位的电路如图所示。由于人的动作再快也会使按钮保持接 通达数十毫秒,所以,完全能够满足复位的时间要求。 四川师范大学成都学院电子工程学院课程设计报告 图 2 复位电路 3.2 晶振电路 51 单片机最小

8、系统晶振 Y1 也可以采用 6MHz或者 11.0592MHz,在正常工作的情况 下可以采用更高频率的晶振, 51 单片机最小系统晶振的振荡频率直接影响单片机的处理 速度,频率越大处理速度越快。 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他 结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那 么单片机运行速度就越快, 单片接的一切指令的执行都是建立在单片机晶振提供的时钟 频率。 单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便 于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率 的方法保持同

9、步。 图 3 晶振电路 3.3 LED 显示电路 LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每 四川师范大学成都学院电子工程学院课程设计报告 个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送入一次字形码后,显 示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用 CPU时间少,显示 便于监测和控制。缺点是硬件电路比较复杂,成本较高。动态显示的特点是将所有位数 码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫 描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管 的余辉和人眼视觉暂留作用,使人

10、的感觉好像各位数码管同时都在显示。动态显示的亮 度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选 线连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中 哪个位选线,那个数码管便会被点亮。 图 4 LED显示电路 3.4 按键输入电路 独立式按键采用每个按键单独占有一个 I/O 口的结构,这是最简单的键盘输入设计。 当按下和释放按键时,输入到 I/O 口端的电平是不一样的,单片机程序根据不同端口的 电平变化判断是否有键按下以及是哪一个键被按下。独立式键盘的原理简单,每个按键 的电

11、路是独立的,占用一条数据线。这种接法占用硬盘资源大,适合该课程设计的电子 四川师范大学成都学院电子工程学院课程设计报告 时钟电路。 图 5 独立按键 3.5 蜂鸣器电路 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、 打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作 发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣 箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或 集成电路构成。当接通电源后( 1.515V 直流工作电压) ,

12、多谐振荡器起振 , 输出 1.52.5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电 极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。电磁式蜂鸣器由振荡器、 电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通 过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性 地振动发声。 5 四川师范大学成都学院电子工程学院课程设计报告 4. 软件设计方案 4.1 软件设计方法 系统的软件设计也是工具系统功能的设计。 单片机软件的设计主要包括执行软件的 设计和监控软件的设计。

13、单片机的软件设计通常要考虑以下几个方面的问题: 根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体 结构,使软件开发清晰、简洁和流程合理; 培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调 试、链接,又便于移植和修改; 建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数; 绘制程序流程图; 合理分配系统资源; 为程序加入注释,提高可读性,实施软件工程; 注意软件的抗干扰设计,提高系统的可靠性。 4.2 系统软件设计思想 本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的 T0 定 时器溢出中断来实现, 工作在 T0 方式下

14、,定时 250 微妙,则连续中断 4000 次即为一秒, 得到了我们所需时间的最小单位 该设计用 C51 编写程序,由于汇编语言的移植性比较差,而 C 语言则比较灵活。 许多子函数都可以直接移植过去。在程序中除了有主函数外还包含许多子函数,如延时 函数、按键扫描函数、初始化函数、时间显示函数、设定闹钟显示函数、调时、分、秒 函数、功能切换函数、秒表功能函数。 4.3 系统主程序 在主控程序循环中主要工作为扫描是否有按键,若有按健则做相应的功能处理,同 时也扫描显示器显示时间数据,并检查所设置的时间是否到了。时间计时处理程序是等 过了 1s 后,则更新时间数据,将最新的时、分、秒的数据转换为数字

15、数据并显示在八 段数码管上。 四川师范大学成都学院电子工程学院课程设计报告 图 7 系统主程序流程图 4.4 中断子程序 中断子程序的主要功能:提供时间基准和快速按键调时功能。 4.4.1 定时器 T0 的中断程序设计 定时器 T0中断提供时间基准。 当 T0 连续中断 4000次时,即为一秒,此时秒加一; 当秒值为 60时,分钟加一,同时秒清零 ;当分钟值为 60时,小时加一,同时分钟值清零; 当小时为 24 时,小时清零。 四川师范大学成都学院电子工程学院课程设计报告 开始 图 8 T0 中断程序流程图 4.4.2 定时器 T1 的中断程序设计 当 T1 中断 500 次时,检测一次选择按

16、键 S3,如果按键按下,检测时间加减按键, 对应按键按下则执行对应的操作,选择按键可选择调时、调分、调秒以及让时间加减按 键失效这四种功能,这样可以达到迅速校准时间的作用。 图 9 T1 中断程序流程图 四川师范大学成都学院电子工程学院课程设计报告 4.5 按键扫描子程序 按键扫描子程序是程序计中相当重要的一部分。按键扫描子程序的功能是:扫描 四川师范大学成都学院电子工程学院课程设计报告 S4键是否按下,若 S4键按下,则执行相应功能。标志变量 flag 的初值设为 1,当按下 S4键时,标志变量 flag 值加 1,对应切换至所设置的功能。具体切换任务: flag 值为 1 时可以显示时钟并

17、对时间进行校准,当 flag 值为 2 时,切换至秒表功能;当 flag 值为 3 时,切换至闹钟设置功能;当 flag 值为 4时, flag 值返回 1,回到时钟显示并可以调时。 图 10 按键扫描程序流程图 4.6 调时、分、秒子程序 当选择按键状态选择到调秒时,相应的按下 S2即对秒进行加 1 运算,当秒到加到 60 时,秒清零;按下 S1 即对秒进行减 1 运算,当减到零时,秒等于 59。选择按键切换 时,对应的键可以调分和小时。调分和调时子程序和调秒子程序类似。 10 四川师范大学成都学院电子工程学院课程设计报告 图 11 调秒程序流程图 4.7 调节闹钟子程序 当标志变量 fla

18、g 值为 3 时,切换至调节闹钟功能。 检测调节选择按键 S3 是否按下, 如果按下则状态变量 n 加 1,然后根据状态变量的值调用相应的调时、分、秒子程序来 实现对闹钟的调节。 11 四川师范大学成都学院电子工程学院课程设计报告 图 12 调节闹钟程序流程图 般的 5. 调试与功能说明 单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开 方法是排除明显的硬件故障,再进行综合调试,排除可能的软 /硬件故障。 5.1 硬盘调试 12 四川师范大学成都学院电子工程学院课程设计报告 拿到电路板后, 首先要检查加工质量, 并确保没有任何方面的错误, 如短路和断路, 尤其要避免电源短路;元

19、器件在安装前要逐一检查,用万用表测其数值,看是否与所用 相同;完成焊接后,应先空载上电(芯片座上不插芯片) ,并检查各引脚的电位是否正 确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关 系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。 5.2 系统性能测试与功能说明 走时:默认为走时状态,按 24 小时制分别显示 “时时 -分分-秒秒 ”,有 2 个“-”动 态显示,时间会按实际时间以秒为最少单位变化。 走时调整:检测一次选择按键 S3,如果按键按下,检测时间加减按键,对应按键 按下则执行对应的操作,选择按键可选择调时、调分、调秒以及让时间加减按

20、键失效这 四种功能,这样可以达到迅速校准时间的作用。 5.3 系统时钟误差分析 时间是一个基本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自 国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。结合时间 概念和误差理论,可以定义电子钟的走时误差 S=S1-S2,S1 表示程序实际运行计算所得 的秒;S2表示客观时间的标准秒。 S0 时表示电子钟秒单元数值刷新滞后, 即走时误差 为“慢”;反之, S0 表示秒单元数值的刷新超前,即走时误差为“快” 。 本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出 误差,延迟误差。晶体频率产生震荡,容易产生走

21、时误差;定时器溢出的时间误差,本 应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与 基准时间产生偏差,造成走时误差。 5.4 软件调试问题及解决 软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可 以采取离线调试和在线调试两种方式。本次课题, Keil 软件来调试程序,通过各个模块 程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。 6. 设计总结 我在这一次单片机最小系统的设计过程中,很是受益匪浅。通过对自己在大学二年 时间里所学的知识的回顾, 并充分发挥对所学知识的理解和对课程设计的思考及书面表 13 四川师范大学成都学院电子工程学院

22、课程设计报告 达能力。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写报告的过程也是 专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一 个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实 际问题的能力。 通过这次课程设计我发现, 只有理论水平提高了; 才能够将课本知识与实践相整合, 理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义 我获得很深 刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想 结合的重要性,也从中得知了很多书本上无法得知的知识。 我们的学习不但要立足于书本,以解决理论和实际教

23、学中的实际问题为目的,还要 以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家, 通过自己的手来解决问题比用脑子解决问题更加深刻。 学习就应该采取理论与实践结合 的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固, 又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。 参考文献 1 李群芳,肖看,张士军 单片机微型计算机与技术接口 电子工业出版社, 1997.12.125-133 2 彭为,黄科,雷道仲单片机典型系统设计实例讲解 电子工业出版社, 2002.125-133 3 何立民 MCS-51 单片机应用系统设计 北京航空航天

24、大学出版社, 1995.99-112 4 杨刚,周群 电子系统设计与实践 电子工业出版社, 1998.79-102 5 张毅刚 单片机原理及应用 高等教育出版社, 1999.125-143 6 张毅刚 MCS-51 单片机应用设计 哈尔滨工业大学出版社, 1994.125-133 7 张富C及 C+程序设计(第 3版) 人民邮电出版社, 1998.79-112 8 李华MCS-51 系列单片机使用接口技术 北京航空航天大学出版社, 2005.7.115-123 9 李广弟单片机基础 北京航空航天大学出版社, 1998.95-123 14 四川师范大学成都学院电子工程学院课程设计报告 附录 1:

25、多功能电子时钟原理图 15 四川师范大学成都学院电子工程学院课程设计报告 附录 2:C语言源程序 #include #define uchar unsigned char #define uint unsigned int #define key P3 uchar code wei=0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe; uchar code duan=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xbf; uchar num1 = 0,0,10,0,0,10

26、,0,0; uchar num2 = 0,0,0,0,0,0,0,0; uchar sec=55,min=59,hou=23; uchar sec_1 = 0,min_1 = 1,hou_1 = 0; uint sec1 = 0,sec2 = 0; int count1 = 0,count2=0,cnt = 0,cnt2 = 0; uchar flag = 1,flag2 = 0; uchar m; void delay(uint x) uint a,b; for(a=0;ax;a+) for(b=0;b= 60) sec = 0; if(key = 0 xfe) if(sec = 0) se

27、c = 60;sec-; if(m = 2) if(key = 0 xfd) min+; if(min = 60) min = 0;hou+; if(hou=24) hou = 0; if(key = 0 xfe) if(min = 0 ) 17 四川师范大学成都学院电子工程学院课程设计报告 min = 60;min-; if(m = 3) if(key = 0 xfd) hou+; if(hou = 24) hou = 0; if(key = 0 xfe) if(hou = 0) hou = 24;hou-; if(m = 4) m=0; void key_scan2() uchar x; if(P3_3 = 0) delay(10);if(P3_3 = 0) flag+;TR1 = 0;sec1=0;sec2=0; while(P3_3 = 0) for(x = 0;x = 60) sec_1 = 0; while(key = 0 xfd); if(key = 0 xfe) if(sec_1 = 0) sec_1 = 60; sec_1-; wh

温馨提示

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

评论

0/150

提交评论