欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
大神幫忙看一下這個(gè)單片機(jī)匯編程序,為什么動(dòng)態(tài)數(shù)碼管只能顯示一個(gè)數(shù)字啊?
[打印本頁(yè)]
作者:
suibianyige
時(shí)間:
2020-11-28 20:50
標(biāo)題:
大神幫忙看一下這個(gè)單片機(jī)匯編程序,為什么動(dòng)態(tài)數(shù)碼管只能顯示一個(gè)數(shù)字啊?
MAIN:
MOV P1,#0FFH
MOV A,P1
CPL A ;輸入此時(shí)溫度
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
zhuanhuan:
MOV B,#100
DIV AB
MOV LED_2,A
MOV A,B
MOV B,#10
DIV AB
MOV LED_1,A
MOV LED_0,B
MOV DPTR, #TABLE
DISP:
MOV A,LED_0 ;數(shù)碼顯示子程序
MOVC A,@A+DPTR
CLR P2.2
MOV P0,A
LCALL DELAY
SETB P2.2
MOV A,LED_1
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
LCALL DELAY
SETB P2.1
MOV A,LED_2
MOVC A,@A+DPTR
CLR P2.1
CLR P2.2
MOV P0,A
LCALL DELAY
SETB P2.0
RET
DELAY: MOV R6,#10
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
DELAY2: MOV R5,#20
D2: MOV R6,#20
D3: MOV R7,#250
DJNZ R7,$
DJNZ R6,D3
DJNZ R5,D2
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
作者:
csmyldl
時(shí)間:
2020-11-29 01:26
程序結(jié)構(gòu)有問題,第一,主程序未構(gòu)成循環(huán)并且去調(diào)用DISP顯示子程序,第二,轉(zhuǎn)換程序到底是主程序的一部分還是單獨(dú)的一個(gè)子程序,若為子程序,沒有RET指令,第三,延時(shí)程序DELAY2在本程序中未調(diào)用,可刪去。因?yàn)閷?duì)程序結(jié)構(gòu)未搞清,所以不能正常顯示
作者:
用戶名被注冊(cè)了
時(shí)間:
2020-11-29 09:37
程序結(jié)構(gòu)確實(shí)有點(diǎn)亂.....
作者:
Y_G_G
時(shí)間:
2020-11-30 14:14
整個(gè)程序沒有用到一個(gè)JMP指令來循環(huán)
程序結(jié)構(gòu)太亂
作者:
zhouchuantao
時(shí)間:
2020-12-4 17:33
http://m.raoushi.com/bbs/dpj-151055-1.html
看看
作者:
zhouchuantao
時(shí)間:
2020-12-4 17:33
http://m.raoushi.com/bbs/dpj-151055-1.html
看看這個(gè)鏈接
作者:
suncat0504
時(shí)間:
2020-12-5 11:30
DISP:
MOV A,LED_0 ;取得第一個(gè)顯示數(shù)據(jù)
MOVC A,@A+DPTR ;取得筆段數(shù)據(jù)
CLR P2.2 ;關(guān)閉顯示
MOV P0,A ;筆段數(shù)據(jù)輸出到IO口
SETB P2.2 ;打開顯示
LCALL DELAY ;延遲顯示一段時(shí)間
CLR P2.2 ;關(guān)閉第一個(gè)數(shù)碼顯示,防止下一個(gè)筆段數(shù)據(jù)串位顯示到第一個(gè)數(shù)碼管上
MOV A,LED_1 ;取得第二個(gè)顯示數(shù)據(jù)
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
SETB P2.1
LCALL DELAY
CLR P2.1 ;關(guān)閉第二個(gè)數(shù)碼顯示顯示,防止下一個(gè)筆段數(shù)據(jù)串位顯示到第二個(gè)數(shù)碼管上
MOV A,LED_2 ;取得第三個(gè)顯示數(shù)據(jù)
MOVC A,@A+DPTR
CLR P2.0
MOV P0,A
SETB P2.0
LCALL DELAY
CLR P2.0 ;不加這個(gè)代碼,并且沒有下面的LJMP語句的話,第三個(gè)數(shù)碼管會(huì)一直亮下去
LJMP DISP ;循環(huán)顯示
你之前的代碼有幾個(gè)問題:
1、在顯示下一個(gè)數(shù)碼管之前,一定要關(guān)閉位驅(qū)動(dòng),否則會(huì)出現(xiàn)一個(gè)筆段數(shù)據(jù)同時(shí)顯示給幾個(gè)數(shù)碼管。
2、在DISP處理中最后執(zhí)行的是RET。在執(zhí)行了
CLR P2.1
CLR P2.2
SETB P2.0
之后,P0口保持著第三個(gè)數(shù)碼管的筆段數(shù)據(jù),第三個(gè)數(shù)碼管被點(diǎn)亮,并一直保持。
如果想循環(huán)顯示,必須及時(shí)點(diǎn)亮一段時(shí)間,然后關(guān)閉,處理下一個(gè),并且要保持不斷的循環(huán)才行
注意,以上代碼,是基于P2的IO口輸出‘1’時(shí)點(diǎn)亮數(shù)碼管的前提下,才成立。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1