收藏 分销(赏)

单片机红绿灯程序.doc

上传人:天**** 文档编号:2648035 上传时间:2024-06-03 格式:DOC 页数:10 大小:79.29KB 下载积分:8 金币
下载 相关 举报
单片机红绿灯程序.doc_第1页
第1页 / 共10页
单片机红绿灯程序.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
交 通 灯 设 计 交通灯 设计方案: 1:实现东西路----南北路红绿灯的交通指示。 2:东西路灯变化----红绿黄 南北路灯变化----绿黄红 3:红灯延时时间---25S 绿灯延时时间---20S 黄灯延时时间—3S 4: 数码管显示: 红灯---前20S不显示,只在最后5S开始倒计时显示。 绿灯---前15S不显示,只在最后5S开始倒计时显示。 黄灯---3S倒计时显示(若东西路为黄灯,南北路为红灯,那么南北绿的数码管也显示3S)。 5:交通应急事件处理: 利用中断分别实现东西路---南北路的交通应急事件处理。 6:延时程序的使用: 用循环延时和定时器计时的方法。 注:P1.0---北路绿灯,P1.1--北路黄灯,P1.2---北路红灯。P1.3--东路绿灯,P1.4---东路黄灯,P1.5----东路红灯。 【交通灯流程图】 开始 南北路绿灯亮,红,黄灯灭 东西路红灯亮,绿,黄灯灭 延时20秒 南北路绿灯数码管开始倒计时5秒 其他灯不变 5秒倒计时结束 南北路绿灯灭,黄灯亮且数码管开始倒计时3秒 东西路红灯——数码管开始倒计时3秒 3秒倒计时结束 东西路绿灯亮,黄灯,红灯灭 南北路红灯亮,黄灯,绿灯灭 延时25秒 东西路数码管开始倒计时5秒 其他灯不变 5秒倒计时结束 东西路绿灯灭,黄灯亮且数码管开始倒计时3秒 南北路红灯——数码管开始倒计时3秒 3秒倒计时结束 程序如下: ORG 0000H LJMP LOOP ORG 000BH ;定时器0中断,实现交通应急事件 LJMP WZD0 ORG 0013H ;外部中断1,实现交通应急事件 LJMP WZD1 ORG 0030H LOOP: MOV R3,#5 MOV R4,#5 MOV R2,#20 MOV SP,#70H MOV IE,#85H MOV TMOD,#01H ;置T0为工作方式1 MOV TH0,#3CH ;置T0定时初值50ms MOV TL0,#0B0H CLR TF0 SETB TR0 ;启动定时器T0 SETB P1.1 ;东---红灯亮,北---绿灯亮 SETB P1.2 CLR P1.0 SETB P1.3 SETB P1.4 CLR P1.5 ACALL DEL30S ACALL YELLOW1 ;北---绿灯转黄灯,东---红灯亮 ACALL DEL3S ;延时后北---黄灯灭 SETB P1.0 ;东:红灯灭,绿灯亮,北:黄灯灭,红灯亮。 SETB P1.1 CLR P1.3 CLR P1.2 SETB P1.4 SETB P1.5 ACALL DEL55S ;北---红灯不变,东---绿灯转黄灯 ACALL YELLOW2 ACALL DEL3S SJMP LOOP YELLOW1: ;北---绿灯转黄灯,东---红灯不变 SETB P1.0 SETB P1.2 CLR P1.1 SETB P1.3 CLR P1.5 SETB P1.4 RET YELLOW2: ;东---绿灯转黄灯,北---红灯不变 SETB P1.0 SETB P1.1 CLR P1.2 SETB P1.3 SETB P1.5 CLR P1.4 RET WZD0: ;实现南北路交通应急事件 CLR P1.0 ; (南北路保持畅通,东西路停止通行) SETB P1.1 SETB P1.2 SETB P1.3 SETB P1.4 CLR P1.5 JNB P3.2,WZD0 RETI WZD1: ;实现东西路交通应急事件 CLR P1.3 ; (东西路保持畅通,南北路停止通行) CLR P1.2 SETB P1.1 SETB P1.0 SETB P1.4 SETB P1.5 JNB P3.3,WZD1 RETI DEL30S: ;红绿灯延时 DEL25S:JNB TF0,DEL25S ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50ms MOV TL0,#0B0H DJNZ R2,DEL25S ;判断1s到否?未到继续状态1 MOV R2,#20 ;置50ms计数初值 DJNZ R4,DEL25S ;状态1维持25s DEL5S: ;取数延时 MOV R2,#6 DEL5: MOV A,R2 ACALL ST ;取数 MOV P0,A ;实现数码管显示 ACALL DEL1S ;每隔1S减1 DJNZ R2,DEL5 RET DEL3S: MOV R2,#4H DEL3: MOV A,R2 ACALL ST ;取数 MOV P2,A MOV P0,A ;数码管显示 ACALL DEL1S DJNZ R2,DEL3 RET DEL55S: ACALL DEL20S MOV R2,#6 ;倒计时5S DEL55: ACALL DEL1S MOV A,R2 ACALL ST MOV P2,A ;数码管显示 DJNZ R2,DEL55 RET DEL1S: ;1S延时子程序 MOV R5,#0BH ST1: MOV R6,#0DAH ST2: MOV R7,#0CFH DJNZ R7,$ DJNZ R6,ST2 DJNZ R5,ST1 RET DEL20S: ;20S延时子程序 MOV R5,#0BH;#0DCH ST3: MOV R6,#0DAH ST4: MOV R7,#0CFH DJNZ R7,$ DJNZ R6,ST4 DJNZ R5,ST3 RET ST: ;取数 MOV DPTR,#TAB MOVC A,@A+DPTR RET TAB:DB 0FFH,0FFH,0F9H,0A4H,0B0H,99H,92H End
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服