日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]51 單片機(jī),求從 99 到 0 倒計(jì)時(shí)的匯編語(yǔ)言的程序。再加入 3 個(gè)開(kāi)關(guān)。一個(gè)開(kāi)關(guān)按下后,開(kāi)始執(zhí)行倒計(jì)時(shí)程序,其他兩個(gè)用來(lái)暫停計(jì)時(shí)和停止計(jì)時(shí)(停止計(jì)時(shí)就顯示00吧)。做而論道回答如下:仿真電路圖:

51 單片機(jī),求從 99 到 0 倒計(jì)時(shí)的匯編語(yǔ)言的程序。


再加入 3 個(gè)開(kāi)關(guān)。


一個(gè)開(kāi)關(guān)按下后,開(kāi)始執(zhí)行倒計(jì)時(shí)程序,其他兩個(gè)用來(lái)暫停計(jì)時(shí)和停止計(jì)時(shí)(停止計(jì)時(shí)就顯示00吧)。


做而論道回答如下:


仿真電路圖:



程序:


? ? ORG 0000H

START:

? ? MOV ? P3, #0

? ? MOV ? DPTR, #TABLE

? ? MOV ? TMOD, #01H ? ? ?

? ? SETB ?TR0


LP0:MOV ? R4, #100

LP1:MOV ? R5, #20

LP2:MOV ? TH0, #3CH ? ? ?

? ? MOV ? TL0, #0B0H

LP3:CALL ?DISP

? ? JNB ? P1.0, K1

? ? JNB ? P1.1, K2

? ? JNB ? P1.2, K3

? ? JNB ? TF0, LP3

? ? CLR ? TF0

? ? DJNZ ?R5, LP2

? ? DJNZ ?R4, LP1

? ? JMP ? LP0

K1: CALL ?DISP

? ? JB ? ?P1.0, LP3

? ? SETB ?TR0

? ? JMP ? LP3

K2: CALL ?DISP

? ? JB ? ?P1.1, LP3

? ? CLR ? TR0

? ? JMP ? LP3

K3: CALL ?DISP

? ? JB ? ?P1.2, LP3

? ? CLR ? TR0

? ? MOV ? R4, #1

? ? JMP ? LP3

;---------------------------

DISP:

? ? MOV ? A, R4

? ? DEC ? A

? ? MOV ? B, #10

? ? DIV ? AB ? ? ? ? ? ?

? ? MOVC ?A, @A+DPTR

? ? MOV ? P2, A

? ? SETB ?P3.1

? ? DJNZ ?R7, $

? ? DJNZ ?R7, $

? ? CLR ? P3.1

? ? MOV ? A, B

? ? MOVC ?A, @A+DPTR

? ? MOV ? P2, A

? ? SETB ?P3.0

? ? DJNZ ?R7, $

? ? DJNZ ?R7, $

? ? CLR ? P3.0

? ? RET

TABLE:

? ? DB ? 0C0H, 0F9H, 0A4H, 0B0H, 99H

? ? DB ? 92H, 82H, 0F8H, 80H, 90H

END


02013-11-14 12:17


提問(wèn)者評(píng)價(jià):行了,非常感謝你。


網(wǎng)友評(píng)論:(monengs2013-11-14 18:26)


這程序,實(shí)時(shí)性強(qiáng),省資源(只用了通用寄存器),有按鍵去抖,把重復(fù)功能的語(yǔ)句調(diào)整合并了。


確實(shí)這個(gè)是好答案!


============================


提問(wèn)者在另一個(gè)問(wèn)題中,提出了新要求:


幫我編一個(gè)99倒計(jì)時(shí)到0的匯編語(yǔ)言的程序,不要用DIV的。


前面使用 DIV,是用于分離計(jì)數(shù)值的十位、個(gè)位,以便分別進(jìn)行顯示。


現(xiàn)在不讓用 DIV,那么,十位個(gè)位在計(jì)數(shù)的時(shí)候,就應(yīng)該用兩個(gè)單元分別計(jì)數(shù),顯示的時(shí)候,就不用分離了。


做而論道編寫(xiě)的程序如下:


? ? ORG 0000H

START:

? ? MOV ? 39H, #0C0H

? ? MOV ? 38H, #0F9H

? ? MOV ? 37H, #0A4H

? ? MOV ? 36H, #0B0H

? ? MOV ? 35H, #99H

? ? MOV ? 34H, #92H

? ? MOV ? 33H, #82H

? ? MOV ? 32H, #0F8H

? ? MOV ? 31H, #80H

? ? MOV ? 30H, #90H

? ? MOV ? P3, #0

? ? MOV ? TMOD, #01H

? ? SETB ?TR0

LP: MOV ? R0, #30H

LP0:MOV ? R1, #30H

LP1:MOV ? R5, #20

LP2:MOV ? TH0, #3CH

? ? MOV ? TL0, #0B0H

LP3:CALL ?DISP

? ? JNB ? P1.0, K1

? ? JNB ? P1.1, K2

? ? JNB ? P1.2, K3

? ? JNB ? TF0, LP3

? ? CLR ? TF0

? ? DJNZ ?R5, LP2

? ? INC ? R1

? ? CJNE ?R1, #3AH, LP1

? ? INC ? R0

? ? CJNE ?R0, #3AH, LP0

? ? JMP ? LP

K1:

? ? CALL ?DISP

? ? JB ? ?P1.0, LP3

? ? SETB ?TR0

? ? JMP ? LP3

K2: CALL ?DISP

? ? JB ? ?P1.1, LP3

? ? CLR ? TR0

? ? JMP ? LP3

K3: CALL ?DISP

? ? JB ? ?P1.2, LP3

? ? CLR ? TR0

? ? MOV ? R0, #39H

? ? MOV ? R1, #39H

? ? MOV ? R5, #01H

? ? JMP ? LP2

DISP:

? ? MOV ? P2, @R0

? ? SETB ?P3.1

? ? DJNZ ?R7, $

? ? DJNZ ?R7, $

? ? CLR ? P3.1

? ? MOV ? P2, @R1

? ? SETB ?P3.0

? ? DJNZ ?R7, $

? ? DJNZ ?R7, $

? ? CLR ? P3.0

? ? RET

END


本程序仿真執(zhí)行后,和前述截圖相同。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