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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课程设计报告.docx

1、单片机课程设计报告单片机应用及其接口技术课程设计交通灯模型的设计课程设计报告交通灯模型的设计课程设计报告一、课程设计题目: 交通灯模型的设计二、实验目的:(1)掌握P3.3输入、P1口输出。(2)掌握串行口工作方式及编程方法,学习串行LED驱动的方法。(3)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程。(4)用单片机模拟实现具体应用,使个人设计能够真正使用。(5)把理论知识与实践相结合,充分发挥个人能力,并在实践中得到锻炼。(6)提高利用已学知识分析和解决问题的能力。(7)提高实践动手能力。三、课程设计任务和基本要求:1、设计任务设计和真实交通等功能相同的交通灯模

2、型,通过LED显示通过时间,并且可以通过按键设定东西、南北单向通行。2、基本要求运用定时器做一十字路口交通灯模型,并实现手动控制交通灯单向通行。三、课程设计题目分析:1、设计要点(1)利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。(2)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。(3)干道均有车

3、时,两者交替允许通行,主干道每次放行30秒,支干道每次放行25秒。(4)绿灯亮到红灯亮的转换过程中,要亮3秒黄灯作为过渡。2、工作原理(1)口做输出口,与12个发光二极管相连,实现定时点亮相应二极管。使用口的第二功能,串行口在工作方式0下作为同步移位寄存器使用,用作输入输出端,引脚上输出移位时钟信号,频率固定为,驱动显示通行倒计时。、做外部中断输入口,外接拨码开关实现手动控制交通灯单向通行。使用定时器延时1s作倒计时逐秒递减使用,在8051时钟频率为12MHz的情况下,定时计数器最大可定时65.536ms。故要使用软件计数和硬件定时相结合的方法:。用定时计数器0定时50ms,则必须让其工作在方

4、式1下,其初始值为:。(2) P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。 (3) P1口做输出口,编写程序,使P1口接的8个发光二极管L1L8按16进制加一方式点亮发光二极管。(4)用MCS-51系统的定时器的计数功能,使其把计数结果利用串行口通过传入并出芯片74LS164驱动LED数码管显示出来。 四、课程设计的电路设计:五、汇编语言程序设计:1、程序流程图2、汇编程序 利用延时程序实现倒计时功能程序:ORG 0000HLJMP STARTORG 0003H LJMP K1ORG 0013HLJMP K2ORG 0030H /主程序START: SETB EA ;

5、通过中断启动紧急情况,设置外部中断SETB EX0 SETB PX0CLR IT0SETB EX1SETB PX1CLR IT1MOV P1, #00H ;P1口置0,选择启动交通灯SETB P1.2 ;东西绿灯亮SETB P1.3 ;南北红灯亮N2: MOV R3,#30 ;倒计时30sN1: LCALL DISP ;调用串口驱动LED程序 DEC R3 LCALL DL1s ;调用延时1s程序 CJNE R3, #00,N1CLR P1.2 ;东西绿灯灭SETB P1.1 ;东西黄灯亮MOV R3,#03H ;黄灯亮3sN3: LCALL DL1sDJNZ R3,N3MOV P1, #00

6、HSETB P1.0 ;东西红灯亮SETB P1.5 ;南北绿灯亮MOV R3,#25 ;倒计时25sN4: LCALL DISP ;调用串口驱动LED程序DEC R3LCALL DL1sCJNE R3,#00H,N4CLR P1.5 ;南北绿灯灭SETB P1.4 ;南北黄灯亮MOV R3,#03H ;黄灯亮3sN5: LCALL DL1sDJNZ R3,N5MOV P1, #00HLJMP START ;交通灯循环点亮/串口驱动LED程序DISP: MOV A,R3 MOV B,#10 DIV AB MOV R5 ,A MOV A,B MOV B,R5 MOV DPTR,#TAB MOVC

7、 A,A+DPTR MOV SBUF,A MOV R2,#0FFH DJNZ R2,$ MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,A RET/延时程序DL512: MOV R0,#0FFH ;延时512usLOOP1: DJNZ R0,LOOP1 RETDL10ms: MOV R1,#14H ;延时10msLOOP2: LCALL DL512 DJNZ R1,LOOP2 RETDL1s:MOV R2,#50 ;延时1sLOOP3: LCALL DL10ms DJNZ R2,LOOP3 RETTAB:DB 0fch,60h,0dah,0f2h,66

