用89C51和8254-2實(shí)際步進(jìn)式PWM輸出
發(fā)布時(shí)間:2008/6/3 0:00:00 訪問(wèn)次數(shù):1076
來(lái)源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》
摘要:介紹一種新型pwm輸出的方式。它是用89c51作為主控部分,用8254-2可編程定時(shí)器/計(jì)數(shù)器來(lái)實(shí)現(xiàn)1hz~3khz步進(jìn)式pwm的輸出;具有分辨率高、反應(yīng)速度快及占用cpu時(shí)間少的優(yōu)點(diǎn)。 關(guān)鍵詞:8254-2 89c51 脈寬調(diào)制(pwm) 分辨率 引言 脈寬調(diào)制(pwm)技術(shù)最初是在無(wú)線電技術(shù)中用于信號(hào)的調(diào)制,后來(lái)在電機(jī)調(diào)速中得到了很好的應(yīng)用。本設(shè)計(jì)中要求輸出pwm從1hz~3khz步進(jìn)式遞增,單步為1hz。由于89c51的時(shí)鐘最大能取24mhz,單指令周期為0.5μs,計(jì)數(shù)頻率為×10 6hz。當(dāng)輸出2999hz和3000hz時(shí),若采用89c51內(nèi)部計(jì)數(shù)器來(lái)計(jì)數(shù),根本無(wú)法區(qū)別。因?yàn)橛?jì)數(shù)頻率為2mhz,單指令周期0.5μs,而要輸出2999hz時(shí),計(jì)數(shù)應(yīng)為666.889;輸出3000hz時(shí),計(jì)數(shù)誚為666.887。因此在本設(shè)計(jì)中,采用外部定時(shí)器/計(jì)數(shù)器8254-2。因?yàn)?254-2最高計(jì)數(shù)頻率可達(dá)10mhz,能滿足以上設(shè)計(jì)的要求,另外采用8254-2的工作方式3可輸出方波。當(dāng)定時(shí)器/計(jì)數(shù)器8254-2以方式3工作時(shí),在計(jì)數(shù)的過(guò)程中輸出有一半時(shí)間為高,另一半時(shí)間為低。所以,若計(jì)數(shù)值為n,則其輸出在前n/2時(shí)可輸出高電平,后n/2時(shí)可輸出低電平,不需要用軟件來(lái)控制高低電平的轉(zhuǎn)換,但8254-2計(jì)數(shù)范圍有一定的限制,在采用二進(jìn)制計(jì)數(shù)時(shí),范圍為0000~9999,最大計(jì)數(shù)為10 000。此外,為了使分辨率達(dá)到要求,還需要考慮程序指令所占用的時(shí)間,尤其是在輸出高頻時(shí),分辨率尤為重要。
1 硬件設(shè)計(jì) 1.1 8254可編程定時(shí)器/計(jì)數(shù)器[1]簡(jiǎn)介 intel公司的8254是8253的改進(jìn)型,操作方式及引腳與8253完全相同。它的改進(jìn)主要反映在2方面:①8254的計(jì)數(shù)頻率更高,可由直流至6mhz;8254-2可高達(dá)10mhz。②8254多個(gè)1個(gè)讀回命令(寫至控制器的寄存器),其格式如圖1所示。 這個(gè)命令可以令3個(gè)通道的計(jì)數(shù)器都鎖存(8253要3個(gè)通道的計(jì)數(shù)值都鎖存,需寫入3個(gè)命令)。另外,8254中的每個(gè)計(jì)數(shù)器都有1個(gè)狀態(tài)字可由讀回命令令其鎖存,然后由cpu讀取。狀態(tài)字的格式如圖2所示。其中d5~d0即為寫入此通道的控制字的相應(yīng)部分。d7反映了該計(jì)數(shù)器的輸出引腳。輸出(out)為高電平,d7=1;輸出為低電平,d7=0。d6反映時(shí)間常數(shù)寄存器中的計(jì)數(shù)值是否已經(jīng)寫入了計(jì)數(shù)單元中。當(dāng)向通道寫入控制字以及計(jì)數(shù)值后,狀態(tài)字節(jié)中的d6=1;只有當(dāng)計(jì)數(shù)值寫入計(jì)數(shù)單元后,d6=0。 本設(shè)計(jì)選擇8254-2的方式3工作。方式3是一種方波速率發(fā)生器。在這種方式中,當(dāng)cpu設(shè)置控制字后,輸出將為高,在寫完計(jì)數(shù)值后就自動(dòng)開始計(jì)數(shù),輸出保持為高;當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變?yōu)榈,直至?jì)數(shù)到0,輸出又變高,重新開始計(jì)數(shù)。若在計(jì)數(shù)期間寫入個(gè)新的計(jì)數(shù)值,并不影響現(xiàn)行的計(jì)數(shù)過(guò)程。但是若在方波半周期結(jié)束前和新計(jì)數(shù)值寫入后收到gate脈沖,計(jì)數(shù)器將在下一個(gè)clk脈沖時(shí)裝入新的計(jì)數(shù)值并以這個(gè)計(jì)數(shù)值開始計(jì)數(shù)。否則,新的計(jì)數(shù)值將在現(xiàn)行半周期結(jié)束時(shí)裝入計(jì)數(shù)器。
1.2 pwm輸出的硬件設(shè)計(jì) 本設(shè)計(jì)選用可編程定時(shí)器/計(jì)數(shù)器8254-2,其最高計(jì)數(shù)頻率可達(dá)10mhz;充分利用8254-2的3個(gè)定時(shí)器/計(jì)數(shù)器,采取頻率的分頻輸出,并且不需要外部的信號(hào)源輸入,硬件電路簡(jiǎn)化;通過(guò)軟件的處理可以實(shí)現(xiàn)連續(xù)(1hz~3khz)pwm波的輸出。本設(shè)計(jì)中將要輸出的pwm波分為3段,分別由8254-2中的3個(gè)定時(shí)/計(jì)數(shù)器輸出,門控由p2.2、p2.3、p2.4分別加以控制。在1~20hz的輸出時(shí),采用定時(shí)
來(lái)源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》
摘要:介紹一種新型pwm輸出的方式。它是用89c51作為主控部分,用8254-2可編程定時(shí)器/計(jì)數(shù)器來(lái)實(shí)現(xiàn)1hz~3khz步進(jìn)式pwm的輸出;具有分辨率高、反應(yīng)速度快及占用cpu時(shí)間少的優(yōu)點(diǎn)。 關(guān)鍵詞:8254-2 89c51 脈寬調(diào)制(pwm) 分辨率 引言 脈寬調(diào)制(pwm)技術(shù)最初是在無(wú)線電技術(shù)中用于信號(hào)的調(diào)制,后來(lái)在電機(jī)調(diào)速中得到了很好的應(yīng)用。本設(shè)計(jì)中要求輸出pwm從1hz~3khz步進(jìn)式遞增,單步為1hz。由于89c51的時(shí)鐘最大能取24mhz,單指令周期為0.5μs,計(jì)數(shù)頻率為×10 6hz。當(dāng)輸出2999hz和3000hz時(shí),若采用89c51內(nèi)部計(jì)數(shù)器來(lái)計(jì)數(shù),根本無(wú)法區(qū)別。因?yàn)橛?jì)數(shù)頻率為2mhz,單指令周期0.5μs,而要輸出2999hz時(shí),計(jì)數(shù)應(yīng)為666.889;輸出3000hz時(shí),計(jì)數(shù)誚為666.887。因此在本設(shè)計(jì)中,采用外部定時(shí)器/計(jì)數(shù)器8254-2。因?yàn)?254-2最高計(jì)數(shù)頻率可達(dá)10mhz,能滿足以上設(shè)計(jì)的要求,另外采用8254-2的工作方式3可輸出方波。當(dāng)定時(shí)器/計(jì)數(shù)器8254-2以方式3工作時(shí),在計(jì)數(shù)的過(guò)程中輸出有一半時(shí)間為高,另一半時(shí)間為低。所以,若計(jì)數(shù)值為n,則其輸出在前n/2時(shí)可輸出高電平,后n/2時(shí)可輸出低電平,不需要用軟件來(lái)控制高低電平的轉(zhuǎn)換,但8254-2計(jì)數(shù)范圍有一定的限制,在采用二進(jìn)制計(jì)數(shù)時(shí),范圍為0000~9999,最大計(jì)數(shù)為10 000。此外,為了使分辨率達(dá)到要求,還需要考慮程序指令所占用的時(shí)間,尤其是在輸出高頻時(shí),分辨率尤為重要。
1 硬件設(shè)計(jì) 1.1 8254可編程定時(shí)器/計(jì)數(shù)器[1]簡(jiǎn)介 intel公司的8254是8253的改進(jìn)型,操作方式及引腳與8253完全相同。它的改進(jìn)主要反映在2方面:①8254的計(jì)數(shù)頻率更高,可由直流至6mhz;8254-2可高達(dá)10mhz。②8254多個(gè)1個(gè)讀回命令(寫至控制器的寄存器),其格式如圖1所示。 這個(gè)命令可以令3個(gè)通道的計(jì)數(shù)器都鎖存(8253要3個(gè)通道的計(jì)數(shù)值都鎖存,需寫入3個(gè)命令)。另外,8254中的每個(gè)計(jì)數(shù)器都有1個(gè)狀態(tài)字可由讀回命令令其鎖存,然后由cpu讀取。狀態(tài)字的格式如圖2所示。其中d5~d0即為寫入此通道的控制字的相應(yīng)部分。d7反映了該計(jì)數(shù)器的輸出引腳。輸出(out)為高電平,d7=1;輸出為低電平,d7=0。d6反映時(shí)間常數(shù)寄存器中的計(jì)數(shù)值是否已經(jīng)寫入了計(jì)數(shù)單元中。當(dāng)向通道寫入控制字以及計(jì)數(shù)值后,狀態(tài)字節(jié)中的d6=1;只有當(dāng)計(jì)數(shù)值寫入計(jì)數(shù)單元后,d6=0。 本設(shè)計(jì)選擇8254-2的方式3工作。方式3是一種方波速率發(fā)生器。在這種方式中,當(dāng)cpu設(shè)置控制字后,輸出將為高,在寫完計(jì)數(shù)值后就自動(dòng)開始計(jì)數(shù),輸出保持為高;當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變?yōu)榈,直至?jì)數(shù)到0,輸出又變高,重新開始計(jì)數(shù)。若在計(jì)數(shù)期間寫入個(gè)新的計(jì)數(shù)值,并不影響現(xiàn)行的計(jì)數(shù)過(guò)程。但是若在方波半周期結(jié)束前和新計(jì)數(shù)值寫入后收到gate脈沖,計(jì)數(shù)器將在下一個(gè)clk脈沖時(shí)裝入新的計(jì)數(shù)值并以這個(gè)計(jì)數(shù)值開始計(jì)數(shù)。否則,新的計(jì)數(shù)值將在現(xiàn)行半周期結(jié)束時(shí)裝入計(jì)數(shù)器。
1.2 pwm輸出的硬件設(shè)計(jì) 本設(shè)計(jì)選用可編程定時(shí)器/計(jì)數(shù)器8254-2,其最高計(jì)數(shù)頻率可達(dá)10mhz;充分利用8254-2的3個(gè)定時(shí)器/計(jì)數(shù)器,采取頻率的分頻輸出,并且不需要外部的信號(hào)源輸入,硬件電路簡(jiǎn)化;通過(guò)軟件的處理可以實(shí)現(xiàn)連續(xù)(1hz~3khz)pwm波的輸出。本設(shè)計(jì)中將要輸出的pwm波分為3段,分別由8254-2中的3個(gè)定時(shí)/計(jì)數(shù)器輸出,門控由p2.2、p2.3、p2.4分別加以控制。在1~20hz的輸出時(shí),采用定時(shí)
熱門點(diǎn)擊
- 利用單片機(jī)實(shí)現(xiàn)的模擬信號(hào)和數(shù)字信號(hào)單線混合傳
- 用89C51和8254-2實(shí)際步進(jìn)式PWM輸
- TCP/IP協(xié)議棧在嵌入式異構(gòu)網(wǎng)絡(luò)互聯(lián)中的應(yīng)
- WindowsCE中實(shí)現(xiàn)藍(lán)牙串口驅(qū)動(dòng)程序
- 具有語(yǔ)音辨識(shí)能力的聲控小汽車的實(shí)現(xiàn)
- 基于FM1702的非接觸式讀寫模塊設(shè)計(jì)
- CAMC—IP型二軸運(yùn)動(dòng)控制電路的功能及應(yīng)用
- 在機(jī)頂盒中的應(yīng)用
- 基于JTAG的ARM芯片系統(tǒng)調(diào)試
- 基于PCI/CPCI總線的嵌入式實(shí)時(shí)智能通信
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說(shuō)新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 第8代1800A/1200V
- 1200V CoolSiC嵌入
- PCB嵌入式功率芯片封裝應(yīng)用研究
- 反射傳感器簡(jiǎn)化光電開關(guān)設(shè)計(jì)
- 導(dǎo)電性高分子混合鋁電解電容器
- PCIe Gen4 SSD主控芯片
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究