熒火蟲功能的實(shí)現(xiàn)
發(fā)布時(shí)間:2012/6/12 20:33:10 訪問次數(shù):838
CCP功能的引腳與RC2復(fù)用,如圖5所SP213ECT示是實(shí)現(xiàn)熒火蟲燈的電路圖。
圖中B1與C1、C2構(gòu)成晶振電路,R1將復(fù)位端MCLR上拉,LED通過限流電阻R2接到CCP1引腳,J1是仿真及下載接口。圖
6是用洞洞板制作出來的電路,準(zhǔn)備好材料,不超過30分鐘就能做好。
硬件制作完成,可以開始編程,以下是第一版程庫。
程序分析
通過一段時(shí)間的學(xué)習(xí),大家肯定有個(gè)印象,要令單片機(jī)中的某個(gè)部件按要求工作,一定要設(shè)置該部件對(duì)應(yīng)的控制寄存器,因此,掌握控制寄存器的用途就成了學(xué)習(xí)單片機(jī)的重要工作。
控制定時(shí)器T2的寄存器名為T2CON,表1是該寄存器各位的用途說明。
看清了T2CON的結(jié)構(gòu),不難看出T2CON=OxOc的含義了。OxOc寫成二進(jìn)制就是000011∞,預(yù)分頻控制為∞,T20N為1。
要讓CGP模塊按要求工作,就要設(shè)置好CGP的控制寄存器,表2是CCPICON的用途說明。
其中GCPIM3~CCPIMO就是用來設(shè)置工作模式的,如果要將CCP1模塊設(shè)置成PWM方式,只要令這4位為l.xx即只要CCPIM3、CCPIM2設(shè)定為1即可,不必理會(huì)CCPIM1和CCPIMO的值。
GCPIX和GCPIY-是圖4中CCPRIU舌面所示附加2位,它們和CGPR1峭0合形成10位的計(jì)數(shù)器。
在CCP模塊實(shí)現(xiàn)PWM功能時(shí),CCPRlH及其后的附加2位是不能通過程序來控制的,它們被固定作為CCPRlL及CCPl×、CCPIY的鏡像,每個(gè)PWM周期更新一次。這樣,我們可以隨時(shí)更新脈寬的值,不必?fù)?dān)心它會(huì)與當(dāng)前PWM脈寬數(shù)據(jù)產(chǎn)生)中突。TMR2后面的附加2位是芯片內(nèi)部的,并且它不能通過程序來拉制,因此我們不必理會(huì)。這2位和TMR2的8位共同構(gòu)成了1 0位計(jì)數(shù)器,這個(gè)1 0位計(jì)數(shù)器與CCPRIH及附加2位構(gòu)成的1 0位計(jì)數(shù)器的比較決定了脈寬。
接下來計(jì)算一下PWM周期,設(shè)所用晶體為12MHz,不分頻,那么Tosc=0.083Us。
FWM周期=(Pq2+1)×4×Tosc×磯2預(yù)分頻
CCP功能的引腳與RC2復(fù)用,如圖5所SP213ECT示是實(shí)現(xiàn)熒火蟲燈的電路圖。
圖中B1與C1、C2構(gòu)成晶振電路,R1將復(fù)位端MCLR上拉,LED通過限流電阻R2接到CCP1引腳,J1是仿真及下載接口。圖
6是用洞洞板制作出來的電路,準(zhǔn)備好材料,不超過30分鐘就能做好。
硬件制作完成,可以開始編程,以下是第一版程庫。
程序分析
通過一段時(shí)間的學(xué)習(xí),大家肯定有個(gè)印象,要令單片機(jī)中的某個(gè)部件按要求工作,一定要設(shè)置該部件對(duì)應(yīng)的控制寄存器,因此,掌握控制寄存器的用途就成了學(xué)習(xí)單片機(jī)的重要工作。
控制定時(shí)器T2的寄存器名為T2CON,表1是該寄存器各位的用途說明。
看清了T2CON的結(jié)構(gòu),不難看出T2CON=OxOc的含義了。OxOc寫成二進(jìn)制就是000011∞,預(yù)分頻控制為∞,T20N為1。
要讓CGP模塊按要求工作,就要設(shè)置好CGP的控制寄存器,表2是CCPICON的用途說明。
其中GCPIM3~CCPIMO就是用來設(shè)置工作模式的,如果要將CCP1模塊設(shè)置成PWM方式,只要令這4位為l.xx即只要CCPIM3、CCPIM2設(shè)定為1即可,不必理會(huì)CCPIM1和CCPIMO的值。
GCPIX和GCPIY-是圖4中CCPRIU舌面所示附加2位,它們和CGPR1峭0合形成10位的計(jì)數(shù)器。
在CCP模塊實(shí)現(xiàn)PWM功能時(shí),CCPRlH及其后的附加2位是不能通過程序來控制的,它們被固定作為CCPRlL及CCPl×、CCPIY的鏡像,每個(gè)PWM周期更新一次。這樣,我們可以隨時(shí)更新脈寬的值,不必?fù)?dān)心它會(huì)與當(dāng)前PWM脈寬數(shù)據(jù)產(chǎn)生)中突。TMR2后面的附加2位是芯片內(nèi)部的,并且它不能通過程序來拉制,因此我們不必理會(huì)。這2位和TMR2的8位共同構(gòu)成了1 0位計(jì)數(shù)器,這個(gè)1 0位計(jì)數(shù)器與CCPRIH及附加2位構(gòu)成的1 0位計(jì)數(shù)器的比較決定了脈寬。
接下來計(jì)算一下PWM周期,設(shè)所用晶體為12MHz,不分頻,那么Tosc=0.083Us。
FWM周期=(Pq2+1)×4×Tosc×磯2預(yù)分頻
熱門點(diǎn)擊
- PID控制器的基本原理
- 接地電網(wǎng)
- 差動(dòng)放大電路的優(yōu)點(diǎn)
- 低電源電壓、低損耗電流放大電路
- 用PNP晶體管制作的偏置電路
- 作為反相放大電路工作時(shí)
- 動(dòng)態(tài)驅(qū)動(dòng)電路的工作波形
- 低噪聲輸出可變電源電路
- 電流型變頻器
- 高頻增強(qiáng)電路
推薦技術(shù)資料
- 頻譜儀的解調(diào)功能
- 現(xiàn)代頻譜儀在跟蹤源模式下也可以使用Maker和△Mak... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(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)用研究