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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于proteus和单片机的时钟设计报告.docx

1、基于proteus和单片机的时钟设计报告 一、设计题目:基于单片机的时钟设计二、设计目的:1、通过课程设计,进一步巩固、深化和扩充在单片机原理及相关课程方面的基本知识、基本理论和基本技能。 2、 掌握单片机开发软件Keil的使用和调试。 3、 学习Keil与Protel的联合使用,以及主要技术指标的测试方法。三、设计要求及主要技术指标:设计要求:用试验箱设计一个时钟,可以用来显示当前时间。用六位数码管显示增强功能:可以校正时间。主要技术指标 :1、准确计时,以数字形式显示时、分、秒的时间。2、小时以24小时计时形式,分秒计时为60进位。 3、校正时间功能,即能随意设定走时时间。4、设计系统晶振

2、电路、时钟电路、复位电路。一、方案论证与比较1.1 方案提出方案1:采用实时时钟芯片。现在市场上有很多实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。方案2:使用单片机内部的可编程定时器。利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。方案3::通过硬件译码实现时间显示系统采用通用的89C51芯片,显示器为6个共阳极LED数码管,用1个BCD 7段译码器74LS47驱动数码管,用3-8译码器74LS13

3、8的输出作为动态扫描时数码管的位选信号,因为采用了上述两个芯片,所以在对数码管进行扫描显示时,只需要单片机的7条I/O线就能完成显示功能了。1.2设计方案的论证和选择方案1:要用到实时时钟芯片,计时数据的更新每秒自动进行一次,不需要程序干预,因此不适用于软件设计过程中,而且成本相对也比较高。方案2:利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时该方案节省硬件成本,但程序设计较为复杂。方案3:采用通用的89C51芯片,电路简单,实现的功能齐全,按键设置简单,程序的设计相对也比较容易,总的来说,此方案可行性比较高。 综上利弊,我们采用方案3。二、系统的功能及设计框图2.1

4、 系统的全部功能、要求及技术指标。时间以24小时为一个周期,时钟的格式为:XX XX XX,由左向右分别为:时、分、秒。完成显示由秒加1,一直加1至529,再恢复为00;分加1,一直加1至59,再恢复00;时加1,一直加1至23,再恢复00。按键功能:1.启动时,数字时钟从23:59:00 开始自动计时; 2.接P1.0按键控制对“时”的调整,每按一次时计数值加1;3. 接P1.1按键控制对“分”的调整,每按一次分计数值加1;4. 接P1.2按键控制对“秒”的调整,每按一次秒计数值加1;5. 接P1.3按键控制对“时”的调整,每按一次时计数值减1;6. 接P1.4按键控制对“分”的调整,每按一

5、次分计数值减1;7. 接P1.5按键控制对“秒”的调整,每按一次秒计数值减1。 8.接RST的按键按下时,时钟恢复初值23:59:002.2确定设计框图(系统包含的单元电路及结构)和总体设计方案 时钟设计原理图 该系统采用通用的89C51芯片,用1个BCD 7段译码器74LS47驱动数码管,用3-8译码器74LS138的输出作为动态扫描时数码管的位选信号,在 6个共阳极LED数码管上显示。2.3软件流程图主程序:首先进行初始化,设置数字时钟的计时初值为23:59:00,启动T0进行50ms定时,且允许T0中断。然后检测S1-S6是否按下,当按键S1-S6按下时,转入时、分、秒计数值的调整程序,

6、系统主程序流程图如图所示。主程序流程图定时器T0中断子程序:中断服务子程序的作用是进行时、分、秒的计时与显示。定时器T0用于定时,定时周期设为50ms,中断累计20次(即1s)。定时器T0中断服务程序流程图如图所示。定时器流程图 时、分、秒计数值调整子程序TIME:时间计数单元分别在40H(s),41H(min),42H(h)内存单元中, 在计数单元中采用组合BCD码计数。TIME子程序的作用是当满1秒时,对秒计数单元进行加1操作,满60向分进位;对分计数单元进行加1操作,满60向时进位;对时计数单元进行加1操作,满24清零。显示子程序VIEW:VIEW子程序的作用是分别将时间计数单元40 H

7、(s),41H(min),42H(h)中的十进制时间值(组合BCD码)转化为个位和十位(分离BCD码)存放在显示缓冲区中,显示缓冲区地址为30H-35H。其中30H-31H存放秒数据,32H-33H存放分数据,34H-35H存放时数据。由于每一个地址单元内均为分离BCD码,用BCD一个7段译码器74LS47直接进行译码,因此不需要软件方式对BCD码数据进行译码。扫描子程序SCAN:SCAN子程序的作用是把显示缓冲区中的数据依次送往显示器显示。把扫描值作为高4位,显示数据值作为低4 位,输出P0口,以完成显示,因为采用了3-8译码器74LS47作为扫描输出,所以用36H单元存放扫描指针,即36H

