




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第10章利用CCP模塊設計頻率計10.5程序設計10.5.4程序清單#include#include#include/本程序利用CCP1模塊實現(xiàn)一個“簡易數(shù)字頻率計”的功能constchartable11=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0XD8,0 x80,0 x90,0 xFF;/不帶小數(shù)點的顯示段碼表constchartable011=0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10,0 xFF;/帶小數(shù)點的顯示段碼表bank3intcp1z11;unioncp1inty1;unsign
2、edcharcp1e2;cp1u;unsignedcharCOUNTW,COUNT;unsignedcharCOUNTER,data,k;unsignedcharFLAG0XEF;/定義一個數(shù)組,用于存放各次的捕捉值/定義一個共用體/測量脈沖個數(shù)寄存器#defineFLAGIT(adr,bit)(unsigned)(&adr)*8+(bit)/絕對尋址位操作指令staticbitFLAG1FLAGIT(FLAG,0);staticbitFLAG2FLAGIT(FLAG,1);staticbitFLAG3FLAGIT(FLAG,2);unsignedchars4;intT5,uo;doubleR
3、E5;doublepuad5;/spi方式顯示初始化子程序voidSPIINIT()/定義一個顯示緩沖數(shù)組PIR1=0;SSPCON=0 x30;SSPSTAT=0 xC0;設置SPI的控制方式,允許SSP方式,并且時鐘下降沿發(fā)送,與74HC595,當其/SCLk從低到高跳變時,串行輸入寄存器的特點相對應TRISC=0 xD7;TRISA5=0;FLAG1=0;FLAG2=0;FLAG3=0;COUNTER=0X01;/CCP模塊工作于捕捉方式初始化子程序voidccpint()CCP1CON=0X05;T1CON=0X00;PEIE=1;CCP1IE=1;TRISC2=1;/系統(tǒng)其它部分初始
4、化子程序voidinitial()COUNT=0X0B;TRISB1=0;TRISB2=0;TRISB4=1;TRISB5=1;RB1=0;RB2=0;/SPI傳送數(shù)據子程序voidSPILED(data)SSPBUF=data;do;/SDO引腳為輸出,SCK引腳為輸出/RA5引腳設置為輸出,以輸出顯示鎖存信號/首先設置CCP1捕捉每個脈沖的上升沿/關閉TMR1震蕩器/外圍中斷允許(此時總中斷關閉)/允許CCP1中斷/設置RC2為輸入/為保證測試精度,測試5個脈沖的參數(shù)后/求平均值,每個脈沖都要捕捉其上升、下降沿,/故需要有11次中斷/設置與鍵盤有關的各口的輸入、輸出方式/建立鍵盤掃描的初始
5、條件/啟動發(fā)送while(SSPIF=0);SSPIF=0;/顯示子程序,顯示4位數(shù)voiddisplay()RA5=0;/準備鎖存for(COUNTW=0;COUNTW4;COUNTW+)data=sCOUNTW;data=data&0 x0F;if(COUNTW=k)data=table0data;/第二位需要顯示小數(shù)點elsedata=tabledata;SPILED(data);/發(fā)送顯示段碼for(COUNTW=0;COUNTW4)COUNTER=0 x01;/若COUNTER超過4,則又從1計起if(data=0 x02)COUNTER=COUNTER-1;if(COUNTER1)
6、if(data=0 x03)FLAG2=1;if(data=0 x04)FLAG2=0;/中斷服務程序voidinterruptcp1int(void)CCP1IF=0;cp1u.cp1e0=CCPR1L;cp1u.cp1e1=CCPR1H;cp1zdata=cp1u.y1;CCP1CON=CCP1CONA0X01;data+;COUNT-;/周期處理子程序voidPERIOD()T5=cp1z10-cp1z0;RE5=(double)T5;RE5=RE5/5;/頻率處理子程序voidFREQUENCY()PERIOD();RE5=1000000/RE5;COUNTER=0 x04若按下S11
7、鍵,則COUNTER減1/若COUNTER小于1,則又循環(huán)從4計起若按下S10鍵,則建立標志FLAG2若按下S12鍵,則清除標志FLAG2/清除中斷標志/存儲1次捕捉值/把CCP1模塊改變成捕捉相反的脈沖沿/求得5個周期的值/強制轉換成雙精度數(shù)求得平均周期,單位為ws/先求周期/周期值求倒數(shù),再乘以1000000,得頻率,/單位為HZ/脈寬處理子程序voidPULSE()intpu;for(data=0,puad5=0;data=9;data+)/求得5 個脈寬的和值/求得平均脈寬/先求脈寬 /暫存脈寬值 /再求周期 /求得占空比/SPI 方式顯示初始化/CCP 模塊工作于捕捉方式初始化/系統(tǒng)
8、其它部分初始化/第一個存儲COUNTER 的值/后面的LED 將顯示 DARK/調用顯示子程序/鍵盤掃描/存儲數(shù)組指針賦初值/定時器 1 清 0/清除CCP1 的中斷標志,以免中斷一打開就進入/中斷/中斷允許/定時器1 開pu=cp1zdata+1-cp1zdata;puad5=(double)pu+puad5;data=data+2;RE5=puad5/5;/占空比處理子程序voidOCCUPATIONAL()PULSE();puad5=RE5;PERIOD();RE5=puad5/RE5;/主程序main()SPIINIT();while(1)ccpint();initial();if(F
9、LAG2=0)s0=COUNTER;s1=0X0A;s2=0X0A;s3=0X0A;display();keyscan();data=0 x00;TMR1H=0;TMR1L=0;CCP1IF=0;ei();TMR1ON=1;while(1)di();TMR1ON=0;keyscan();if(FLAG1=1)keyserve();if(FLAG2=0)continue;/等待中斷次數(shù)結束/禁止中斷/關閉定時器/鍵盤掃描/若確實有鍵按下,則調用鍵服務程序/如果沒有按下確定鍵,則終止此次循環(huán),/繼續(xù)進行測量/如果按下了確定鍵,則進行下面的數(shù)值轉換和顯示工作if(COUNTER=0 x01)FREQ
10、UENCY();/COUNTER=1,則需要進行頻率處理if(COUNTER=0 x02)PERIOD();/COUNTER=2,則需要進行周期處理if(COUNTER=0 x03)OCCUPATIONAL();/COUNTER=3,則需要進行占空比處理if(COUNTER=0 x04)PULSE();/COUNTER=4,則需要進行脈寬處理k=5;if(RE51)RE5=RE5*1000;k=0 x00;elseif(RE510)RE5=RE5*1000;k=0 x00;elseif(RE5100)RE5=RE5*100;k=0 x01;elseif(RE51000)RE5=RE5*10;k=0 x02;elseRE5=RE5;u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 4162-2021“淮安蒲菜”加工技術規(guī)程
- DB32/T 4123-2021生態(tài)地質環(huán)境調查航空高光譜遙感技術規(guī)程
- DB32/T 3955-2020污水高位儲罐安全技術規(guī)范
- DB32/T 3891-2020美甲及手足護理服務規(guī)范
- DB32/T 3802-2020南美白對蝦肝腸胞蟲巢式聚合酶鏈式反應(PCR)檢測方法
- DB32/T 3544-2019臨床級人體組織來源間充質干細胞質量控制管理規(guī)范
- DB32/T 3520-2019早熟棉直播栽培技術規(guī)程
- DB32/T 1265-2020天目湖白茶加工技術規(guī)程
- DB31/T 994-2016危險化學品建設項目職業(yè)病危害與安全預評價導則
- DB31/T 978-2016同步注漿用干混砂漿應用技術規(guī)范
- 折扣零售業(yè)態(tài)在社區(qū)商業(yè)中的布局策略與盈利模式研究報告
- 醫(yī)院護工面試題及答案
- 高校學生資助誠信教育主題活動
- 河南中考:歷史必背知識點
- 臍橙代銷銷售合同協(xié)議
- 腸易激綜合征中西醫(yī)結合診療專家共識(2025)解讀課件
- 水利工程課件
- InDesign-CC-2019排版技術案例教程全書電子教案完整版課件
- 清朝治理新疆地區(qū)系統(tǒng)性治理課件(16ppt+視頻)2022年新疆地方史讀本(中學版)
- 叉車日常維護保養(yǎng)檢查記錄表
- 義齒加工成本
評論
0/150
提交評論