-
對於組裝:可以定義三個儲存區域,如30h、31h、32h,都是十進位的,按鍵時30h加1,加到10時31h加1,31h加1,31h加1,31h加10,32h加1,可以。
顯示功能可放置在主功能中,三個儲存區域可分別掃瞄並傳送。
對於C語言:定義char型別最多256不好,那麼定義unsigned int就夠了,按鍵讓它++,加到1000歸零。
數碼管顯示器必須將這個變數的百位數、十位數和個位數分開,這也很簡單。
說到這裡應該不是什麼大問題,**我就不給你寫了,寫起來很無聊,呵呵。
-
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
-
給你乙個參考;
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;
-
仍在使用該彙編的人要麼是學生,要麼是嵌入式遊戲大師。
使用兩個定時器的方法是使用定時器t0控制頻率,定時器t1控制占空比。 一般的程式設計思路如下:t0定時器中斷使i0埠輸出為高電平,在定時器t0的中斷中啟動定時器t1,此t1使io口輸出為低電平,因此改變定時器t0的初始值可以改變頻率,改變定時器t1的初始值可以改變占空比。 >>>More