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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于51的电子时钟的课程设计完整.docx

1、基于51的电子时钟的课程设计完整1, 课题设计的目的和意义学校给我们安排为期三周的单片机课程设计,可以说让我们受益匪浅。细想,其目的及意义主要有以下几点:,目的通过单片机课程设计,加深对单片机的更深层次的理解,熟悉单片机的内部硬件资源,掌握单片机的编程方法及技巧,要学会对单片机的各部硬件资源的控制,分配,特别是掌握单片机中断,定时器的编程方法。通过这次设计,要学会怎么利用所学单片机知识独立设计系统的能力,达到学于致用的目的,要学会发散创造设计编程思想,要学会开发系统的一般过程,并不断创新。,意义作为一名自动化专业的大三学生,做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里

2、,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在这次课程设计中,我们运用到了以前所学的专业课知识以及一些实践性很强的软件和工具,如:Protel制图、Proteus仿真,WAWE仿真设备,汇编语言编译软件keil、单片机的原理等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一很大收获。2,系统方案设计及确定,设计思路其中硬件由AT89S51单片机、六位LED驱动及显示电路、独立式键盘电路、蜂鸣

3、器组成,其中显示采用动态显。时钟的定时用定时器T0以50MS中断20次,从而实现一秒准确记时。秒表的定时用定时器T1以10ms 中断1次记时。精度达到0.01秒。键盘将采用查询的方式判别。最终成品是以可整电报时,调时,省电模式的时钟为主体,另外还可切换到秒表的电子钟系统。时钟功能利用单片机片内定时器(如T0)产生1s计时,自行设定时钟计数单元地址,包括秒单元、分单元、时单元,最大计数值为23时59分59秒。用6位LED数码管显示时、分、秒,以24时计时方式运行; 使用按键可实现时、分调整,可增加“熄灭符”用于时间调整时的闪烁功能秒表功能 能通过按键实现秒表/时钟功能之间的转换; 利用单片机内部

4、定时器(如T1)实现秒表的计时,自行设定秒表计数单元地址,包括10ms单元、秒单元、分单元, 通过4位LED数码管显示,最大计数值为99.99秒。 可通过按键实现秒表的暂停、清零、启动。 整点报时功能 可通过软件查询判断时钟是否到整点,如果到了,进一步判断几点,并驱动蜂鸣器想几下,能整点提醒(短蜂鸣,次数代表整点时间)省电模式 可通过按键使系统进入省电状态(数码管不亮,时钟不停)。3,系统硬件设计3.1 AT89S51最小系统设计片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。. 对51系列单片机来说,最小系统一般应该包括:MCS-51系列单片机、晶振电路、复位

5、电路以及一个稳定的5V电源,正极接在40脚,20管脚接地,控制引脚EA接法。EA/VPP(31脚)为内外程序存储器选择控制引脚,当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从内部程序存储器取指令。AT89S51单片机内部有4KB可反复擦写1000次以上的程序存储器,因此我们把EA接到+5V高电平,让单片机运行内部的程序,我们就可以通过反复烧写来验证我们的程序了。下面给出一个51单片机的最小系统电路图.3.1.1 时钟电路硬件设计时钟电路即晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合,计算的初值为

6、整数,可减小误差)/12MHz(产生精确的uS级时歇,方便定时操作),晶振两端各接一个30pF的微调电容然后接地,可使晶振工作在稳定状态。3.1.2 复位电路硬件设计复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取10K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.3.2 键盘、显示电路硬件设计键盘接口

7、分为独立式键盘接口和行列式键盘接口。我们用的是查询独立式键盘接口,键盘直接与AT8S51单片机的I/O口线连接,通过I/O口判断I/O口线的电平状态,既可以识别按下的键。3.2.1 键盘电路硬件设计 四位独立键盘直接在I/O口,并接地。可通过查询低电平看键盘是否按下。 3.2.2 显示电路硬件设计电路采用74HCC573驱动,结构采用总线扩展方式进行设计,其中使用的数码管为连8位的共阴型数码管。通过芯片U2(74HC573)锁存,为数码管提供段码数据。通过芯片U1(74HC573)进行位选 。但由于全部数码管的段码线共用,在同一时刻只能点亮一个数码管,所以在实际应用中必须采用动态扫描的方 式进

