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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字电子钟的设计课程设计论文 精品.docx

1、数字电子钟的设计课程设计论文 精品XX学院课程设计论文论文题目: 数字电子钟的设计 姓 名: 所在院系: 电信学院 班 级: 学 号: 指导教师: XX学院二一三年一月六日摘 要单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。单片机具有体积小、功能强、应用面广等优点,为学习、应用和开发提供了便利条件。现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。单片机能大大地提高这些产品的智能性,易用性及节能性等主要

2、性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。 此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。该课程设计为数字电子钟的设计。以AT89C51为核心,配合LED数码管显示器和按键为用户提供长期、连续、可靠、稳定的工作环境。该数字电子钟有时分秒显示和日期显示以及时间和日期调整的功能。系统软件设计包括单片机计算机两部分的编程。计算机软件编程主要实现参数设置、串行口数据接收、指令发送以及数据的显示和存储。单片机软件编程主要实现键盘、LED显示等各模块的功能,采用

3、汇编语言编程。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。关键词 数字电子钟;单片机;LED显示第一章 设计目的和方案 41.1设计任务 41.1.1 设计题目:数字电子钟 41.1.2 设计目的与任务 41.2功能要求说明 41.3设计总体方案及工作原理 4第二章 数字电子钟的硬件系统的设计 52.1 硬件系统各模块功能设计 52.1.1 单片机最小系统 62.1.2 键盘模块 62.1.3 LED显示电路 62.1.4 接口电路 62.2 电路原理图、PCB图和元器件布局 62.3 元器件清单 7第三章 数字电子钟的软件系统的

4、设计 73.1 使用的单片机资源的情况 73.2 各模块功能简要介绍 83.3 程序的流程图 83.4 程序清单 12第四章 设计仿真和结果分析 134.1 设计结论和功能使用说明 134.1.1 设计结论 134.1.2 功能及使用说明 134.2 仿真结果 144.3 设计系统误差分析 15第五章 设计小结 16致 谢 16参考文献 17附 录 19第一章 设计目的和方案1.1设计任务1.1.1 设计题目:数字电子钟1.1.2 设计目的与任务 通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机原理及接口技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力

5、和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2功能要求说明 1、显示准确的北京时间(时、分、秒),可用24小时制式; 2、随时可以调校时间。 3、增加公历日期显示功能(年、月、日),年号只显示最后两位; 4、随时可以调校年、月、日; 5、允许通过转换功能键转换显示时间或日期。 硬件方案: 显示器采用6位LED数码管(共阳),可分别显示时间或日期;(通过KB 键可切换) 显示器的驱动采用动态扫描电路形式,以达到简化电路的目的。但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选

6、码1.3设计总体方案及工作原理 设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。设计中是采用单片机的内部定时器进行定时,程序框图如图所示。 整个电子钟的工作原理是:在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。总体硬件原理图如图所示第二章 数字电子钟的硬件系统的设计2.1 硬件系统各模块功能设计 该数字电子钟由单片机最小系统、键盘模块、LED显示电路模块、接口电路模块组成。各模块的功能如下:2.1.1 单片机最小系统由AT89C51单片机、时

7、钟电路和复位电路构成。AT89C51是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。时钟电路由一个12MHZ的石英晶体振荡器和两个22pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。2.1.2 键盘模块采用独立式键盘接法,共有四个按键来对电路进行控制。分别接在单片机的P1口线上。一个键控制开和关,一个键负责调整,另外两个键辅助调整。2.1.3

8、LED显示电路采用六个共阳的数码管显示器进行显示,加上一个74LS244作为驱动和8个220的电阻起限流的作用。将段控口接在P0口上,位控口接在P3口上,实现对显示的控制。2.1.4 接口电路接上一个电容组成的滤波电路和电源显示灯组成一个电源接口,为单片机工作供电。2.2 电路原理图、PCB图和元器件布局采用Protel软件,Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,能够和形象的画出我们所要设计的产品。电路原理图和PCB图及元器件布局见附录。各模块拼接图 2.3 元器件清单见附录。第三章 数字电子钟的软件系统

9、的设计3.1 使用的单片机资源的情况该数字电子钟用到了单片机的定时器的功能,此外用到了单片机的中断功能,在数据的显示时所采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。由于电子钟需要可以进行调节,因此,需要在单片机的P口上加上按键,本设计采用独立式键盘,直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。用到的LED显示器接到了单片机的P0口线上和P3口线上。 3.2 各模块功能简要介绍 该数字电子钟所用的软件模块有定时器模块、按键模块、LED显示模块。(1)定时器模块选择定时器0,设置定时方式为方式1,设置定时时间为50mS。(2)按键模块采用独立式键盘,共用四

