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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字电子钟设计.docx

1、数字电子钟设计课程设计说明书设计名称: 单片机原理及应用课程实训 题 目: 数字电子钟设计 学生姓名: 专 业: 电气工程与自动化 班 级: 11自动化3班 学 号: 2011364328 指导教师: 屈莉莉 日 期: 2014 年 6 月 26 日课程设计任务书 电气工程与自动化 专业 11 年级 3 班 陈兴渝 一、 设计题目 数字电子钟设计 二、 主要内容设计一个数字式电子钟,它具有时,分,秒的计时功能,可以通过键盘进行时间设定,并且将时间显示在LED数码管上。用按键设定时钟的时、分、秒,用扫描方式动态显示。时钟用定时中断方式工作,单片机晶体震荡器频率11.0592Mhz.。可选做双机通

2、信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示。 三、 具体要求1了解硬件电路组成,以及各部分的作用。2掌握数字电子钟的计时原理。3设计电子钟软件程序,画主程序,子程序流程图,编写程序清单。4完成系统调试。5撰写课程设计报告。四、 进度安排1每个同学根据实验题目,查找相应资料,并由组长组织分析任务要求,对任务进行分解,明确每个同学的具体任务; (半天) 2确定系统的整体设计方案,画出软件框图,分头进行电路连接,软件编写。 (4天) 3学会并熟练掌握在伟福和Keil C开发平台上,用汇编和C语言编程和调试,并写入CPU, 进行实际调试。 (2天半) 4编写不少于3000字的课

3、程设计总结报告及提供程序清单(电子版)。 (1天半)5总结与答辩。 (半天) 五、 完成后应上交的材料1 课程设计说明书2 源程序清单(电子版)六、 总评成绩指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日基于AT89C52单片机的数字电子钟设计摘要:本文介绍了一款基于AT89C52单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。论文重点阐述了数字钟硬件中MCU模块、时钟模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,包括中断模块、时间调整模块设计,并采用简单流通性强的C语言或汇编编写实现。本设计实现了时间以及更正显示功能

4、。并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。关键词:AT89C52单片机;数字钟 目录数字钟的应用数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前

5、的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。整体设计方案其主要设计思想是:整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/

6、O口实现LCD的显示。系统设有4个按键可以对时间的时分秒进行调整。整体框架如图2-1所示。图2-1 系统整体框图单片机的基本结构AT89C52单片机基本结构主要包括了以下主要部件:(1) 控制器控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。单片机执行指令是在控制器的控制下进行的。首先从程序存储器中读出指令,送指令寄存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作。这就是执行一条指令的全过程,执行程序就是不断重

7、复这一过程。控制器主要包括程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。(2)存储器结构 MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。 如果程序存储器在EA引脚接地,程序读取只从外部存储器开始。 对于89C52,如果EA接VCC,程序先从内部存储器(地址为0000H1FFFFH)开始,接着从外部寻址,寻址范围为:2000HFFFFH。 数据存储器AT89C52有256字节RAM。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7F

8、H的地址时,寻址方式决定CPU访问高字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。(3) 并行I/O口MCS-51单片机共有4个双向的8位并行I/O端口(Port),分别记作P0-P3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。实际上P0-P3已被归入特殊功能寄存器之列。这四个口除了按字节寻址以外,还可以按位寻址。由于它们在结构上有一些差异,故各口的性质和功能有一些差异。(4) 时钟电路与时序时钟电路用于产生MCS-51单片机工作时所必需的时钟信号。MCS-51单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现,MCS-51

9、单片机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是指令执行中各个信号的关系。(5)晶振特性 AT89C52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟远驱动器件的话,XTAL2可以不接,而从XTAL1接入。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。最小系统设计AT89C52的结构特点及引脚特性: 为40 脚双列直插封装的8 位通用微处理器,采用工业标准

10、的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。 各引脚特性:1.P0 口 P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的 2.P1 口 P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 3.P2 口 P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动

11、(吸收或输出电流)4 个TTL 逻辑 4.P3 口 P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻 5.RST 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。(3) 复位电路在复位引脚(9脚)持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。如图2-1所示电容C和电阻R构成了单片机上电自动复位电路。复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如表3-1所示。表3-1 复位寄存器状态表寄存器状态寄存器状态PC000HTC0

12、N00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIPXXX00000HSBUF不确定IEOXX00000HPCON0XXX0000HTMOD00H(4) 控制引脚EA接法 EA/VPP(31脚)为内外程序存储器选择控制引脚,当EA为低电位时单片机从外部程序存储器取指令;当EA接高电平时单片机从内部程序存储器取指令。AT89S51单片机内部有4KB可反复擦写1000次以上的程序存储器,因此要把EA接+5V高电平,让单片机运行内部的程序,这样就可以通过反复烧写来验证程序了。这就是AT89C52单片机最小化系统的

