• <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支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      16. 定時計數器T0作定時應用技術(二)
      文章長度[] 加入時間[2008/5/30] 更新時間[2025/7/13 13:46:07] 級別[0] [評論] [收藏]
       
      1.      實驗任務
      用AT89S51的定時/計數器T0產生2秒鐘的定時,每當2秒定時到來時,更換指示燈閃爍,每個指示閃爍的頻率為0.2秒,也就是說,開始L1指示燈以0.2秒的速率閃爍,當2秒定時到來之后,L2開始以0.2秒的速率閃爍,如此循環下去。0.2秒的閃爍速率也由定時/計數器T0來完成。
      2.      電路原理圖
      圖4.16.1
      3.      系統板硬件連線
      (1.       把“單片機系統”區域中的P1.0-P1.3用導線連接到“八路發光二極管指示模塊”區域中的L1-L4上
      4.      程序設計內容
      (1.       由于采用中斷方式來完成,因此,對于中斷源必須它的中斷入口地址,對于定時/計數器T0來說,中斷入口地址為000BH,因此在中斷入口地方加入長跳轉指令來執行中斷服務程序。書寫匯編源程序格式如下所示:
                                  ORG 00H
                                  LJMP START
                                  ORG 0BH        ;定時/計數器T0中斷入口地址
                                  LJMP INT_T0
      START:               NOP          ;主程序開始
                                  .
                                  .
      INT_T0:             PUSH ACC                  ;定時/計數器T0中斷服務程序
                                  PUSH PSW
                                  .
                                  .
                                  POP PSW
                                  POP ACC
                                  RETI                   ;中斷服務程序返回
                                  END
      (2.       定時2秒,采用16位定時50ms,共定時40次才可達到2秒,每50ms產生一中斷,定時的40次數在中斷服務程序中完成,同樣0.2秒的定時,需要4次才可達到0.2秒。對于中斷程序,在主程序中要對中斷開中斷。
      (3.       由于每次2秒定時到時,L1-L4要交替閃爍。采用ID來號來識別。當ID=0時,L1在閃爍,當ID=1時,L2在閃爍;當ID=2時,L3在閃爍;當ID=3時,L4在閃爍
      5.      程序框圖
      T0中斷服務程序框圖

      等待中斷
      TR0=1,ET0=1,EA=1
      開 始
      Count2S=0,Cnt02S=0,ID=0
      TMOD=01H,TH0,TL0裝入定時初值
       

      主程序框圖

       

       
      圖4.16.2
      6.      匯編源程序
      TCOUNT2S                EQU 30H
      TCNT02S                    EQU 31H
      ID                                 EQU 32H
                                            ORG 00H
                                            LJMP START
                                            ORG 0BH
                                            LJMP INT_T0
      START:                        MOV TCOUNT2S,#00H
                                           MOV TCNT02S,#00H
                                           MOV ID,#00H
                                            MOV TMOD,#01H
                                            MOV TH0,#(65536-50000) / 256
                                            MOV TL0,#(65536-50000) MOD 256
                                            SETB TR0
                                            SETB ET0
                                            SETB EA
                                            SJMP $
      INT_T0:                      MOV TH0,#(65536-50000) / 256
                                            MOV TL0,#(65536-50000) MOD 256
                                            INC TCOUNT2S
                                            MOV A,TCOUNT2S
                                            CJNE A,#40,NEXT
                                            MOV TCOUNT2S,#00H
                                            INC ID
                                            MOV A,ID
                                            CJNE A,#04H,NEXT
                                            MOV ID,#00H
      NEXT:                          INC TCNT02S
                                            MOV A,TCNT02S
                                            CJNE A,#4,DONE
                                            MOV TCNT02S,#00H
                                            MOV A,ID
                                            CJNE A,#00H,SID1
                                            CPL P1.0
                                            SJMP DONE
      SID1:                            CJNE A,#01H,SID2
                                            CPL P1.1
                                            SJMP DONE
      SID2:                           CJNE A,#02H,SID3
                                            CPL P1.2
                                            SJMP DONE
      SID3:                            CJNE A,#03H,SID4
                                            CPL P1.3
      SID4:                            SJMP DONE
      DONE:                        RETI
                                            END
      7.      C語言源程序
      #include <AT89X51.H>
      unsigned char tcount2s;
      unsigned char tcount02s;
      unsigned char ID;
      void main(void)
      {
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        TR0=1;
        ET0=1;
        EA=1;
        while(1);
      }
      void t0(void) interrupt 1 using 0
      {
        tcount2s++;
        if(tcount2s==40)
          {
            tcount2s=0;
            ID++;
            if(ID==4)
              {
                ID=0;
              }
          }
        tcount02s++;
        if(tcount02s==4)
          {
            tcount02s=0;
            switch(ID)
              {
                case 0:
                  P1_0=~P1_0;
                  break;
                case 1:
                  P1_1=~P1_1;
                  break;
                case 2:
                  P1_2=~P1_2;
                  break;
                case 3:
                  P1_3=~P1_3;
                  break;
              }
          }
      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嫩草黄片动漫版