新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)交通燈實(shí)驗(yàn)匯編語言程序

單片機(jī)交通燈實(shí)驗(yàn)匯編語言程序

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
經(jīng)過幾天的整理,終于將網(wǎng)絡(luò)上得到交通燈仿真文件,用匯編自己編寫了一個(gè)程序,實(shí)驗(yàn)結(jié)果完全符合本人的思路,實(shí)驗(yàn)成功。
程序比較長,估計(jì)還會用更好的辦法重新寫。
編寫心得是:單片機(jī)編程,不一定要背指令,用時(shí)可以查,也不必去默寫子程序,用時(shí)還是可以查,但是,很關(guān)鍵的就是,你的程序,你自己要清楚整個(gè)的執(zhí)行過程,也就是單片機(jī)的執(zhí)行流程。而在實(shí)際的應(yīng)用中,要注意驅(qū)動電路的設(shè)計(jì),特別是單片機(jī)上電復(fù)位輸出高電平可能造成的影響。


程序如下:如果網(wǎng)頁顯示格式錯亂可從http://www.51hei.com/f/jtda.rar處下載.

ORG 0000H
START:
MOV R2,#30
SU0:MOV P0,#00H
MOV P1,#00H
MOV P2,#00H
MOV P3,#00111111B
MOV A,R2
MOV R4,A
MOV A,R4
MOV R0,A
MOV B,#5
DIV AB
MOV B,#3
MUL AB
MOV R1,A
SETB P0.4
SETB P0.7
SETB P2.2
SETB P2.5
AJMP KEY
SU1A: DEC R0
DEC R1
SUL5: CJNE R1,#5,SUL6
SETB P2.7
SUL6: CJNE R1,#4,SUL7
SETB P2.7
SUL7: CJNE R1,#3,SUL1
SETB P2.7
SUL1: CJNE R1,#2,SUL2
SETB P2.7
SUL2: CJNE R1,#1,SUL3
SETB P2.7
SUL3: CJNE R1,#0,SUL4
MOV A,R0
MOV R1,A
CLR P2.5
CLR P0.7
SETB P0.5
SETB P2.4
SUL4: CJNE R0,#0,KEY
AJMP SU0B
KEY:
JB P3.5,KEY1
LCALL DELAY
MOV R2,#45
KEY1:JB P3.2,KEY2
LCALL DELAY
MOV R2,#60
KEY2:JB P3.3,KEY3
LCALL DELAY
MOV A,R2
ADD A,#5
MOV R2,A
CJNE R2,#95,DD
MOV R2,#95
KEY3:JB P3.4,DD
LCALL DELAY
MOV A,R2
SUBB A,#5
MOV R2,A
CJNE R2,#0,DD
MOV R2,#0
DD:MOV R3,#50;數(shù)碼1
DD1:
MOV P1,#00H
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SETB P0.0
LCALL DELAY1
CLR P0.0
MOV A,B
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SETB P0.1
LCALL DELAY1
CLR P0.1;數(shù)碼2
MOV A,R1
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SETB P0.2
LCALL DELAY1
CLR P0.2
MOV A,B
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SETB P0.3
LCALL DELAY1
CLR P0.3;數(shù)碼3
MOV A,R2
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SETB P3.6
LCALL DELAY1
CLR P3.6
MOV A,B
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
SETB P3.7
LCALL DELAY1
CLR P3.7
DEC R3
CJNE R3,#25,SUL11
CLR P2.7

上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