《無(wú)線通信開發(fā)技術(shù)及實(shí)踐》課件實(shí)踐2_第1頁(yè)
《無(wú)線通信開發(fā)技術(shù)及實(shí)踐》課件實(shí)踐2_第2頁(yè)
《無(wú)線通信開發(fā)技術(shù)及實(shí)踐》課件實(shí)踐2_第3頁(yè)
《無(wú)線通信開發(fā)技術(shù)及實(shí)踐》課件實(shí)踐2_第4頁(yè)
《無(wú)線通信開發(fā)技術(shù)及實(shí)踐》課件實(shí)踐2_第5頁(yè)
已閱讀5頁(yè),還剩78頁(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í)踐2AVR基本原理及應(yīng)用

實(shí)踐2.G.1

實(shí)踐2.G.2

實(shí)踐2.G.3

實(shí)踐2.G.4

實(shí)踐2.G.1

“IAR-AVR”集成開發(fā)環(huán)境的安裝。

【分析】

IAREmbeddedWorkbenchforAVR是IARSystems公司為AVR微處理器開發(fā)的一個(gè)集成開發(fā)環(huán)境,包括項(xiàng)目管理器、編輯器、C/C++編譯器、匯編器、連接器和調(diào)試器,具有入門容易、使用方便和代碼緊湊等特點(diǎn)。圖S2-1存放目錄

【參考解決方案】

找到安裝文件的存放目錄,雙擊安裝文件“autorun.exe”,如圖S2-1所示。在安裝界面下,點(diǎn)擊“InstallIAREmbeddedWorkbench”,開始安裝,界面如圖S2-2所示。圖S2-2安裝界面在彈出的歡迎界面中點(diǎn)擊下一步(Next)按鈕,如圖S2-3所示。圖S2-3安裝界面在彈出的許可界面中,點(diǎn)擊“Accept”按鈕,如圖S2-4所示。圖S2-4許可界面在彈出的界面中,填寫好姓名、公司和序列號(hào),點(diǎn)擊“Next”按鈕,如圖S2-5所示。圖S2-5用戶信息在彈出的界面中輸入密鑰,點(diǎn)擊“Next”按鈕,如圖S2-6所示。圖S2-6密鑰更改安裝路徑為D盤,其他不變,點(diǎn)擊“Next”按鈕,如圖S2-7所示。圖S2-7安裝路徑選在接下來(lái)的安裝類型界面中,選擇完整版,點(diǎn)擊“Next”按鈕,如圖S2-8所示。圖S2-8安裝類型選擇在彈出的界面中,保持默認(rèn)的程序位置不變,如圖S2-9所示。圖S2-9程序位置選擇確認(rèn)安裝信息后,點(diǎn)擊下一步(Next)按鈕繼續(xù)安裝,如圖S2-10所示。圖S2-10確認(rèn)參數(shù)彈出的安裝進(jìn)度圖如圖S2-11所示。圖S2-11安裝進(jìn)度圖彈出的安裝進(jìn)度圖如圖S2-11所示。安裝完成后的界面如圖S2-12所示,點(diǎn)擊“Finish”按鈕,完成安裝。圖S2-12完成界面

實(shí)踐2.G.2

IAR集成開發(fā)環(huán)境簡(jiǎn)介。

【分析】

為了盡快了解和熟悉IAR集成開發(fā)環(huán)境的使用,本實(shí)踐按下述步驟執(zhí)行:

(1)認(rèn)識(shí)IAR的啟動(dòng)界面、軟件界面。

(2)掌握工程文件的建立、編輯和修改。

【參考解決方案】

1.啟動(dòng)“IAR-AVR”

打開“開始”菜單,選擇“程序”,如圖S2-13所示,選擇“IAREmbeddedWorkbench”,啟動(dòng)IAR;或直接雙擊桌面上的“IAREmbeddedWorkbench”快捷方式圖標(biāo)。圖S2-13啟動(dòng)IAR

IAR啟動(dòng)后,顯示如圖S2-14所示的起始窗口。在起始窗口中可選擇新建或者打開工作組,本例中選擇“Openexistingworkspace”打開一個(gè)工程。圖S2-14起始窗口

2.認(rèn)識(shí)軟件界面

IAR的常用功能模塊有菜單、按鍵資源、工程窗口、編輯窗口和信息窗口等,如圖S2-15所示。圖S2-15開發(fā)環(huán)境界面各個(gè)功能模塊的功能簡(jiǎn)介如下:

菜單:包含IAR支持的菜單操作。

按鍵資源:包含編譯、調(diào)試等常用按鍵,可以提高操作速度。

工程窗口:工程信息和結(jié)構(gòu)的顯示窗口,用于工程管理。

編輯窗口:代碼的編輯區(qū)域。

信息窗口:顯示各種編譯和操作信息。

3.工程文件的建立、編輯和修改

1)新建

