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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論