13、连接,只要把编写好的程序烧写到单片机内部,并接上5V电源就可以正常运行了,在17脚接上的发光二极管可以用来验证系统是否正常。数字钟的外围电路设计3.2.1 时钟电路(1) 单片机时钟时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,我们选择11.0592mhz晶体。本文用的是内部时钟方

14、式。电路设计如图3-2所示。图3-2 单片机时钟(2)复位电路 单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。复位电路结构如图3所示。上电自动复位通过电容C3充电来实现。手动按键复位是通过按键将电阻R29与VCC接通来实现。上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。图3 复位电路4、显示电路: 系统设置了5个共阳极LED数码管LED1-LED2,单片机P0口提供段码信号,低电平有效,P0

15、口输出端通过限流电阻R1R8与数码管的段码数据线相连,用来送出LED数码管的段码数据信号。图5 显示电路3.2.4 电源电路电源电路包括变压器、桥式整流器、电容和稳压器。通过变压器变压,使得220V电压变为12 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出5V的稳定电压。如图3-7所示。图3-7 系统电源电路 相关控制电路(1) 按键电路按键电路如图3-8所示,按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与

16、开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。 图3-8 按键电路图P3.2口:表示功能选择键,按键选择要调整的时分秒。 P3.3口:表示数字“+”键,按一下则对应的数字加1。 P3.4口:表示数字“-”键,按一下则对应的数字减1。 P3.5口:表示确认键,调整完就可以按确认键。数字钟的软件设计4.1 系统软件设计内容本设计的软件程序包括主程序、中断子程序、时钟显示子程序以及延时子程序等。在整个系统中,在单片机的30H

17、、31H和32H中存储当前时间的小时、分钟和秒。用数码管显示当前的时间,必须用到分字和合字,因此在33H、34H、35H、36H、37H和38H中存储当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显示。本设计有由四个轻触按键组成的小键盘,这些按键可以任意改变当前的状态。按功能移位键一次,表示当前要校对小时的十位;按第二次,表示当前校对的是小时的个位;按第三次,则表示校对的是分钟的十位;第四次,表示的校对的是分钟的个位。按下数字“+” 键和数字“-”键可在当前校对的数字上相应加上1或者减去1。系统软件采用汇编语言编写。时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也

