<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430F5529 (七)定時(shí)器B

          MSP430F5529 (七)定時(shí)器B

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          7.2.5捕獲/比較控制寄存器TB0CCTL0-TB0CCTL6:
          CM:捕獲模式設(shè)定 00不捕獲
          01上升沿捕獲
          10下降沿捕獲
          11上升和下降沿都捕獲
          CCIS:捕獲源的選擇 00CCIxA
          01CCIxB
          10GND
          11VCC
          SCS:同步捕獲源,設(shè)定是否與時(shí)鐘同步
          0異步捕獲
          1同步捕獲
          CLLD:比較寄存器緩沖裝載模式選擇。
          00 TB0CCRn的值(改變時(shí))立即裝載到TB0CLn
          01當(dāng)TB0R的值計(jì)到0時(shí),進(jìn)行裝載
          10增模式或者連續(xù)模式下,TBR0值計(jì)到0時(shí),進(jìn)行裝載;
          增減模式下,TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
          11TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
          CAP: 0-比較模式 1-捕獲模式
          OUTMOD:輸出模式控制位。同TA一模一樣
          CCIE:中斷使能,該位允許相應(yīng)的CCIFG標(biāo)志中斷請(qǐng)求。
          0-中斷禁止 1-中斷允許
          CCI:捕獲比較輸入,所選擇的輸入信號(hào)可以通過該位讀取
          OUT:對(duì)于輸出模式0,該位直接控制輸出狀態(tài)。
          0-輸出低電平 1-輸出高電平
          COV:捕獲溢出位。該位表示一個(gè)捕獲溢出發(fā)出,COV必須由軟件復(fù)位。
          0-沒有捕獲溢出發(fā)生1-有捕獲溢出發(fā)生
          CCIFG:捕獲比較中斷標(biāo)志位。
          0-沒有中斷掛起 1-有中斷掛起
          7.2.6 中斷向量寄存器TB0IV
          同TAIV一樣,里面存放一個(gè)數(shù)字編號(hào)。
          7.3重點(diǎn)講TB和TA的不同之處
          7.3.1沒有再把CCI信號(hào)鎖存了
          TA作捕獲器的時(shí)候,CCI為捕獲信號(hào),然后CCI被鎖存輸出 為SCCI;
          但是,TB沒有鎖存。也就是說只能從CCI位查看輸入信 號(hào)了。
          7.3.2計(jì)數(shù)值位數(shù)可調(diào)了(其實(shí)無所謂,都可以16位那干嘛不用)
          TA的計(jì)數(shù)值寄存器TAR只能是16位(0XFFFFh);
          TB的計(jì)數(shù)值寄存器TBR可以選擇是16、12、10、8位;
          7.3.3兩級(jí)緩沖比較器(比較模式下)
          TA里面,我們?cè)赥ACCRn中寫入要比較的數(shù)值,然后讓TAR中的計(jì)數(shù)值和TACCRn比較,如果相等了,相應(yīng)的標(biāo)志位就會(huì)置位;
          TB里面,不僅有TB0CCRn,還多了一個(gè)二級(jí)緩存器TB0CLn。TB0CLn不能被直接進(jìn)行操作,它的值只能來源于TB0CCRn。計(jì)數(shù)的時(shí)候,TB0R中的計(jì)數(shù)值不和TB0CCRn比較,而是和TB0CLn進(jìn)行比較。
          二級(jí)緩沖是為了防止我們?cè)谛薷腡B0CCRn的值的時(shí)候,對(duì)計(jì)數(shù)產(chǎn)生影響。因?yàn)橛?jì)數(shù)器不直接和TB0CCRn比較,而是TB0CCRn把值賦給TB0CLn,由TB0CLn去和TB0R進(jìn)行比較。所以也就有了CLLD位控制比較寄存器緩沖裝載模式:(當(dāng)向TB0CCRn中重新寫數(shù)時(shí))
          00TB0CCRn的值立即裝載到TB0CLn
          01當(dāng)TB0R的值計(jì)到0時(shí),進(jìn)行裝載
          10增模式或者連續(xù)模式下,TBR0值計(jì)到0時(shí),進(jìn)行裝載;
          增減模式下,TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
          11 TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
          7.3.4比較器可以被分組
          TA沒有二級(jí)緩沖寄存器,而且本來的TACCRn也只能被單 獨(dú)使用。
          對(duì)于TB:
          TBCLGGRP:TB0CLn二級(jí)緩沖寄存器分組控制
          00:每個(gè)TB0CLn獨(dú)立使用
          01:TB0CL1+TB0CL2作為一組(TB0CCR1的CLLD位控制整組數(shù)據(jù)更新)
          TB0CL3+TB0CL4作為一組(TB0CCR3的CLLD位控制整組數(shù)據(jù)更新)
          TB0CL5+TB0CL6作為一組(TB0CCR5的CLLD位控制整組數(shù)據(jù)更新)
          10:TB0CL1、2、3一組,(TB0CCR1的CLLD位控制整組數(shù)據(jù)更新)
          TB0CL4、5、6一組,(TB0CCR4的CLLD位控制整組數(shù)據(jù)更新)
          11:TB0CL0、1、2、3、4、5、6整合為一組,
          (TB0CCR1的CLLD位控制整組數(shù)據(jù)更新)
          所謂的分組,就是該組的數(shù)據(jù)要同時(shí)更新。
          以10模式下的TB0CL1、2、3這組為例:
          TB0CCTL1中的CLLD設(shè)置為01,即TB0R計(jì)數(shù)到0時(shí),TB0CCR1就會(huì)把值裝載(更新)到TB0CL2中,同時(shí)TB0CCR2就會(huì)把值裝載(更新)到TB0CL2中,同時(shí)TB0CCR3也會(huì)把值裝載(更新)到TB0CL3中。無論TB0CCRn中的值有幾個(gè)發(fā)生了變化,但它們都只會(huì)同時(shí)更新TB0CLn。
          一個(gè)重要的應(yīng)用:
          如圖,增減模式下,可以用來產(chǎn)生有死區(qū)時(shí)間(dead time)的信號(hào)。
          我們知道有一種H橋電路結(jié)構(gòu),該電路有一般有兩個(gè)輸入端,而且這兩個(gè)輸入端(1和2)嚴(yán)禁同時(shí)輸入高電平。那么該怎么產(chǎn)生驅(qū)動(dòng)該電路的信號(hào)呢:
          但是,如果我們想要在系統(tǒng)運(yùn)行的時(shí)候,修改死區(qū)時(shí)間怎么辦。那只有修改
          比較器里面的數(shù)值了。這樣就有問題了,如果兩個(gè)比較器數(shù)值沒有同時(shí)修改,那么就有可能產(chǎn)生同時(shí)為高電平的情況,這就很危險(xiǎn)了。所以,我們把比較器分組,這樣數(shù)據(jù)同時(shí)更新,就不會(huì)有這樣的擔(dān)心了。
          上一頁 1 2 下一頁

          關(guān)鍵詞: MSP430F5529定時(shí)器

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();