版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯PIC單片機(jī)捕捉模塊的程序設(shè)計(jì)-設(shè)計(jì)應(yīng)用由于本設(shè)計(jì)測(cè)試4種參數(shù),并且可以利用鍵盤選擇顯示其中的任何一種,因此編程設(shè)定S9為加1鍵、S11為減1鍵、S10為確定鍵、S12為功能鍵。
當(dāng)按下S9鍵時(shí),寄存器COUNTER可以從1連續(xù)或點(diǎn)動(dòng)步進(jìn)地加到4;同理按下S11鍵時(shí),COUNTER從4減到1,并且把COUNTER值顯示在LED上,不同的COUNTER值對(duì)應(yīng)不同的測(cè)試參數(shù)。
程序根據(jù)不同的COUNTER值把相應(yīng)的參數(shù)(已轉(zhuǎn)換成BCD碼)送到顯示緩沖區(qū),此時(shí)按下確定鍵,則LED上顯示出該COUNTER值對(duì)應(yīng)的測(cè)試參數(shù)。
按下功能鍵時(shí),LED上示出當(dāng)前的COUNTER值,又可以對(duì)其講行加減操作。從而選擇顯示不同的參數(shù),COUNTER值與其對(duì)應(yīng)的測(cè)試參數(shù)關(guān)系如下。
·COUNTER=1,對(duì)應(yīng)測(cè)試參數(shù)為頻率。
·COUNTER=2,對(duì)應(yīng)測(cè)試參數(shù)為周期。
·COUNTER=3,對(duì)應(yīng)測(cè)試參數(shù)為占空比。
·COUNTER=4,對(duì)應(yīng)測(cè)試參數(shù)為脈寬。
程序中有5個(gè)不同的顯示任務(wù)(顯示COUNTER、頻率、周期、占空比、脈寬),如果編寫5個(gè)不同的顯示子程序,會(huì)使程序復(fù)雜化。
本例引入一個(gè)顯示緩沖區(qū),如果沒(méi)有按下確定鍵,則把COUNTER的值送到顯示緩沖區(qū);如果按下確定鍵,則根據(jù)COUNTER的實(shí)際值把相應(yīng)的測(cè)試參數(shù)的結(jié)果送到顯示緩沖區(qū)。
利用此方法,可以編制一個(gè)顯示程序,該程序只執(zhí)行從顯示緩沖區(qū)取數(shù)顯示的任務(wù)。是COUNTER,還是參數(shù)測(cè)試結(jié)果,只需將顯示緩沖區(qū)的內(nèi)容顯示出來(lái)即可。
中斷服務(wù)程序中“把CCP1模塊變成捕捉相反的脈沖邊沿”的含義為:若在本次中斷以前,CCP1捕捉脈沖的上升沿,則把它改成捕捉脈沖下降沿;若在本次中斷以前,CCP1捕捉脈沖的下降沿,則把它改成捕捉脈沖的上升沿。
實(shí)際編寫程序時(shí),為了充分提高CPU的工作效率,可以利用等待CCP1中斷的時(shí)問(wèn)進(jìn)行鍵盤的消抖動(dòng)延時(shí),程序設(shè)計(jì)流程如圖1和圖2所示。
圖1主程序流程及中斷服務(wù)程序流程
圖2鍵盤服務(wù)子程序流程
(1)首先包含必要的頭文件,定義程序用到的全局變量及宏。
(2)SPI顯示初始化子程序,首先初始化SPI模塊,設(shè)置在時(shí)鐘下降沿發(fā)送數(shù)據(jù)。設(shè)置RA5引腳為輸出端口,用以輸出顯示鎖存信號(hào)。
(3)對(duì)CCP模塊進(jìn)行初始化,使其工作在捕捉方式,打開(kāi)CCP1中斷,設(shè)置RC2端口為輸入口。
(4)對(duì)系統(tǒng)其他部分進(jìn)行初始化,包括COUNT及與鍵盤有關(guān)的寄存器的初始化,建立鍵盤掃描的初始條件。
(5)SPI傳輸子程序,該子程序在檢測(cè)到發(fā)送成功后清除發(fā)送標(biāo)志。
(6)LED顯示子程序,首先對(duì)數(shù)據(jù)鎖存,獲取需要顯示的數(shù)據(jù)后把數(shù)據(jù)字節(jié)通過(guò)SPIKED子函數(shù)發(fā)送出去。
(7)對(duì)鍵盤進(jìn)行行列掃描,當(dāng)有鍵按下時(shí)令標(biāo)志FLAG1為1,滅有鍵按下時(shí)令標(biāo)志FLAG1為0。
(8)鍵盤服務(wù)子程序,完成每個(gè)鍵盤按下需要做的工作。
(9)捕捉中斷服務(wù)程序。若在本次中斷以前,CCP1捕捉脈沖的上升沿,則把它改掉成捕捉脈沖下降沿;則把它改成捕捉脈沖的上升沿。
(10)周期處理子程序,首先獲得5個(gè)周期的值,強(qiáng)制轉(zhuǎn)化為雙精度數(shù)后,求取其平均值。
(11)頻率處理子程序,將周期值求倒數(shù)換算成頻率值。
(12)脈沖寬度處理子程序,求取捕獲的5個(gè)脈寬的平均值。
(13)占空比處理子程序,利用脈寬處理子程序中的脈沖寬度求取該脈沖的占空比。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武漢紡織大學(xué)《醫(yī)藥企業(yè)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年教育輔助機(jī)構(gòu)勞動(dòng)合同及教學(xué)質(zhì)量協(xié)議3篇
- 二零二五年環(huán)保產(chǎn)品生產(chǎn)加工合作合同范本2篇
- 二零二五年度塑料加工工廠承包生產(chǎn)與環(huán)保責(zé)任合同3篇
- 濰坊護(hù)理職業(yè)學(xué)院《學(xué)習(xí)科學(xué)與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津藝術(shù)職業(yè)學(xué)院《燈光照明基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度高科技設(shè)備租賃擔(dān)保服務(wù)合同3篇
- 2024民間借貸合同(自動(dòng)放棄利息)
- 二零二五年影視制作項(xiàng)目投資合同正本3篇
- 二零二五版影視制作借款合同示范文本2篇
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期期末 地理試題(無(wú)答案)
- 勞動(dòng)法培訓(xùn)課件
- 2024年建筑施工安全工作計(jì)劃(3篇)
- 2024屆九省聯(lián)考英語(yǔ)試題(含答案解析、MP3及錄音稿)
- 倉(cāng)庫(kù)消防知識(shí)安全培訓(xùn)
- 從事專業(yè)與所學(xué)專業(yè)不一致專業(yè)技術(shù)人員申報(bào)職稱崗位任職合格證明附件6
- 我國(guó)房屋建筑模板技術(shù)的研究綜述
- 人教版小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)豎式筆算練習(xí)題
- 航天科工集團(tuán)在線測(cè)評(píng)題
- 山東省濰坊新2025屆高三語(yǔ)文第一學(xué)期期末經(jīng)典試題含解析
- 醫(yī)院三基考核試題(康復(fù)理療科)
評(píng)論
0/150
提交評(píng)論