8、行8个数码管的显示。具体实现方法是使用内部定时器每2ms产生一次定时中断,系统在每进入到一次定时中断后更新一次显示内容,对于每个数码管来说其显示的周期为10ms,由于显示频率足够高人眼感觉不到闪烁的存在。本设计通过延时程序产生10ms的效果4.系统软件设计4.1 系统主程序设计系统主程序主要完成所有存储单元的初始化,定时器T0,T1工作方式的设定,处置的设置,中断系统的开启以及在等待是调用显示程序,查询键盘状态。4.1.1系统主程序流程图4.1.2 系统软件设计内存分配及芯片地址介绍在设计程序指出对于其内存的分配是非常有必要的,合理的分配内存可避免内存的冲突,指导我们合理的去设计程序。30H,

9、31H,32H,33H,34H,35H:这六个单元为时钟时,分,秒的十位和个位存储单元,同时为显存。 52H,53H,54H,55H,56H:为秒表的四位存储单元,分别为10秒,1秒,0.1秒,0.01秒。 R0R7:用于直接间接的存储单元。 P1.0P1.3接四个独立式键盘,P1.7用来驱动蜂鸣器,P1口输出LED的段码,P2.0P2.5为LED的位选。4.2 定时器设计如下面流程图所示,时钟的定时程序由定时器T0定时产生。设置T0工作方式为方式1,送入初值为4C00H,此时T0产生一次中断为50ms,当进入中断服务程序后判别中断次数是否到20次(50ms201s),中断20次后进入秒个位单

10、元的加以几判断比较程序,否则直接出中断等待下。定时器程序流程图: 4.3 秒表设计在时钟显示状态下可由键盘切换至秒表。键盘按一次时,进入秒表程序,并且调用秒表显示程序,从而达到秒表只显示四个零,处于预备状态。当键盘第二次按下后,开启秒表定时器T1,其中工作在方式1,初值为0DC00H,为10ms中断一次,即0.01秒中断一次并且调用加以程序。键盘第三次按下后,关闭定时器T1并且调用现实,达到保持当前计数值的效果。键盘第四次按下是直接出秒表子程序,回到时钟显示。在秒表运行是由于定时器T0的中断优先级高于T1,所以时钟的定时器不受影响。4.4 其他主要子程序设计省电模式子程序:省电模式使LED现实

11、关闭即可做到。首先设置一个标志寄存器,在查到省电模式键盘按下进入子程序时给该单元加一并且给P0口送入00H让LED熄灭,出子程序,当查询到第二次有键按下时,给标记单元减一,出子程序。同时在每次调用显示是查询标志寄存器是一不调用现实,是0则不调用.整点报时子程序:在主程序里调用子程序,判断30H,31H,32H,33H是否为零,是,说明为整点,把小时时单元的十位乘十加个位为蜂鸣器鸣响的次数.5系统调试用Keil 软件编辑,编译程序,如果有错误进行修改,确保程序无误,然后生成HEX文件。用Proteus 仿真软件画出数字时钟的硬件原理图,软后把Keil生成的HEX文件烧写进Proteus中的单片机

12、中,进行仿真。仿真效果如下:当Proteus仿真效果出来后,再将hex文件用Easy 51Pro软件以ISP方式烧写到AT89S51单片机中,进行硬件运行。如对程序有修改,重复1-3步骤。6 总结经过两个星期的努力,课程设计终于大告成功了。整个设计通过了软件和硬件上的调试、仿真。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬

13、件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过成了单片机的课程设计。单片机课程设计,我

