找微控制器門滿足計數器程式,微控制器計數器程式??????

發布 科技 2024-02-09
16個回答
  1. 匿名使用者2024-02-05

    這東西不就是乙個顯示16位數字的數碼管嗎? 提示您 16 次到達那裡,在您想按下停止按鈕後鬆開。 如果是這樣,則該過程可供參考:

    初始 化*

    ru bit ;定義檢測介面。

    qing bit ;定義歸零介面。

    shi bit ;定義顯示十位數字。

    ge1 bit ;定義顯示數字。

    org 0000h

    jmp start

    org 0030h

    start:

    mov r0,#0h

    主要功能 *main:mov dptr, table

    lcall display ;呼叫顯示子例程。

    jnb ru,lop1 ;檢查介面上是否有訊號。

    jnb qing,start ;檢查螢幕是否清除。

    jmp main

    lop1:inc r0 ;計數器由 1 新增。

    jmp main

    顯示子例程*

    display:

    mov a,r0

    mov b,#10 ;分解 10 位顯示。

    div ab ;分解個位數顯示。

    mov r1,b

    movc a,@a+dptr ;將顯示查詢表。

    mov p0,a

    clr shi

    lcall delay

    setb shi

    mov a,r1

    movc a,@a+dptr

    mov p0,a

    clr ge1

    lcall delay

    setb ge1

    ret*10ms延遲*

    delay:

    mov r2,#

    yan:mov r3,#

    djnz r3,$

    djnz r2,yan

    rettable:

    db 01h,02h,03h,04h,05h,06h,07h,08h,09hend

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

    您要顯示多少個? 而且這個話題很簡單,你自己想想。

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

    說實話,用完C之後,我真的不想看一本20多行的彙編。

    而且,哥哥沒有一句評論,這不是乙個好習慣。

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

    這東西不就是乙個顯示16位數字的數碼管嗎? 提示您 16 次到達那裡,在您想按下停止按鈕後鬆開。 如果是這樣,則該過程可供參考:

    初始 化*

    ru bit ;定義檢測介面qing位; 定義歸零介面 shi 位; 定義並顯示 ge1 位的十位數字; 定義顯示個位數 org 0000h

    jmp start

    org 0030h

    start:

    mov r0,#0h

    主要功能 *main:mov dptr, table

    lcall display ;呼叫顯示子程式 jnb ru,lop1 ; 判斷介面是否有訊號jnb qing,啟動; 檢查是否清除JMP主

    lop1:inc r0 ;計數器加乙個JMP主

    顯示子例程*

    display:

    mov a,r0

    mov b,#10 ;分解十個位顯示 div ab; 分解個位數顯示 MOV R1,B

    movc a,@a+dptr ;查詢表顯示 MOV P0,A

    clr shi

    lcall delay

    setb shi

    mov a,r1

    movc a,@a+dptr

    mov p0,a

    clr ge1

    lcall delay

    setb ge1

    ret*10ms延遲*

    delay:

    mov r2,#

    yan:mov r3,#

    djnz r3,$

    djnz r2,yan

    rettable:

    db 01h,02h,03h,04h,05h,06h,07h,08h,09hend

  5. 匿名使用者2024-02-01

    我有現成的產品。

    兩位數字,根據流水線上的產品數量,自動加一,加到20,自動清零;

    兩位數字清零後,將自動將另外一位四位數字加一。

    以上可以理解為電流輸出;

    此外,還有幾組數字顯示,可以設定每日配額,顯示當前差值等。

  6. 匿名使用者2024-01-31

    我沒有時間寫程式。

    這裡有 2 個想法給你。

    1:用水晶震動,內部時鐘做 很好 2:這個通用的簡單程式 在網際網絡上搜尋很多 百度谷歌的什麼很好做。

  7. 匿名使用者2024-01-30

    加200分,有人可以寫,沒人寫,我給你寫。

  8. 匿名使用者2024-01-29

    您可以將計數訊號連線到外部中斷IO埠,並在外部中斷的中斷服務功能中新增以下語句:

    static int count=0;

    count++;

  9. 匿名使用者2024-01-28

    61 MCU我幫不了你,如果是51 MCU,做這個設計沒問題,來找我也沒關係。

  10. 匿名使用者2024-01-27

    存在很多問題,主要是漢字使用錯誤。

    include 匯入標頭檔案。

    unsigned b[10]=;編碼為 0-9。

    void delay(void) 是乙個延遲子程式,是延遲丟失前的前 1 秒。

    unsigned char i,j,k;

    for(i=20;i>0;i--)

    for(j=2;j>0;j--)

    for(k=250;k>0;k--)

    void inc cnt (void) 按 K1 鍵正數,從 0 到 99

    unsigned char x, y, z;

    for( x=0; x<10; x++)

    void dec cnt( void ) 按 K2 鍵倒計時,可以從 99 數到 00

    unsigned char x, y, z;

    for(x=10;x>0;x--) 呼叫延遲子例程。

    else }}

    void main( void ) volts main 函式。

    unsigned char key;

    p2=0x00;

    p0=0x3f;

    for(;;

  11. 匿名使用者2024-01-26

    從51個微控制器RAM資料儲存器的分布圖可以看出,從80H-FFH位址單元(也是128位元組)為專用暫存器(SFR)單元,而從00H-7FH單元(共128位元組)的位址就是使用者資料RAM,即使用者資料單元,僅指使用者在程式設計時可以定義的暫存器, 一般用於計算、臨時儲存或轉換,如果沒有這樣的單元,那麼基本上微控制器就沒有作用了。

    因此,作為微控制器的選擇,RAM的大小也直接決定了它的成本,不存在像房東說的那樣浪費現象,RAM的大小可以根據自己程式的複雜程度來決定。

    51臺微控制器的RAM分布如下圖所示。

  12. 匿名使用者2024-01-25

    特殊暫存器不在 RAM 中,但與 RAM 統一定址,PC 指標在 CPU 中。

    補充一點:從結構的角度來看,特殊暫存器和RAM不能放在一起,因為它們根本不是一回事。 只是為了方便使用,統一定址。

    CPU對RAM、特殊暫存器甚至您自己連線的外圍裝置都使用相同的定址方法,因此特殊暫存器和RAM的定址是統一的,以方便使用者。

    作為使用者,您應該關心的是 RAM 到底有多大。

    51微控制器的RAM是128位元組,只有80-FF那麼大,所以它的記憶體太大了,其他空閒的地方沒有RAM。 所以不會有浪費。

  13. 匿名使用者2024-01-24

    專用暫存器SFR在RAM中,位於上128位,真正能被使用者自由使用的RAM位於RAM的下128位(52,上128位也可以被使用者自由使用,但52用於訪問高128位的RAM, 它的區別在於定址,這裡就不討論了)。

    使用者可以自由使用的RAM是供使用者儲存中間結果或臨時資料儲存的。

    內部RAM的大小,對於相同結構的MCU來說,也決定了設計軟體中功能的複雜程度,而RAM相對較小,這就決定了功能不宜過於複雜。

    當然,RAM也可以對外擴充套件,但其訪問速度遠低於內部RAM。

  14. 匿名使用者2024-01-23

    特殊暫存器怎麼可能位於RAM中,但高128byteRAM位址與特殊暫存器位址重疊,只能通過訪問方式來區分。 專用暫存器用於控制微控制器的內部和外部裝置,並通過內部匯流排連線到CPU。

    RAM角色:

    1.儲存一些程式變數(一些變數編譯器將它們儲存在r0、r1等暫存器中)。

    2. 呼叫函式時堆疊儲存。

  15. 匿名使用者2024-01-22

    中斷意味著每隔一段時間進入乙個中斷,每次進入乙個中斷,距離 km++

    p1=~distance_km;

    首次執行距離 km++; 距離 km 變為 1,p1 = 距離 km; 1負值分配給P1埠,(數碼管為共陽極,因此輸入為0的埠發光二極體亮起,)1為1111 1110,即最低的發光二極體點亮。

    第二次執行距離 km++; 距離 km 變為 2,p1 = 距離 km; 2 反值分配給P1埠,即1111 1101第二個發光二極體點亮,以此類推。

  16. 匿名使用者2024-01-21

    距離km有點倒置0001010原來變1110101 原來的LED限流電阻拉起0是有效的,這樣做的目的是使1有效亮起。

相關回答
12個回答2024-02-09

答:位定址區域位於資料儲存器中的 20F 和 2Fh 之間。 該區間內的暫存器可以進行位定址,並且可以進行位操作和位運算。 >>>More

8個回答2024-02-09

void key0()

if(p1_0!=1) *如果按下鍵 0。 >>>More

4個回答2024-02-09

MCU C語言程式設計入門課程難不多,說起來不好,首先要了解的是學習MCU C語言時要明白這兩樣東西是什麼? 微控制器的入門程式設計主要是學習C語言,其次是電路和程式語言。 >>>More

7個回答2024-02-09

現在太急了,你還沒學會微機的原理呢!

我還不知道控制埠的含義,還有很多東西不知道原理。 >>>More

6個回答2024-02-09

崩潰,可能是現場干擾太嚴重。 無論如何,甚至已經放棄了沒有內部程式儲存器和EEPROM的晶元。 究其原因,往往不是程式問題,而是板卡和PCB設計問題。 >>>More