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

📄 jiaotongdeng.asm

📁 用汇编写的交通灯程序
💻 ASM
字号:
ORG 0000H;晶振取12MHZ
AJMP MAIN
ORG 000BH
AJMP CLOCK;T0中断,用于定时50ms
MAIN:MOV TMOD,#01H ;T0选方式1
     MOV 40H,#20  ;T0中断次数,50ms*20=1s
     MOV 41H,#7   ;设置各种组合的延迟秒数
     MOV 42H,#3
     MOV 43H,#5
     CLR F0    ;前进/后退标志
     CLR A
     MOV P1,A
     MOV R0,#41H
     MOV R1,#3
     SETB EA
     SETB ET0
     MOV TH0,#3CH
     MOV TL0,#0B0H
     SETB P1.2     ;先显示黄/黄3秒
     SETB P1.3
     SETB TR0
     SJMP $
WAIT:RETI
CLOCK:MOV TH0,#3CH
      MOV TL0,#0B0H
      DJNZ 40H,WAIT
      MOV  40H,#20
      DJNZ R1,WAIT
      MOV A,@R0
      CJNE A,#7,YY1  ;若不为7,则转YY1
RG:CLR F0            ;显示红/绿7秒
   CLR A
   MOV P1,A
   SETB P1.0
   SETB P1.4
   MOV A,@R0
   MOV R1,A
   INC R0
   RETI
YY1:CJNE A,#3,GR      ;若不为3,则转GR。否则显示黄/黄3秒
    CLR A
    MOV P1,A
    SETB P1.2
    SETB P1.3
    JB F0,YY2         ;若F0为1,则转YY2
    MOV A,@R0
    MOV R1,A
    INC R0
    RETI
YY2:MOV A,@R0        ;R0后退
    MOV R1,A
    DEC R0
    RETI
GR:CLR A            ;显示绿/红5秒,设置F0为1,R0后退
   MOV P1,A
   SETB P1.1
   SETB P1.5
   SETB F0
   MOV A,@R0
   MOV R1,A
   DEC R0
   RETI

⌨️ 快捷键说明

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