14、不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,并不断地去开动自己的大脑同时也总结了很多问题:1.在设计程序之前,务必要对所用单片机的内部结构有一个系统的了解,知道该单片机片内有哪些资源.2.设计程序采用什么编程语言并不是非常重要,关键要有一个清晰的思路和一个完整的软件流程图.3.在设计程序时,不能妄想一次就将整个程序设计好,反复修改,不断改进是程序设计的必经之路.4.要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便.5.在设计程序过程中遇到问题是很正常的,但我们应

15、该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题. 我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合,以及自身的动脑和努力,都是以后工作中需要的。所以我认为这次的课程设计意义很深,和其他3位同学的共同学习配合努力的过程也很愉快,另外还要感谢老师的耐心辅导。参考文献1 张俊谟. 单片机原理与应用M. 北京:北京航空航天大学出版社.2000.62 闰玉德,俞虹MCS一51单片机原理与应用M北京:机械工业出版社20033 孙裕晶,沙玲,赵红霞实用控制系统设计教程M长春:吉林大学出版社20004 李及,赵利

16、民MCS一51系列单片机原理与应用M长春:吉林科学技术出版社19955 姚君遗汇编语言程序设计M北京:经济科学出版社.2000.附录程序清单:ORG 0000HORG 0000HLJMP STARTORG 000BHLJMP INTT0ORG 001BhLJMP JINSTART: ;主程序 MOV 30H,#0 MOV 31H,#2 MOV 32H,#5 MOV 33H,#9 MOV 34H,#5 MOV 35H,#8 MOV 52H,#0 MOV 53H,#0 MOV 54H,#0 MOV 55H,#0 MOV 56H,#0 MOV R0,#0 mov R1,#0 mov R2,#0 MO

17、V R3,#0 MOV R4,#0 MOV R5,#0 MOV R6,#0 MOV R7,#0 MOV TMOD,#11H MOV TL0,#00H MOV TH0,#4CH MOV TL1,#00H MOV TH1,#0DCH SETB EA SETB ET0 SETB ET1 SETB TR0 MOV R0,#14H lp:CJNE R1,#0,L0 LCALL XS L0:JNB P1.1,SETled ;键盘查询 JNB P1.2,SETTIM1 JNB P1.3,SETTIM2 JNB P1.0,MIAO SJMP LP SETled:LJMP clrled SETTIM1:AJMP

18、 MIN SETTIM2:AJMP HOU MIAO:INC 56H MOV R5,56H LJMP XS0 MIN:JNB P1.2,MIN LCALL SETMIN MOV A,33H CJNE A,#0,LP LCALL SETMIN1 AJMP LP HOU:JNB P1.3,HOU LCALL SETHOU MOV A,31H mov r7,30h CJNE A,#0,LP LCALL SETHOU1 AJMP LPXS: MOV 40H,#20H ;显示子程序 MOV DPTR,#TAB MOV P2,40H MOV A,30H MOVC A,A+DPTR MOV P0,A LCA

19、LL YS1MS MOV P0,#00H MOV A,40H RR A MOV 40H,A MOV P2,40H MOV A,31H ADD A,#10 MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,40H RR A MOV 40H,A MOV P2,40H MOV A,32H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,40H RR A MOV 40H,A MOV P2,40H MOV A,33H ADD A,#10 MOVC A,A+DPTR MOV P0,A LCAL

20、L YS1MS MOV P0,#00H MOV A,40H RR A MOV 40H,A MOV P2,40H MOV A,34H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,40H RR A MOV 40H,A MOV P2,40H MOV A,35H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,40H RR A MOV 40H,A RETclrled:JNB P1.1,clrled CJNE R1,#0,X1 mov 43h,#00h mov p0,43h INC R

21、1 ajmp LP X1:DEC R1 AJMP LPINTT0: PUSH ACC ;T0中断服务程序 PUSH PSW CLR ET0 CLR TR0 MOV TL0,#00H MOV TH0,#4CH SETB TR0 DJNZ R0,OUT MOV R0,#14H LCALL BELL CJNE R1,#0,JIA LCALL XS JIA:MOV A,35H CJNE A,#9,JIA35 MOV 35H,#0 MOV A,34H CJNE A,#5,JIA34 MOV 34H,#0 LCALL SETMIN MOV A,33H CJNE A,#0,OUT LCALL SETMIN1

