单片机交通信号灯模拟系统设计.doc
《单片机交通信号灯模拟系统设计.doc》由会员分享,可在线阅读,更多相关《单片机交通信号灯模拟系统设计.doc(10页珍藏版)》请在三一办公上搜索。
1、基于单片机的交通信号灯模拟系统设计主要内容:利用单片机中的定时器、IO接口、中断系统等资源,设计一个十字路口交通信号灯的控制模拟系统。基本要求:(1)利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。 (2)可通过按键对红绿灯点亮和熄灭时间进行调整及设置。(3)能对红绿灯点亮和熄灭时间进行倒计时时间显示。提高部分:(4)可进行紧急或特殊情况的人工处理控制。(5)有内部24小时钟,可根据时间表对对红绿灯点亮和熄灭时间进行自动调整。(如高峰期:7:30-8:30,17:00-18:30或夜间时段红绿灯主次干道时长比等)。(6)可根据交通流量自动调整对红绿灯点亮和熄灭时间。程序:Z8279
2、EQU 0FF82H ;8279 状态/命令口地址D8279 EQU 0FF80H ;8279 数据口地址LEDMOD EQU 00H ;左边输入八位字符显示 ;外部译码键扫描方式,双键互锁LEDFEQ EQU 2FH ;扫描速率LEDCLS EQU 0C1H ;清除显示RAMLEDWR0 EQU 80H ;设定的将要写入的显示RAM地址READKB EQU 40H ;读FIFO RAM 地址0 的命令字;-ORG 0000HLJMP START ORG 0003H LJMP EMERGENCY ORG 000BH ;定时器中断的入口地址 LJMP COUNTER ORG 0040HSTART
3、: MOV SP,#60H LCALL INIT8279 ;初始化 MOVTMOD,#01H MOVTL0,#056H ;50ms时间常数 MOVTH0,#4CH MOVR2,#20 ;设置循环次数20次,定时1s MOV R3,#1 MOV 20H,#5MOV 21H,#2 MOV R6,#06H ;时 MOV R1,#59H ;分 MOV R0,#45H ;秒 MOV R7,#00H ;交通灯状态选择 SETB ET0 ;允许定时器中断, SETB TR0 ;启动T0 SETB EX0 ;允许外部中断中断 SETB IT0 ;外部中断为电平触发方式 SETB EA ;开CPU开中断 ;-W
4、AIT: LCALL GETKEY ;读键盘 CJNE A,#0FFH,CONT ;判断是否有键输入 MOV A,B CJNE A,#3CH,KEY_B ;输入键是C,转CLEAR_T LCALL CLEAR_TKEY_B: CJNE A,#3BH,KEY_A ;输入键是B,转SET_T LCALL SET_T KEY_A: ;输入键是A,转START_T CJNE A,#3AH,KEY_E LCALL START_TKEY_E: ;输入键是E,进行高峰处理,调整时间 CJNE A,#3EH,KEY_F MOV 20H,#10 ;红绿灯时间为10s KEY_F: CJNE A,#3FH,KEY
5、_D ;输入是F,进行低峰处理,调整时间MOV 20H,#3KEY_D: CJNE A,#3DH,CONT ;输入是D,进行常态处理,调整时间MOV 20H,#5CONT: LCALL DISPLAY ;显示时间 SJMP WAIT ;循环CLEAR_T: ;时间清零 CLR TR0 MOV R3,#0H MOV R6,#0H ;时 MOV R1,#0H ;分 MOV R0,#0H ;秒 LCALL DISPLAY RETSTART_T: ;电子钟计时子程序 SETB TR0 RETSET_T: ;设置初值子程序 CLR TR0 ;关计数器 MOV R4,#1 LCALL GETWORD ;读
6、秒数 CJNE A,#0FFH,INVALID ;判断输入合法性 MOV A,B ADD A,#156 JC INVALID ;判断输入秒值100 MOV A,B CJNE R7,#01H,T1 ;若为状态1,保存输入值 MOV 20H,A MOV R3,20H LCALL DISPLAY T1: CJNE R7,#02H,T2 ;若为状态2,保存输入值 MOV 21H,A MOV R3,21H LCALL DISPLAYT2: CJNE R7,#03H,T3 ;若为状态3,保存输入值 MOV 20H,A MOV R3,20H LCALL DISPLAYT3: CJNE R7,#00H,T4
7、;若为状态4,保存输入值 MOV 21H,A MOV R3,21H LCALL DISPLAYT4: SETB TR0RETINVALID: LCALL CLEAR_T ;时间清零 ;-GETWORD: ;读数子程序 WKEY1: LCALL GETKEY ;读键盘 CJNE A,#0FFH,WKEY1;无键输入,则再读 MOV A,B ADD A,#0C6H JC ERROR1 ;判断输入是否大于 MOV A,B SUBB A,#30H JC ERROR1 ;判断输入是否小于 MOV R5,A LCALL DISLED ;显示输入的字符 MOV B,#10 MUL AB PUSH ACC ;
8、保存输入的值 WKEY2: LCALL GETKEY ;读键盘 CJNE A,#0FFH,WKEY2;无键输入则再读 MOV A,B ADD A,#0C6H ;判断输入是否大于 JC ERROR2 MOV A,B SUBB A,#30H ;判断输入是否小于 JC ERROR2 DEC R4 MOV R5,A LCALL DISLED ;显示输入的字符 MOV B,A POP ACC ADD A,B MOV B,A ;把得到的值存在B MOV A,#0FFH ;置合法输入标志 AJMP KEYOKERROR2: POP ACCERROR1: MOV A,#0 ;置非法输入标志KEYOK: RET
9、 ;-;定时器的中断服务程序COUNTER: ;INT_T0中断服务子程序 PUSH ACC ;保护现场 PUSH PSW CLRTR0 MOVTL0,#056H ;重新设置初值MOVTH0,#4CHLCALL DISPLAY ;1s时间到,显示当前倒计时的时间DJNZ R2,RETURN1MOV R2,#20HCJNE R0,#59H,SECOND;判断秒=59 MOV R0,#99H CJNE R1,#59H,MINUTE;判断分=59 MOV R1,#99H CJNE R6,#23H,HOUR ;判断时=23 MOV R6,#99HHOUR: MOV A,R6 ADD A,#1 ;时加1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通 信号灯 模拟 系统 设计
三一办公所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。




链接地址:https://www.31ppt.com/p-4144554.html