8、中存放的是数码管的序号,显示时,只需取出30H-35H某一地址中的数据,并从P0口的低4位输出,同时P0口的高4位作为扫描值输出,就能保证数码管的正常工作。三、 系统调试分析3.1软件仿真原理图3.2模拟仿真过程本次设计主要采用软件模拟仿真的方法。在Proteus中画图、连线形成可用电路。在KEIL中编写汇编程序,并产生HEX文件,接着将其导入Proteus中,模拟运行。3.3各项指标测试1.启动时,数字时钟从23:59:00 开始自动计时; 2.接P1.0按键控制对“时”的调整,每按一次时计数值加1;3. 接P1.1按键控制对“分”的调整,每按一次分计数值加1;4. 接P1.2按键控制对“秒

9、”的调整,每按一次秒计数值加1;5. 接P1.3按键控制对“时”的调整,每按一次时计数值减1;6. 接P1.4按键控制对“分”的调整,每按一次分计数值减1;7. 接P1.5按键控制对“秒”的调整,每按一次秒计数值减1; 8.接RST的按键按下时,时钟恢复初值23:59:00。四、结束语(结论及体会)两周的单片机课程设计很快就结束了,在这期间,开始比较困难,但是经过慢慢摸索,合理地进行设计安排,我们终于顺利地完成了本次单片机课程设计,同时也学到了很多东西。在本次课程设计中,我们通过对proteus和keil软件的结合利用,进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片

10、机原理及应用技术的认识,进一步巩固了对单片机知识的理解,掌握简单单片机应用系统的设计、制作的方法。在设计时根据课题要求,复习相关的知识,查询相关的资料。根据实验条件,找到适合的方案,找到需要的元器件及工具,进行实验。这次的单片机课程设计重点是通过实践操作和理论相结合,提高科学的思维能力,更在短短两周时间了解了更多的有关单片机的知识,使知识更加丰富。 在设计的过程中,一次性成功的可能性小之又小,在设计完思路之后,要用proteus软件找出元器件进行连接实验,因为平时接触proteus较少,在找一些实验所需的元器件时也花了不少功夫 。而在成功连接并运行时却又发现实验结果与连线有差错,于是我们又对源

11、程序和电路图的连接进行缜密的阅读与检查,也查阅了不少资料并请教了指导老师,终于能够实现我们要的功能。因此,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,要进过反复修改、不断改进;还有注释程序,一个程序不仅仅是实现功能还,应该让人一看就能明白设计思路,这样也为资料的保存和交流提供了方便。五、参考文献(1)李朝青编著.单片机原理及接口技术.北京:航空航天大学出版社,1999.3;(2)谢维成等.单片机原理与运用及C51程序设计.北京:清华大学出版社;(3)李广第主编.单片机基础.北京:北京航天工业出

12、版社.2002;(4)丁元杰主编.单片微型计算机.北京:机械工业出版社.2003。(5)附录1:设计中用到的元器件、芯片的外引脚图及引脚功能说明。元器件: 1、AT89C51单片机 2、BCD 7段译码器74LS47 3、3-8线译码器74LS1384、LED数码管(7SEG-MPX6-CA)5、CAP电容6、CRYSTAL晶振7、BUTTON按键使用芯片:(1)AT89C51单片机 89C51单片机管脚图P0端口(P0.0-P0.7):P0口是一个漏极开路的8位准双向I/O端口。P1端口(P1.0-P1.7):P1是一个带有内部上拉电阻的8位准双向I/O端口。RST:复位输入。当振荡器复位器

13、件时,要保持RST脚两个机器周期的高电平时间。它可用作对外部输出的脉冲或用于定时目的。PSEN:外部程序存储器的选通信号。EA:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2、BCD 7段译码器74LS47 74LS47管脚图(1)LT:试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT=0时,无论输入A3 ,A2 ,A1 ,A0为何种状态,译码器输出均为低电平,若驱动的数码管正常,是显示8。 (2)BI:灭灯输入,是为控制多位数码显示的灭

14、灯所设置的。BI=0时。不论LT和输入A3 ,A2 ,A1,A0为何种状态,译码器输出均为高电平,使共阳极7段数码管熄灭。 (3)RBI:灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A3= A2 =A1 =A0=0时,本应显示0,但是在RBI=0作用下,使译码器输出全1。其结果和加入灭灯信号的结果一样,将0熄灭。 (4)RBO:灭零输出,它和灭灯输入BI共用一端,两者配合使用,可以实现多位数码显示的灭零控制。3、 3-8线译码器74LS138当一个选通端(E1)为高电平,另两个选通端(/E2)和/(E3))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译