10、个按键对电路进行控制和操作,分别为K0、K1、K2、K3来控制电子钟的开/关和调整。(3)LED显示模块 该电子钟一通电即让它显示P.,按开启键即可显示时分秒,再按切换键即可显示年月日,然后结合键盘操作还可以对时间进行调整。3.3 程序的流程图(1)整体设计流程图(2)键盘设计流程图图3.2 键盘设计流程图(3)显示设计流程图图3.3 显示时分秒设计流程图图3.4 显示年月日设计流程图3.4 程序清单见附录。 第四章 设计仿真和结果分析4.1 设计结论和功能使用说明4.1.1 设计结论 通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了该数字电钟显示P.以及时分秒

11、和年月日的显示,同时还可实现对该电子钟进行调整的功能。通过测试和仿真以及修改,该电子钟最终能正常的工作。4.1.2 功能及使用说明该数字电子钟采用八位数码管能实现年月日和时分秒的显示。当电子钟一上电即可显示P.,设置数字钟的初始日期和时间为12年02月23日00时00分00秒.用四个按键实现电子钟的显示和调整的功能,分别为K0,K1,K2,K3,其中K0键为开启键,且显示的是时分秒,开启之后K2键可实现切换的功能,即可实现年月日和时分秒的切换显示;按K3键可实现年月日和时分秒的调整,按一下可以对当前显示的进行调整,再按一下即可切换到一个界面进行调整,调整的时候数字钟停止计时,当进行时分秒的调整

12、时, K0键可实现对秒进行增大的调整,每按一下秒的值就加一,当秒增加到59时就重新从0开始继续增大, K1键可实现对分进行增大的调整,每按一下分的值就加一,当分增加到59的时候就重新从0开始继续增大,K2键可实现对时进行增大的调整,每按一下时的值就加一,当时的值增大到23的时候就重新从0开始继续增大.当进行年月日的调整时, K0键可实现对日进行增大的调整,每按一下秒的值就加一,当日增加到28或者30或者31(看不同的年份和月份)时就重新从0开始继续增大, K1键可实现对月进行增大的调整,每按一下月的值就加一,当月增加到12的时候就重新从0开始继续增大,K2键可实现对年进行增大的调整,每按一下时

13、的值就加一,当时的值增大到99的时候就重新从0开始继续增大.当对年月日和时分秒都调整完之后,再按一下K3键即可跳出调整的状态,数字钟继续开始计时工作,在电子钟正常计时的时候再按K0键即可对电子钟进行关闭.4.2 仿真结果在仿真时用到了两个软件,第一个是Keil,第二个是Protues,本次仿真是将两个软件结合起来进行的。用Protues软件进行仿真,其仿真的电路图如图4.1所示图4.1 Protues仿真电路图数字电子钟正常工作时,仿真的LED显示器显示如图4.2所示,当按下切换键时,数字电子钟进入日期显示界面,此时LED数码管显示器的显示如图4.3和4.4所示,当按下调整键时,数字电子钟进入

14、调整界面,此时LED数码管显示器的显示如图4.5和4.5所示。图4.2 数字电子钟正常工作时的显示图P.图4.3 数字电子钟显示时分秒的显示图000000.图4.4 数字电子钟显示日期的显示图120223.4.3 设计系统误差分析本数字电子钟在跟标准的电子钟比较时,时间稍微慢一点,产生此种情况的原因有:其一是在执行程序指令时,由于需要耗费一定的时间,因此会比标准的电子钟要慢一点。其二是晶振不够标准,使得定时器定时时不够精准。第五章 设计小结从硬件电路的设计到软件电路的设计,整个过程当中我学到了很多的东西,在绘制原理图时我查找了相关软件的使用方法,并悉心向老师和同学请教,学会对PROTEL和PR

15、OTEUS的使用;在软件系统的设计中,我遇到了很多的问题,不能把一些小模块系统联系起来,但通过不断的探索,最终把整个程序完整的编出来了,并能进行仿真使用;本次的设计使我学到如何从理论转化为实践,怎样将我所学到的知识运用到我以后的工作中。通过单片机硬件电路的调试,实现了预先设定的功能,设计主要用到的元件不多,最主要的是程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。虽然过程中遇到了一些困难,但是在解决这些问题的过程无疑也是对自己自身专业素质的一种提高。此次的电子时钟设计给我奠定了一个实践基础,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友

