




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十二章
數(shù)字電壓表實(shí)例 12.1 ADC工作原理 12.2 數(shù)字電壓表功能設(shè)計(jì) 12.3 數(shù)字電壓表程序設(shè)計(jì)
本章介紹了LPC824片內(nèi)ADC模塊的工作原理,在此基礎(chǔ)上,綜合運(yùn)用LPC824學(xué)習(xí)板上的滑動(dòng)變阻器、LCD顯示屏和LPC824微控制器的ADC模塊設(shè)計(jì)一個(gè)數(shù)字電壓表,可以動(dòng)態(tài)地顯示電壓變化曲線。 LPC824內(nèi)置了12bit的ADC模塊,最高采樣頻率為1.2MHz,可支持兩個(gè)序列同時(shí)轉(zhuǎn)換。在LPC824學(xué)習(xí)板上,用10kΩ滑動(dòng)變阻器輸出0~3.3V模擬電壓送給LPC824的ADC0通道3輸入端,如第三章圖3-2和圖3-6所示。ADC0通道3管腳ADC_3復(fù)用了管腳PIO0_23,需要將PIO0_23配置為ADC_3功能(見(jiàn)第二章表2-5第16位);配置SYSAHBCLKCTRL寄存器(參考表2-18)第24位為1,打開(kāi)ADC模塊時(shí)鐘;配置PDRUNCFG寄存器(見(jiàn)表2-13)的第4位為0,打開(kāi)ADC模塊的電源,該位默認(rèn)為1。ADC模塊相關(guān)的寄存器列于表12-1中。表12-1 ADC模塊相關(guān)的寄存器(偏移地址:0x4001C000)12.1
ADC工作原理12.1
ADC工作原理 下面依次介紹表12-1中各個(gè)寄存器的含義。
ADC控制寄存器CTRL的各位含義如表12-2所示。表12-2 CTRL寄存器的各位含義
除了第29位和第31位外,ADC轉(zhuǎn)換序列A控制寄存器SEQA_CTRL和轉(zhuǎn)換序列B控制寄存器的結(jié)構(gòu)相同,如表12-3所示。表12-3請(qǐng)看下頁(yè)12.1
ADC工作原理表12-3 ADC轉(zhuǎn)換序列控制寄存器12.1
ADC工作原理 ADC轉(zhuǎn)換序列A全局?jǐn)?shù)據(jù)寄存器(SEQA_GDAT)和轉(zhuǎn)換序列B全局?jǐn)?shù)據(jù)寄存器(SEQB_GDAT)結(jié)構(gòu)相同,如表12-4所示。表12-4 轉(zhuǎn)換序列全局?jǐn)?shù)據(jù)寄存器
12.1
ADC工作原理 ADC通道0~11的數(shù)據(jù)寄存器DAT0~DAT11的結(jié)構(gòu)相同,且與表12-4所示的轉(zhuǎn)換序列全局?jǐn)?shù)據(jù)寄存器的結(jié)構(gòu)相同。對(duì)于TSSOP20封裝的LPC824(見(jiàn)圖3-2),只有通道ADC_2、ADC_3、ADC_9、ADC_10和ADC_11,相應(yīng)的只有DAT2、DAT3、DAT9、DAT10和DAT11寄存器有效,其余寄存器保留。
ADC低比較門限寄存器THR0_LOW和低比較門限寄存器THR1_LOW的結(jié)構(gòu)相同,只有第[15∶4]位域有效,用符號(hào)THRLOW表示,設(shè)置與ADC轉(zhuǎn)換結(jié)果相比較的低電壓值。ADC高比較門限寄存器THR0_HIGH和高比較門限寄存器THR1_HIGH的結(jié)構(gòu)相同,只有第[15∶4]位域有效,設(shè)置與ADC轉(zhuǎn)換結(jié)果相比較的高電壓值。
ADC通道門限選擇寄存器CHAN_THRSEL如表12-5所示。表12-5 ADC通道門限選擇寄存器CHAN_THRSEL
12.1
ADC工作原理12.1
ADC工作原理12.1
ADC工作原理 ADC中斷開(kāi)放寄存器INTEN的結(jié)構(gòu)如表12-6所示。表12-6 ADC中斷開(kāi)放寄存器INTEN
12.1
ADC工作原理 ADC標(biāo)志寄存器FLAGS如表12-7所示。表12-7 ADC標(biāo)志寄存器FLAGS12.1
ADC工作原理12.1
ADC工作原理 擬基于LPC824學(xué)習(xí)板設(shè)計(jì)具有以下功能的數(shù)字電壓表: (1)在LCD顯示屏上實(shí)時(shí)顯示電壓值,保留2位小數(shù)。 (2)動(dòng)態(tài)演示電壓測(cè)量值的變化曲線。 (3)對(duì)電壓測(cè)量值進(jìn)行FIR濾波,在LCD屏上顯示平滑濾波后的電壓值。12.2
數(shù)字電壓表功能設(shè)計(jì) 將LPC824學(xué)習(xí)板上的P2的第1-2腳相連(見(jiàn)圖3-4),恢復(fù)與計(jì)算機(jī)間串口通信的功能。在項(xiàng)目ZLX16的基礎(chǔ)上,新建項(xiàng)目ZLX24,保存在目錄D:\ZLXLPC824\ZLX24下,此時(shí)的項(xiàng)目ZLX24與ZLX16相同,然后,按表12-8所示修改項(xiàng)目ZLX24。表12-8 項(xiàng)目ZLX24在ZLX16的基礎(chǔ)上的改動(dòng)部分12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì) 下面介紹表12-8中添加到項(xiàng)目ZLX24中的文件。
程序段12-1文件task02.c 1 //Filename:task02.c 2 3 #include"includes.h" 4 5 externOS_EVENT*Mbox02;
6
第5行聲明外部定義的消息郵箱Mbox02。
7 voidTask02(void*data) 8 { 9 INT8Uerr;
10 INT32U*ADCMsg;
11
第10行定義32位無(wú)符號(hào)整型指針ADCMsg,用于指向來(lái)自郵箱Mbox02的消息。
12.3
數(shù)字電壓表程序設(shè)計(jì) 12 data=data;
13 14 DrawADCFrame();
15
第14行調(diào)用DrawADCFrame函數(shù)在LCD屏上畫如圖12-1所示的框架。圖12-1 LCD屏顯示的框架
12.3
數(shù)字電壓表程序設(shè)計(jì) 16 while(1) 17 { 18 OSTimeDlyHMSM(0,0,0,500);
19 ADCStart();
20 ADCMsg=OSMboxPend(Mbox02,0,&err);
21 DispADCValue(ADCMsg[0]);
22 } 23 }
用戶任務(wù)Task02每0.5秒執(zhí)行一次(第18行),每次執(zhí)行時(shí),首先調(diào)用ADCStart函數(shù)啟動(dòng)ADC轉(zhuǎn)換(第19行);然后第20行請(qǐng)求消息郵箱Mbox02,當(dāng)ADC模塊通道3轉(zhuǎn)換完成后,將轉(zhuǎn)換后的結(jié)果作為消息發(fā)送到消息郵箱Mbox02中;當(dāng)請(qǐng)求消息郵箱Mbox02成功后,第21行調(diào)用DispADCValue函數(shù)在LCD屏上輸出當(dāng)前的ADC采樣值、濾波后的ADC采樣值和ADC采樣值的變化曲線。12.3
數(shù)字電壓表程序設(shè)計(jì)
程序段12-2文件task02.h 1 //Filename:task02.h 2 3 #ifndef_TASK02_H 4 #define_TASK02_H 5 6 #defineTask02StkSize 70 7 #defineTask02ID 2 8 #defineTask02Prio (Task02ID+3) 9 10 voidTask02(void*);
11 12 #endif
文件task02.h中宏定義了用戶任務(wù)Task02的堆棧大小為70字、任務(wù)ID號(hào)為2和優(yōu)先級(jí)號(hào)為5,第10行聲明了任務(wù)函數(shù)Task02的原型。12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì) 第13~77行為圖12-2所示位圖圖像的點(diǎn)陣數(shù)組,大小為128×64點(diǎn)陣。圖12-2 BMP格式的框架圖像
12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)12.3
數(shù)字電壓表程序設(shè)計(jì)
程序段12-4文件adc.h 1 //Filename:adc.h 2 3 #include"datatype.h" 4 5 #ifndef_ADC_H 6 #define_ADC_H 7 8 voidADCInit(void);
9 voidADCStart(void);
10 voidDrawADCFrame(void);
11 voidDispADCValue(Int32U);
12 voidDrawADCValue(Int08U);
13 voidClearADCPic(void);
14 voidDispADCFltVal(Int32U);
15 16 #endif
文件adc.h中聲明了文件adc.c中定義的函數(shù)原型,如第8~14行所示,這些函數(shù)依次為ADC模塊初始化、啟動(dòng)ADC轉(zhuǎn)換、繪制圖像框架、打印ADC轉(zhuǎn)換的當(dāng)前電壓值、動(dòng)態(tài)繪制ADC轉(zhuǎn)換的電壓值、清除LCD屏上的電壓圖像、打印FIR濾波后的電壓值。12.3
數(shù)字電壓表程序設(shè)計(jì) 根據(jù)上述程序段12-1至程序段12-4的描述,可知任務(wù)Task02相關(guān)的工作流程如圖12-3所示。圖12-3 任務(wù)Task02的工作流程
12.3
數(shù)字電壓表程序設(shè)計(jì)
在圖12-3中,用戶任務(wù)Task02每0.5秒執(zhí)行一次,每次執(zhí)行時(shí)啟動(dòng)ADC轉(zhuǎn)換,控制LPC824片上的ADC模塊開(kāi)始工作,當(dāng)ADC模塊轉(zhuǎn)換完成后(這里使用了序列A),觸發(fā)ADC_SEQA_IRQHandler中斷服務(wù)函數(shù),在該中斷服務(wù)函數(shù)中讀取ADC轉(zhuǎn)換的結(jié)果(這里為電壓值),將結(jié)果保存在ADCVal[0]中,然后,將轉(zhuǎn)換結(jié)果作為消息釋放到消息郵箱Mbox02中。任務(wù)Task02啟動(dòng)ADC轉(zhuǎn)換后,則請(qǐng)求消息郵箱Mbox02,如果請(qǐng)求不成功,則循環(huán)等待直到請(qǐng)求成功。如果請(qǐng)求成功,則從
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)安全培訓(xùn)課件稿子
- 水廠消防安全知識(shí)培訓(xùn)課件
- 培訓(xùn)用電安全知識(shí)目的課件
- 變電所設(shè)備課件
- 二零二五年度海洋工程設(shè)施海域使用權(quán)租賃協(xié)議
- 2025版環(huán)境風(fēng)險(xiǎn)評(píng)價(jià)分包服務(wù)協(xié)議
- 二零二五年度貨車司機(jī)勞務(wù)合同及車輛保險(xiǎn)協(xié)議范本
- 2025版智能家居門窗系統(tǒng)安裝工程合同
- 二零二五版高科技園區(qū)勞務(wù)派遣用工合同范本
- 二零二五年飯店員工合同解除與終止范本
- CJ/T 3085-1999城鎮(zhèn)燃?xì)庑g(shù)語(yǔ)
- 停產(chǎn)報(bào)告管理制度
- DB31/T 636.2-2015會(huì)議經(jīng)營(yíng)與服務(wù)規(guī)范第2部分:會(huì)議場(chǎng)所服務(wù)機(jī)構(gòu)
- 云南二級(jí)建造師b證試題及答案
- 電解鋁公司工程項(xiàng)目投資估算
- 鈑金工考試試題及答案
- 2025護(hù)士招聘筆試題目及答案
- 溝通與策略式家庭治療
- 合同質(zhì)保期更改補(bǔ)充協(xié)議
- GB/T 45381-2025動(dòng)梁式龍門電火花成形機(jī)床精度檢驗(yàn)
- 防腐涂層新技術(shù)及其應(yīng)用前景
評(píng)論
0/150
提交評(píng)論