版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PWMio利用PXVM實(shí)現(xiàn)D1功能的典型應(yīng)用線路圖P?”匚二 Ir*?3|ZZ RSI 匚 2二 KxD £ 3匚二 iiPdL 1P0.0A= 3XTAL2IZZ aKIAL1ILXK ;P3J 匚二 3PI A-ACOJPI 5'ADCSK1P1.1-.DU1PI.3DC3?0 1 IC4T1F3 JF02P12MDCHVDaKairTfi; rcTTC.?3 4CLKOIHI rNlTLP35E2.1?2 3vssPI tyADCI PLO-'ATCOF2.7104Zp10KT>AP2.S04豐實(shí)例一:電路圖如上,該程序的功能是利用按鍵S1對(duì)LED的亮度進(jìn)
2、行調(diào)節(jié)。程序如下:#includeH12c5A” 注意這個(gè)頭文件,用reg52是不行的,如果你沒(méi)有的話,可以去百/度文檔里搜索“ STC12c5A系列單片機(jī)頭文件”,有我共享的頭文件void delay(u nsig ned int ent) (un sig ned char i;for(;c nt>O;c nt-)for(i=0;i<250;i+);)void mai n()CCON=0; /PCA 初始化CL=0; /PCA的16位計(jì)數(shù)器低八位CH=0; /PCA的16位計(jì)數(shù)器高八位CMOD=OxOO; 選擇 系統(tǒng)時(shí)鐘/12 為計(jì)數(shù)脈沖,貝ij PWM 勺頻率 f=sysclk
3、/256/12; CCAP0H=0x80; /占空比控制CCAP0L=0x80;PCA_PWM0=0x00; 控制占空比的第九位為0CCAPM0=0x42; 允許 P13 作為 PWM 輸出CR=1; 啟動(dòng)PCA計(jì)數(shù)器while(1)if(P10=0) delay(200); while(P10=0);CCAP0H+=10; 占空比調(diào)節(jié) CCAP0L+=10;實(shí)例二:兩個(gè)文件#include <>#include <> #define 1)8 unsigned char#define U16 unsigned intvoid DelayMs(U8 ms);void PW
4、M_clock(U8 clock);void PWM_start(U8 module,U8 mode);llllllllllllllllllllll 延時(shí)子程序 lllllllllllllllllllllllllllllvoid DelayMs(U8 ms) / 在11.0592M晶振下,stclOf系列(單周期指令)的ms級(jí)延時(shí)U16i;while(ms-)(for(i = 0; i < 850; i+);llllllllllllllllllll)主函數(shù)入口 llllllllllllllllllllllllllllsfr CCON=0xD8; /PCAsfr CMOD sfrrr AD
5、h/insfrsfr CL =0xD9; /PCA=OxDA; /PCA=OxDB; /PCA 0xE9;/PCAsfr CH = 0xF9; /PCAsfr CCAPOL = OxEA; /PCAsfr CCAPOH = OxFA; /PCA控制寄存器模式寄存器模塊0模式寄存器 模塊。對(duì)應(yīng)CEX°/PCA°/PWM°(STC12c5A60S系歹q)模塊1模式寄存器 模塊1對(duì)應(yīng)CEX1/PCA1/PWM1(STC12c5A60s系歹D 定時(shí)寄存器低位定時(shí)寄存器高位模塊0的捕獲寄存器低位模塊0的捕獲寄存器高位sfr CCAP1L = 0xEB;/PCAsfr CCA
6、P1H = 0xFB;/PCA模塊1的捕獲寄存器低位模塊1的捕獲寄存器高位sfr PCA_PWM0 = 0xF2; /PCA PWM 模式輔助寄存器 0sfr PCA_PWM1 = 0xF3; /PCA PWM 模式輔助寄存器 1 sbit CF = OxDF; /PCA sbitCR = OxDE;/PCAsbit CCF1 = 0xD9; /PCA sbit CCFO = 0xD8; /PCA/* CCAPOH = CCAPOL = OXCO; / /* CCAPOH = CCAPOL = 0X80; / 計(jì)數(shù)溢出標(biāo)志位計(jì)數(shù)器運(yùn)行控制位 模塊1中斷標(biāo)志模塊0中斷標(biāo)志模塊0輸出占空因數(shù)為25
7、%模塊0輸出占空因數(shù)為50%/* CCAPOH = CCAPOL = 0X40;/ 模塊 0 輸出占空因數(shù)為75% void PWM_clock(U8 clock);void PWM_start(U8 module,U8 mode);void PWM_clock(U8 clock)CMOD |= (clock«1);CL = 0x00;CH = 0x00; )void PWM_start(U8 module,U8 mode)CCAPOL = 0XC0;CCAPOH = 0XC0;/模塊0初始輸出CCAP1L = 0XC0;CCAP1H = 0XC0; /模塊1初始輸出 if(modu
8、le=0)switch(mode)(case 0: CCAPM0 = 0X42;break; / case 1: CCAPMO = 0X53;break; / case 2: CCAPMO = 0X63;break; / default: break;)elseif(module=1)switch(mode)(=0X42;break; / case 1: CCAPM1 = 0X53;break; / case 2: CCAPM1 = 0X63;break; / case 3: CCAPM1 = 0X73;break; / case 0: CCAPM1 default: break;占空因數(shù)為2
9、5%占空因數(shù)為25%case 3: CCAPMO = 0X73;break; /8位PWM輸出,無(wú)中斷模塊0設(shè)置為8位PWM輸出,下降沿產(chǎn)生中斷模塊0設(shè)置為8位PWM輸出,上升沿產(chǎn)生中斷 模塊0設(shè)置為&位PWM輸出,跳變沿產(chǎn)生中斷 模塊°設(shè)置為模塊1設(shè)置為8位PWM輸出,無(wú)中斷模塊1設(shè)置為8位PWM輸出,下降沿產(chǎn)生中斷模塊1設(shè)置為8位PWM輸出,上升沿產(chǎn)生中斷模塊1設(shè)置為8位PWM輸出,跳變沿產(chǎn)生中斷elseif(module=2)(switch(mode)(case 0: CCAPMO = CCAPM1=0X42;break; /case 1: CCAPMO = CCAPM
10、1 = 0X53;break; /case 2: CCAPMO = CCAPM1 = 0X63;break; /模塊0和1設(shè)置為模塊0和1設(shè)置為模塊0和1設(shè)置為8位PWM輸出,無(wú)中斷8位PWM輸出,下降沿產(chǎn)生中斷8位PWM輸出,上升沿產(chǎn)生中斷case 3: CCAPMO = CCAPM1 = 0X73;break; / default: break;)CR=1;PCA計(jì)數(shù)器開(kāi)始計(jì)數(shù))void PCA_lntrrpt(void) interrupt 7模塊0和1設(shè)置為8位PWM輸出,跳變沿產(chǎn)生中斷if(CCFO) CCF0=0;if(CCF1) CCF1=0;/ 軟件清零 if(CF) CF=0
11、; / 軟件清零)void main()(TMOD|=0x02; /* timer 0 mode 2: 8-Bit reload */ THO=Oxff;TR0=1;PWM_clock; PCA/PWM時(shí)鐘源為 定時(shí)器0的溢出PWM_start(OQ);模塊0,設(shè)置為PWM輸出,無(wú)中斷,初始占空因素為25% while。)(DelayMs(250);)12C5A#include <> #define L)8 unsigned charsfr CCON = OxD8;/PCA控制寄存器sfr CMOD = 0xD9; /PCA sfr CCAPMO = OxDA; /PCAsfr C
12、CAPM1 = OxDB; /PCAsfrCL = 0xE9;/PCAsfr CH = 0xF9; /PCAsfr CCAPOL = OxEA; /PCA sfr CCAPOH = OxFA; /PCA sfr CCAP1L =OxEB;/PCAsfr CCAP1H = OxFB; /PCA模式寄存器模塊。模式寄存器模塊°對(duì)應(yīng)CEX°/PCA°/PWM°(STC12c5A60S系歹IJ)模塊1模式寄存器模塊1對(duì)應(yīng)CEX1/PCA1/PWM1(STC12c5A60s系歹I)定時(shí)寄存器低位定時(shí)寄存器高位模塊0的捕獲寄存器 低位模塊0的捕獲寄存器模塊高位低位模
13、塊1聃懶需襦 高位sfr PCA_PWM0 = 0xF2; /PCA PWM 模式輔助寄存器 模sfr PCA_PWM1 = 0xF3;/PCA PWM式輔助寄存器sbit CF = OxDF; /PCA sbitCR = OxDE;/PCA模塊0輸出占空因數(shù)為75%sbit CCF1 = 0xD9; /PCA sbit CCFO = 0xD8; /PCA/* CCAPOH = CCAPOL = OXCO; / /* CCAPOH = CCAPOL = 0X80;/ /* CCAPOH = CCAPOL = 0X40; / 計(jì)數(shù)溢出標(biāo)志位計(jì)數(shù)器運(yùn)行控制位模塊1中斷標(biāo)志模塊0中斷標(biāo)志模塊0輸出占
14、空因數(shù)為25%模塊0輸出占空因數(shù)為50%void PWM_clock(U8 clock);void PWM_start(U8 module,U8 mode);void PWM_clock(U8 clock)CMOD |= (clock«1);CL = 0x00;CH = 0x00; )void PWM_start(U8 module,U8 mode) CCAPOL = 0XC0;CCAPOH = 0XC0; /模塊0初始輸出 占空因數(shù)為25%CCAP1L = 0XC0;CCAP1H = 0XC0; 模塊1初始輸出占空因數(shù)為25% if(module=0)switch(mode)cas
15、e 0: CCAPM0 = 0X42;break; / case 1: CCAPMO = 0X53;break; / case 2: CCAPMO = 0X63;break; / case 3: CCAPMO = 0X73;break; / default: break;)elseif(module=1)(switch(mode)模塊0設(shè)置為8位PWM輸出,無(wú)中斷模塊0設(shè)置為8位PWM輸出,下降沿產(chǎn)生中斷模塊0設(shè)置為8位PWM輸出,上升沿產(chǎn)生中斷模塊0設(shè)置為8位PWM輸出,跳變沿產(chǎn)生中斷case 0: CCAPM1 = 0X42;break; / case 1: CCAPM1 = 0X53;b
16、reak; / case 2: CCAPM1 = 0X63;break; / case 3: CCAPM1 = 0X73;break; / default:模塊1設(shè)置為8位PWM輸出,無(wú)中斷模塊1設(shè)置為8位PWM輸出,下降沿產(chǎn)生中斷模塊1設(shè)置為8位PWM輸出,上升沿產(chǎn)生中斷模塊1設(shè)置為8位PWM輸出,跳變沿產(chǎn)生中斷break;) )elseif(module=2) switch(modecase 0: CCAPMO = CCAPM1 = 0X42;break;/case 1: CCAPMO = CCAPM1 = 0X53;break; / case 2: CCAPMO = CCAPM1 = 0X63;break
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 邢臺(tái)柏鄉(xiāng)縣招聘綜治中心工作人員考試真題2025
- 丹江口市市級(jí)機(jī)關(guān)選調(diào)真題2025
- 2025年榆林市橫山區(qū)事業(yè)單位考試真題
- 2024年邯鄲市衛(wèi)生系統(tǒng)考試真題
- 養(yǎng)老院服務(wù)質(zhì)量監(jiān)督評(píng)價(jià)制度
- 養(yǎng)老院內(nèi)部管理制度與規(guī)定
- 企業(yè)商務(wù)活動(dòng)策劃與組織制度
- 2026年數(shù)據(jù)即服務(wù)項(xiàng)目評(píng)估報(bào)告
- 2026年智能電動(dòng)尾門項(xiàng)目營(yíng)銷方案
- 2026年數(shù)字孿生工業(yè)軟件平臺(tái)項(xiàng)目評(píng)估報(bào)告
- 空調(diào)配件銷售合同范本
- 2025年黨建知識(shí)競(jìng)賽題及答案
- 《光伏發(fā)電技術(shù)》課件(共七章)
- 2025年國(guó)家開(kāi)放大學(xué)《電子政務(wù)概論》期末考試備考題庫(kù)及答案解析
- 醫(yī)療器械使用與維護(hù)常見(jiàn)問(wèn)題匯編
- 中遠(yuǎn)海運(yùn)集團(tuán)筆試題庫(kù)2025
- 企業(yè)員工培訓(xùn)效果評(píng)估報(bào)告模板
- 醫(yī)療器械胰島素泵市場(chǎng)可行性分析報(bào)告
- 地鐵施工現(xiàn)場(chǎng)防臺(tái)風(fēng)措施
- 種植業(yè)合作社賬務(wù)處理
- 【麗江玉龍旅游薪酬制度的創(chuàng)新研究6100字】
評(píng)論
0/150
提交評(píng)論