《2022年微机课程方案—交通灯单片机 .pdf》由会员分享,可在线阅读,更多相关《2022年微机课程方案—交通灯单片机 .pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、个人资料整理仅限学习使用一、设计目的近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O 接口芯片 8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 8051 芯片的 P1 口设置红、绿灯燃亮时间的
2、功能;红绿灯循环点亮,倒计时剩5 秒时黄灯闪烁警示 交通灯信号通过PA口输出,显示时间直接通过8255 的 PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。二、设计原理东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -
3、第 1 页,共 14 页个人资料整理仅限学习使用说明:1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为 60 秒。2)黄灯闪烁 5 秒,警示车辆和行人 红、绿灯的状态即将切换。3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80 秒。 东西方向车流大通行时间长。4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。5)此表可根据车流量动态设定红绿灯初始值。60S 5S 80S 5S 东西道红灯亮黄灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮黄灯亮精选学习资料 - - -
4、- - - - - - 名师归纳总结 - - - - - - -第 2 页,共 14 页个人资料整理仅限学习使用三、流程图四、芯片简介8255: 8255可编程并行接口芯片有三个输入输出端口,即A口、B 口和C口,对应于引脚PA7 PA0 、PB7 PB0和 PC7 PC0 。其内部还有一精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 14 页个人资料整理仅限学习使用个控制寄存器,即控制口。通常A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信息的端口,它在方式字的控制下,可以分成 4 位的端口,每个端口包含一个4 位锁存器。
5、它们分别与端口A配合使用,可以用作控制信号输出或作为状态信号输入。方式控制字格式说明如表1: D7:设定工作方式标志, 1 有效。 D6、D5:A口方式选择 0 0 方式 0 0 1 方式 1 1 方式 2 D4:A口功能 1=输入, 0=输出) D3:C口高 4 位功能 1=输入,0=输出) D2:B口方式选择 0=方式 0,1=方式 1) D1:B口功能 1=输入, 0=输出)D0 :C口低 4 位功能 、数据存储器 (RAM 、定时 / 计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。中央处理器:中央处理器 (CPU 是整个单片机的核心部件,是8
6、位数据宽度的处理器,能处理8 位二进制数据或代码,CPU负责控精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 14 页个人资料整理仅限学习使用制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器 (RAM 8051 内部有 128 个 8 位用户数据存储单元和128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。图1 程序存储器 (ROM :8051
7、共有 4096 个 8 位掩膜 ROM ,用于存放用户程序,原始数据或表格。定时 / 计数器(ROM :8051 有两个 16 位的可编程定时 / 计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出 (I/O 口:8051 共有 4 组 8 位 I/O 口(P0、 P1、P2或 P3,用于对外部数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 14 页个人资料整理仅限学习使用据的传输。五、硬件连线图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 14 页个人资料整理仅
8、限学习使用六、程序源代码精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 14 页个人资料整理仅限学习使用ORG 0000H 。主程序的入口地址 LJMP MAIN 。跳转到主程序的开始处 ORG 0003H 。外部中断 0的中断程序入口地址 ORG 000BH 。定时器 0的中断程序入口地址 LJMP T0_INT 。跳转到中断服务程序处 ORG 0013H 。外部中断 1的中断程序入口地址MAIN : MOV SP,#50H MOV IE,#8EH 。CPU开中断允许 T0中断, T1中断和外部中断 1中断 MOV TMOD,#51H
9、 。设置 T1为计数方式 ,T0为定时方式,且都工作于模式1 MOV TH1,#00H 。T1计数器清零 MOV TL1,#00H SETB TR1 。启动 T1计时器 SETB EX1 。允许 INT1中断 SETB IT1 。选择边沿触发方式 MOV DPTR ,#0003H MOV A, #80H 。给8255赋初值, 8255工作于方式 0 MOVX DPTR, A AGAIN: JB P3.1,N0 。判断是否要设定东西方向红绿灯时间的初值,若 P3.1为1 则跳转 MOV A,P1 JB P1.7,RED 。判断 P1.7是否为 1,若为 1则设定红灯时间,否则设定绿灯时间 MOV
10、 R0,#00H 。R0清零 MOV R0,A 。存入东西方向绿灯初始时间 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN RED: MOV A,P1 ANL A,#7FH 。P1.7置0 MOV R7,#00H 。R7清零 MOV R7,A 。存入东西方向红灯初始时间 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 14 页个人资料整理仅限学习使用。- N0: SETB TR0 。启动 T0计时器 MOV 7
11、6H,R7 。红灯时间存入 76H N00: MOV A,76H 。东西方向禁止,南北方向通行 MOV R3,A MOV DPTR,#0000H 。置8255A口,东西方向红灯亮,南北方向绿灯亮 MOV A,#0DDH MOVX DPTR, A N01: JB P2.0,B0 N02: SETB P3.0 CJNE R3,#00H,N01 。比较 R3中的值是否为 0,不为 0转到当前指令处执行。-黄灯闪烁 5秒程序 - N1: SETB P3.0 MOV R3,#05H MOV DPTR,#0000H 。置8255A口,东西,南北方向黄灯亮 MOV A,#0D4H MOVX DPTR,A N
12、11: MOV R4,#00H N12: CJNE R4,#7DH,$ 。黄灯持续亮 0.5秒N13: MOV DPTR,#0000H 。 置8255A口,南北方向黄灯灭 MOV A,#0DDH MOVX DPTR,A N14: MOV R4,#00H CJNE R4,#7DH,$ 。黄灯持续灭 0.5秒 CJNE R3,#00H,N1 。闪烁时间达 5秒则退出。-N2: MOV R7,#00H MOV A,R0 。东西通行,南北禁止 MOV R3,A MOV DPTR,#0000H 。 置8255A口,东西方向绿灯亮,南北方向红灯亮 MOV A,#0EBH MOVX DPTR,A N21:
13、JB P2.0,T03 N22: CJNE R3,#00H,N21 。-黄灯闪烁 5秒程序 - N3: MOV R3,#05H MOV DPTR,#0000H 。置8255A口,东西,南北方向黄灯亮精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 14 页个人资料整理仅限学习使用 MOV A,#0E2H MOVX DPTR,A N31: MOV R4,#00H CJNE R4,#7DH,$ 。黄灯持续亮 0.5秒N32: MOV DPTR,#0000H 。 置8255A口,南北方向黄灯灭 MOV A,#0EBH MOVX DPTR,A
14、N33: MOV R4,#00H CJNE R4,#7DH,$ 。黄灯持续灭 0.5秒 CJNE R3,#00H,N3 。闪烁时间达 5秒则退出 SJMP N00 。-闯红灯报警程序 - B0: MOV R2,#03H 。报警持续时间 3秒B01: MOV A,R3 JZ N1 。若倒计时完毕,不再报警 CLR P3.0 。报警 CJNE R2,#00H,B01 。判断 3秒是否结束 SJMP N02 。-1秒延时子程序 - N7: RETI T0_INT:MOV TL0,#9AH 。给定时器 T0送定时 10ms的初值 MOV TH0,#0F1H INC R4 INC R5 CJNE R5,
15、#0FAH,T01 。判断延时是否够一秒,不够则调用显示子程序 MOV R5,#00H 。R5清零 DEC R3 。倒计时初值减一 DEC R2 。报警初值减一T01: ACALL DISP 。调用显示子程序 RETI 。中断返回。-显示子程序 - DISP: JNB P2.4,T02 DISP1: MOV B,#0AH MOV A,R3 。R3中值二转十显示转换 DIV AB MOV 79H,A MOV 7AH,B DIS: MOV A,79H 。显示十位精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 14 页个人资料整理仅限学习使
16、用 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#0002H MOVX DPTR,A MOV DPTR,#0001H MOV A,#0F7H MOVX DPTR,A LCALL DELAY DS2: MOV A,7AH 。显示个位 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#0002H MOVX DPTR,A MOV DPTR,#0001H MOV A,#0FBH MOVX DPTR,A RET 。-东西方向车流量检测程序- T03: MOV A,R3 SUBB A,#00H 。若绿灯倒计时完毕,不再检测车流量 JZ N3 JB P
17、2.0,T03 INC R7 CJNE R7,#64H,E1 MOV R7,#00H 。中断到 100次则清零E1: SJMP N22 。-东西方向车流量显示程序- T02: MOV B,#0AH MOV A,R7 。R7中值二转十显示转换 DIV AB MOV 79H,A MOV 7AH,B DIS3: MOV A,79H 。显示十位 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#0002H MOVX DPTR,A MOV DPTR,#0001H 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 14 页
18、个人资料整理仅限学习使用 MOV A,#0F7H MOVX DPTR,A LCALL DELAY DS4: MOV A,7AH 。显示个位 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#0002H MOVX DPTR,A MOV DPTR,#0001H MOV A,#0FBH MOVX DPTR,A LJMP N7 。-延时4MS子程序 - DELAY: MOV R1,#0AH LOOP: MOV R6,#64H NOP LOOP1: DJNZ R6,LOOP1 DJNZ R1,LOOP RET 。-字符表 - TAB: DB 3FH,06H,5BH,4FH,66
19、H,6DH,7DH,07H,7FH,6FH END 七、心得体会本系统就是充分利用了8051和 8255 芯片的 I/O 引脚。系统统采用 MSC-51系列单片机 Intel8051和可编程并行 I/O 接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 8031芯片的 P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩 5 秒时黄灯闪烁警示 交通灯信号通过 PA口输出,显示时间直接通过8255的 PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间精选学习资料 -
20、 - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 14 页个人资料整理仅限学习使用等。这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。八、参考文献1 张毅坤 . 单片微型计算机原理及应用,西安电子科技大学出版社1998 2 余锡存 曹国华 . 单片机原理及接口技术 M. 陕西: 西安电子科技大学出版社 ,2000.7 3 雷丽文等. 微机原理与接口技术M. 北京:电子工业出版社,1997.2 WWW 部分资料。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 14 页