51微控制器組合語言按鍵控制數碼管加一加至999

發布 數碼 2024-03-22
4個回答
  1. 匿名使用者2024-02-07

    對於組裝:可以定義三個儲存區域,如30h、31h、32h,都是十進位的,按鍵時30h加1,加到10時31h加1,31h加1,31h加1,31h加10,32h加1,可以。

    顯示功能可放置在主功能中,三個儲存區域可分別掃瞄並傳送。

    對於C語言:定義char型別最多256不好,那麼定義unsigned int就夠了,按鍵讓它++,加到1000歸零。

    數碼管顯示器必須將這個變數的百位數、十位數和個位數分開,這也很簡單。

    說到這裡應該不是什麼大問題,**我就不給你寫了,寫起來很無聊,呵呵。

  2. 匿名使用者2024-02-06

    low_temp;個位數暫存器。

    mid_temp;十位暫存器。

    high_temp;數以百計的暫存器。

    start:

    mov low_temp,#0x00

    mov mid_temp,#0x00

    mov high_temp,#0x00

    add_1:

    確定按鈕(不知道您使用的是哪個埠)。

    每次按鍵後。

    inc low_temp

    mov a,low_temp

    cjne a,#0x0a,add_1

    mov low_temp,#0x00

    inc mid_temp

    mid_scan:

    mov a,mid_temp

    cjne a,#0x0a,add_1

    mov mid_temp,#0x00

    inc high_temp

    high_scan:

    mov a,high_temp

    cjne a,#0x0a,add_1

    sjmp start

  3. 匿名使用者2024-02-05

    給你乙個參考;

    1)起始部分,R5用於控制採取七段程式碼的方向,無論是從開始還是從結束;

    2)顯示部分;

    這是根據你採用七段程式碼的想法,增量以 0 結尾,所以為了使遞減也以 0 結尾;

    所以只需在它前面新增 0;

    tab:db00h,3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h,00h;

    因此,當增加r5=1時,指向3fh,減小r5=10h,指向71h,3)關鍵部分,判斷被按下時,執行mov r5,01h;

    判斷為按下時,執行mov r5,10h;

  4. 匿名使用者2024-02-04

    仍在使用該彙編的人要麼是學生,要麼是嵌入式遊戲大師。

相關回答
9個回答2024-03-22

使用兩個定時器的方法是使用定時器t0控制頻率,定時器t1控制占空比。 一般的程式設計思路如下:t0定時器中斷使i0埠輸出為高電平,在定時器t0的中斷中啟動定時器t1,此t1使io口輸出為低電平,因此改變定時器t0的初始值可以改變頻率,改變定時器t1的初始值可以改變占空比。 >>>More

16個回答2024-03-22

定時中斷,外部中斷?

6個回答2024-03-22

對於 c,我想到它:

1.它與硬體有關,你知道嗎? >>>More

5個回答2024-03-22

8086屬於微處理器(MPU),是一種微處理器。 >>>More

9個回答2024-03-22

16 和 7 是查詢命令時 PC 和資料之間的位元組數。 >>>More