![《短距離無線通信技術(shù)實驗》_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db3/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db31.gif)
![《短距離無線通信技術(shù)實驗》_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db3/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db32.gif)
![《短距離無線通信技術(shù)實驗》_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db3/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db33.gif)
![《短距離無線通信技術(shù)實驗》_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db3/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db34.gif)
![《短距離無線通信技術(shù)實驗》_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db3/0cebeed2-b0b7-4cf9-8a08-4e1daeaa4db35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗1 LED自動閃爍實驗【實驗目的】1. 掌握CC2530的IO口寄存器設(shè)置;2. 掌握LED自動閃爍編程方法?!緦嶒瀮?nèi)容】1. 在IAR集成開發(fā)環(huán)境中編寫LED自動閃爍程序,實現(xiàn)LED的自動閃爍。【預備知識】1. 了解C語言的基本知識;2. 了解IAR中編寫和調(diào)試程序的方法。【實驗設(shè)備】1. 硬件:教學實驗箱、PC機;2. 軟件:PC機操作系統(tǒng) Windows 98(2000、XP) IAR開發(fā)環(huán)境。3. 實驗必須連接好仿真器,通用調(diào)試母板,將通用調(diào)試母板串口和PC串口連接好?!净A(chǔ)知識】1. 相關(guān)電路圖板上有1個電源燈(D4),兩個狀態(tài)燈(D2和D3),電路如下圖所示:程序中操作P0.0
2、之前,只需要把P0DIR相應(yīng)位設(shè)置為輸出即可,P0SEL和P0INP使用復位值,不用設(shè)置。P2.0也類似。P0DIR |= 0x01; / 設(shè)置P0.0為輸出方式P2DIR |= 0x01; / 設(shè)置P2.0為輸出方式點亮LED燈如下:P0_0 = 0; P2_0 = 0;熄滅LED燈如下:P0_0 = 1; P2_0 = 1;要實現(xiàn)LED燈閃亮,程序中可以延時300ms左右輪流點亮和熄滅LED燈。2. IO口寄存器設(shè)置以P0口為例,寄存器主要有P0、P0SEL(功能選擇)、P0DIR(方向選擇)和P0INP(輸入模式選擇);每個寄存器都可以位尋址,下面表格列出了各個寄存器的定義和復位值。P0
3、 (P0 口寄存器)位號位名復位值操作性描述7:0P07:00xFF讀/寫P0 端口普通功能寄存器,可位尋址復位后P0=0xFF,對P0口進行操作前,一般要先設(shè)置好P0SEL、P0DIR和P0INP寄存器。P0SEL (P0功能選擇寄存器)位號位名復位值操作性描述7:0SELP0_7:00x00讀/寫0:普通IO; 1:外設(shè)功能復位后P0SEL=0x00,即P0口為普通IO口。如果要為外設(shè)功能,把相應(yīng)位設(shè)為1即可。外設(shè)功能主要包括:ADC轉(zhuǎn)換,串口,SPI口,定時器,DEBUG調(diào)試口等。P0DIR (P0方向選擇寄存器)位號位名復位值操作性描述7:0DIRP0_7:00x00讀/寫0:輸入;
4、1:輸出復位后P0DIR=0x00,即P0口為輸入。如果要為輸出,把相應(yīng)位設(shè)為1即可。P0INP (P0輸入模式選擇寄存器)位號位名復位值操作性描述7:0MDP0_7:00x00讀/寫0:上拉/下拉,由P2INP指定; 1:三態(tài)復位后P0INP=0x00,即P0口為上拉/下拉,具體由P2INP寄存器的位PDUP0指定:PDUP0=0為上拉;PDUP0=1為下拉。如果要為三態(tài),把相應(yīng)位設(shè)為1即可?!緦嶒灢襟E】1. 參照5.1 IAR 安裝及使用說明中的步驟“如何新建一個工程->添加配置->添加文件->編譯鏈接->下載調(diào)試運行”的過程,新建一個工程led,添加相應(yīng)的文件,并
5、修改led的工程設(shè)置;2. 創(chuàng)建led.c并加入到工程led中;3. 編寫LED自動閃爍程序,在每次閃爍之間延時一段時間;4. 編譯led,成功后,下載并運行,觀察結(jié)果。實驗2 定時器T1實驗【實驗目的】1. 掌握CC2530的定時器T1寄存器設(shè)置;2. 掌握定時器中斷函數(shù)程序的編程方法?!緦嶒瀮?nèi)容】1. 在IAR集成開發(fā)環(huán)境中編寫定時器中斷程序【預備知識】1. 了解C語言的基本知識;2. 了解IAR中編寫和調(diào)試程序的方法。【實驗設(shè)備】1. 硬件:教學實驗箱、PC機;2. 軟件:PC機操作系統(tǒng) Windows 98(2000、XP) IAR開發(fā)環(huán)境。3. 實驗必須連接好仿真器,通用調(diào)試母板,將
6、通用調(diào)試母板串口和PC串口連接好?!净A(chǔ)知識】1. 定時器T1寄存器定時器T1是16位計時器,寄存器主要有T1CC0H、T1CC0L、T1CTL和CLKCONCMD,下面表格列出了各個寄存器的定義和復位值。程序中參數(shù)設(shè)置好后,要置位T1IE和EA,即打開定時器T1中斷和總中斷。T1CC0H (定時器1通道0比較值寄存器,高)位號位名復位值操作性描述7:0T1CC015:80x00讀/寫定時器1通道0比較值寄存器,高字節(jié)部分T1CC0L (定時器1通道0比較值寄存器,低)位號位名復位值操作性描述7:0T1CC015:80x00讀/寫定時器1通道0比較值寄存器,低字節(jié)部分T1CTL (定時器1控制
7、字寄存器)位號位名復位值操作性描述7:4-0000 0讀保留3:2DIV1:000讀/寫對計數(shù)時鐘的分頻:00:Tick frequency/101:Tick frequency/810:Tick frequency/3211:Tick frequency/1281:0MODE1:00x00讀/寫定時器1模式選擇:00:停止計數(shù)01:從0x0000到0xFFFF往復計數(shù)(free-running)10:從0x0000到T1CC0往復計數(shù)(modulo)11:從0x0000到T1CC0,再從T1CC0到0x0000往復計數(shù)(up/down)T1CTL寄存器選擇對時鐘頻率的分頻值和定時器1計數(shù)模式
8、,具體設(shè)置參照上表。本實驗選擇不分頻、up/down模式。設(shè)定好后,計時器從0x0000到T1CC0,再從T1CC0到0x0000往復計數(shù),每計數(shù)一次產(chǎn)生定時中斷。T1CC0的值由T1CC0H和T1CC0L給出。CLKCONCMD (時鐘控制命令寄存器)位號位名復位值操作性描述7OSC32K1讀/寫32KHz時鐘源選擇:0: 32KHz的晶體振蕩器; 1:32KHz的RC振蕩器6OSC1讀/寫系統(tǒng)時鐘源選擇:0: 32MHz的晶體振蕩器; 1:16MHz的RC振蕩器5:3TICKSPD2:0001讀/寫計數(shù)時鐘設(shè)定:(不能超過系統(tǒng)時鐘)000:32MHz001:16MHz010:8MHz011
9、:4MHz100:2MHz101:1MHz110:500KHz111:250KHz2:0CLKSPD001讀/寫時鐘速度設(shè)定:(不能超過系統(tǒng)時鐘)000:32MHz001:16MHz010:8MHz011:4MHz100:2MHz101:1MHz110:500KHz111:250KHz程序中寄存器的設(shè)定如下:CLKCONCMD &= 0x40; /選擇32M晶振 while(!(SLEEPSTA & 0x40); /等待XSOC穩(wěn)定CLKCONCMD = 0xb8; /TICHSPD 128分頻,CLKSPD 不分頻 SLEEPCMD |= 0x04; /關(guān)閉不用的RC 振蕩器
10、 T1CC0L = 0xff; T1CC0H = 0x00; /比較值 T1CTL = 0x33; /通道0,不分頻,up/down模式 EA = 1; /開總中斷 T1IE = 1; /開定時器T1中斷其中SLEEPSTA和SLEEPCMD是睡眠定時器的寄存器,參照后面的睡眠定時實驗。2. 中斷向量表CC2530的中斷向量表在文件iocc2530.h中已經(jīng)定義好,如下:根據(jù)中斷向量表,定時器1中斷函數(shù)格式如下:#pragma vector=T1_VECTOR /定時器1中斷函數(shù)_interrupt void Timer1(void) P0_0=P0_0;/中斷服務(wù)程序【實驗步驟】1. 參照5
11、.1 IAR 安裝及使用說明中的步驟“如何新建一個工程->添加配置->添加文件->編譯鏈接->下載調(diào)試運行”的過程,新建一個工程Timer1,添加相應(yīng)的文件,并修改Timer1的工程設(shè)置;2. 創(chuàng)建Timer1.c并加入到工程Timer1中;3. 編寫定時器1中斷函數(shù),實現(xiàn)定時器1溢出改變D1狀態(tài);4. 編譯Timer1,成功后,下載并運行,觀察結(jié)果,并用示波器觀察P0_0波形,計算定時中斷的周期。 5、修改實驗1程序,用定時器1實現(xiàn)定時,去代替實驗1程序中的指令延遲。實驗3 UART串口實驗【實驗目的】1. 掌握CC2530的UART串口寄存器設(shè)置;2. 掌握UART
12、串口中斷函數(shù)程序的編程方法?!緦嶒瀮?nèi)容】1. 在IAR集成開發(fā)環(huán)境中編寫定時器中斷程序【預備知識】1. 了解C語言的基本知識;2. 了解IAR中編寫和調(diào)試程序的方法?!緦嶒炘O(shè)備】1. 硬件:教學實驗箱、PC機;2. 軟件:PC機操作系統(tǒng) Windows 98(2000、XP) IAR開發(fā)環(huán)境。3. 實驗必須連接好仿真器,通用調(diào)試母板,將通用調(diào)試母板串口和PC串口連接好?!净A(chǔ)知識】串行通信接口電路一般由可編程的串行接口芯片、波特率發(fā)生器、EIA與TTL電平轉(zhuǎn)換器以及地址譯碼電路組成。采用的通信協(xié)議有兩類:異步協(xié)議和同步協(xié)議。隨著大規(guī)模集成電路技術(shù)的發(fā)展,通用的同步(USRT)和異步(UART)
13、接口芯片種類越來越多,它們的基本功能是類似的。采用這些芯片作為串行通信接口電路的核心芯片,會使電路結(jié)構(gòu)比較簡單。下面介紹了異步串行通信的基本原理、串行接口的物理層標準以及PXA270串行口控制器。1. 異步串行通信異步串行方式是將傳輸數(shù)據(jù)的每個字符一位接一位(例如先低位、后高位)地傳送。數(shù)據(jù)的各不同位可以分時使用同一傳輸通道,因此串行I/O可以減少信號連線,最少用一對線即可進行。接收方對于同一根線上一連串的數(shù)字信號,首先要分割成位,再按位組成字符。為了恢復發(fā)送的信息,雙方必須協(xié)調(diào)工作。在微型計算機中大量使用異步串行I/O方式,雙方使用各自的時鐘信號,而且允許時鐘頻率有一定誤差,因此實現(xiàn)較容易。
14、但是由于每個字符都要獨立確定起始和結(jié)束(即每個字符都要重新同步),字符和字符間還可能有長度不定的空閑時間,因此效率較低。圖6-1給出異步串行通信中一個字符的傳送格式。開始前,線路處于空閑狀態(tài),送出連續(xù)“1”。傳送開始時首先發(fā)一個“0”作為起始位,然后出現(xiàn)在通信線上的是字符的二進制編碼數(shù)據(jù)。每個字符的數(shù)據(jù)位長可以約定為5位、6位、7位或8位,一般采用ASCII編碼。后面是奇偶校驗位,根據(jù)約定,用奇偶校驗位將所傳字符中為“1”的位數(shù)湊成奇數(shù)個或偶數(shù)個。也可以約定不要奇偶校驗,這樣就取消奇偶校驗位。最后是表示停止位的“1”信號,這個停止位可以約定持續(xù)1位、1.5位或2位的時間寬度。至此一個字符傳送完
15、畢,線路又進入空閑,持續(xù)為“1”。經(jīng)過一段隨機的時間后,下一個字符開始傳送才又發(fā)出起始位。每一個數(shù)據(jù)位的寬度等于傳送波特率的倒數(shù)。微機異步串行通信中,常用的波特率為110,150,300,600,1200,2400,4800,9600等。圖6-1 串行通信字符格式2. 串行接口的物理層標準通用的串行I/O接口有許多種,現(xiàn)就最常見的兩種標準作簡單介紹。1) EIA RS-232C這是美國電子工業(yè)協(xié)會推薦的一種標準(Electronic industries Association Recoil-mendedStandard)。它在一種25針接插件(DB25)上定義了串行通信的有關(guān)信號。這個標準后
16、來被世界各國所接受并使用到計算機的I/O接口中。在實際異步串行通信中,并不要求用全部的RS-232C信號,許多PC/XT兼容機僅用15針接插件(DB-15)來引出其異步串行I/O信號,而PC中更是大量采用9針接插件(DB-9)來擔當此任。圖6-2分別給出了DB-25和DB-9的引腳定義,表6-1列出了引腳的名稱以及簡要說明。 圖6-2 DB-25和DB-9引腳定義表6-1 引腳說明:引腳名稱全 稱說 明FGFrame Ground連到機器的接地線TXDTransmitted Data數(shù)據(jù)輸出線RXDReceived Data數(shù)據(jù)輸入線RTSRequest to Send要求發(fā)送數(shù)據(jù)CTSCle
17、ar to Send回應(yīng)對方發(fā)送的RTS的發(fā)送許可,告訴對方可以發(fā)送DSRData Set Ready告知本機在待命狀態(tài)DTRData Terminal Ready告知數(shù)據(jù)終端處于待命狀態(tài)CDCarrier Detect載波檢出,用以確認是否收到Modem的載波SGSignal Ground信號線的接地線(嚴格的說是信號線的零標準線)圖6-3給出了兩臺微機利用RS-232C接口通信的兩種基本連接方式。簡單連接完全連接圖6-3 RS-232連線圖2) 信號電平規(guī)定RS-232C規(guī)定了雙極性的信號邏輯電平, 它是一套負邏輯定義:-3V到-25V之間的電平表示邏輯“1”。+3V到+25V之間的電平表
18、示邏輯“0”。以上標準稱為EIA電平。PC/XT系列使用的信號電平是-12V和+12V,符合EIA標準,但在計算機內(nèi)部流動的信號都是TTL電平,因此這中間需要用電平轉(zhuǎn)換電路。常用專門的RS-232接口芯片,如SP3232、SP3220等,在TTL電平和EIA電平之間實現(xiàn)相互轉(zhuǎn)換。PC/XT系列以這種方式進行串行通信時,在波特率不高于9600的情況下,理論上通信線的長度限制為15米。3. UART接口電路UART接口電路完成TTL電平串行接口到RX232C電平接口的轉(zhuǎn)換,電路原理圖如下所示:4. UART中斷寄存器CC2530有UART0和UART1兩個串口,下面是UART0的寄存器定義,UAR
19、T1的寄存器和UART0類似,具體設(shè)置請參照CC2530數(shù)據(jù)手冊。U0CSR (串口0控制狀態(tài)寄存器)位號位名復位值操作性描述7MODE0讀串口模式選擇 0:SPI模式; 1:UART串口模式6RE0讀/寫接收使能 0:關(guān)閉接收; 1:允許接收5SLAVE0讀/寫SPI主從選擇 0:SPI主; 1:SPI從4FE0讀/寫串口幀錯誤狀態(tài) 0:沒有幀錯誤; 1:出現(xiàn)幀錯誤3ERR0讀/寫串口校驗結(jié)果 0:沒有校驗錯誤; 1:字節(jié)校驗出錯2RX_BYTE0讀/寫接收狀態(tài) 0:沒有接收到數(shù)據(jù); 1:接收到1字節(jié)數(shù)據(jù)1TX_BYTE0讀/寫發(fā)送狀態(tài) 0:沒有發(fā)送;1:最后一次寫入U0BUF的數(shù)據(jù)已經(jīng)發(fā)送
20、0ACTIVE0讀/寫串口忙標志 0:串口閑; 1:串口忙U0GCR (串口0控制狀態(tài)寄存器)位號位名復位值操作性描述7CPOL0讀/寫SPI時鐘極性0:低電平空閑; 1:高電平空閑6CPHA0讀/寫SPI時鐘相位0:由CPOL 跳向非CPOL 時采樣,由非CPOL 跳向CPOL 時輸出1:由非CPOL 跳向CPOL 時采樣,由CPOL跳向非CPOL 時輸出5ORDER0讀/寫傳輸位序0 :低位在先; 1: 高位在先4:0BAUD_E4:00x00讀/寫波特率指數(shù)值,BAUD_M 決定波特率U0BAUD (串口0 波特率控制寄存器)位號位名復位值操作性描述7:0BAUD_M7:00x00讀/寫
21、波特率尾數(shù),與BAUD_E 決定波特率U0BUF (串口0 收發(fā)緩沖器)位號位名復位值操作性描述7:0DATA7:00x00讀/寫UART0 收發(fā)寄存器程序中寄存器的設(shè)定如下:CLKCONCMD &= 0x40; /選擇32M晶振while(!(SLEEPSTA & 0x40); /等待XSOC穩(wěn)定CLKCONCMD = 0xb8; /TICHSPD 128分頻,CLKSPD 不分頻SLEEPCMD |= 0x04; /關(guān)閉不用的RC 振蕩器PERCFG = 0x00; /位置1 P0 口P0SEL = 0x3c; /P0 用作串口U0CSR |= 0x80; /UART 方式
22、U0GCR |= 10; /baud_e = 10;U0BAUD |= 216; /波特率設(shè)為57600(波特率設(shè)置參照下表)UTX0IF = 1;U0CSR |= 0x40; /允許接收IEN0 |= 0x84; /開總中斷,接收中斷32MHz系統(tǒng)時鐘波特率常用設(shè)置表波特率/bpsUxBAUD.BAUD_MUxGCR.BAUD_E誤差/(%)24005960.1448005970.1496005980.141440021680.03192005990.142880021690.033840059100.1457600216100.037680059110.14115200216110.032
23、30400216120.035. UART發(fā)送和接收函數(shù)UART程序分發(fā)送和接收兩部分:void UartTX_Send_String(char *Data,int len) /串口發(fā)送函數(shù) int j; for(j=0;j<len;j+) U0DBUF = *Data+; while(UTX0IF = 0);/等待發(fā)送完畢 UTX0IF = 0; 根據(jù)中斷向量表,UART接收中斷函數(shù)格式如下:#pragma vector=URX0_VECTOR /uart0接收中斷函數(shù)_interrupt void uart0(void) URX0IF = 0; /清接收中斷標志 P0_0=P0_0;
24、 uart_buffer = U0DBUF; UartTX_Send_String("welcome",7); /uart0發(fā)送"welcome"【實驗步驟】1. 參照5.1 IAR 安裝及使用說明中的步驟“如何新建一個工程->添加配置->添加文件->編譯鏈接->下載調(diào)試運行”的過程,新建一個工程uart0,添加相應(yīng)的文件,并修改uart0的工程設(shè)置;2. 創(chuàng)建uart0.c并加入到工程uart0中;3. 編寫串口發(fā)送和接收函數(shù),當串口接收到來自串口調(diào)試助手發(fā)送來的字節(jié)時改變D2狀態(tài),并發(fā)送"welcome";
25、4. 編譯uart0,成功后,下載并運行,打開串口調(diào)試助手,手動發(fā)送一個字節(jié),觀察結(jié)果,如下圖所示。實驗4 A/D轉(zhuǎn)換實驗【實驗目的】1. 掌握CC2530的A/D轉(zhuǎn)換寄存器設(shè)置;2. 掌握A/D轉(zhuǎn)換函數(shù)程序的編程方法?!緦嶒瀮?nèi)容】1. 在IAR集成開發(fā)環(huán)境中編寫定時器中斷程序。【預備知識】1. 了解C語言的基本知識。2. 了解IAR中編寫和調(diào)試程序的方法。【實驗設(shè)備】1. 硬件:教學實驗箱、PC機。2. 軟件:PC機操作系統(tǒng) Windows 98(2000、XP) IAR開發(fā)環(huán)境。3. 實驗必須連接好仿真器,通用調(diào)試母板,將通用調(diào)試母板串口和PC串口連接好?!净A(chǔ)知識】1. A/D轉(zhuǎn)換的基本
26、原理1) 采樣和量化作用:我們經(jīng)常遇到的物理參數(shù),如電流、電壓、溫度、壓力、速度電量或非電量都是模擬量。模擬量的大小是連續(xù)分布的,且經(jīng)常也是時間上的連續(xù)函數(shù)。因此要將模擬量轉(zhuǎn)換成數(shù)字信號需經(jīng)采樣>量化>編碼三個基本過程(數(shù)字化過程)。 圖6-4 A/D采樣示意圖采樣:按采樣定理對模擬信號進行等時間間隔采樣,將得到的一系列時域上的樣值去代替u=f(t),即用u0、u1、un代替u=f(t)。這些樣值在時間上是離散的值,但在幅度上仍然是連續(xù)模擬量。量化:在幅值上再用離散值來表示。方法是用一個量化因子Q去度量;u0、u1、,得到取整后的數(shù)字量。u0=2.4Q2Q 010u1=4.0Q4Q
27、 100u2=5.2Q5Q 101u3=5.8Q5Q 101編碼:將整量化后的數(shù)字量進行編碼,以便讀入和識別;編碼僅是對數(shù)字量的一種處理方法。例如:Q=0.5V/格,設(shè)用三位(二進編碼)u0=2.4Q2Q(010)2) 分類按被轉(zhuǎn)換的模擬量類型可分為時間/數(shù)字、電壓/數(shù)字、機械變量/數(shù)字等。應(yīng)用最多的是電壓/數(shù)字轉(zhuǎn)換器。電壓/數(shù)字轉(zhuǎn)換器又可分為多種類型:按轉(zhuǎn)換方式可分為:直接轉(zhuǎn)換、間接轉(zhuǎn)換。按輸出方式分可分為:并行、串行、串并行。按轉(zhuǎn)換原理可分為:計數(shù)式、比較式。按轉(zhuǎn)換速度可分為:低速、中速、高速。按轉(zhuǎn)換精度和分辨率可分為:3位、4位、8位、10位、12位、14位、16位等等。3) 工作原理類
28、似于用天平稱物體重量,設(shè)有一待測物為4.42g;滿度測量量程為,砝碼種類有四種:、。測量方法:先大砝碼,后小砝碼,依次比較(累計比較),要的記“1”,不要的記“0”。實測物重G為:誤差:誤差<最小砝碼(最小分辨砝碼)以上過程:通過4次比較后,得出結(jié)果;誤差<最小砝碼值;4) 逐次逼近式ADC工作原理原理結(jié)構(gòu)框圖:圖6-5 逐次逼近式A/D轉(zhuǎn)換器原理框圖圖6-6 逐次逼近式A/D轉(zhuǎn)換器原理框圖工作過程:*環(huán)形計數(shù)器:*去碼/留碼控制邏輯:*逐次比較過程(完成一個A/D轉(zhuǎn)換):設(shè),(n=8)表6-2 逐次逼近式ADC去碼/留碼控制邏輯次數(shù)計 數(shù) 器寄 存 器與的關(guān)系去/留碼11000
29、00001000 0000留20100 00001100 0000留30010 00001100 0000去40001 00001100 0000去50000 10001100 1000留60000 01001100 1100留70000 00101100 1110留80000 00011100 1111留2. A/D轉(zhuǎn)換寄存器并口P0的8位都可以作A/D轉(zhuǎn)換使用,CC2530內(nèi)部還有一個溫度傳感器,也屬于A/D轉(zhuǎn)換的輸入,A/D轉(zhuǎn)換的精度從8位到14位可以設(shè)置,下面是ADC寄存器的定義:ADCL (ADC轉(zhuǎn)換數(shù)據(jù)寄存器,低)位號位名復位值操作性描述7:2ADC5:00000 00讀ADC轉(zhuǎn)換
30、結(jié)果數(shù)據(jù)的低6位1:0-00讀保留ADCH (ADC轉(zhuǎn)換數(shù)據(jù)寄存器,高)位號位名復位值操作性描述7:0ADC13:00x00讀ADC轉(zhuǎn)換結(jié)果數(shù)據(jù)的高8位ADCCON1 (ADC控制寄存器1)位號位名復位值操作性描述7EOC0讀/寫ADC 結(jié)束標志位0 :ADC 進行中; 1: ADC 轉(zhuǎn)換結(jié)束6ST0讀/寫手動啟動AD 轉(zhuǎn)換0 :沒有轉(zhuǎn)換; 1 :啟動AD 轉(zhuǎn)換(STSEL=11)5:4STSEL1:011讀/寫AD 轉(zhuǎn)換啟動方式選擇00 :外部觸發(fā)01 :全速轉(zhuǎn)換,不需要觸發(fā)10 :T1 通道0 比較觸發(fā)11: 手工觸發(fā)3:2RCTRL1:000讀/寫16 位隨機數(shù)發(fā)生器控制位00 普通模式
31、(13x 打開),01 開啟LFSR 時鐘一次10 生成調(diào)節(jié)器種子,11 信用隨機數(shù)發(fā)生器1:0-11讀/寫保留ADCCON3 (ADC控制寄存器3)位號位名復位值操作性描述7:6SREF1:000讀/寫選擇單次A/D 轉(zhuǎn)換參考電壓00 :內(nèi)部1.25V 電壓01 :外部參考電壓AIN7 輸入10 :模擬電源電壓11 :外部參考電壓AIN6-AIN7 輸入5:4SDIV1:001讀/寫選擇單次A/D 轉(zhuǎn)換分辨率00 :8 位 (64dec) 01 :10 位 (128dec) 10 :12 位 (256dec)11 : 14 位 (512dec)3:0SCH3:00000讀/寫單次A/D 轉(zhuǎn)換
32、選擇,如果寫入時ADC 正在運行,則在完成序列A/D 轉(zhuǎn)換后立刻開始,否則寫入后立即開始A/D 轉(zhuǎn)換,轉(zhuǎn)換完成后自動清00000 :AIN0 0001 :AIN10010 :AIN2 0011 :AIN3 0100 :AIN40101 :AIN5 0110 :AIN6 0111 :AIN7 1000 :AIN0- AIN1 1001 :AIN2- AIN3 1010 :AIN4- AIN5 1011 :AIN6- AIN7 1100 :GND 1101 :正電源參考電壓1110 :溫度傳感器1111 :1/3 模擬電壓程序中寄存器的設(shè)定如下:CLKCONCMD &= 0x40; /選擇
33、32M晶振while(!(SLEEPSTA & 0x40); /等待XSOC穩(wěn)定CLKCONCMD = 0xb8; /TICHSPD 128分頻,CLKSPD 不分頻SLEEPCMD |= 0x04; /關(guān)閉不用的RC 振蕩器PERCFG = 0x00; /位置1 P0 口P0SEL = 0x3c; /P0 用作串口U0CSR |= 0x80; /UART 方式U0GCR |= 10; /baud_e = 10;U0BAUD |= 216; /波特率設(shè)為57600UTX0IF = 1;U0CSR |= 0x40; /允許接收IEN0 |= 0x84; /開總中斷,接收中斷Initial
34、AD(); /ADC轉(zhuǎn)換初始化while(!(ADCCON1 & 0x80); /等待AD轉(zhuǎn)換結(jié)束3. ADC相關(guān)函數(shù)根據(jù)ADC寄存器定義,ADC初始化函數(shù)格式如下:ADC轉(zhuǎn)換初始化函數(shù)如下:void InitialAD(void)ADCH &= 0x00; /EOC清零ADCCON3 = 0x8f; /單次轉(zhuǎn)換,參考電壓為電源電壓,對1/3 AVDD 進行A/D 轉(zhuǎn)換,8位分辨率ADCCON1 &= 0x30; /停止A/DADCCON1 |= 0x40; /啟動A/D;ADC轉(zhuǎn)換開始后,程序中計算ADC結(jié)果前要等待ADC轉(zhuǎn)換結(jié)束:unsigned int adc_v
35、alue;adc_value = ADCL >> 2;adc_value |= (unsigned int)ADCH) << 6);【實驗步驟】1. 參照5.1 IAR 安裝及使用說明中的步驟“如何新建一個工程->添加配置->添加文件->編譯鏈接->下載調(diào)試運行”的過程,新建一個工程ad_avdd1,添加相應(yīng)文件,并修改ad_avdd1的工程設(shè)置;2. 創(chuàng)建ad_avdd1.c并加入到工程ad_avdd1中;3. 編寫ADC初始化函數(shù),單次轉(zhuǎn)換,參考電壓為電源電壓,對1/3 AVDD 進行A/D 轉(zhuǎn)換,8位分辨率。ADC轉(zhuǎn)換后計算出的結(jié)果通過串口
36、UART打印。4. 編譯ad_avdd1,成功后,下載并運行,打開串口調(diào)試助手,觀察接收的ADC轉(zhuǎn)換數(shù)據(jù),如下圖所示。實驗5 數(shù)碼管顯示實驗【實驗目的】1. 掌握7段數(shù)碼管顯示原理;2. 掌握7段數(shù)碼管顯示控制程序的編程方法?!緦嶒瀮?nèi)容】1. 在IAR集成開發(fā)環(huán)境中編寫7段數(shù)碼管顯示控制程序?!绢A備知識】1. 了解C語言的基本知識;2. 了解IAR中編寫和調(diào)試程序的方法?!緦嶒炘O(shè)備】1. 硬件:教學實驗箱、PC機;2. 軟件:PC機操作系統(tǒng) Windows 98(2000、XP) IAR開發(fā)環(huán)境?!净A(chǔ)知識】1. LED顯示原理發(fā)光二極管數(shù)碼顯示器簡稱LED顯示器。LED顯示器具有耗電省、成本
37、低廉、配置簡單靈活、安裝方便、耐振動、壽命長等優(yōu)點,目前廣泛應(yīng)用于嵌入式系統(tǒng)中。7段LED由7個發(fā)光二極管按“日”字形排列,所有發(fā)光二極管的陽極連在一起稱共陽極接法,陰極連在一起稱為共陰極接法。一般共陰極可以不需外接電阻,但共陽極接法中發(fā)光二極管必須外接電阻。LED的結(jié)構(gòu)及連接圖如下圖所示。LED結(jié)構(gòu)及連接圖當選用共陰極的LED顯示器時,所有發(fā)光二極管的陰極連在一起接地,當某個發(fā)光二極管的陽極加入高電平時,對應(yīng)的二極管點亮。因此要顯示某字形就應(yīng)使此字形的相應(yīng)段的二極管點亮,也就是送一個用不同電平組合代表的數(shù)據(jù)字來控制LED的顯示,此數(shù)據(jù)稱為字符的段碼。字符0、1、2F與LED碼段A、B、CF以
38、及DP(小數(shù)點)的關(guān)系如表7-1所示:表7-1 LED字符與碼段對應(yīng)表字符DPGFEDCBA段碼(共陰)段碼(共陽)0001111113FHC0H10000011006HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88HB011111007CH83HC0011100139HC5HD010111105EHA1HE0111100179H86HF0111000171H8EH-0
39、100000040HBFH.1000000080H7FH熄滅0000000000HFFH說明:共陰的LED,被選中時的段為高電平有效,熄滅的段碼為00H;共陽的LED,被選中時的段為低電平有效熄滅的段碼為FFH。2. LED顯示接口LED顯示器的接口一般有靜態(tài)顯示與動態(tài)顯示接口兩種方式,下面分別加以介紹。1) 靜態(tài)顯示LED數(shù)碼管采用靜態(tài)接口時,共陰極或共陽極點連接在一起接地或接高電平。每個顯示位的段選線與一個8位并行口線對應(yīng)相連,只要在顯示位上的段選線上保持段碼電平不變,則該位就能保持相應(yīng)的顯示字符。這里的8位并行口可以直接采用并行I/O口,也可以采用串入并出的移位寄存器或是其它具有三態(tài)功能
40、的鎖存器等。2) 動態(tài)顯示在多位LED顯示時,為了簡化電路,降低成本,將所有位的段選線并聯(lián)在一起,由一個8位I/O口控制。而共陰(或共陽)極公共端分別由相應(yīng)的I/O線控制,實現(xiàn)各位的分時選通。由于各個數(shù)碼管是共用同一個段碼輸出口,分時輪流通電的,從而大大簡化了硬件線路,降低了成本。不過這種方式的數(shù)碼管接口電路中數(shù)碼管不宜太多,一般在8個以內(nèi),否則每個數(shù)碼管所分配的實際導通時間會太少,顯得亮度不足。若LED位數(shù)較多時應(yīng)采用增加驅(qū)動能力以提高顯示亮度。本實驗系統(tǒng)中采用靜態(tài)顯示接口,其原理圖如下圖所示:實驗系統(tǒng)LED原理圖3. 實驗說明1 制作LED字符與碼段對應(yīng)表,以數(shù)組形式表示,如下面代碼所示,
41、seg7table0-seg7table15的值分別代表顯示字符0-F時,各碼段的輸入數(shù)據(jù)。unsigned char seg7table16 = /* 0 1 2 3 4 5 6 7*/ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, /* 8 9 A B C D E F*/ 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e ;2 通過查詢LED字符與碼段對應(yīng)表獲得各碼段的輸入數(shù)據(jù),然后將該數(shù)據(jù)寫入LED數(shù)據(jù)寄存器即可實現(xiàn)在數(shù)碼管上顯示相應(yīng)字符。如下面的代碼將在數(shù)碼管上循環(huán)顯示字符“0”到字符“F”。/* 數(shù)碼管輸入輸出端口初始化*/void SegInit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油印蠟紙企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 連續(xù)手語識別的視覺模型研究
- 大健康遠程醫(yī)療服務(wù)企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 防水粉企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 家用健身倒立機行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 油畫畫布企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 劍麻收購合同范本
- 兒童營養(yǎng)補充針劑企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 基于深度學習與腦電信號的情緒識別方法研究
- 中藥材種植智能運輸車企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 高中英語單詞及短語匯總(北師大版)
- TTT培訓教材(-55張)課件
- 煤炭物流園區(qū)總體規(guī)劃(2016-2030)參考范本
- 道德與法治《上學路上》教案教學設(shè)計(公開課)
- XXX酒店預收款收據(jù) Deposit Receipt辦公模板
- 六郁湯-古今醫(yī)鑒卷四-方劑加減變化匯總
- 汽車公司APQP質(zhì)量門檢查表
- 數(shù)據(jù)結(jié)構(gòu)教學課件:chapter8
- 玉米雜交種制種技術(shù)匯總
- T∕ACSC 01-2022 輔助生殖醫(yī)學中心建設(shè)標準(高清最新版)
- 線性空間的定義與性質(zhì)
評論
0/150
提交評論