• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      10. 00-99計數器
      文章長度[] 加入時間[2008/5/30] 更新時間[2025/2/8 19:55:44] 級別[0] [評論] [收藏]
       
      1. 實驗任務
      利用AT89S51單片機來制作一個手動計數器,在AT89S51單片機的P3.7管腳接一個輕觸開關,作為手動計數的按鈕,用單片機的P2.0-P2.7接一個共陰數碼管,作為00-99計數的個位數顯示,用單片機的P0.0-P0.7接一個共陰數碼管,作為00-99計數的十位數顯示;硬件電路圖如圖19所示。
      2. 電路原理圖
      圖4.10.1
      3. 系統板上硬件連線
      (1.       把“單片機系統”區域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個a-h端口上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。
      (2.       把“單片機系統”區域中的P2.0/A8-P2.7/A15端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個數碼管的a-h端口上;
      (3.       把“單片機系統”區域中的P3.7/RD端口用導線連接到“獨立式鍵盤”區域中的SP1端口上;
      4. 程序設計內容
      (1.       單片機對按鍵的識別的過程處理
      (2.       單片機對正確識別的按鍵進行計數,計數滿時,又從零開始計數;
      (3.       單片機對計的數值要進行數碼顯示,計得的數是十進數,含有十位和個位,我們要把十位和個位拆開分別送出這樣的十位和個位數值到對應的數碼管上顯示。如何拆開十位和個位我們可以把所計得的數值對10求余,即可個位數字,對10整除,即可得到十位數字了。
      (4.       通過查表方式,分別顯示出個位和十位數字。
      5. 程序框圖
      圖4.10.2
      6. 匯編源程序
      Count                  EQU 30H
      SP1                     BIT P3.7
                                  ORG 0
      START:               MOV Count,#00H
      NEXT:                MOV A,Count
                                  MOV B,#10
                                 DIV AB
                                  MOV DPTR,#TABLE
                                 MOVC A,@A+DPTR
                                  MOV P0,A
                                  MOV A,B
                                 MOVC A,@A+DPTR
                                  MOV P2,A
      WT:                     JNB SP1,WT
      WAIT:                 JB SP1,WAIT
                                  LCALL DELY10MS
                                 JB SP1,WAIT
                                  INC Count
                                  MOV A,Count
                                 CJNE A,#100,NEXT
                                  LJMP START
      DELY10MS:       MOV R6,#20
      D1:                      MOV R7,#248
                                  DJNZ R7,$
                                 DJNZ R6,D1
                                  RET
      TABLE:              DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
                                  END
      7. C語言源程序
      #include <AT89X51.H>
      unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
                                  0x6d,0x7d,0x07,0x7f,0x6f};
      unsigned char Count;
      void delay10ms(void)
      {
        unsigned char i,j;
        for(i=20;i>0;i--)
        for(j=248;j>0;j--);
      }
      void main(void)
      {
        Count=0;
        P0=table[Count/10];
        P2=table[Count%10];
        while(1)
          {
            if(P3_7==0)
              {
                delay10ms();
                if(P3_7==0)
                  {
                    Count++;
                    if(Count==100)
                      {
                        Count=0;
                      }
                    P0=table[Count/10];
                    P2=table[Count%10];
                    while(P3_7==0);
                  }
              }
          }
      }
      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版