DIV AB MOV 79H,A MOV 7AH,B
DIS: MOV A,79H ;显示十位 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 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
21
MOV 7AH,B
DIS3: MOV A,79H ;显示十位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H 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,66H,6DH,7DH,07H,7FH,6FH END
结论
本系统就是充分利用了8051和8255芯片的I/O引脚。系统统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,
22
倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现 。
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
参考文献
1张毅坤. 单片微型计算机原理及应用,西安电子科技大学出版社 1998
2余锡存 曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000.7 3雷丽文 等.微机原理与接口技术[M].北京:电子工业出版社,1997.2
23