收藏 分销(赏)

十字路口灯火控制总程序.doc

上传人:pc****0 文档编号:7524337 上传时间:2025-01-08 格式:DOC 页数:5 大小:29.50KB 下载积分:10 金币
下载 相关 举报
十字路口灯火控制总程序.doc_第1页
第1页 / 共5页
十字路口灯火控制总程序.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
Z8279 EQU 0F239H ;8279状态/命令口地址 D8279 EQU 0F238H ;8279数据口地址 LEDMOD EQU 10H ;右边输入,八位字符显示,外部译码 LEDFEQ EQU 38H ;扫描速率,24分频 LEDCLS EQU 0D1H ;清楚显示RAM LEDWR0 EQU 80H ;设定的将要写入的显示RAM地址 ORG 0000H AJMP START ORG 0040H START: MOV SP,#60H ;设置堆栈指针 LCALL INIT8279 ;调用8279初试化子程序 MOV DPTR,#0F22BH ;调用8255初始化子程序 MOV A,#90H MOVX @DPTR,A MOV DPTR,#0F229H ;将0FH值送入8255的PB口 MOV A, #0FH MOVX @DPTR,A MOV DPTR,#0F22AH ;将0FH值送入8255的PC口 MOV A, #0FH MOVX @DPTR,A LP5: LCALL GETKEY ;D键的扫描 CJNE A,#0FFH, LP5 MOV A,B CJNE A,#0DH, LP5 MAIN: MOV R5,#0BH ;将“R”显示在7号位 MOV R4,#7 LCALL DISLED LCALL LEDXS1 LCALL DISPLAY MOV R5,#0AH ;将“C”显示在7号位 MOV R4,#7 LCALL DISLED LCALL LEDXS2 LCALL DISPLAY SJMP MAIN DISPLAY: LCALL GETKEY ;D键的扫描 CJNE A,#0FFH,DISPLAY1 MOV A,B CJNE A,#0DH,DISPLAY1 JNB 00H,START DISPLAY1: MOV R5,#0CH MOV R4,#6 LCALL DISLED ;显示在6号位 MOV R5,#0CH MOV R4,#5 LCALL DISLED ;显示在5号位 MOV R5,#0CH MOV R4,#4 LCALL DISLED ;显示在4号位 MOV R5,#0CH MOV R4,#3 LCALL DISLED ;显示在3号位 MOV R5,#0CH MOV R4,#2 LCALL DISLED ;显示在2号位 MOV R2,#41 MOV R1,#40 NN: MOV A,R1 MOV B,#10 DIV AB MOV 40H,A MOV 41H,B MOV R5,40H MOV R4,#1 LCALL DISLED ;显示在1号位 MOV R5,41H MOV R4,#0 LCALL DISLED ;显示在0号位 LCALL DELAY DEC R1 DJNZ R2,NN RET LEDXS1: MOV DPTR,#0F228H ;PA口的地址 MOVX A,@DPTR ;读PA口 JNB ACC.0,STOP ;判断PA口的第零位 LCALL GETKEY ;读键盘 CJNE A,#0FFH,LEDXS3 ;判断是否有键输入 MOV A,B CJNE A,#0DH,LEDXS3 ;是不是D键按下 JNB 00H, TT LJMP LEDXS3 TT: LJMP START LEDXS3: MOV DPTR,#0F229H ;将0FFH值送入8255的PB口 MOV A,#0FFH MOVX @DPTR,A MOV DPTR,#0F22AH ;将00H值送入8255的PC口 MOV A,#00H MOVX @DPTR,A LCALL DELAY2 RET LEDXS2: MOV DPTR,#0F228H ;PA口的地址 MOVX A,@DPTR JNB ACC.0,STOP ;判断PA口的第零位 LCALL GETKEY CJNE A,#0FFH,LEDXS4 ;是不是D键按下 MOV A,B CJNE A,#0DH,LEDXS4 JNB 00H, TT1 LJMP LEDXS4 TT1: LJMP START LEDXS4:MOV DPTR,#0F229H ;将00H值送入8255的PB口 MOV A,#00H MOVX @DPTR,A MOV DPTR,#0F22AH ;将0FFH值送入8255的PC口 MOV A,#0FFH MOVX @DPTR,A LCALL DELAY2 RET GETKEY: ;读键盘子程序 PUSH DPH ;保护现场 PUSH DPL PUSH PSW MOV DPTR,#Z8279 MOVX A,@DPTR ;读8279状态字 ANL A,#07H JNZ GETVAL MOV A,#0DH SJMP NKBHIT GETVAL: MOV DPTR,#D8279 MOVX A,@DPTR ;读键 ANL A,#3FH ;屏蔽SHIFT和CTRL键 MOV B,A ;保存键值 MOV A,#0FFH ;置有键输入标志 NKBHIT: POP PSW ;恢复现场 POP DPL POP DPH RET STOP: ;应急状态的子程序 MOV DPTR, #0F229H ;将0FFH值送入8255的PB口 MOV A,#0FFH MOVX @DPTR,A MOV DPTR, #0F22AH ;将00H值送入8255的PC口 MOV A,#00H MOVX @DPTR,A MOV DPTR,#Z8279 ;熄屏 MOV A,#LEDCLS MOVX @DPTR,A MOV DPTR,#0F228H MOVX A,@DPTR JNB ACC.0,STOP LJMP START DELAY: PUSH 0 PUSH 1 MOV 0,#0H DELAY1:MOV R7,#10 LP3: MOV R6,#100 LP2: MOV R3,#50 LP1: NOP NOP MOV DPTR,#0F228H MOVX A,@DPTR JNB ACC.0,STOP LCALL GETKEY CJNE A,#0FFH,LP6 MOV A,B CJNE A,#0DH,LP6 LJMP START LP6: DJNZ R3,LP1 DJNZ R6,LP2 DJNZ R7,LP3 POP 1 POP 0 RET INIT8279: MOV DPTR,#Z8279 MOV A,#LEDMOD MOVX @DPTR,A MOV A,#LEDFEQ MOVX @DPTR,A MOV A,#LEDCLS MOVX @DPTR,A RET DISLED: PUSH DPH PUSH DPL PUSH ACC MOV A,#LEDWR0 ADD A,R4 MOV DPTR, #Z8279 MOVX @DPTR,A MOV DPTR,#LEDSEG MOV A,R5 MOVC A,@A+DPTR MOV DPTR,#D8279 MOVX @DPTR,A POP ACC POP DPL POP DPH RET DELAY2: MOV R2,#30 LOOP: LCALL DELAY1 DJNZ R2,LOOP RET LEDSEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; DB 39H,0F3H,80H; 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 

客服