<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>單時鐘完成多點分別計時的實現和應用

      單時鐘完成多點分別計時的實現和應用

      時間:2023-02-20 23:16:00 電子通信論文 我要投稿
      • 相關推薦

      單時鐘完成多點分別計時的實現和應用

       摘要:本文通過介紹只有雙時鐘的單片機系統,在多個事件需要分別定時或延時的時候,解決一個時鐘完成多個計時延時的有效方法,通過這種方法可以達到對多個被控事件統一自動控制目的。

          關鍵詞:單片機、定時器、機器周期、分頻

          一、引言

          單片機作為嵌入式系統的微控制器,已經不是新鮮的事情,作為單片機的定時/計數器的使用可以說沒有什么難度,但對于需要多個獨立計時的事件,單片機的兩個時鐘顯得有點不能滿足要求,其實不然,合理的運用內存和標志位可以實現一個定時器充當多個計時時鐘的效果,本文以51系列單片機為例,實現一個時鐘控制8個獨立馬達的運行過程中,時間分別統計方法。

          二、單片機計數/定時器的基本原理簡介

          本文以51系列單片機為例介紹定時器的用法,定時/計數器的原理可以分為定時和計數兩部分,定時器的原理是通過設定8位或16位的定時器單元,通過給定定時器單元的初值,然后啟動定時器,于是定時器開始從初值開始累計,每增加一個數需要特定的時間,這個特定的時間是累加指令的機器周期,是由MCU的晶振的頻率決定。對于51系列的單片機機器周期是時鐘周期的1/12,也就是晶振頻率的12分頻。單片機的定時器原理上相當于一個16位的內存單元,通過TMOD可以設定定時/計數器的工作方式。計數值從初值計到全“1”,如果是16位方式則計數單元變成FF,此時并不產生中斷,當下一個計數指令加1,導致存儲單元溢出,在中斷控制寄存器允許的情況下產生中斷,通過中斷服務程序執行特定的任務。計數器的原理不同之處在于,不是單純的加指令,而是對外部的脈沖計數,常用來測量脈沖的寬度。

          三、時鐘對多事件分別計數的具體途徑

          對于實時性要求不是很高的時間可以通過如下方式實現。在完成基本的定時器工作方式設定以后,也就是設定定時器的計數方式,比如16位或8位,以及計數的初始值,以及啟動中斷的方式,建議使“SETB   TR0”的方式。并且允許中斷。在中斷服務程序中,開辟存儲單元,以8個事件為例,每個事件不一定同時發生,每個事件發生以后以相同的時間延遲,再進行下一步的任務,為了完成定時延時,事件發生的時刻記作A1,A2,A3。。。。。。A10,中段服務程序中首先檢查有無這些既定的事件發生,沒有則不做任何處理,恢復計數初值后退出中斷,相反,假如檢測到AX(X=1、2、3。。。。。。)事件發生則給預先選定的對應的內存單元增加1,也就是執行累加運算,比如,

      A1~50H;        表示A1對應的存儲單元是50h
      A2~51H;        表示A2對應的存儲單元是51h
      A3~52H;
      。   。
      。   。
      。   。
      A7  57H;       表示A7對應的存儲單元是57h

          假如A3事件發生,則對52H內存表示的地址單元增加1,使用的指令是“INC  52H”,可以預先計算事件延時時間與計數單元數值的關系,當對應的數值到了預先設定的值時,執行下一任務。比如開關操作等等,并且恢復初始值以便繼續循環控制。這樣可以分別對A1到A7,8個任務分別計時,時間可以相同也可以不同,具體的情況可以根據中斷程序中寄存器累計的實際值與根據需要所設定的預定值比較而實現。

          四、典型應用

          也許大家都看到過繁華街道上的拼圖式廣告牌吧,有十幾個或者幾十個三棱柱,通過旋轉,構成不同的畫面,在每幅畫面都停留一段時間,這正好是上面介紹的情況,當一個棱柱的某個畫面轉到特定的角度,比如正對馬路的方向,該畫面必須停留,等所有與此畫面相連接而能拼成完整畫面的其他柱面到來,也就是從柱面開始啟動到下一次停下來需要所有畫面經過相同的時間,然而所有的主面不可能同時啟動,可能為了形成某種觀賞效果,有意依次啟動,或由中間開始啟動,逐漸向兩邊延伸,等等,所有這些事件的轉動控制實質就是定時控制,先啟動,先停止。最終保證所有的畫面構成一幅完整的畫面,而且必須是一個平面,我通過這種方法成功地完成了8組和15組轉動馬達的起停控制,實踐證明這種方法簡單可行。部分原程序如下所示。基本流程和部分程序代碼如下。

      以下是定時中斷服務程序的全部代碼,可以完成對8個事件的時間統計,并在時間滿足條件時,調用子程序OUT01,是對外部開關的控制指令。通過這段程序,成功實現了一個定時器對多個事件的自動運行控制(以下程序僅供參考)。

      TIME0:                  CLR       TR0
                       PUSH      PSW
                   &nbs

      p;          PUSH      ACC
                              MOV       TL0,#22H;定時100ms重新啟動定時器0
                       MOV       TH0,#1CH
                    
      LINSHI:                 MOV       A,2AH
                              CJNE       A,#0FFH,DEA
                              SETB       TR0
                              POP        ACC
                       POP        PSW   
                              RETI
                            
      DEA:                    MOV       A,2AH
                              CJNE      A,#00H,DE1
                              MOV       A,2CH
                              CJNE      A,#00H,DE1
                              ;SETB      TR0
                              POP       ACC
                       POP       PSW   
        &n

      bsp;                     RETI                                        
      DE1:                    JNB       2AH.0,DEAL1
      DE2:                    JNB       2AH.1,DEAL2
      DE3:                    JNB       2AH.2,DEAL3
      DE4:                    JNB       2AH.3,DEAL4I
      DE5:                    JNB       2AH.4,DEAL5I
      DE6:                    JNB       2AH.5,DEAL6I
      DE7:                    JNB       2AH.6,DEAL7I
      DE8:                    JNB       2AH.7,DEAL8I    
                          LJMP      FINISH
                           
      DEAL4I:                 LJMP      DEAL4                       
      DEAL5I:                 LJMP      DEAL5
      DEAL6I:                 LJMP      DEAL6                       
      DEAL7I:                 LJMP      DEAL7 
      DEAL8I:     

      ;            LJMP      DEAL8                       
      DEAL1:                  JNB       2CH.0,DE2
                              INC       50H
                              MOV       A,50H
                              CJNE      A,#20,DE2
                              CLR       2CH.0                       
                              LCALL     OUT01
                              mov       50h,#00h
                              LJMP      DE2                       
      DEAL2:                  JNB       2CH.1,DE3
                              INC       51H
                              MOV       A,51H
                              CJNE      A,#20,DE3                       
                              CLR 

            2CH.1                       
                              LCALL     OUT01
                              MOV       51H,#00H
                              LJMP      DE3  
       DEAL3:                JNB       2CH.2,DE4
                       INC       52H
                              MOV       A,52H
                              CJNE      A,#20,DE4
                              CLR       2CH.2
                              LCALL     OUT01
                              MOV       52H,#00H
                              LJMP      DE4
      DEAL4:                JNB       2CH.3,DE5I
                      INC       53H
                              MOV       A,53H
                              CJNE      A,#20,DE5I
                              CLR      

      2CH.3
                              LCALL     OUT01
                              MOV       53H,#00H
      DE5I:                   LJMP      DE5
      DEAL5:                 JNB       2CH.4,DE6I
                       INC       54H
                              MOV       A,54H
                              CJNE      A,#20,DE6I
                              CLR       2CH.4
                              MOV       54H,#00H
                              LCALL     OUT01
      DE6I:                   LJMP      DE6
      DEAL6:                  JNB       2CH.5,DE7I
                        INC       55H
                              MOV       A,55H
                              CJNE      A,#20,DE7I
                              CLR       2CH.5
                              LCALL     OUT01
         &nb

      sp;                    MOV       55H,#00H
      DE7I:                   LJMP      DE7
      DEAL7:                  JNB       2CH.6,DE8I
                       INC       56H
                              MOV       A,56H
                              CJNE      A,#20,DE8I
                              CLR       2CH.6
                              LCALL     OUT01
                              MOV       56H,#00H
      DE8I:                   LJMP      DE8
      DEAL8:                 JNB       2CH.7,FINISH
                       INC       57H
                              MOV       A,57H
                              CJNE      A,#20,FINISH
                              CLR       2CH.7
                              LCALL     OUT01
                              MOV       57H,#00H

           &nb

      sp;                     
      FINISH:                 MOV       A,2CH
                              CJNE      A,#00H,TUI
                             
                           
                              SETB      TR0;SETB      TR0
                       POP       ACC
                       POP       PSW
                       RETI
       TUI:                SETB      TR0;開定時器   
                       POP       ACC
                       POP       PSW   
                              RETI
      OUT01:              MOV      A,2CH
                              MOV      P2,A
                              CLR      G0
                              LCALL    DELAY
                              CLR      CLOCK
                              LCALL    DELAY
       

      ;                       SETB     CLOCK
                              NOP
                             
                              CLR      CLOCK
                              SETB     G0
                              LCALL    DELAY
                              RET



      【單時鐘完成多點分別計時的實現和應用】相關文章:

      GPS高精度的時鐘的設計和實現08-06

      無縫線路軌溫實時監測系統的實現和應用08-06

      Powerbuilder中樹形視圖的實現與應用08-06

      比和比的應用08-16

      無線通信SCADA系統的實現與應用08-06

      數據字典在ArcView GIS中的實現與應用08-09

      權威、地位和自我實現08-17

      用TL494實現單回路控制器08-06

      PowerPC和Dallas的時鐘芯片接口設計08-06

      主站蜘蛛池模板: 国偷自产一区二区三区在线视频| 亚洲精品一区二区三区蜜| 国产一级黄色片在线播放| a级免费视频| 2022最新国产在线不卡a| 国内精品久久久久影视| 看全黄大色黄大片视频| 亚洲日本VA午夜在线电影| 99热精品毛片全部国产无缓冲 | 又大又粗欧美成人网站| 国产午夜福利小视频合集| 人妻中文字幕精品系列| 国产精品自在线拍国产手机版| 国产成人一区二区三区免费| 欧美人与禽2o2o性论交| 亚洲无av在线中文字幕| 精品一区二区三区四区激情| 亚洲av综合色一区二区| 国产亚洲综合另类色专区| 韩国精品一区二区三区在线观看| 欧美老熟妇乱子伦牲交视频 | 国产高清在线不卡一区| 成人无码午夜在线观看| 精品人妻av区乱码| 人妻蜜臀久久av不卡| 国模雨珍浓密毛大尺度150p| 国产精品国产三级国快看| 精品人妻av中文字幕乱| 亚洲第三十四九中文字幕| 国产亚洲av日韩精品熟女| 绯色蜜臀av一区二区不卡| 中文字幕人妻中出制服诱惑| 国产精品老熟女露脸视频| 日韩精品在线观看一二区| 国产拗精品一区二区三区| 免费人成在线观看网站| 国产免费高清69式视频在线观看| 亚洲精品成人一二三专区| 色猫咪av在线观看| 亚洲国产中文字幕在线视频综合| 国产精品黄色片|