16、谊,使我对团队精神的积极性和重要性有了更加充分的认识和理解。致 谢首先衷心感谢在此次课程设计中给予我帮助的老师及同学们,帮助我分析和解决问题。在开始设计的时候,经过老师悉心的指导和讲解,让我渐渐有自己的方案和选择方向,在每一步的进展当中,我都碰到了很多的问题,画原理图的时候和分析电子钟工作的原理以及怎么确定和修改,都是经过一步步修改而成的。设计软件的时候,因为是设计一个系统的程序,所以开始还没形成系统的思维,但在老师的讲解和同学的教导下,渐渐的将一个个子程序联系起来调试运行。在此,谨向给予我帮助的老师和同学深表言谢。参考文献1彭勇,叶晓勇,王万刚 单片机技术 北京 电子工业出版社 20092李

17、广弟,朱月秀,冷祖祁 单片机基础.北京:北京航空航天大学出版社,20073刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社,2006.4李光飞.单片机课程设计实例指导.北京:北京航空航天大学出版社,2004.95朱定华单片机原理及接口技术实验M北京:北方交通大学出版社2002.116张洪润,兰清华.单片机应用技术教程.北京:清华大学出版社,1997.11附 录*;按键接P1.0P1.3分别为K0、K1、K2、K3;*;数码管显示器段控口接单片机的P0口,位控口接单片机的P3口;*;存储单元定义;* YEAR EQU 40H MONTH EQU 41H DAY EQU 42H HOUR E

18、QU 43H MINUTE EQU 44H SECOND EQU 45H TIME EQU 46H ORG 0000H AJMP START ORG 000BH AJMP ET_0 START: LCALL LING MOV TIME, #00H MOV TMOD, #01H ;设置定时器的工作方式为方式一 MOV TH0, #(65536-50000)/256 ;定时50毫秒 MOV TL0, #(65536-50000)MOD 256 MOV IE, #82HLOOP: LCALL DISPLAY0 ;显示P. JNB P1.0, MAIN1 JMP LOOPMAIN1: LCALL DI

19、SPLAY0 JNB P1.0, MAIN1 SETB TR0 ;开启定时器*;主函数;* MAIN: LCALL KEY JB 20H.3, SET1 JB 20H.0, GUAN JB 20H.2, RIQI LCALL DISPLAY2 ;显示时分秒 AJMP MAIN *;显示日期;*RIQI: LCALL DISPLAY1 LCALL KEY JB 20H.2, MAIN JMP RIQIGUAN: MOV P2, #0FFH ;关显示 LCALL KEY JB 20H.0, MAIN JMP GUAN *;进入时分秒的调整界面;* SET1: CLR TR0 ;时分秒的调整 LCA

20、LL DISPLAY2 LCALL KEY JB 20H.3, SET2 JB 20H.2, TS JB 20H.1, TF JB 20H.0, TM JMP SET1TS: INC HOUR ;时的调整 MOV A, HOUR ;是否达到了24小时到了就清零 CJNE A,#24, SET1 AJMP LL1LL1: MOV HOUR, #0 JMP SET1TF: INC MINUTE ;分的调整 MOV A, MINUTE ;是否达到了60分到了就清零 CJNE A, #60, SET1 AJMP LL2LL2: MOV MINUTE, #0 JMP SET1TM: INC SECOND

21、 ;秒的调整 MOV A, SECOND ;是否达到了60秒到了就清零 CJNE A,#60, SET1 AJMP LL3LL3: MOV SECOND, #0 JMP SET1 SET2: LCALL KEY ;进入年月日的调整界面 LCALL DISPLAY1 ;显示年月日 JB 20H.3, EXIT JB 20H.2, TN JB 20H.1, TY JB 20H.0, TR JMP SET2EXIT: SETB TR0 ;关定时器 JMP MAIN TN: INC YEAR ;年的调整 MOV A, YEAR ;是否达到了99年到了就清零 CJNE A,#99, SET2 AJMP

