當前位置:編程學習大全網 - 編程軟體 - 求單片機大神,用匯編編寫使動態數碼管分別顯示1-8,時間間隔1秒左右。

求單片機大神,用匯編編寫使動態數碼管分別顯示1-8,時間間隔1秒左右。

使用中斷就行了啊,C語言也是這樣的,編譯器會把C語言轉換成匯編語言。然後再轉換成HEX文件。下面是在妳的程序上修改的,沒試過,妳編譯壹下看看有沒錯誤

ORG 00H

LJMP MAIN

ORG 001BH ;定時器1入口地址

LJMP TIMER1_ISR

ORG 0100H

MAIN:

MOV TMOD,#10H

MOV TL1,#0F0H

MOV TH1,#0D8H ;賦初值,定時10毫秒

SETB TR1

MOV IE,#88H

MOV R2,#20 ;R2的值可以隨時修改

MOV R3,#100 ;100 * 10MS = 1S

DISP:

MOV A,R2 ;南北方向顯示初值R2=20秒

MOV B,#10

DIV AB

MOV P0,A ;段選

MOV P2,#01 ;位選

ACALL D1ms ;延時

MOV P2,#00 ;清零

MOV P0,B

MOV P2,#02

ACALL D1ms

MOV P2,#00 ;清零

LJMP DISP ;這個地方就壹直循環,怎樣實現定時器的作用

;*********** 定 時 1 秒 中 斷 ***********

TIMER1_ISR:

MOV TL1,#0F0H

MOV TH1,#0D8H ;賦初值,定時10毫秒

PUSH ACC

PUSH PSW

DJNZ R3,TIMER1_END

MOV R3,#100

MOV A,R2

DEC R2

JNZ TIMER1_END

MOV R2,#20

TIMER1_END:

POP PSW

POP ACC

RETI

;************ 延 時 D1ms 程序***********

D1ms:

MOV R7,#02H

DL:

MOV R6,#0FFH

DL1:

DJNZ R6,DL1

DJNZ R7,DL

RET

;***************************************

END

  • 上一篇:python能做什麽
  • 下一篇:數控車床編程,老師傅不教,求編程
  • copyright 2024編程學習大全網