在圖S2-14中選擇“Creatnewprojectincurrentworkspace”新建一個(gè)工程,則會(huì)彈出如圖S2-16所示的界面,選擇包含一個(gè)空的main.c文件的工程,點(diǎn)擊“OK”按鈕。圖S2-16新建工程彈出如圖S2-17所示的“另存為”對(duì)話框,根據(jù)用戶需要可以自行更改工程名和保存位置;然后點(diǎn)擊“保存”按鈕。圖S2-17“另存為”對(duì)話框彈出如圖S2-18所示的新建工程窗口。此時(shí)項(xiàng)目中有IAR自動(dòng)生成的一個(gè)名為“test”的工程,并且自動(dòng)添加了main.c和main()函數(shù)。圖S2-18工程界面

2)保存

選擇菜單上的“File”,在彈出的下拉菜單中選擇“SaveWorkspace”,如圖S2-19所示。圖S2-19選擇“SaveWorkspace”在彈出的“SaveWorkspaceAs”對(duì)話框中選擇保存位置,輸入文件名,保存Workspace如圖S2-20所示。圖S2-20保存Workspace

3)編輯

選擇File→New→File,新建源文件到該項(xiàng)目,如圖

S2-21所示。圖S2-21新建源文件將新建的“Untitled1”文件保存,如圖S2-22所示。圖S2-22保存源文件彈出如圖S2-23所示的對(duì)話框,輸入文件名,將源文件Untitled1保存為“Led.c”。圖S2-23保存源文件將上述源文件添加到項(xiàng)目中,選擇“Project→AddFiles”,添加源文件如圖S2-24所示。圖S2-24添加源文件在彈出的對(duì)話框中選擇“Led.c”,如圖S2-25所示。圖S2-25選擇“Led.c”此時(shí),項(xiàng)目左邊的工作區(qū)已經(jīng)發(fā)生了變化,如圖S2-26所示。圖S2-26工作區(qū)欄按照同樣的方法,可以向工程中添加“Led.h”文件,得到的Test工程文件布局如圖S2-27所示。圖S2-27Test工程文件布局實(shí)踐2.G.3

使用IAR集成開發(fā)環(huán)境,編寫一個(gè)USART異步通信測(cè)試程序,實(shí)現(xiàn)單片機(jī)和PC之間密碼驗(yàn)證通信,驗(yàn)證通過(guò)時(shí)點(diǎn)亮LED燈。編譯通過(guò)后,使用AVRJTAG調(diào)試器下載驗(yàn)證。

【分析】本實(shí)踐基于USART串口通信的基本原理編寫相關(guān)代碼,然后使用JTAG仿真器將程序下載至實(shí)驗(yàn)開發(fā)板進(jìn)行結(jié)果驗(yàn)證,具體操作步驟如下:

(1)創(chuàng)建一個(gè)包含空的main.c文件的IAR工程。

(2)在main.c文件中編寫相關(guān)程序。

(3)將JTAG仿真器和串口線連接至實(shí)驗(yàn)開發(fā)板,確定仿真器和串口線的端口號(hào)。

(4)工程設(shè)置。

(5)編譯,將程序下載到實(shí)驗(yàn)開發(fā)板進(jìn)行測(cè)試。

【參考解決方案】

1.創(chuàng)建一個(gè)新工程

新建一個(gè)IAR工程,包含空的main.c文件,保存為code。

2.編寫程序源代碼

在main.c中輸入以下程序代碼:上述程序包含了一個(gè)重要的頭文件<iom16.h>。該頭文件將ATmega16的所有寄存器映射為同名的變量,還將寄存器的各個(gè)位映射成為相應(yīng)的變量,并對(duì)這些位變量進(jìn)行了定義。對(duì)這些變量的操作和訪問(wèn)就是對(duì)寄存器及其相應(yīng)位的操作和訪問(wèn)。<iom16.h>中還有對(duì)中斷源和中斷向量的定義。

上述程序代碼中,聲明串口中斷處理函數(shù)的方法為:

#pragmavector=USART_RXC_vect

__interruptvoidreceiv_server(void)

{

...//此處根據(jù)自身需要添加中斷處理內(nèi)容

}

其中,加粗部分為固定格式,不加粗部分為可替換部分。receiv_server為自定義的中斷處理函數(shù)名稱;USART_RXC_vect為串口接收中斷向量,由<iom16.h>定義。若需編寫其他中斷處理函數(shù),相應(yīng)的中斷向量也必須查詢<iom16.h>中關(guān)于中斷向量的定義。

3.確定JTAG仿真器和串口線的端口號(hào)

將JTAG仿真器和串口線連接至主板上的對(duì)應(yīng)接口。

在桌面上右鍵單擊“我的電腦”,在彈出的菜單中選擇“管理”,彈出“計(jì)算機(jī)管理”的界面,如圖S2-28所示。圖S2-28打開計(jì)算機(jī)管理界面單擊“設(shè)備管理器”,在端口一欄中可查看到兩個(gè)端口號(hào),分別為JTAG仿真器和串口線的端口號(hào),如圖S2-29所示。其中COM12和COM14分別為JTAG仿真器和串口線的端口號(hào)。圖S2-29查看端口號(hào)