8、h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh/中断程序K1: MOV P1, #00H ;紧急情况1,南北通行SETB P1.0SETB P1.5MOV A,#00MOV DPTR,#TABMOVC A,A+DPTRMOV SBUF,ARETIK2: MOV P1, #00H ;紧急情况2,东西通行SETB P1.3SETB P1.2MOV A,#00MOV DPTR,#TABMOVC A,A+DPTRMOV SBUF,ARETIEND采用定时器方式实现延时控制的程序ORG 0000HJMP MAINORG 0003H ;定时器T

9、0中断入口地址LJMP BRT0ORG 0013H ;定时器T1中断入口地址LJMP BRT1TIME EQU 30HTIME15S EQU 31HTIME3S EQU 32HMAIN:ANL 20H,#00H MOV TIME3S,#3 MOV TIME15S,#20 MOV TMOD,#11H ;设置T0和T1工作于方式1下 MOV TH0,#3CH MOV TL0,#0B0H ;50ms定时初值的赋值 SETB EA ;开中断START: LCALL KEYWORK JB 00H,FUN0AJMP STARTKEYWORK: MOV P3,#0FFH ;置P3口为输入状态 JNB P3.

10、0,KEY0 RETKEY0:LCALL DL10MS JB P3.0 , OUT0 SETB 00H CLR 01H CLR 02H OUT0:RETFUN0:MOV R4,#20 /15s南北向绿灯、东西向红灯点亮MOV A,#0AFHMOV P1,ALCALL DISP ;调用串口驱动LED程序LCALL TIME_15S/15s后,南北向的绿灯闪烁3次,东西向保持红灯点亮MOV R3,#6FLASH1:CPL P1.6LCALL DISP ;调用串口驱动LED程序LCALL DL05SDJNZ R3,FLASH1/南北向黄灯亮,东西向保持红灯MOV A,#0CFHMOV P1,ALCA

11、LL DISP ;调用串口驱动LED程序LCALL TIME_3S/南北向红灯,东西向绿灯MOV A,#77HMOV P1,ALCALL DISP ;调用串口驱动LED程序LCALL TIME_15S/东西向绿灯闪烁,南北向红灯MOV R3,#6FLASH2: CPL P1.3LCALL DISP ;调用串口驱动LED程序LCALL DL05SDJNZ R3,FLASH2/东西向黄灯亮,南北向仍然保持红灯MOV A,#7BHMOV P1,ALCALL DISP ;调用串口驱动LED程序LCALL TIME_3SLJMP START/串口驱动LED程序DISP: MOV A,R3 MOV B,#

12、10 DIV AB MOV R5 ,A MOV A,B MOV B,R5 MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,A MOV R2,#0FFH DJNZ R2,$ MOV A,B MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,ATAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh RET/15s定时子程序TIME_15S:SETB ET0SETB TR0MOV TIME,TIME15SLOOP1: MOV A,TIMECJ

13、NE A,#00H,LOOP1CLR TR0RET/3s定时子程序TIME_3S: MOV TIME,TIME3SSETB ET0SETB TR0LOOP2:MOV A,TIMECJNE A,#00,LOOP2CLR TR0RET/5s定时子程序DL05S:MOV R5,#10MOV TH1,#3CHMOV TL1,#0B0H SETB ET1SETB TR1RET/T0中断服务程序BRT0: PUSH ACCPUSH PSWCLR TR0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R4,OVERMOV R4,#20DEC TIMEOVER:SETB TR0POP PSWPOP

14、 ACCRETI/T1中断服务程序BRT1: PUSH ACCPUSH PSWCLR TR1MOV TH1,#3CHMOV TL1,#0B0HDEC R5SETB TR1POP PSWPOP ACCRETIDL10MS:MOV R0,#14HLOOP4: MOV R1,#250LOOP3:DJNZ R1,LOOP3 DJNZ R0,LOOP4 RET END六、课程设计心得体会:对于交通灯这个题目,由于以前做过类似相关的实验,觉得这个比较简单而且做出的东西也比较直观,在确定题目之后,联系课本以前做过的实验,初步完成了电路设计方案。虽然感觉交通灯程序没什么难的,但是也许是起初想的太简单,设计时到了细节处,也出了不少问题,而且很难被检查出来。起初我是采用定时器方式实现延时控制的,但是经过多次编译、调试、修改之后还是无法运行出正确的结果,由于课程设计的时间限制我就改用延时程序实现倒计时功能,得到了正确的结果。通过这次课程设计,加强了我们动手、思考和解决问题的能力,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在以后学习中我会尽量改正。

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

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