15、出。74LS138管脚图4、LED数码管 该系统使用的是共阳极的LED数码管,ABCDEFGK控制段选,123456控制位选,DP为小数点。附录2:(1)时钟电路原理图: (2)晶振电路原理图:(3)复位电路原理图:(4)按键电路原理图:附录3:源程序 ORG 0000H LJMP START ORG 000BH LJMP TT0 ORG 0050H START: MOV SP,#70H MOV 36H,#00H MOV 40H,#00H MOV 41H,#59H MOV 42H,#23H MOV 30H,#00H MOV 31H,#00H MOV 32H,#09H MOV 33H,#05H

16、MOV 34H,#03H MOV 35H,#02H MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH MOV IE,#82H MOV 50H,#20 SETB TR0 LOOP: JB P1.0,N2 CALL DE MOV A,42H ADD A,#01H DA A MOV 42H,A CJNE A,#24H,N1 MOV 42H,#00HN1: JNB P1.0,$ CALL DEN2: JB P1.1,N4 CALL DE MOV A,41H ADD A,#01H DA A MOV 41H,A CJNE A,#60H,N3 MOV 41H,#00HN3:

17、JNB P1.1,$ CALL DEN4: JB P1.2,N6 CALL DE MOV A,40H ADD A,#01H DA A MOV 40H,A CJNE A,#60H,N5 MOV 40H,#00HN5: JNB P1.2,$ CALL DEN6: JB P1.3,N8 CALL DE MOV R7,34H CJNE R7,#00H,N60 MOV R6,35H CJNE R6,#00H,N61 MOV 42H,#23H JMP N7N60: MOV A,34H DEC A MOV 34H,A MOV A,35H SWAP A ADD A,34H MOV 42H,A JMP N7N6

18、1: MOV 34H,#09H MOV A,35H DEC A SWAP A ADD A,34H MOV 42H,AN7: JNB P1.3,$ CALL DEN8: JB P1.4,N10 CALL DE MOV R7,32H CJNE R7,#00H,N80 MOV R6,33H CJNE R6,#00H,N81 MOV 41H,#59H JMP N9N80: MOV A,32H DEC A MOV 32H,A MOV A,33H SWAP A ADD A,32H MOV 41H,A JMP N9N81: MOV 32H,#09H MOV A,33H DEC A SWAP A ADD A,

19、32H MOV 41H,AN9: JNB P1.4,$ CALL DEN10: JB P1.5,N11 CALL DE MOV R7,30H CJNE R7,#00H,N100 MOV R6,31H CJNE R6,#00H,N101 MOV 40H,#59H JMP N11N100: MOV A,30H DEC A MOV 30H,A MOV A,31H SWAP A ADD A,30H MOV 40H,A JMP N11N101: MOV 30H,#09H MOV A,31H DEC A MOV 31H,A SWAP A ADD A,30H MOV 40H,AN11: JNB P1.5,$

20、 CALL DE TT0: MOV TH0,#3CH MOV TL0,#0B0H PUSH ACC PUSH PSW DJNZ 50H,TINT0 CALL TIME CALL VIEWTINT0: CALL SCAN POP PSW POP ACC LJMP LOOPSCAN: MOV R0,#36HSCAN0: MOV A,R0 ADD A,#30H MOV R1,A MOV A,R0 SWAP A ORL A,R1 MOV P0,A CALL DELAY INC R0 CJNE R0,#06H,SCAN0 MOV R0,#00H RETTIME: MOV A,40H ADD A,#01H

21、 DA A MOV 40H,A CJNE A,#60H,TTI MOV 40H,#00H MOV A,41H ADD A,#01H DA A MOV 41H,A MOV A,41H CJNE A,#60H,TTI MOV 41H,#00H MOV A,42H ADD A,#01H DA A MOV 42H,A CJNE A,#24H,TTI MOV 42H,#00HTTI: RETVIEW: MOV A,40H ANL A,#0FH MOV 30H,A MOV A,40H SWAP A ANL A,#0FH MOV 31H,A MOV A,41H ANL A,#0FH MOV 32H,A MOV A,41H SWAP A ANL A,#0FH MOV 33H,A MOV A,42H ANL A,#0FH MOV 34H,A MOV A,42H SWAP A ANL A,#0FH MOV 35H,A RETDELAY: MOV R7,#65 DJNZ R7,$ RETDE: MOV R4,#10 DE1: MOV R5,#100 DJNZ R5,$ DJNZ R4,DE1 RET END

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

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