欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 基于51單片機的交通燈程序設計(匯編語言) [打印本頁]

作者: lalaYeol    時間: 2020-7-15 10:32
標題: 基于51單片機的交通燈程序設計(匯編語言)
原理圖如下:

代碼如下:
采用匯編語言
ORG 0000H;偽指令、程序開始、中斷入口地址
LJMP MAIN
ORG 0003H
LJMP A1
ORG 000BH
LJMP A2
ORG 0013H
LJMP A3
ORG 1000H
;主程序
MAIN:MOV TMOD,#01H;設工作方式
         MOV TL0,#0F0H;設初值,單片機晶振12M,定時10ms        
         MOV TH0,#0D8H
         SETB EA;開放總中斷        
         SETB ET0;開放T0中斷         
         SETB TR0;啟動T0定時        
          SETB EX0;開放外中斷0        
         SETB EX1;開放外中斷1        
          SETB IT0;設外中斷0為邊沿觸發        
         CLR IT1;設外中斷1為低電平有效        
         SETB PT0
CYCLE: MOV R0,#60;南北方向綠燈顯示時間
       MOV R1,#65;東西方向紅燈顯示時間
       MOV R2,#25;為延時1秒而用
;東西紅燈南北綠燈
LOOP1:SETB P3.4
          MOV P1,#01H        
          SETB P1.7;點亮紅燈        
          SETB P1.4;點亮綠燈        
          LCALL DISPLAY;調用顯示程序        
          DJNZ R2,LOOP1
          MOV R2,#25
          DEC R1        
          DJNZ R0,LOOP1        
          MOV R0,#3;南北方向黃燈顯示時間
;東西紅燈南北黃燈
LOOP2:MOV P1,#01H
          SETB P1.7;點亮紅燈        
          SETB P1.3;點亮黃燈
LJ: LCALL DISPLAY;調用顯示程序
         CPL P1.3        
         DJNZ R2,LJ        
         DEC R1        
         MOV R2,#25        
          DJNZ R0,LOOP2        
         MOV R0,#40;南北方向紅燈顯示時間
;東西紅燈南北紅燈
LOOP3:MOV P1, #01H
          SETB P1.7;點亮紅燈
          SETB P1.2;點亮紅燈
          LCALL DISPLAY;調用顯示程序
          DJNZ R2,LOOP3
          MOV R2,#25
          DEC R0
          DJNZ R1,LOOP3        
            MOV R1,#35;東西方向綠燈顯示時間
;東西綠燈南北紅燈  
LOOP4:MOV P1,#01H
          SETB P1.5;點亮綠燈        
          SETB P1.2;點亮紅燈         
          LCALL DISPLAY ;調用顯示程序        
          DJNZ R2,LOOP4         
          MOV R2,#25        
          DEC R0        
          DJNZ R1,LOOP4        
          MOV R1,#3;東西方向黃燈顯示時間
;東西黃燈南北紅燈
LOOP5:MOV P1,#01H
          SETB P1.6;點亮黃燈         
          SETB P1.2;點亮紅燈
LJ1:LCALL DISPLAY;調用顯示程序
         CPL P1.6        
         DJNZ R2,LJ1        
         MOV R2,#25        
         DEC R0        
         DJNZ R1,LOOP5        
         LJMP CYCLE
;鍵盤中斷程序
A1:LCALL DISPLAY
         JB P3.6,Q2        
         INC R1        
         INC R0        
          CJNE R1,#99,JIAO2        
          MOV R1,#00H
JIAO2:CJNE R0,#99,JIAO3
          MOV R0,#00H
JIAO3:LCALL DISPLAY        
          JNB P1.0, Z2
Q2: JB P3.7,WAIT1        
        DEC R1        
        DEC R0        
        CJNE R1,#00H, JIAO        
        MOV R1,#99
JIAO: CJNE R0,#00H, JIAO1
      MOV R0, #99
JIAO1:LCALL DISPLAY        
WAIT1:JNB P1.0, Z2         
WAIT: LJMP A1
Z2:RETI
;時間中斷程序
A2:MOV TL0,#0F0H;重新賦值
     MOV TH0,#0D8H         
         CLR P3.4        
         RETI
;應急通道中斷程序        
A3:MOV P1,#85H
         MOV P0,#30H        
         MOV P2,#35H        
         JNB P3.3,A3        
          RETI
;數顯顯示
DISPLAY:MOV A,R0;東西方向時間的顯示
            MOV B,#10        
            DIV AB;把要顯示的數的十位存放在A中,個位存放在B中
            ADD A,#10H;位選通十位
            MOV P0,A;顯示十位數字
TI0:JNB P3.4,TT
    SJMP TI0
TT: SETB P3.4
    MOV A,B
        ADD A,#20H;位選通個位        
    MOV P0,A;顯示個位數字
TI1:JNB P3.4, TT1
    SJMP TI1
TT1:SETB P3.4;南北方向的顯示         
        MOV A,R1;南北方向時間的顯示        
        MOV B,#10        
        DIV AB        
        ADD A,#10H;位選通十位        
        MOV P2,A;顯示十位數字
TI2:JNB P3.4, TT2
    SJMP TI2  
TT2:SETB P3.4        
        MOV A,B        
        ADD A,#20H;位選通個位        
        MOV P2,A;顯示個位數字
TI3:JNB P3.4, TT3
    SJMP TI3
TT3:SETB P3.4
RET
END






作者: badass    時間: 2020-12-2 20:39
樓主可以吧仿真文件分享出來嗎




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1