4.工程設(shè)置

右鍵點(diǎn)擊工程窗口中的工程名稱,在彈出的菜單中選擇“Options”,如圖S2-30所示。圖S2-30選擇“Options”彈出“Optionsfornode‘code’”對(duì)話框,在“GeneralOptions”選項(xiàng)的“Target”標(biāo)簽下,處理器設(shè)置欄的下拉菜

單選擇ATmega16單片機(jī),如圖S2-31所示。圖S2-31彈出的“Optionsfornode‘code’”對(duì)話框在“C/C++Compiler”選項(xiàng)的“Rreprocessor”標(biāo)簽下,在“Definedsymbols”框中輸ENABLE_BIT_DEFINATIONS(可在頭文件中查找),如圖S2-32所示。圖S2-32“Rreprocessor”標(biāo)簽的設(shè)置在“Debugger”選項(xiàng)的“Setup”標(biāo)簽中,“Driver”欄的下拉菜單中選擇“JTAGICE”,如圖S2-33所示。圖S2-33“Setup”標(biāo)簽的設(shè)置

在“JTAGICE”選項(xiàng)的“JTAGICE1”標(biāo)簽中選擇端口號(hào)為“COM12”,端口頻率設(shè)置為540kHz,如圖S2-34所示。圖S2-34設(shè)置仿真器端口號(hào)和頻率

5.編譯、下載測(cè)試

點(diǎn)擊編譯按鍵如圖S2-35所示,或在菜單“Project”下選擇“Make”對(duì)代碼進(jìn)行編譯。圖S2-35編譯按鈕如果沒(méi)有錯(cuò)誤和警告,則出現(xiàn)提示,如圖S2-36所示。圖S2-36Message窗口點(diǎn)擊圖S2-35中最右側(cè)的“Debug”按鈕,彈出仿真調(diào)試按鈕,點(diǎn)擊全速執(zhí)行按鈕,如圖S2-37所示。圖S2-37仿真調(diào)試快捷按鈕

6.結(jié)果查看

對(duì)于本例的串口通信,采用本公司自主研發(fā)的上位機(jī)軟件“超級(jí)串口”實(shí)現(xiàn),其界面如圖S2-38所示。

在串口設(shè)置中選擇串口號(hào)為COM14,波特率設(shè)置為“9600”(依據(jù)代碼中的初始化波特率而定),然后點(diǎn)擊“打開串口”。在發(fā)送區(qū)輸入123+回車,點(diǎn)擊“發(fā)送”按鈕,接收區(qū)收到的內(nèi)容如圖S2-39所示。

輸入其他兩種情況,也能在接收區(qū)分別收到預(yù)期的結(jié)果,在此不再一一展現(xiàn)。圖S2-38超級(jí)串口界面圖S2-39串口收/發(fā)測(cè)試實(shí)踐2.G.4

LCD12864液晶顯示屏驅(qū)動(dòng)程序編寫。

【分析】LCD12864為單色液晶屏,分辨率為128×64。本書配套LCD12864帶中文字庫(kù),內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊,內(nèi)置8192個(gè)16×16點(diǎn)漢字和128個(gè)16×8點(diǎn)ASCII字符集。

LCD12864有串行和并行兩種連接方式,利用其靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。本書配套LCD12864為串行接口,相關(guān)接口定義如圖S2-40所示。圖S2-40LCD12864接口原理圖

【參考解決方案】

1.?LCD12864.h的編寫

12864液晶屏的相關(guān)引腳定義封裝成為宏定義,存放在文件“LCD12864.h”中,以便進(jìn)行封裝和快速調(diào)用,具體源程序代碼如下:

2.主函數(shù)main.c的編寫

在主函數(shù)中首先對(duì)LCD12864進(jìn)行初始化,然后調(diào)用測(cè)試函數(shù)顯示相關(guān)字符,其源程序代碼如下:

#include<iom16.h>

#include<intrinsics.h>

#include“LCD12864.h”

intmain(void)

{

3.?12864液晶屏初始化

液晶屏初始化函數(shù)LCD_init()的詳細(xì)程序代碼實(shí)現(xiàn)如下:其中,delay()為延時(shí)函數(shù),其源程序代碼實(shí)現(xiàn)如下:

wr_com()函數(shù)為寫指令函數(shù),參數(shù)為寄存器地址,其源程序代碼如下:其中,sendbyte()為SPI串口通信發(fā)送一個(gè)字節(jié)函數(shù),具體實(shí)現(xiàn)如下:

4.漢字顯示

由于LCD12864自帶漢字字庫(kù),只需要將漢字的編碼寫入相應(yīng)寄存器,便可進(jìn)行顯示。本例中使用TEST()函數(shù)顯示所需的內(nèi)容,其具體程序代碼實(shí)現(xiàn)如下: delay(10000);

loc(3,0);

LCD_display(“”);

delay(10000);

loc(4,0);

LCD_display(“-------------

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論