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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机秒表001s.docx

1、单片机秒表001s单片机接口设计课程设计报告专 业: 电气工程及其自动化 班 级: 电1201-4班 学 号: 20123804 姓 名: 指导教师: 时 间: 2015.7.62015.7.17 一、 设计目的(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。(2)通过LED显示程序的调整,熟悉LED动态显示的控制过程。(3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。(4)以单片机为基础,设计一个可以实现启动,暂停,继续,复位,可选择正负计时并且可以显示十分之一秒的秒表。锻炼硬件与软件相结

2、合的设计能力。二、设计要求1可启动、暂停、继续和复位。24位显示,精确到0.1(999.9)3可正计时、倒计时。正计时时,从0000开始,最大到999.9秒,倒计时时,从设定时间开始4通过键设定时间,可设定正计时的结束时间和倒计时的开始时间,当到达设定时间或倒计时到0时报警,数码管闪烁最后的时间。5. 要求做出实物。(同时上传本机地址03H。本机地址为03H,当接到上位机发的03H时,则回发03H当接到上位机发的AAH时,则将当前显示的秒值发给上位机)3、硬件电路设计 图3-1硬件电路3.1系统框图图3-2系统原理图3.2系统电路图工作原理 打开电源后,数码管显示000.0,有自动计时和设定计

3、时两种工作模式,通过SW2(P1.4)进行控制,当SW2和SW1打开时,按下启动键(P1.0),系统正计时,当SW1和SW2都闭合时,进行倒计时,倒计时的设定时间P1.1和P1.2的按键进行控制,当减到结束时间后需要计时时间的设定,(即从设定的时间逐渐减到0000后结束),同时数码管闪动显示结束时的时间,同时数码管闪动显示结束时的时间,再次打开P1.5键后会更改为正计时,如此循环。设定时间及正负计时后,按下启动键(P1.0键),程序开始进行计时,计数器/定时器T0开始计时中断,计时结束后,同时数码管闪动显示结束时的时间同时数码管闪动显示结束时的时间。在计时结束后按下复位键,程序可以回到主程序最

4、开始,可以再次进行设定计时,如此往复循环。3.3各部分电路设计1.单片机最小系统 本系统设计采用AT89C51单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容(由于在微机原理中学过C-51的具体知识,这里不再详细说明)。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效的微控制器。 图3-3AT80C512.晶体振荡电路 MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分

5、别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。这里,我们选用51单片机12MHZ的内部振荡方式,电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF之间取,这里取30P,接线时要使晶体振荡器X1尽可能接近单片机。图3-4晶振原理图3.复位电路采用上电+按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使用使RST持续一段时间的高电平,从而实现上电加开关复位的操作。这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。当程序出现错误时,可以随时使电路复位

6、。 图3-5复位电路图4.数码管的显示显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。用4个共阳极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。电路图如下所示:5.按键扫描电路介绍:扫描法师在判定有按键按下后逐行逐列的状态出现全非1

7、的状态,这时0状态的行、列焦点的键就是所按下的键位。确定矩阵式键盘上哪个键位被按下时运用扫描法,进行查询。判断键盘中有无键位按下,先将全部的焊线Y0Y3置低电平,然后检测列线的状态。只要有一列的电平为低电平,则表示键盘中有键位被按下,而且闭合的按键位于低电平线与4根行线交叉的4个按键中,若所有列线均为高电平,则键盘中没有按键按下。判断闭合键位所在的位置,在确定了有键位按下后,即可进行确定具体闭合键的过程。其方法是:一次将行线置为低电平,即在置某根行线为低电平时,其他线为高电平,在确定某根行线位置为低电平后,再逐行检测各列线的电平状态,若某列为低电平,则该列线与置为低电平的行线交叉处的按钮就是闭

8、合的按键.四、软件设计4.1设计思路打开电源后,数码管显示000.0,有自动计时和设定计时两种工作模式,通过SW2(P1.4)进行控制,当SW2和SW1打开时,按下启动键(P1.0),系统正计时,当SW1和SW2都闭合时,进行倒计时,倒计时的设定时间P1.1和P1.2的按键进行控制,当减到结束时间后需要计时时间的设定,(即从设定的时间逐渐减到0000后结束),同时数码管闪动显示结束时的时间,同时数码管闪动显示结束时的时间,再次打开P1.5键后会更改为正计时,如此循环。设定时间及正负计时后,按下启动键(P1.0键),程序开始进行计时,计数器/定时器T0开始计时中断,计时结束后,同时数码管闪动显示

9、结束时的时间同时数码管闪动显示结束时的时间。4.2流程图开始设定时间是不是是不是检测计时是否到时间是不是是否复位五、程序设计如下: LSEC EQU 80H SEC1 EQU 81H SEC2 EQU 82H SEC3 EQU 83H SEC4 EQU 84H SEC5 EQU 85H SEC6 EQU 86H SEC7 EQU 87H CISHU EQU 88H ORG 0000H AJMP MAIN ORG 0003H LJMP INT0 ORG 000BH AJMP TIME0 ORG 0013H LJMP INT1 ORG 001BH LJMP TIME1 MAIN: CLR P1.7

10、 CLR P1.6 CLR P1.5 MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#00H MOV TL1,#00H CLR 00H CLR 01H CLR TR1 CLR 02H CLR 03H CLR 04H MOV TMOD,#09H MOV IE,#8FH SETB IT0 SETB IT1 MOV R0,#80H MOV R1,#05H MOV R0,85H MOV R0,#0BH MOV R0,#86H MOV R0,#0BH MOV R0,#87H MOV R0,#0BH MOV R0,#80H ZFUZHI: MOV R0,#00H INC R0 DJ

11、NZ R1,ZFUZHI MOV R0,#81H MOV R0,#0AH MOV R7,#00H MOV R0,#70H MOV R1,#05H CHUZHI: MOV R0,#00H INC R0 DJNZ R1,CHUZHI MOV R4,#00h S1: ACALL SAOMIAO LCALL BIJIAO ACALL FT ACALL DISP JMP S1KEYSCAN: JB P1.0,AA RET DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RETSAOMIAO: CLR EA CLR TR1

12、JB 00H,KEYOUT JNB P1.2,KEYSCAN0 JNB P1.3,KEYSCAN1 KEYOUT: SETB EA RET WAIT0: JNB P1.2,WAIT0 MOV R0,#60H MOV A,R0 INC A MOV R0,A CLR ET0 CLR TR0 CLR P1.7 CJNE A,#05H,KEYOUT JNB 01H,ZHENG MOV A,#00H MOV R0,A SETB ET0 SETB P1.7 SJMP KEYOUT ZHENG: MOV R0,#80H MOV R2,#05HYY: MOV R0,#00H INC R0 DJNZ R2,YY

13、 SETB P1.7 SETB ET0 MOV R0,#60H MOV A,#00H MOV R0,A SETB EX0 SJMP KEYOUT WAIT1: JNB P1.3,WAIT1 MOV R0,#60H MOV A,R0 CJNE A,#01H,KSCAN11 MOV R0,#80H MOV R1,#70H MOV A,R0 INC A MOV R0,A MOV R1,A CJNE A,#0AH,KEYOUT MOV A,#00H MOV R0,A MOV R1,A SJMP KEYOUT KSCAN11: MOV R0,#60H MOV A,R0 CJNE A,#02H,KEYSC

14、AN3 MOV R0,#82H MOV R1,#72H MOV A,R0 INC A MOV R0,A MOV R1,A CJNE A,#0AH,KEYOUT MOV A,#00H MOV R0,A MOV R1,A SJMP KEYOUT KEYO: SJMP KEYOUT KEYSCAN3: MOV R0,#60H MOV A,R0 CJNE A,#03H,KEYSCAN4 MOV R0,#83H MOV R1,#73H MOV A,R0 INC A MOV R0,A MOV R1,A CJNE A,#0AH,KEYOUT MOV A,#00H MOV R0,A MOV R1,A SJMP

15、 KEYOUTKEYSCAN4: MOV R0,#60H MOV A,R0 CJNE A,#04H,KEYO MOV R0,#84H MOV R1,#74H MOV A,R0 INC A MOV R0,A MOV R1,A CJNE A,#0AH,KEYO MOV A,#00H MOV R0,A MOV R1,A LJMP KEYOUT BIJIAO: JNB 01H,ZHBJ JNB 03H,BJFH CLR 03H MOV R0,#80H MOV A,R0 CJNE A,#00H,BJFH MOV R0,#82H MOV A,R0 CJNE A,#00H,BJFH MOV R0,#83H

16、MOV A,R0 CJNE A,#00H,BJFH MOV R0,#84H MOV A,R0 CJNE A,#00H,BJFH ACALL BAOJING SETB P1.6 JMP BJFH ZHBJ: JNB 06H,BJFH CLR 06H MOV R0,#80H MOV A,R0 CJNE A,70H,BJFH MOV R0,#82H MOV A,R0 CJNE A,72H,BJFH INC R0 MOV A,R0 CJNE A,73H,BJFH INC R0 MOV A,R0 CJNE A,74H,BJFH ACALL BAOJING SETB P1.6 JMP BJFH BAOJI

17、NG: CLR TR0 CLR ET0 SETB TR1 MOV R0,#89H MOV A,R0 CJNE A,#01H,AN MOV R0,#87H MOV R0,#0CH DEC R0 MOV R0,#0CH DEC R0 MOV R0,#0CH JMP BAJIFAHU AN: MOV R0,#87H MOV R0,#87H MOV R0,#0BH DEC R0 MOV R0,#0BH DEC R0 MOV R0,#0BH BAJIFAHU: SETB P1.5 RET FT: MOV R0,#80H MOV R2,#08H MOV R1,#90H MOV DPTR,#TAB FT1:

18、 MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R1 INC R0 DJNZ R2,FT1 RET TAB: DB 3FH,06H,5BH,4FH, 66H,6DH,7DH,07H, 7FH, 6FH,80H,00H,40H DISP:MOV R0,#81HMOV R0,#0CHMOV R0,#90HMOV R1,#08H MOV R2,#0FEHDISP1: MOV A,R2MOV P2,AMOV A,R0MOV P0,AMOV A,R2ACALL DL1MSACALL DL1MSACALL DL1MSACALL DL1MSINC R0RL AMOV R2,ADJN

19、Z R1,DISP1MOV P0,#0FFHMOV P2,#0FFH RETINT0: JNB P1.0,DUAN1JNB P1.1,DUAN2DUAN1: JB 00H,TINGSETB TR0SETB 00HRETITING: CLR 00HCLR TR0RETIDUAN2: JB 01H,ZHJSHUSETB 01HSETB P1.5CLR TR0MOV R0,#80HMOV R1,#70HMOV R3,#05HZHUANYI1:MOV A,R1MOV R0,AINC R0INC R1DJNZ R3,ZHUANYI1JMP OUT1ZHJSHU: CLR TR0CLR 01HSETB 0

20、5HCLR P1.5 MOV R0,#80H MOV R2,#05HBB: MOV R0,#00H INC R0 DJNZ R2,BB OUT1: MOV TH0,#3CH MOV TL0,#0B0H MOV R0,#81H MOV R0,#0BH CLR 00H RETI INT1:CLR TR0 MOV TH0,#3CH MOV TL0,#0B0H MOV R0,#80H MOV R1,#05HXX: MOV R0,#00H INC R0 DJNZ R1,XX RETI TIME0: SETB 03H SETB 06H JB 01H,FJI PUSH ACC PUSH PSW CLR ET

21、0 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 MOV R0,#88H MOV A,R0 INC A MOV R0,A CJNE A,#02H,OUTTO MOV R0,#88H MOV R0,#00 MOV R0,#80H MOV A,R0 INC A MOV R0,A CJNE A,#0AH,OUTTO MOV R0,#80H MOV R0,#00HMOV R0,#82HMOV A,R0 INC AMOV R0,ACJNE A,#0AH,OUTTOMOV R0,#82HMOV R0,#00MOV R0,#83HMOV A,R0INC AMOV

22、R0,ACJNE A,#0AH,OUTTO MOV R0,#83H MOV R0,#00HMOV R0,#84HMOV A,R0INC AMOV R0,ACJNE A,#0AH,OUTTOMOV R0,#84HMOV R0,#00HRETIOUTTO: SETB ET0 POP PSWPOP ACCRETIFJI: PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0MOV R0,#88HMOV A,R0INC AMOV R0,ACJNE A,#02H,OUTTO1MOV R0,#88HMOV R0,#00H MOV

23、R0,#80HMOV A,R0DEC AMOV R0,ACJNE A,#0FFH,OUTTO1MOV R0,#80H MOV R0,#09H MOV R0,#82H MOV A,R0 DEC A MOV R0,A CJNE A,#0FFH,OUTTO1 MOV R0,#82H MOV R0,#09H MOV R0,#83H MOV A,R0 DEC A MOV R0,A CJNE A,#0FFH,OUTTO1 MOV R0,#83H MOV R0,#09H MOV R0,#84H MOV A,R0 DEC A MOV R0,A CJNE A,#0FFH,OUTTO1 MOV R0,#84H M

24、OV R0,#09H RETI OUTTO1: SETB ET0 POP PSW POP ACC RETI TIME1: MOV TH1,#00H MOV TL1,#00H MOV R0,#89H MOV A,R0 INC A CJNE A,#02H,ITFH MOV A,#00H ITFH:RETI MOV R0,A END六、设计总结:经过二个星期的课程设计,过程曲折可谓一语难尽。在此期间我也失落过,也曾一度热情高涨。从开始时激情高涨到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。在老师的指导下,我们顺利完成了课程设计。让我学到了以下几点:1、将学习的理论知识通过实验融会贯通,让我对它

25、的理解更加深刻。对程序的编译过程了解透彻。2、本次课程设计以自己设计为主,因此培养了学习的积极性,让我能够独立去分析问题、发现问题、解决问题,更增强我与老师同学交流沟通和合作完成任务的能力。3、由于这次课程设计不仅设计编程方面的知识,还涉及了其它学科的知识,例如PROTEUS等的基本知识。程序是用汇编语言来编写的,这次课程设计让我在编程能力方面得到了提高。4、由于水平有限,实验程序运行有一定的限制,以后会加强改进。总之,通过这次课程设计,不仅加深了我对单片机理论方面的理解,将理论更好的运用的实践方面,而且锻炼了我们各方面的能力,培养了坚强的毅力和做事的耐心和细心,认识合作的重要性,虽然程序可能有一定的浪费资源,且较罗嗦,但这需要在实践中慢慢提高,还希望老师能够多多指导,促进我不断的进步。最后再一次感谢邸老师对我的悉心指导和无私帮助。七、参考文献:1 高峰.单片微型计算机原理与接口技术.科学出版社,20072 夏继强. 单片机实验与实践教程M. 北京:北京航空航天大学出版社, 2001

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

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