交通灯 汇编语言

(1)P3.2进入中断 默认进入红灯修改状态 (2)P3.4加运算 P4.3减运算 (3)P3.3 短按 进入绿灯修改状态,长按 返回中断。

ORG 0000H
AJMP START
ORG 0003H
AJMP TIAO
ORG 000BH
AJMP TIME

ORG 0300H
START: MOV A,#03H
MOV DPTR,#7100H
MOVX @DPTR,A
MOV 20H,#00H;

MOV P1,#0DEH

MOV 21H,#30;数码管1
MOV 22H,#25;数码管2

MOV 23H,#6; 黄灯时间
MOV 24H,#26;绿灯时间
MOV 25H,#31

MOV R3,23H
MOV R4,24H
MOV R7,23H


MOV IP,#01H ;IP,IE初始化
MOV IE,#83H
MOV TMOD,#01H ;设定定时器工作方式
MOV TL0,#0B4H
MOV TH0,#3CH ;定时50ms
SETB TR0 ;启动定时
MOV SP,#40H ;重设堆栈指针
MAIN: LCALL DISP
LCALL DELAY
LJMP MAIN

TIAO: CLR TR0
MOV 21H,#00
MOV 22H,#00
LCALL DISP
LCALL DELAY
AJMP LA

LA: JNB P3.3,LB
LCALL DELAY1
JNB P3.3,LB

JNB P3.4,PA
LCALL DELAY1
JNB P3.4,PA

JNB P3.5,MA
LCALL DELAY1
JNB P3.5,MA

MOV P1,#0FEH
LCALL DISP
LCALL DELAY
AJMP LA

LB: JNB P3.3,LD
LCALL DELAY1
JNB P3.3,LD

JNB P3.4,PB
LCALL DELAY1
JNB P3.4,PB

JNB P3.5,MB
LCALL DELAY1
JNB P3.5,MB

MOV P1,#0FBH
LCALL DISP
LCALL DELAY
AJMP LB

PA:
INC 21H
LCALL DISP
LCALL DELAY
AJMP LA

MA: DEC 21H
LCALL DISP
LCALL DELAY
AJMP LA

PB:
INC 22H
LCALL DISP
LCALL DELAY
AJMP LB

MB: DEC 22H
LCALL DISP
LCALL DELAY
AJMP LB

LD:
MOV P1,#0FDH
JB P3.3,LB
LCALL DELAY1
LCALL DELAY1
JB P3.3,LB
LCALL DISP
LCALL DELAY
AJMP LC

LC: MOV P1,#0DEH

MOV A,21H
MOV 25H,A
INC 25H

MOV A,22H
MOV 24H,A
INC 24H

MOV A,25H
CLR C
SUBB A,24H
MOV 23H,A
INC 23H

MOV R3,23H
MOV R4,24H
MOV R7,23H


SETB TR0
RETI



;定时中断处理程序:
TIME: PUSH ACC ;保护现场
PUSH PSW
MOV TL0,#0B4H ;赋定时初值
MOV TH0,#3CH
INC 20H ;
MOV A,20H
CJNE A,#20,RETI1
MOV 20H,#00H ;一秒钟时间到
AJMP RED

RED: MOV A,R3
CJNE A,23H,BLU
MOV A,R4
CJNE A,24H,YEL
MOV A,R7
CJNE A,23H,GRE

MOV P1,#0DEH

DEC 21H
DEC 22H
MOV A,22H
CJNE A,#00,RETI1
MOV A,23H
MOV 21H,A
MOV 22H,A

GRE: MOV P1,#0EEH

DEC 21H
DEC 22H
MOV A,22H
MOV R7,21H
CJNE A,#00,RETI1
MOV A,24H
MOV 21H,A
MOV A,25H
MOV 22H,A


YEL: MOV P1,#0F3H

DEC 21H
DEC 22H
MOV A,21H
MOV R4,21H
CJNE A,#00,RETI1
MOV A,23H
MOV 21H,A
MOV 22H,A


BLU: MOV P1,#0F5H

DEC


21H
DEC 22H
MOV A,21H
MOV R3,21H
CJNE A,#00,RETI1
MOV A,25H
MOV 21H,A
MOV A,24H
MOV 22H,A
DEC 21H
DEC 22H

MOV R3,23H
MOV R4,24H

交通灯 汇编语言相关文档

最新文档

返回顶部