導航:首頁 > 操作系統 > 單片機9到0倒計時程序匯編語言

單片機9到0倒計時程序匯編語言

發布時間:2022-08-20 18:01:40

單片機 我有一篇從99到0倒計時的匯編語言的程序, 求大家幫我加入3個開關, 如下圖

程序寫的可以,但是在硬軟體資源使用上不科學。
1.位定址寄存器20H~2FH應專做為定址用,平時的位元組寄存器應從30H開始不較好。
2.P3口各個引腳都有第二功能,能不用盡量不用。比如這次的電路:數碼管a~g用P2口,位選用P1.0~P1.1,按鍵用P1.2~P1.4,完全夠用。
3.匯編編程要適當添加註釋,提高程序可讀性!

我是在你的程序基礎上改的,用注釋標注了!

② 單片機 9-0的倒計時,程序改錯!

那段碼也不對呀,是什麼數碼管,共陽,共陰的,什麼都不對
unsigned int DuanMa[10]={0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,0x00,0x04};

這是從哪得來的?
用unsigned char 型,那些數據都 不對。

for(i=10;i>0;i--) //最小有0吧
{
P2=DuanMa[i-1]; //是這樣的,才是倒計時,最小是0
Delay(1);
}

③ 單片機,我有一個從99倒計時到00的匯編語言的程序,求好心人幫忙解釋下這些程序的意思,謝謝了!!

ORG 0000H
START:
MOV P3, #0 ;P3口清0
MOV DPTR, #TABLE ;表首地址送DPTR
MOV TMOD, #01H ;定時器0設為模式1
SETB TR0 ;開啟定時器
LP0:MOV R4, #100 ;R4賦值100
LP1:MOV R5, #20 ;R5賦值20
LP2:MOV TH0, #3CH ;定時器賦初值50毫秒定時參數
MOV TL0, #0B0H ;
LP3:CALL DISP ;調顯示
JNB P1.0, K1 ;按鍵1有效轉K1
JNB P1.1, K2 ;按鍵2有效轉K2
JNB P1.2, K3 ;按鍵3有效轉K3
JNB TF0, LP3 ;定時器未溢出轉LP3
CLR TF0 ;定時器溢出清溢出標志
DJNZ R5, LP2 ;1秒鍾未到轉LP2
DJNZ R4, LP1 ;100秒未到0轉LP1
JMP LP0 ;轉LP0
K1: CALL DISP ;調顯示
JB P1.0, LP3 ;P1.0為1轉LP3
SETB TR0 ;啟動定時器0
JMP LP3 ;轉LP3
K2: CALL DISP ;調顯示
JB P1.1, LP3 ;P1.1為1轉LP3
CLR TR0 ;停止定時器0
JMP LP3 ;轉LP3
K3: CALL DISP ;掉顯示
JB P1.2, LP3 ;P1.2為1轉LP3
CLR TR0 ;停止定時器0
MOV R4, #1 ;R4賦值1
JMP LP3 ;轉LP3
;---------------------------
DISP:
MOV A, R4 ;剩餘時間送A
DEC A ;A-1
MOV B, #10 ;B送10
DIV AB ;時間除10
MOVC A, @A+DPTR ;十位數查表
MOV P2, A ;結果送P2
SETB P3.1 ;十位數位置1
DJNZ R7, $ ;延時
DJNZ R7, $ ;延時
CLR P3.1 ;十位數位清0
MOV A, B ;個位數送A
MOVC A, @A+DPTR ;查表
MOV P2, A ;結果送P2
SETB P3.0 ;個位數位置1
DJNZ R7, $ ;延時
DJNZ R7, $ ;延時
CLR P3.0 ;個位數位清0
RET
TABLE:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H
DB 92H, 82H, 0F8H, 80H, 90H
END

④ 用51單片機控制數碼管9到0倒計時用數組寫

要共陰極的
還是共陽極的?
unsigned
char
code
DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};共陰
uint8
code
table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
共陽

