單片機技術(shù)與應(yīng)用電子教案 2.CC2530片內(nèi)溫度測量_第1頁
單片機技術(shù)與應(yīng)用電子教案 2.CC2530片內(nèi)溫度測量_第2頁
單片機技術(shù)與應(yīng)用電子教案 2.CC2530片內(nèi)溫度測量_第3頁
單片機技術(shù)與應(yīng)用電子教案 2.CC2530片內(nèi)溫度測量_第4頁
單片機技術(shù)與應(yīng)用電子教案 2.CC2530片內(nèi)溫度測量_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

課時教案課程:單片機技術(shù)與應(yīng)用-基于CC2530的ZigBee技術(shù)開發(fā)與應(yīng)用課題CC2530片內(nèi)溫度測量課時4教學(xué)目標(biāo)知識:1.掌握ADC的轉(zhuǎn)換過程2.掌握CC2530ADC模塊主要特征3.掌握ADC相關(guān)寄存器及其設(shè)置4.掌握ADC中的相關(guān)概念技能:1.會分析ADC工作原理及轉(zhuǎn)換過程2.會設(shè)置ADC相關(guān)寄存器素質(zhì):1.具備嚴(yán)謹(jǐn)?shù)膶W(xué)風(fēng),形成扎實、優(yōu)化的知識結(jié)構(gòu)和技能結(jié)構(gòu)。2.具備自主學(xué)習(xí)能力、團隊協(xié)作意識。重點ADC相關(guān)寄存器及其設(shè)置難點CC2530ADC模塊分析教法小組合作問題探究學(xué)法自主探究教具試驗多媒體、PPT課件教學(xué)過程問題設(shè)計及知識點師生互動設(shè)計(問題與任務(wù))CC2530片內(nèi)溫度測量【任務(wù)描述】測量ZigBee模塊上CC2530片內(nèi)溫度傳感器數(shù)值,將ZigBee實訓(xùn)模塊和溫度/光照傳感器模塊都固定在NEWLab平臺上,用導(dǎo)線把ZigBee模塊上ADC0和溫度傳感器模塊上的電位器分壓端(J10)連接起來。由電路限制,J10端電壓范圍0.275~3.025V。要求ADC采用單端輸入方式,選擇內(nèi)部參考電壓,12位分辨率。測量值通過串口發(fā)送到PC端,串口波特率設(shè)置為19200?!救蝿?wù)分析】1.知識分析測量CC2530片內(nèi)溫度,必須理解ADC的工作原理及CC2530中ADC模塊的工作原理及其相關(guān)寄存器的設(shè)置。2.設(shè)備分析實訓(xùn)任務(wù)選擇ZigBee實訓(xùn)模塊,要求將ZIgBee模塊JP2撥至左側(cè),即J9。明確CC2530單片機ADC模塊的工作過程。3.技能分析測量CC2530片內(nèi)溫度,必須會運用IAR軟件進行編程,并能夠編譯、鏈接、調(diào)試程序;會利用CCDebugger仿真下載器,將仿真器的下載線連接到ZigBee實訓(xùn)模塊與電腦,通過串口調(diào)試器進行仿真演示。【知識儲備】一、電信號二、ADC工作原理三、CC2530的ADC模塊四、ADC相關(guān)寄存器五、ADC模塊的信號輸入六、ADC中的相關(guān)概念七、初始化ADC初始化ADC的基本過程:1.配置APCFG寄存器1)當(dāng)使用ADC時,端口0的引腳必須配置為ADC模擬輸入。2)要配置一個端口0引腳為一個ADC輸入,APCFG寄存器中相應(yīng)的位必須設(shè)置為1。這個寄存器的默認(rèn)值是0,選擇端口0為非模擬輸入,即作為數(shù)字I/O端口。3)注意:APCFG寄存器的設(shè)置將覆蓋P0SEL的設(shè)置。4)APCFG模擬I/O配置寄存器:2.配置ADCCON3寄存器單通道的ADC轉(zhuǎn)換,只需要將控制字寫入ADCCON3寄存器即可。ADC初始化程序如下voidinitial_ADC(){APCFG|=0X01;//設(shè)置P0_0端口為模擬端口P0SEL|=0X01;//設(shè)置P0_0端口為外設(shè)功能P0DIR&=~0X01;//設(shè)置P0_0端口為輸入方向ADCCON3=0xB0;//13位分辨率(512抽取率)avdd5:3.3V,通道0,啟動AD轉(zhuǎn)化//ADCCON3=0xA0;//11位分辨率(256抽取率)avdd5:3.3V,通道0,啟動AD轉(zhuǎn)化//ADCCON3=0x90;//9位分辨率(128抽取率)avdd5:3.3V,通道0,啟動AD轉(zhuǎn)化//ADCCON3=0x80;//7位分辨率(64抽取率)avdd5:3.3V,通道0,啟動AD轉(zhuǎn)化}【任務(wù)指導(dǎo)】1.搭建開發(fā)環(huán)境1)新建工作區(qū),工作區(qū)名為:work5_1。2)新建工程,工程名為:project5_1。3)新建源程序文件,命名為test5_1.c。4)將test5_1.c文件添加到project5_1工程中。5)按鍵CTRL+S保存工作區(qū)。6)配置工程選項,“Project”->“Options”->“GeneralOptions”,“Device”->“TexasInstruments”->“CC2530F256”。7)配置linker,勾選Overridedefault8)配置Debugger,“Debugger”->“Setup”->“Driver”->“TexasInstruments”。2.在編輯窗口設(shè)計程序(1)準(zhǔn)備工作引入CC2530必要的頭文件“iocc2530.h”,定義相關(guān)變量等。#include<iocc2530.h>charname[]="測試CC2530片內(nèi)溫度!\n";chardata[20];(2)設(shè)計延時函數(shù)任務(wù)中通過串口發(fā)送片內(nèi)溫度測量值時,需要每隔一段時間發(fā)送一次,因此在程序設(shè)計中引入延時函數(shù)。voiddelay(unsignedinti){unsignedintj,k;for(k=0;k<i;k++){for(j=0;j<500;j++);}}(3)設(shè)計串口初始化函數(shù)及串口發(fā)送函數(shù)voidinitial_usart(){CLKCONCMD&=~0X7F;//晶振設(shè)置為32MHzwhile(CLKCONSTA&0X40);//等待晶振穩(wěn)定CLKCONCMD&=~0X47;//設(shè)置系統(tǒng)主時鐘頻率為32MHzPERCFG=0X00;//usart0使用備用位置1TX-P0_3RX-P0_2P0SEL|=0X3C;//P0_2P0_3P0_4P0_5用于外設(shè)功能P2DIR&=~0xC0;//P0優(yōu)先作為UART方式U0CSR|=0XC0;//uart模式允許接收U0GCR=9;U0BAUD=59;//波特率設(shè)為19200URX0IF=0;//uart0tx中斷標(biāo)志位清零}voiduart_tx_string(char*data_tx,intlen){unsignedintj;for(j=0;j<len;j++){U0DBUF=*data_tx++;while(UTX0IF==0);UTX0IF=0;}}(4)設(shè)計片內(nèi)溫度采樣函數(shù)floatgetTemperature(void){signedshortintvalue;ADCCON3=0x3E;//選擇內(nèi)部參考電壓;12位分辨率;對片內(nèi)溫度傳感器采樣ADCCON1|=0x30;//選擇ADC的啟動模式為手動ADCCON1|=0x40;//啟動AD轉(zhuǎn)化while(!(ADCCON1&0x80));//等待ADC轉(zhuǎn)化結(jié)束value=ADCL>>2;value|=((int)ADCH<<6);//8位轉(zhuǎn)為16位,后補6個0,得最終轉(zhuǎn)化結(jié)果,存入value中if(value<0)value=0;//若value<0,就認(rèn)為它為0returnvalue*0.06229-348.2;//根據(jù)公式計算出溫度值}(5)設(shè)計主函數(shù)voidmain(void){unsignedchari;floatavgTemp;initial_usart();//調(diào)用UART初始化函數(shù)uart_tx_string(name,sizeof(name));//發(fā)送串口數(shù)據(jù)TR0=0X01;//連接溫度傳感器到SOC_ADCATEST=0X01;//使能溫度傳感器while(1){avgTemp=getTemperature();for(i=0;i<64;i++)//連續(xù)采樣64次,并計算出平均值{avgTemp+=getTemperature();avgTemp=avgTemp/64;}data[0]=(unsignedchar)(avgTemp)/10+0x30;//十位data[1]=(unsignedchar)(avgTemp)%10+0x30;//個位data[2]='.';//小數(shù)點data[3]=(unsignedchar)(avgTemp*10)%10+0x30;//十分位data[4]=(unsignedchar)(avgTemp*100)%10+0x30;//百分位uart_tx_string(data,5);uart_tx_string("℃\n",3);//在PC上顯示溫度值和℃符號delay(10000);//延時}}3.編譯、分析、調(diào)試程序編譯、下載程序。編譯無錯后,將CCDebugger與ZigBee模塊相連,并分別連接到電腦,下載程序。打開串口調(diào)試器,在串口上可看到,每隔一定時間,顯示一次溫度值。教師引導(dǎo)學(xué)生分析任務(wù)學(xué)生復(fù)習(xí)鞏固所學(xué)知識小組合作探究教師指導(dǎo)教師引導(dǎo)學(xué)生設(shè)計ADC初始化函數(shù)學(xué)生依據(jù)任務(wù)要求搭建開發(fā)環(huán)境學(xué)生編寫程序:引入頭文件,定義相關(guān)變量編寫延時函數(shù)教師評價小組合作依據(jù)前面所學(xué)設(shè)計串口的初始化函數(shù)及串口發(fā)送數(shù)據(jù)函數(shù)教師引導(dǎo)學(xué)生理解片內(nèi)溫度采樣函數(shù)的設(shè)計思路教師引導(dǎo)學(xué)生學(xué)習(xí)設(shè)計主函數(shù)學(xué)生動手操作,實現(xiàn)程序功能新知應(yīng)用ADC采用單端輸

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論