「請不要告訴我刪除startup.a51。刪除該程序警告雖然消除了,但運行結果是錯誤的。」
運行結果錯誤在別的方面。
從模擬結果來看,30H~3FH放置從00H到0FH的數,這不就是你所需的運行結果嗎?
㈡ 51 單片機 匯編 編譯錯誤
DAT:DB 54H, F6H, 1BH, 20H,04H,C1H中逗號必須是半形字元,當十六進制數首位不是數字時,前面要加0。
要這樣:DAT:DB 54H,0F6H,1BH, 20H,04H,0C1H
CLR R6; CLR R7是指令應用錯誤,你不能對R0-R7直接清零。
要這樣:MOV R6,#0,MOV R7,#0或者CLR A,MOV R6,A;MOV R7,A
㈢ 51單片機,怎麼用匯編語言編程一個程序。實現4個按鍵控制4種報警聲音(110、119、120、防空警報聲)。
沒有四種聲音的頻率庫,其他的給你做個示範吧:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
MOV TMOD,#11H
SETB EA
SETB ET0
SETB ET1
LOOP:
LCALL KEYSCAN
MOV A,R2
JNZ LP1
MOV DPTR,#TAB110
SJMP LPRUN
LP1:
DEC A
JNZ LP2
MOV DPTR,#TAB119
SJMP LPRUN
LP2:
DEC A
JNZ LP3
MOV DPTR,#TAB120
SJMP LPRUN
LP3:
DEC A
JNZ LP4
MOV DPTR,#TABBOMB
SJMP LPRUN
LP4:
LJMP LOOP
LPRUN:
MOVX A,@DPTR
MOV TL0,A
INC DPTR
MOVX A,@DPTR
MOV TH0,A
............;時長控制也可以做到表裡,計算後賦值給T1
LJMP LOOP
END