<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用MSP430F41單片機定時(shí)器實(shí)現信號采樣和PWM控制

利用MSP430F41單片機定時(shí)器實(shí)現信號采樣和PWM控制

作者: 時(shí)間:2011-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏
  方式廣泛應用于各種控制系統中,但對脈沖寬度的調節一般采用硬件來(lái)實(shí)現。如使用器或在系統中增加PWM電路[1]等,則成本高、響應速度慢,而且器與系統之間存在兼容問(wèn)題。另外,控制系統中的通常是由A/D轉換器來(lái)完成,因此檢測精度要求較高時(shí),調理電路復雜,而且因A/D的位數高,從而使設計的系統成本居高不下。

  本文以應用于溫度控制系統為例,介紹利用Motorola公司生產(chǎn)的新型單片機3內的定時(shí)器Time_A設計可以用時(shí)間量進(jìn)行溫度采樣以及實(shí)現PWM調節的方法。為了可在使用少量外圍電路的情況下實(shí)現控制系統的高精度測量和控制,一方面用時(shí)間量采樣,在省去1片A/D的情況下得到12位的高精度;另一方面在定時(shí)中斷內完全用軟件實(shí)現PWM調節,以易于進(jìn)行數據的通信和顯示。該系統在中斷內可以解決波形產(chǎn)生的實(shí)時(shí)在線(xiàn)計算和計算精度問(wèn)題,可精確、實(shí)時(shí)地計算設定頻率下的脈沖寬度。

1單片機3及定時(shí)器

  MSP430系列的單片機F413在超低功耗和功能集成上都有一定的特色,可大大減小外圍電路的復雜性,它的實(shí)時(shí)處理能力及各種外圍模塊使其可應用在多個(gè)低功耗領(lǐng)域[2]。3中通用16位定時(shí)器Timer_A有如下主要功能模塊。

  (1)一個(gè)可連續遞增計數至預定值并返回0的計數器。

  (2)軟件可選擇時(shí)鐘源。

  (3)5個(gè)捕獲/比較寄存器,每個(gè)有獨立的捕獲事件。

  (4)5個(gè)輸出模塊,支持脈寬調制的需要。

  定時(shí)器控制寄存器TACTL的各位可控制Timer_A的配置,并定義16位定時(shí)器的基本操作,可選擇原始頻率或分頻后的輸入時(shí)鐘源及4種工作模式。另外還有清除功能和溢出中斷控制位。5個(gè)捕獲/比較寄存器CCRx的操作相同,它們通過(guò)各自的控制寄存器CCTLx進(jìn)行配置。

2時(shí)間量采樣及PWM控制的實(shí)現原理

  以應用于溫度控制系統為例,介紹用定時(shí)器實(shí)現和PWM控制的方法。該溫度控制系統包括單片機、溫度測量電路、負載驅動(dòng)電路及電源控制、低電壓檢測和顯示電路等其他外圍部分。

  單片機MSP430F413中用于測量和控制溫度的主要I/O口有:

  P1.0:輸出50Hz方波,用于產(chǎn)生三角波。

  P1.2:驅動(dòng)溫度控制執行元件,2kHz方波PWM輸出。

  P2.0:脈寬捕捉。

2.1 單片機端口的中斷設置

  溫度控制系統的50Hz方波輸出、PWM輸出和輸入捕捉都是由定時(shí)中斷來(lái)實(shí)現。這3個(gè)中斷分別由P0、P1和P2口的外圍模塊引起,屬于外部可屏蔽中斷。初始化時(shí),對這3個(gè)I/O口進(jìn)行中斷設置,并對Time_A控制寄存器TACTL設置,包括輸入信號2分頻、選用輔助時(shí)鐘ACLK等。當定義完捕獲/比較寄存器后,重新賦值TACTL,啟動(dòng)定時(shí)器,開(kāi)始連續遞增計數。

2.2 脈寬捕捉實(shí)現溫度值的采樣

  溫度測量電路將溫度值轉換為電壓值,同時(shí)單片機產(chǎn)生的50Hz方波經(jīng)電容充放電電路變換得到同頻率的三角波,其電壓值切割三角波,從而將溫度值轉換為相應寬度的脈沖送入單片機。波形變化如圖1所示。

  通過(guò)設置CCTLx中的模式位,可將對應的捕獲/比較寄存器CCRx設定為捕獲模式,用于時(shí)間事件的精確定位。如果在選定的輸入引腳上發(fā)生選定脈沖的觸發(fā)沿,則定時(shí)器計數的值將被復制到CCRx中。根據這一原理,選定P2.0為輸入引腳,設置CCTL2為捕獲模式,所測溫度值由模擬量經(jīng)測量電路轉換為脈沖后,P2.0捕捉脈沖下降沿,進(jìn)入中斷T2,得到與溫度值一致的單位時(shí)間內的脈沖數,存入CCR2作進(jìn)一步處理。

  這樣,系統就在不使用A/D轉換器的情況下完成了模數轉換。因為單片機的時(shí)鐘精確度高,而且時(shí)間量是一個(gè)相對精度極高的量,但本系統中用時(shí)間量進(jìn)行溫度采樣可獲得12位的高精度,同時(shí)采用50Hz脈沖,可以大大消除工頻干擾。這些都為進(jìn)行精確的溫度控制提供了必要的條件。

pwm相關(guān)文章:pwm原理



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: MSP430F41 信號采樣 PWM控制

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>