当前位置:首页 > (最新版)朱燕燕单片机控制交通灯毕业论文
CLR P3.0 ;报警
CJNE R2,#00H,B01 ;判断3秒是否结束 SJMP N02 N7: RETI
T0_INT:MOV TL0,#9AH ;给定时器T0送定时10ms的初值 MOV TH0,#0F1H INC R4 INC R5
CJNE R5,#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 ;显示十位 MOV DPTR,#TAB MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H MOV A,#0F7H MOVX @DPTR,A LCALL DELAY
17 DS2: MOV A,7AH ;显示个位 MOV DPTR,#TAB 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 P2.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 MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H MOV A,#0F7H MOVX @DPTR,A
18 LCALL DELAY
DS4: MOV A,7AH ;显示个位 MOV DPTR,#TAB
MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H MOV A,#0FBH MOVX @DPTR,A LJMP N7 DELAY: MOV R1,#0AH LOOP: MOV R6,#64H NOP
LOOP1: DJNZ R6,LOOP1 DJNZ R1,LOOP RET ;------字符表------
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END
6.设计结果与分析
用单片机设计的结果实现了交通信号灯的控制以及特殊情况的信号处理。还充分利用了8255芯片和74LS373。系统统采用MSC-51系列单片机Intel8051和可编程并行IO接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的P1口设置红、绿灯燃亮时间的功能红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现 。
19 7.设计体会
通过此设计,让我对8255,单片机有了更深的了解,通过对硬件的编程,微型计算机技术可以在很多工业生产和日常生活中得以应用,当然在计算机领域中更有举足轻重的作用,使我更有兴趣学习微机这门课程,虽然我们这学期已经结束了这门课程,但利用课余时间我一定继续学习,更深入的了解这门深而广的课程。从而使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
20
共分享92篇相关文档