標(biāo)題:
簡(jiǎn)易單片機(jī)匯編語(yǔ)言交通燈設(shè)計(jì)
[打印本頁(yè)]
作者:
jlkk
時(shí)間:
2020-1-3 14:50
標(biāo)題:
簡(jiǎn)易單片機(jī)匯編語(yǔ)言交通燈設(shè)計(jì)
交通燈設(shè)計(jì),電路圖及程序文件,合集
單片機(jī)源程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT_0
ORG 000BH
LJMP T_0
ORG 0013H
LJMP INT_1
ORG 0900H
MAIN:
MOV TMOD,#01H ;定時(shí)器工作方式1
MOV TL0,#0F0H ;賦初值
MOV TH0,#0D8H
SETB ET0 ;開(kāi)T0中斷
SETB TR0 ;啟動(dòng)T0定時(shí)
SETB EX0 ;開(kāi)外部中斷0
SETB EX1 ;開(kāi)外部中斷1
SETB IT0 ;外部中斷0下降沿觸發(fā)
CLR IT1 ;外部中斷1低電平觸發(fā)
SETB PT0 ;設(shè)置中斷優(yōu)先級(jí)
SETB EA ;CPU開(kāi)中斷
dengguang: MOV R0,#60 ;東西方向綠燈顯示時(shí)間
MOV R1,#65 ;南北方向紅燈顯示時(shí)間
MOV R2,#25
LOOP1: SETB P3.4
MOV P1,#01H
SETB P1.7 ;點(diǎn)亮南北方向紅燈
SETB P1.4 ;點(diǎn)亮東西方向綠燈
LCALL DISPLAY
DJNZ R2,LOOP1
MOV R2,#25
DEC R1
DJNZ R0,LOOP1
MOV R0,#3 ; 東西方向黃燈顯示時(shí)間
LOOP2: MOV P1,#01H
SETB P1.7 ;點(diǎn)亮南北方向紅燈
SETB P1.3 ;點(diǎn)亮東西方向黃燈
D1: LCALL DISPLAY
CPL P1.3
DJNZ R2,D1
DEC R1
MOV R2,#25
DJNZ R0,LOOP2
MOV R0,#40 ;東西方向紅燈顯示時(shí)間
LOOP3: MOV P1,#01H
SETB P1.7 ;點(diǎn)亮東西方向紅燈
SETB P1.2 ;點(diǎn)亮南北方向紅燈
LCALL DISPLAY
DJNZ R2,LOOP3
MOV R2,#25
DEC R0
DJNZ R1,LOOP3
MOV R1,#35 ; 南北方向綠燈顯示時(shí)間
LOOP4: MOV P1,#01H
SETB P1.5 ; 點(diǎn)亮南北方向綠燈
SETB P1.2 ; 點(diǎn)亮東西方向紅燈
LCALL DISPLAY
DJNZ R2,LOOP4
MOV R2,#25
DEC R0
DJNZ R1,LOOP4
MOV R1,#3 ; 南北方向黃燈顯示時(shí)間
LOOP5: MOV P1,#01H
SETB P1.6 ; 點(diǎn)亮南北方向黃燈
SETB P1.2 ; 點(diǎn)亮東西方向紅燈
D2: LCALL DISPLAY
CPL P1.6
DJNZ R2,D2
DEC R0
MOV R2,#25
DJNZ R1,LOOP5
LJMP dengguang
;顯示屏顯示數(shù)字程序
DISPLAY: MOV A,R0 ;東西方向時(shí)間顯示
MOV B,#10
DIV AB ;把顯示的數(shù)十位存在A,個(gè)位存在B
ADD A,#10H ;選通十位
MOV P0,A ;顯示十位
B0: JNB P3.4,B1
SJMP B0
B1: SETB P3.4
MOV A,B
ADD A,#20H ;選通個(gè)位
MOV P0,A ;顯示個(gè)位
B2: JNB P3.4,B3
SJMP B2
B3: SETB P3.4
MOV A,R1 ;南北方向時(shí)間顯示
MOV B,#10
DIV AB
ADD A,#10H ;選通十位
MOV P2,A ;顯示十位
C0: JNB P3.4,C1
SJMP C0
C1: SETB P3.4
MOV A,B
ADD A,#20H ;選通個(gè)位
MOV P2,A ;顯示個(gè)位
C2: JNB P3.4,C3
SJMP C2
C3: SETB P3.4
RET
;設(shè)置系統(tǒng)中斷服務(wù)子程序
INT_0: LCALL DISPLAY
JB P3.6,L0
INC R1
INC R0
CJNE R1,#99,X0
MOV R1,#00H
X0: CJNE R0,#99,X1
MOV R0,#00H
X1: LCALL DISPLAY
JNB P1.0,TUICHU
L0: JB P3.7,WAIT1
DEC R1
DEC R0
CJNE R1,#00H,X2
MOV R1,#99H
X2: CJNE R0,#00H,X3
MOV R0,#99H
X3: LCALL DISPLAY
WAIT1: JNB P1.0,TUICHU
WWAIT: LJMP INT_0
TUICHU: RETI
;定時(shí)子程序
T_0: MOV TL0,#0F0H
MOV TH0,#0D8H
CLR P3.4
RETI
;外部中斷1服務(wù)字程序
INT_1: MOV P1,#85H
MOV P0,#30H
MOV P2,#30H
JNB P3.3,INT_1
RETI
END
復(fù)制代碼
所有資料51hei提供下載:
單片機(jī)大作業(yè).zip
(54.37 KB, 下載次數(shù): 58)
2020-1-3 14:50 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
答案先生
時(shí)間:
2020-6-20 09:44
有Proteus文件嗎
作者:
答案先生
時(shí)間:
2020-6-21 10:04
為什么運(yùn)行到一半就停了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1