18、只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。实时时钟程序设计步骤:(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒分时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟

19、时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来,流程如图4-1所示;(6)中断服务程序:进行计时操作;(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共三次调用加1子程序,包括:合字、加1并进行进制调整、分字。图4-1 主程序MAIN流程框图图4-4 时钟修改中断服务子程序流程框图中断子程序MCS-51系列单片机有5个中断源,中断分为2个中断优先级,即高优先级和低优先级,每个中断源的优先级都可以由软

20、件来设定。中断地址如表4-1所示。程序中的中断流程框图如图4-4所示。表4-1 中断地址表五个中断源入口地址外部中断0(/INT0)0003HT0溢出中断000BH外部中断1(/INT1)0013HT1溢出中断001BH串口中断0023H/*/Proteus软件介绍Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51

21、系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。KeilC调试环境介绍KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。5.2 系统性能测试与功能说明5.2.1 系统时钟误差分析设系统中所选用的晶振的频率为fosc,则机器周期t0由式(5-1)所得。 (5-1)设定时器要求的中断频率为k,计数器位数为n,则定时计数器的初值

22、X设置如下: (5-2)于是而实验测得的数据显示,这个公式所得的结果并不可靠:(下表中的所有数据都是在计数器初始值严格按照原始公式给出的条件下测得,以个人计算机机系统时钟为标准)。从表 5-1 中的数据可知,严格按照原始公式得出的计数初值是存在极大误差的,这个误差总使系统时间变慢,而且,系统时间的误差值随着每秒中断次数的增多而增大,随计时总长的增长而增大,并且总是成比例(在误差允许的范围内)。这就是说,系统的误差跟每秒中断次数和个人计算机标准时长的乘积(即中断总次数)成正比。也就是说,每次中断计时的时间误差是一个常数。误差来源分析:不考虑晶振等固件的误差,则系统机器周期可以由公式 1 准确给出

23、,因而系统误差不可能来自于硬件,而应该主要来自于软件方面。系统每次调用定时中断程序的过程中,硬件并没有自动进入下一个定时周期,而是在调用中断程序以后由软件置数来实现的。表5-1 系统时间校正测试数据 每秒定时中断次数KPC标准时长/minX系统时间误差T/S备注160602000:59:59-1显示器无闪烁1601202001:59:58-2显示器无闪烁1601802002:59:57-3显示器无闪烁1602402003:59:56-4显示器无闪烁1603002004:59:54-6显示器无闪烁1603002104:59:59-1显示器无闪烁1606002109:59:58-2显示器无闪烁 而

24、在程序调用过程中,堆栈建立,参数传递等都是需要耗时的,而这些时间都被无形中加到了定时长度中去。所以,使得每次定时长度都大于理论推导值,在宏观上表现出来就是系统比理论计算出来的结果变慢了(这于表格 1 所得的结论恰好一致)。另外,由于系统每次调用中断处理程序所执行的操作都是相同的,也就是说,系统每次定时的时间误差应该是一个常数(这也恰好跟实验数据相吻合)。由上面的数据和分析可知,原始公式应该修改为: (5-3)则由表格5-1 可得相关的计算公式为: (5-4)由表格5-1数据,实际要求 k 最小,而又不影响显示效果,才能使误差越小,故实测中取 k=160 。根据表5-1计算得k20(所用晶振频率

25、为 11.0592 MHz )。由表5-1 的实验方法,可得参数优化后的计时测试数据见表 5-2。表5-2 参数优化后的计时测试数据每秒定时中断次数PC标准时长/min系统计时误差T/S备注1001000:09:58-2显示器无闪烁2001000:09:57-3显示器无闪烁4001000:09:55-5显示器无闪烁8001000:09:49-11显示器无闪烁16001000:09:39-21显示器无闪烁32001000:09:18-42显示器无闪烁32002000:18:38-82显示器无闪烁32003000:27:57-123显示器无闪烁32006000:55:54-246显示器无闪烁320

26、012001:51:46-494显示器无闪烁320018002:47:38-742显示器无闪烁320024003:43:31-989显示器无闪烁320030004:39:24-1224显示器无闪烁表5-2数据和表5-1 数据相比已有了更大的准确性,但与实际应用还有一定差距。末两行是根据前面参数规律稍做改动得到的, 与公式(5-2)有一定出入, 但与个人计算机系统标准时间已经相当接近。由于表5-1 的数据本身是肉眼估出来的,本身就带有很大的误差,实际运用可用精密仪器得到表 5-1的数据,则系统参数可以更进一步接近实用值。5.2.2 软件调试问题及解决显示程序开始怎么调试就是不通,后来看了一位网友

27、的文章写的是关于DS1302调试过程中应注意的事项,指出了ds1302的datasheet中的一些错误,这才使我恍然大悟,原来读数据的时间要求是非常严格的。要求在命令字之后的第一个下降沿就要读数据,否则读出的数据就是错误的,也不能说完全错误,那就必须作必要的调整。下次一定要注意:别人的程序很可能有缺陷,能参考,但不能够完全照抄,数据手册一定要细读。这告诉我,自己的c语言功夫还不够,具体地说差得好远。提醒自己要努力。一定要学会应用汇编,汇编与c的相互调用。结 论本设计主要介绍了单片机的历史发展,以及数字钟在日常生活中的具体应用给日常生活带来的方便。在第二章介绍了系统的整体构思方案,有几个模块组成

28、,以及每个模块的连接方法。核心芯片单片机的基本资料介绍,着重介绍了单片机的对比与选择。AT89S51单片机最小系统的架构与实验。多功能数字钟系统的硬件模块组成。详细介绍了各个模块的组成及功能。MCU的组成和特点、专门的时钟芯片和单片机时钟、显示模块的构建与运用、语音芯片的选择。基本上是完成了作为单片机所需的硬件结构。同时也显示了对软件支持的强烈要求。本章介绍了本设计的软件设计,所有的功能在流程图里清晰的表现了出来。包括整体流程图、时钟及闹钟修改流程图、中断流程图等。并附有相关程序的主要部分。系统的功能基本符合设计任务的要求,经过大量的测试数据显示, 系统的可靠性已经能够达到了实际电子钟的设计要

29、求。同时系统具有很强的扩展性。在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在涉及到2进制与十进制转换时出现了错误最终准确地找出错误所在并及时纠正了。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的。例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏。在仿真电路中必须连接反馈线才能正常显示,而在实际电路中无需再连接,因此仿真图和电路连接图还是有一定区别的。在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所引起的。设计是一个漫长

30、而充满挑战的过程,在发现错误与解决错误的过程中我发现自己的能力得到了很大的提高。但是也留下了些遗憾:由于资金和本地的市场条件语音功能还没有完全实现。希望在以后的扩展中能够不断的完善。致 谢这次数字频率计的设计在我们莉莉老师的带领下努力完成。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题设计的开始到最终完成,我不仅学到了扎实、宽广的专业知识,也学到了许多解题的方法。在我的课题开展过程中倾注着导师辛勤的汗水和心血。导师的为人师表、渊博的知识、宽广的胸怀让我倍受教益,在此谨向导师们致以诚挚的谢意和崇高的敬意!我能顺利地完成学业,与父母多年来一如既往的支持和关怀是分不开的,在此,向任劳任怨、含辛茹苦的父母致以衷心的感谢!衷心感谢在我成长的路上指点和帮助我的前辈和朋友们!衷心感谢在百忙之中评阅论文和参加答辩的各位专家、教授。在实验前,通过查资料设计出功能比较丰富的单片机最小系统,功能如下:设计四个功能键,实现每个功能键控制不同的LED灯开关方式,比如:按键一实现LED依次亮,按键二实现LE

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1