發新話題
打印

8051百位數計數程式寫法

8051百位數計數程式寫法

8051百位數計數程式寫法


想問一下,我用INC與CJNE應該怎麼搭配才能寫出百位數的計數器呢?
我是8051的初學者,希望能幫我講解清楚一些。
希望大家一起想想囉。
>>>>>>>>>>>>>>
程式寫法依照每個人的習慣可以寫成多種方式
以你說的指令方式可以這樣寫,以下是參考.太久沒寫51程式了.不敢確定都沒錯
但是形應該是已經出來了
假設R0為個位數.R1為十位數.R2為百位數,C偵測CLOCK的前一次的LEVEL

INITIAL:
       MOV R0,#0
       MOV R1,#0
       MOV R2,#0
       CLR C
LOOP:
       JB P1.0,CHECK_HI
       CLR C                 ;CHECK_LOW
       JMP LOOP

CHECK_HI:
       JNC CLOCK
       SETB C
       JMP LOOP

CLOCK:
      INC R0 ;這也可以改寫成MOV A,R0
                ;ADD A,#1
                ;MOV R0,A
      CJNE R0,#10,EXIT
      MOV R0,#0
      INC R1 ;這也可以改寫成MOV A,R1
                ;ADD A,#1
                ;MOV R1,A
      CJNE R1,#10,EXIT
      MOV R1,#0
      INC R2 ;這也可以改寫成MOV A,R2
                ;ADD A,#1
                ;MOV R2,A

      CJNE R2,#10,EXIT
      MOV R2,#0
EXIT:
      SETB C
      JMP LOOP

TOP

發新話題


重要聲明:本論壇討論區是以即時上載留言的方式運作,香港論壇討論區對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請 聯絡我們。香港論壇討論區有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。


Copyright©2006- Forum4hk.com Limited. All Right Reserved.
版權所有,不得轉載。