22、 MOV A,32H CJNE A,#0,OUT LCALL SETHOU MOV A,31H MOV R7,30H CJNE A,#0,OUT LCALL SETHOU1 OUT: POP PSW POP ACC SETB ET0 RETISETMIN:MOV A,33H CJNE A,#9,JIA33 MOV 33H,#0 X4:RETSETMIN1:MOV A,32H CJNE A,#5,JIA32 MOV 32H,#0 X5:RETSETHOU:MOV A,31H CJNE A,#9,JIA31 MOV 31H,#0 X6:RETSETHOU1:MOV A,30H CJNE A,#2,

23、JIA30 MOV 30H,#0 X7:RETJIA30: INC 30H AJMP X7JIA31: CJNE A,#3,JIAJIA MOV A,30H CJNE A,#02,JIAJIA MOV 30H,#0 MOV 31H,#0 AJMP X6JIAJIA: INC 31H AJMP X6JIA32:INC 32H AJMP X5JIA33: INC 33H AJMP X4JIA34: INC 34H AJMP OUTJIA35: INC 35H AJMP OUTBELL: MOV R2,35H MOV R3,34H MOV R4,30H MOV R5,31H MOV R6,32H M

24、OV R7,33H CJNE R2,#00H,OUT1 CJNE R3,#00H,OUT1 CJNE R6,#00H,OUT1 CJNE R7,#00H,OUT1 MOV B,#10 mov A,R4 MUL AB ADD A,R5 mov r5,a cjne r5,#0,X3 mov r5,#24 X3: CLR P1.7 lcall del setb p1.7 LCALL DEL djnz r5,x3 OUT1:RET XS0:JNB P1.0,XS0 CJNE R5,#1,N1 AJMP XS1 N1:CJNE R5,#2,N2 AJMP ZZ N2:CJNE R5,#3,N3 CLR

25、ET1 CLR TR1 AJMP XS1 N3:CJNE R5,#4,N4 N4:MOV 56H,#0 LCALL CLRMIAO MOV TL1,#00H MOV TH1,#0DCH SETB ET1 LJMP LP ZHUAN:JNB P1.0,ZHUAN LJMP MIAO ZZ:SETB TR1 XS1:JNB P1.0,ZHUAN MOV 45H,#08H MOV DPTR,#TAB MOV P2,45H MOV A,52H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,45H RR A MOV 45H,A MOV P2,4

26、5H MOV A,53H ADD A,#10 MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,45H RR A MOV 45H,A MOV P2,45H MOV A,54H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,45H RR A MOV 45H,A MOV P2,45H MOV A,55H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#00H MOV A,45H RR A MOV 45H,A AJMP XS1CLRMIAO: MO

27、V 52H,#0 MOV 53H,#0 MOV 54H,#0 MOV 55H,#0 RETJIN: PUSH ACC PUSH PSW CLR ET1 CLR TR1 MOV TL1,#00H MOV TH1,#0DCH SETB TR1 MOV A,55H CJNE A,#9,JIN1 MOV 55H,#0 MOV A,54H CJNE A,#9,JIN10 MOV 54H,#0 MOV A,53H CJNE A,#9,JIN100 MOV 53H,#0 MOV A,52H CJNE A,#9,JIN1000 MOV 52H,#0 AJMP OUT3JIN1000:INC 52H AJMP

28、OUT3JIN100: INC 53H AJMP OUT3 JIN10: INC 54H AJMP OUT3JIN1: INC 55H AJMP OUT3 OUT3: POP PSW POP ACC SETB ET1 RETIYS1MS: MOV R6,#9HYL1: MOV R7,#10H DJNZ R7,$ DJNZ R6,YL1 RETdel: mov r7,#255del1:mov r6,#255 djnz r6,$ djnz r7,del1 retTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFHEnd

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

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