⑤ 單片機 用51單片機顯示一個數碼管輪流顯示9到0再從0到9每隔一秒出現一次(用匯編語言)謝謝各

ORG 0000H

MOV DPTR,#TAB

MOV P0,#0FFH

LOP:

LOOP0:MOV 20H,#9

MOV R0,#10

LOOP1:MOV A,20H; 9-0

MOVC A,@A+DPTR

MOV P0,A

DEC 20H

CALL DELL;YANSHI

DJNZ R0,LOOP1

MOV 20H,#0;0-9

MOV R0,#10

LOOP2:MOV A,20H; 0-9

MOVC A,@A+DPTR

MOV P0,A

INC 20H

CALL DELL;YANSHI

DJNZ R0,LOOP2

AJMP LOP

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DELL:MOV R7,#250;yanshi,SHIZHONG:1WEIMIAO,YUEWEI1s

DEL1:MOV R6,#200

DEL2:MOV R5,#10

DEL3:DJNZ R5,DEL3

DJNZ R6,DEL2

DJNZ R7,DEL1

⑥ 請編寫一個完整的匯編語言程序(包括偽指令部分),可。

ORG 0000H
JMP BEGIN
ORG 0030H
TABLE: ; 共陰極數碼管顯示代碼表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
DELAY: MOV R5,#20
LOOP4: MOV R6,#50H ;延時20X20ms
LOOP5: MOV R7,#100
DJNZ R7,$
DJNZ R6,LOOP5
DJNZ R5,LOOP4
RET
;---------------------------------------
BEGIN:
MOV R4,#9
MOV DPTR,#TABLE
LOOP:
MOV A,R4
LOOP1:
MOVC A,@A+DPTR ;找到相應位顯示代碼
MOV P1,A
LCALL DELAY ;調用延時子程序
JNZ,LOOP2
MOV R4,#10
LOOP2:
DEC R4
SJMP LOOP
END

⑦ 求用匯編語言編寫9-0倒計時

CODESEGMENT
ASSUMECS:CODE
ORG100H
START:PUSHCS
POPDS
PUSHCS
POPES
MOVCX,10
MOVDL,'9'
@00:
MOVAH,2
INT21H
CALLDELAY1
DECDL
LOOP@00
MOVAH,9
LEADX,MSG
INT21H

MOVAH,4CH
INT21H

MSGDB13,10,'thetimeisover!$'

DELAY1PROCNEAR
PUSHAX
PUSHCX
PUSHDX
PUSHSI
PUSHDI
PUSHF
MOVAH,0
INT1AH
MOVSI,CX
MOVDI,DX
@DELAY:
MOVAH,0
INT1AH
SUBDX,DI
SBBCX,SI
CMPDX,18
JB@DELAY
POPF
POPDI
POPSI
POPDX
POPCX
POPAX
RET
DELAY1ENDP

CODEENDS
ENDSTART

閱讀全文

與單片機9到0倒計時程序匯編語言相關的資料

熱點內容
方舟生存進化伺服器如何改名字 瀏覽:892
央行數字貨幣app怎麼注冊 瀏覽:431
51單片機顯示時間 瀏覽:768
我的世界網易版怎麼壓縮地圖 瀏覽:682
qq小程序雲伺服器和 瀏覽:739
方舟伺服器怎麼玩才好玩 瀏覽:557
單片機的部件 瀏覽:621
編譯原理遍的過程 瀏覽:252
python讀取json字元串 瀏覽:62
ubuntu1404安裝php 瀏覽:628
lua能編譯嗎 瀏覽:116
思仙怎麼看伺服器 瀏覽:658
php微信圖片防盜鏈 瀏覽:798
安卓1怎麼讀音 瀏覽:291
農業app怎麼開通快捷支付 瀏覽:910
pythonredisdict 瀏覽:385
如何攻擊別人網賭伺服器 瀏覽:880
隱私與應用加密的圖案密碼 瀏覽:38
陳情令王一博解壓 瀏覽:39
c編譯器使用說明 瀏覽:708