22、LL4LL4: MOV YEAR, #0 JMP SET2TY: INC MONTH ;月的调整 MOV A, MONTH ;是否达到了12月到了就清零 CJNE A,#13, SET2 AJMP LL5LL5: MOV MONTH, #0 JMP SET2TR: INC DAY ;日的调整 MOV A, YEAR ;看是闰年还是非闰年 MOV B, #4 DIV AB MOV A, B JZ WW1 ;闰年则转WW1 JMP WW2 ;非闰年则转WW2WW1: MOV A, MONTH ;看是闰年的哪一月份 CJNE A,#2, LL6 ;是闰年中的2月则为29天 MOV A, DAY 到2

23、9就清零 CJNE A,#29, SET2 MOV DAY, #0 AJMP SET2 LL6: CJNE A,#4, LL7 ;闰年中的4、6、9、11为30天 MOV A, DAY 到30就清零 CJNE A,#30, SET2 MOV DAY, #0 AJMP SET2LL7: MOV A, MONTH CJNE A,#6, LL8 MOV A, DAY CJNE A,#30, SET2 MOV DAY, #0 AJMP SET2LL8: MOV A, MONTH CJNE A,#9, LL9 MOV A, DAY CJNE A,#30, SET2 MOV DAY, #0 AJMP SE

24、T2LL9: MOV A, MONTH CJNE A,#11, LLA MOV A, DAY CJNE A,#30, ZHUAN MOV DAY, #0 AJMP SET2LLA: AJMP WW6 WW6: MOV A, DAY ;闰年中的1、3、5、7、8、10、12月 CJNE A,#31, ZHUAN MOV DAY, #0ZHUAN:AJMP SET2WW2: MOV A, MONTH ;看是闰年中的哪一月 CJNE A,#2, LL6 ;非闰年中的2月为28天,到28则清零 MOV A, DAY ;非润年中的4、6、9、11月为30天其他 CJNE A,#28,ZHUAN 31天

25、MOV DAY, #0 AJMP SET2*;中断子程序和时间的增一;*ET_0: MOV TH0, #(65536-50000)/256 MOV TL0, #(65536-50000)MOD 256 INC TIME MOV A, TIME CJNE A,#20, DIAN AJMP ZMZM: INC SECOND MOV TIME, #0 ;TIME为20时SECOND加一同时对TIME MOV A, SECOND 清零 CJNE A,#60, DIANZF : INC MINUTE MOV SECOND,#0 ;SECOND为60时MINUTE加一同时SECOND MOV A, MIN

26、UTE 清零 CJNE A,#60, DIANZS: INC HOUR ;MINUTE为60时HOUR加一同时MINUTE MOV MINUTE,#0 清零 MOV A, HOUR CJNE A,#24, DIAN AJMP ZR ;HOUR为23时DAY加一同时HOUR清零ZR: INC DAY MOV HOUR, #0 MOV A, YEAR MOV B, #4 DIV AB JZ RUN ;闰年则转RUN AJMP NRUN ;非闰年则转NRUNDIAN: RETI ;是否为闰年中的2月,是则到了29就RUN: MOV A, MONTH MONTH加一同时DAY清零 CJNE A,#3

27、,NEXT1 ;是否为闰年中的4、6、9、11月,是则到 了 30MONTH就加一同时DAY清零 AJMP BB1 ;闰年中的1、3、5、7、8、10、12月为31 天到了31则MONTH加一DAY清零NEXT1:MOV A, MONTH CJNE A,#5, NEXT2 AJMP BB2NEXT2:MOV A, MONTH CJNE A,#7, NEXT3 AJMP BB2NEXT3:MOV A, MONTH CJNE A,#10, NEXT4 AJMP BB2NEXT4:MOV A, MONTH CJNE A,#12, NEXT5 AJMP BB2NEXT5:AJMP BB3BB1: MO

28、V A, DAY CJNE A,#30, DIAN AJMP ZYBB2: MOV A, DAY CJNE A,#31, DIAN AJMP ZYBB3: MOV A, DAY CJNE A,#32, DIAN AJMP ZYBB4: MOV A, DAY CJNE A,#29, DIAN AJMP ZYNRUN: MOV A, MONTH CJNE A,#3, NEXT6 ;非闰年中的2月到了28就MONTH 加一同时DAY清零 AJMP BB4 ;非闰年中的4、6、9、11月到了30天 NEXT6:MOV A, MONTH 则MONTH加一同时DAY清零 CJNE A,#5, NEXT7 ;非闰年中的1、3、5、7、8、10、12 AJMP BB2 月为31天到了则MONTH加一同时DAY清零NEXT7:MOV A, MONTH CJNE A,#7, NEXT8 AJMP BB2NEXT8:MOV A, MONTH CJNE A,#

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

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