⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traffic.txt

📁 该代码是交通灯的汇编程序源码
💻 TXT
字号:
; ----------文件信息-------------
; 文   件   名: 交通灯.ASM
; 创   建   人: 王  斌
; 创 建  单 位:郑州铁路职业技术学院——无线电协会
; 最后修改日期: 2007年6月4日
; 描        述: 主干道放行25s;支干道放行15s;中间过渡5s
; 连 接 方  法: 1、P0口接段控,P2口接位控,P1.0~P1.5依次为:主干道红黄绿,次干道红黄绿
;               2、P3.2,P3.3,P3.7都为脉冲式按键,P3.2为紧急情况;P3.3为主干道亮绿灯;P3.7为取消按键
        ORG     0000H
        LJMP    START
        ORG     0003H
        LJMP    INT_0             ;外中断0
        ORG     000BH
        LJMP    T_0               ;定时中断0
        ORG     0013H
        LJMP    INT_1             ;外中断1
INT_0:  MOV     P1,#0F6H          ;红灯全亮
	MOV     P2,#0FFH          ;数码管不显
	JB      P3.7,$
        RETI
INT_1:  MOV     P1,#0DEH          ;主干道绿灯亮,支干道红灯亮
	MOV     P2,#0FFH          ;数码管不显
        JB      P3.7,$
        RETI    
T_0:    MOV     TH0,#3CH
        MOV     TL0,#0B0H
        DJNZ    R2,LOOP
	MOV     R2,#20           ;重新赋值   
        MOV     P1,R3            
        DJNZ    R7,L2            
	MOV     A,20H
        CJNE    A,#01H,L1 
        MOV     20H,#02H
        MOV     R7,#05H          ;主干道延时5S
        MOV     R3,#0EEH         ;主干道黄灯亮,支干道红灯亮
        MOV     P1,R3            
	LJMP    L2
L1:     MOV     R7,#20           ;主干道延时20S
        MOV     R3,#0F3H         ;主干道红灯亮,支干道绿灯亮
	MOV     P1,R3 
L2:     DJNZ    R6,LOOP
        MOV     A,21H
        CJNE    A,#01H,L3 
        MOV     21H,#02H
        MOV     R6,#15           ;支干道延时15S
        MOV     R3,#0F3H         ;主干道红灯亮,支干道绿灯亮
        MOV     P1,R3            
	LJMP    LOOP
L3:     CJNE    A,#02H,L1_1
        MOV     R6,#5            ;支干道延时5S
        MOV     R3,#0F5H         ;主干道红灯亮,支干道黄灯亮
        MOV     P1,R3 
        MOV     21H,#03H
        LJMP    LOOP
L1_1:   MOV     R6,#30           ;到此说明一圈循环已完,给所有寄存器重新赋值
        MOV     R7,#25
        MOV     R3,#0DEH 
        MOV     P1,R3 
        MOV     20H,#01H
        MOV     21H,#01H 
LOOP:   RETI  
        ORG     0100H
START:  MOV     R2,#20           ;定时器溢出寄存器
        MOV     R6,#30           ;支干道初值寄存器 
        MOV     R7,#25           ;主干道初值寄存器  
        MOV     R3,#0DEH         ;红绿灯设置寄存器,主干道绿灯亮,支干道红灯亮
        MOV     20H,#01H         ;主干道标志寄存器
        MOV     21H,#01H         ;次干道标志寄存器
        MOV     TMOD,#01H        ;定时器方式0
        MOV     TH0,#3CH         ;定时器初始化
        MOV     TL0,#0B0H
        MOV     IE,#87H          ;外中断0,外中断1,定时中断0开启
        SETB    TR0              ;定时0开启
        SETB    IT0              ;触发方式:边沿触发
        SETB    IT1  
;       支干道数码显示
SCAN:   MOV     DPTR,#TAB
        MOV     A,R6
	MOV     B, #10
	DIV     AB
        MOVC    A,@A+DPTR
        MOV     P0,A
        MOV     P2,#0FEH
        LCALL   DEL_1MS
	MOV     A, B
        MOVC    A,@A+DPTR
        MOV     P0,A
        MOV     P2,#0FDH
        LCALL   DEL_1MS
;       主干道数码显示
        MOV     A,R7
        MOV     B, #10
	DIV     AB
        MOVC    A,@A+DPTR
        MOV     P0,A
        MOV     P2,#0BFH
        LCALL   DEL_1MS
       	MOV     A,B
        MOVC    A,@A+DPTR
        MOV     P0,A
        MOV     P2,#07FH
        LCALL   DEL_1MS
        AJMP    SCAN
        SJMP    $

DEL_1MS:MOV     24H,#64H          ;1MS的延迟时间
L8:     MOV     25H,#05H
        DJNZ    25H,$
        DJNZ    24H,L8
        RET
TAB:    DB 3FH,06H,5BH,4FH,66H   ;段码
        DB 6DH,7DH,07H,7FH,6FH
        END
        
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -