版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
按試驗臺號就坐,每個試驗臺2名學(xué)生。3班坐1—18試驗臺,2班坐19—27試驗臺。若您的電腦沒有看到老師的屏幕,請修改你的IP地址為試驗臺號安靜試驗7CCP模塊試驗Capture/Compare/PWMModule
CCPModule1、試驗名稱
CCP模塊試驗----PWM脈寬調(diào)制試驗//1、今天的完成1khz占空比0.5的PWM脈沖信號的輸出//2、完成8khz,占空比1/8的PWM脈沖信號的輸出//3、完成400hz,占空比1/2的PWM脈沖信號的輸出
2、試驗?zāi)康膶W(xué)習(xí)PWM模塊的使用,輸出PWM信號3、試驗設(shè)備硬件環(huán)境:微機、ICD2調(diào)試器、實驗板軟件環(huán)境:MPLABIDE、HI-TECHC語言工具4、試驗電路RC2/CCP2RC1/CCP2引腳5、試驗原理
PWM則是輸出脈沖寬度可調(diào)的信號,脈沖的周期Period和工作循環(huán)周期DutyCycle是由內(nèi)部的定時器產(chǎn)生的,也需要定時器的配合。與TMR2配合,是8位的。
PWM功能PWM功能所使用的時基是Timer2,是8位的,再加上預(yù)分頻器的兩位,PWM分辨率可達(dá)到10位。要輸出PWM信號,需注意PWM信號的周期和工作循環(huán)周期DutyCycle。有兩個寄存器分別存儲PWM的周期值Period和工作循環(huán)周期值,PR2和CCPRxL.在Timer2從零開始遞增時,會和PR2和CCPRxL的值比較,開始時PWM輸出高電平,當(dāng)TMR2值和CCPRxL寄存器相等時,PWM輸出變低,然后繼續(xù)遞增,當(dāng)TMR2值和PR2寄存器值相等時,TMR2歸零并重新計數(shù)。周期period=(PR2+1)*4Tosc*TMR2預(yù)分頻例如:設(shè)置PR2=0XFF;T2CON=0x05;晶振選擇4MHZ,則Tosc=0.25us則周期為:(255+1)*4*0.25us*4=1024us則頻率是:1/1.024ms=1KHZ占空比q=(高電平時間)/周期
10位脈寬寄存器(CCPRxL和CCPxCON的bit5—bit4構(gòu)成10位)10位并行受控三態(tài)門10位比較器10位定時器TMR28位比較器8位周期寄存器RS寄存器輸出級受控三態(tài)門7.2.1相關(guān)的寄存器INTCON:中斷控制寄存器PIR1: 第一外設(shè)中斷標(biāo)志寄存器PIR2: 第二外設(shè)中斷標(biāo)志寄存器PIE1: 第一外設(shè)中斷屏蔽寄存器PIE2: 第二外設(shè)中斷屏蔽寄存器TRISC: RC口方向寄存器TMR1L: 定時器1低字節(jié)TMR1H:定時器1高字節(jié)T1CON: TRM1控制寄存器CCPR1L: CCP1低字節(jié)CCPR1H: CCP1高字節(jié)CCP1CON: CCP1控制器CCPR2L: CCP2低字節(jié)CCPR2H: CCP2高字節(jié)CCP2CON: CCP2控制器CCP1CON寄存器的介紹bit7bit6bit5bit4bit3bit2bit1bit0--CCPxXCCPxYM3m2m1m0Bit7bit6:沒有使用。0x3C00111100Bit5-bt4:脈寬寄存器低2位,高8位在CCPR1L里Bit3-bit0:工作模式選擇位0000:關(guān)閉CCP1模塊11XX:脈寬調(diào)制PWM模式,低2位不起作用。TMR2的使用TIMER2是一個帶有預(yù)分頻器和后分頻器的8位定時器,TMR2是可讀寫的,任何單片機的復(fù)位都將其清零。輸入時鐘(fosc/4)有1,4,16分配選擇,通過T2CON的控制位T2CKPS1-0來選擇。Timer2有一個8位周期PR2寄存器,timer2從00h遞增到和PR2相等時,PR2復(fù)位到00h,進行下一次遞增。PR2是可讀寫的,PR2通過復(fù)位初始化到FFH.TMR2的匹配輸出通過一個4位后分頻器產(chǎn)生一個TMR2中斷TMR2IF.T2CON寄存器的使用Bit7 沒有使用0x0500000101Bit6-3后分頻器選擇位Bit2:TMR2ON1=TIMER2ISON0=OFFBit1-0:預(yù)分頻選擇位
00=預(yù)分頻比率是1 01=預(yù)分頻比率是4 1x=預(yù)分頻比率是166參考程序#include<pic.h>//作業(yè)8:試編寫程序,使用CCP1輸出分辨率為10位的PWM波形,占空比為0.5,頻率為1khz。并說明原因。voidCCP1INIT(){TRISC=0X00; //RC2為輸出CCPR1L=0X7F;//工作循環(huán)時間,高電平時間的高8位:01111111xxCCP1CON=0X3C; //00111100,設(shè)置為PWM模式,
//bit5-4是11,是工作循環(huán)時間的低2位,INTCON=0X00; //禁止外部一切中斷PR2=0XFF; //設(shè)置周期
}main(){ CCP1INIT(); T2CON=0X05; //打開T2,使其預(yù)分頻為4分頻
while(1); }7程序結(jié)果計算頻率:周期period=(PR2+1)*4Tosc*TMR2預(yù)分頻例如:設(shè)置PR2=0XFF;T2CON=0x05;晶振選擇4MHZ,則Tosc=0.25us則周期為:(255+1)*4*0.25us*4=1024us則頻率是:1/1.024ms=1KHZ聽1khz的聲音,修改周期,聽聽4khz的聲音。完成8khz、16khz、32khz的脈沖輸出,占空比均是0.5完成500hz、400hz、10hz、2hz的脈沖波形輸出。祝您成功定時器0(TMR0)8位的定時/計數(shù)器可讀可寫附一8位的軟件可編程預(yù)分頻器內(nèi)部或外部時鐘可選當(dāng)從FFh計數(shù)溢出到00h時,可產(chǎn)生中斷當(dāng)選外部時鐘時,計數(shù)脈沖觸發(fā)沿可選相關(guān)的4個控制寄存器TMR0 8位寬的累加計數(shù)寄存器OPTION_REG 選項寄存器INTCON 中斷控制寄存器TRISA RA口方向寄存器選項控制寄存器OPTION_REGbit7bit6bit5bit4bit3bit2bit1bit0RBPUINTEDGT0CST0SEPSAPS2PS1PS0T0CS:時鐘源選擇位,
1=外部引腳輸入的脈沖觸發(fā). 0=內(nèi)部指令周期信號T0SE:邊沿觸發(fā)選擇位,計數(shù)模式時有效, 1=外部始終T0CK下降沿觸發(fā)TMR0增1. 0=外部始終T0CK上降沿觸發(fā)TMR0增1PSA=1
預(yù)分頻器分配給WDTPSA=0
預(yù)分頻器分配給TIME0PS2~PS0對應(yīng)的分頻比PS2~PS0TMR0比率WDT比率0001:21:10011:41:20101:81:40111:161:81001:321:161011:641:321101:1281:641111:2561:128相關(guān)的4個控制寄存器TMR0 8位寬的累加計數(shù)寄存器OPTION_REG 選項寄存器INTCON 中斷控制寄存器TRISA RA口方向寄存器中斷控制寄存器INTCONbit7bit6bit5bit4bit3bit2bit1bit0GIEPEIET0IEINTERBIET0IFINTFRBIFT0IF=1發(fā)生溢出0未發(fā)生溢出T0IE=1允許TMR0溢出后產(chǎn)生中斷0不使能GIE=1允許CPU響應(yīng)外圍設(shè)備產(chǎn)生的中斷請求TMR0和內(nèi)部時鐘同步Fosc/4外部時鐘輸入溢出時中斷標(biāo)志T0IF被置1T0SE8位可編程預(yù)分頻器PS2,PS1,PS03PSAT0CS(2個周期延時)8位數(shù)據(jù)總線TMR0電路結(jié)構(gòu)工作原理TMR0初始化voidinitial(){ INTCON=0x00; //全局中斷禁止
INTCON,GIE=1; //允許沒有屏蔽的中斷向CPU請求。
TRISB=0B11111000; //設(shè)置B0管腳為輸出
TRISC=0X00; TMR0=0X01; //置定時器初值,255*1*1us=255us,fosc=4Mhz,指令周期 是1us T0CS=0; //工作于定時模式
PSA=0; //把預(yù)分頻分配給TIME0, PS2=0; //分頻256,則定時時間是256us*256=65535us=65.535ms PS1=0; PS0=1; T0IE=1; //T0中斷允許
T0IF=0; //清T0中斷標(biāo)志 }6、參考程序
定時器TIME0使用舉例#include <pic.h>intk=0; //定義變量kvoidinitial(){…}voidinterruptwww0() //中斷的唯一入口{ T0IF=0; k=k+1;}main(){ initial(); /*初始化*/ PORTB=0Xf0; while(1) {if((k>0)&(k<=5)) RC2=1; //通5ms elseif((k>5)&(k<10)) RC2=0; //斷5ms,周期是100HZ elseif(k>=10) k=0; }}6、參考程序#include<pic.h> //文件包含指一個源文件將另外一個源文件的全部內(nèi)容包含進來。voiddelay_xs(void) //定義了一個函數(shù),大概延時1秒鐘{ unsignedinti; i=6553;
while(i>0) i=i-1;}voidmain() //每個C程序都必須有一個main函數(shù){ intk=0; TRISB=0X00; //定義B口為輸出
TRISC=0X00; //定義B口為輸出
while(1) //循環(huán)語句
{ PORTB=0B00000001; //點亮
delay_xs(); //延時
PORTB=0B00000010;
delay_xs(); PORTB=0B00000100;
delay_xs(); PORTB=0B00001000;
delay_xs(); PORTB=0B00000000;
delay_xs(); }}7、試驗步驟1、安裝軟件MPLABIDE2、安裝ICD2USB驅(qū)動3、啟動MPLABIDE4、新建工程Project工程名字:學(xué)號5、用文本編輯器編輯源文件:led001.c6、建立通訊7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年食品安全與衛(wèi)生管理考試題集及答案
- 2026年營銷策略實戰(zhàn)題庫市場定位與消費者行為研究
- 2026年中醫(yī)藥學(xué)基礎(chǔ)理論與應(yīng)用初級試題
- 2026年計算機網(wǎng)絡(luò)安全專業(yè)試題庫認(rèn)證題庫及答案解析
- 2026年人工智能技術(shù)與應(yīng)用考試政務(wù)云平臺的AI技術(shù)探索
- 2026年軟件測試工程師實操技巧與答案解析
- 2025 小學(xué)二年級道德與法治上冊家庭綠植我按時澆水養(yǎng)護促成長更翠綠課件
- 2026年高頻面試問題專業(yè)答案與解析集
- 2026年化學(xué)實驗技能操作模擬題
- 2026年金融分析師考試技巧投資策略模擬題集
- 四年級上冊數(shù)學(xué)脫式計算大全500題及答案
- 河北審圖合同協(xié)議
- 溴化鋰機組回收合同(2篇)
- 菏澤某中學(xué)歷年自主招生試題
- 醫(yī)院非產(chǎn)科孕情管理和三病檢測工作流程
- 中小學(xué)的德育工作指南課件
- GB/T 3487-2024乘用車輪輞規(guī)格系列
- 物業(yè)保潔保安培訓(xùn)課件
- 人教版初中英語七至九年級單詞匯總表(七年級至九年級全5冊)
- cnc加工中心點檢表
- 計劃決策評審-匯報模板課件
評論
0/150
提交評論