版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實踐2AVR基本原理及應(yīng)用
實踐2.G.1
實踐2.G.2
實踐2.G.3
實踐2.G.4
實踐2.G.1
“IAR-AVR”集成開發(fā)環(huán)境的安裝。
【分析】
IAREmbeddedWorkbenchforAVR是IARSystems公司為AVR微處理器開發(fā)的一個集成開發(fā)環(huán)境,包括項目管理器、編輯器、C/C++編譯器、匯編器、連接器和調(diào)試器,具有入門容易、使用方便和代碼緊湊等特點。圖S2-1存放目錄
【參考解決方案】
找到安裝文件的存放目錄,雙擊安裝文件“autorun.exe”,如圖S2-1所示。在安裝界面下,點擊“InstallIAREmbeddedWorkbench”,開始安裝,界面如圖S2-2所示。圖S2-2安裝界面在彈出的歡迎界面中點擊下一步(Next)按鈕,如圖S2-3所示。圖S2-3安裝界面在彈出的許可界面中,點擊“Accept”按鈕,如圖S2-4所示。圖S2-4許可界面在彈出的界面中,填寫好姓名、公司和序列號,點擊“Next”按鈕,如圖S2-5所示。圖S2-5用戶信息在彈出的界面中輸入密鑰,點擊“Next”按鈕,如圖S2-6所示。圖S2-6密鑰更改安裝路徑為D盤,其他不變,點擊“Next”按鈕,如圖S2-7所示。圖S2-7安裝路徑選在接下來的安裝類型界面中,選擇完整版,點擊“Next”按鈕,如圖S2-8所示。圖S2-8安裝類型選擇在彈出的界面中,保持默認(rèn)的程序位置不變,如圖S2-9所示。圖S2-9程序位置選擇確認(rèn)安裝信息后,點擊下一步(Next)按鈕繼續(xù)安裝,如圖S2-10所示。圖S2-10確認(rèn)參數(shù)彈出的安裝進(jìn)度圖如圖S2-11所示。圖S2-11安裝進(jìn)度圖彈出的安裝進(jìn)度圖如圖S2-11所示。安裝完成后的界面如圖S2-12所示,點擊“Finish”按鈕,完成安裝。圖S2-12完成界面
實踐2.G.2
IAR集成開發(fā)環(huán)境簡介。
【分析】
為了盡快了解和熟悉IAR集成開發(fā)環(huán)境的使用,本實踐按下述步驟執(zhí)行:
(1)認(rèn)識IAR的啟動界面、軟件界面。
(2)掌握工程文件的建立、編輯和修改。
【參考解決方案】
1.啟動“IAR-AVR”
打開“開始”菜單,選擇“程序”,如圖S2-13所示,選擇“IAREmbeddedWorkbench”,啟動IAR;或直接雙擊桌面上的“IAREmbeddedWorkbench”快捷方式圖標(biāo)。圖S2-13啟動IAR
IAR啟動后,顯示如圖S2-14所示的起始窗口。在起始窗口中可選擇新建或者打開工作組,本例中選擇“Openexistingworkspace”打開一個工程。圖S2-14起始窗口
2.認(rèn)識軟件界面
IAR的常用功能模塊有菜單、按鍵資源、工程窗口、編輯窗口和信息窗口等,如圖S2-15所示。圖S2-15開發(fā)環(huán)境界面各個功能模塊的功能簡介如下:
菜單:包含IAR支持的菜單操作。
按鍵資源:包含編譯、調(diào)試等常用按鍵,可以提高操作速度。
工程窗口:工程信息和結(jié)構(gòu)的顯示窗口,用于工程管理。
編輯窗口:代碼的編輯區(qū)域。
信息窗口:顯示各種編譯和操作信息。
3.工程文件的建立、編輯和修改
1)新建
在圖S2-14中選擇“Creatnewprojectincurrentworkspace”新建一個工程,則會彈出如圖S2-16所示的界面,選擇包含一個空的main.c文件的工程,點擊“OK”按鈕。圖S2-16新建工程彈出如圖S2-17所示的“另存為”對話框,根據(jù)用戶需要可以自行更改工程名和保存位置;然后點擊“保存”按鈕。圖S2-17“另存為”對話框彈出如圖S2-18所示的新建工程窗口。此時項目中有IAR自動生成的一個名為“test”的工程,并且自動添加了main.c和main()函數(shù)。圖S2-18工程界面
2)保存
選擇菜單上的“File”,在彈出的下拉菜單中選擇“SaveWorkspace”,如圖S2-19所示。圖S2-19選擇“SaveWorkspace”在彈出的“SaveWorkspaceAs”對話框中選擇保存位置,輸入文件名,保存Workspace如圖S2-20所示。圖S2-20保存Workspace
3)編輯
選擇File→New→File,新建源文件到該項目,如圖
S2-21所示。圖S2-21新建源文件將新建的“Untitled1”文件保存,如圖S2-22所示。圖S2-22保存源文件彈出如圖S2-23所示的對話框,輸入文件名,將源文件Untitled1保存為“Led.c”。圖S2-23保存源文件將上述源文件添加到項目中,選擇“Project→AddFiles”,添加源文件如圖S2-24所示。圖S2-24添加源文件在彈出的對話框中選擇“Led.c”,如圖S2-25所示。圖S2-25選擇“Led.c”此時,項目左邊的工作區(qū)已經(jīng)發(fā)生了變化,如圖S2-26所示。圖S2-26工作區(qū)欄按照同樣的方法,可以向工程中添加“Led.h”文件,得到的Test工程文件布局如圖S2-27所示。圖S2-27Test工程文件布局實踐2.G.3
使用IAR集成開發(fā)環(huán)境,編寫一個USART異步通信測試程序,實現(xiàn)單片機(jī)和PC之間密碼驗證通信,驗證通過時點亮LED燈。編譯通過后,使用AVRJTAG調(diào)試器下載驗證。
【分析】本實踐基于USART串口通信的基本原理編寫相關(guān)代碼,然后使用JTAG仿真器將程序下載至實驗開發(fā)板進(jìn)行結(jié)果驗證,具體操作步驟如下:
(1)創(chuàng)建一個包含空的main.c文件的IAR工程。
(2)在main.c文件中編寫相關(guān)程序。
(3)將JTAG仿真器和串口線連接至實驗開發(fā)板,確定仿真器和串口線的端口號。
(4)工程設(shè)置。
(5)編譯,將程序下載到實驗開發(fā)板進(jìn)行測試。
【參考解決方案】
1.創(chuàng)建一個新工程
新建一個IAR工程,包含空的main.c文件,保存為code。
2.編寫程序源代碼
在main.c中輸入以下程序代碼:上述程序包含了一個重要的頭文件<iom16.h>。該頭文件將ATmega16的所有寄存器映射為同名的變量,還將寄存器的各個位映射成為相應(yīng)的變量,并對這些位變量進(jìn)行了定義。對這些變量的操作和訪問就是對寄存器及其相應(yīng)位的操作和訪問。<iom16.h>中還有對中斷源和中斷向量的定義。
上述程序代碼中,聲明串口中斷處理函數(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仿真器和串口線的端口號
將JTAG仿真器和串口線連接至主板上的對應(yīng)接口。
在桌面上右鍵單擊“我的電腦”,在彈出的菜單中選擇“管理”,彈出“計算機(jī)管理”的界面,如圖S2-28所示。圖S2-28打開計算機(jī)管理界面單擊“設(shè)備管理器”,在端口一欄中可查看到兩個端口號,分別為JTAG仿真器和串口線的端口號,如圖S2-29所示。其中COM12和COM14分別為JTAG仿真器和串口線的端口號。圖S2-29查看端口號
4.工程設(shè)置
右鍵點擊工程窗口中的工程名稱,在彈出的菜單中選擇“Options”,如圖S2-30所示。圖S2-30選擇“Options”彈出“Optionsfornode‘code’”對話框,在“GeneralOptions”選項的“Target”標(biāo)簽下,處理器設(shè)置欄的下拉菜
單選擇ATmega16單片機(jī),如圖S2-31所示。圖S2-31彈出的“Optionsfornode‘code’”對話框在“C/C++Compiler”選項的“Rreprocessor”標(biāo)簽下,在“Definedsymbols”框中輸ENABLE_BIT_DEFINATIONS(可在頭文件中查找),如圖S2-32所示。圖S2-32“Rreprocessor”標(biāo)簽的設(shè)置在“Debugger”選項的“Setup”標(biāo)簽中,“Driver”欄的下拉菜單中選擇“JTAGICE”,如圖S2-33所示。圖S2-33“Setup”標(biāo)簽的設(shè)置
在“JTAGICE”選項的“JTAGICE1”標(biāo)簽中選擇端口號為“COM12”,端口頻率設(shè)置為540kHz,如圖S2-34所示。圖S2-34設(shè)置仿真器端口號和頻率
5.編譯、下載測試
點擊編譯按鍵如圖S2-35所示,或在菜單“Project”下選擇“Make”對代碼進(jìn)行編譯。圖S2-35編譯按鈕如果沒有錯誤和警告,則出現(xiàn)提示,如圖S2-36所示。圖S2-36Message窗口點擊圖S2-35中最右側(cè)的“Debug”按鈕,彈出仿真調(diào)試按鈕,點擊全速執(zhí)行按鈕,如圖S2-37所示。圖S2-37仿真調(diào)試快捷按鈕
6.結(jié)果查看
對于本例的串口通信,采用本公司自主研發(fā)的上位機(jī)軟件“超級串口”實現(xiàn),其界面如圖S2-38所示。
在串口設(shè)置中選擇串口號為COM14,波特率設(shè)置為“9600”(依據(jù)代碼中的初始化波特率而定),然后點擊“打開串口”。在發(fā)送區(qū)輸入123+回車,點擊“發(fā)送”按鈕,接收區(qū)收到的內(nèi)容如圖S2-39所示。
輸入其他兩種情況,也能在接收區(qū)分別收到預(yù)期的結(jié)果,在此不再一一展現(xiàn)。圖S2-38超級串口界面圖S2-39串口收/發(fā)測試實踐2.G.4
LCD12864液晶顯示屏驅(qū)動程序編寫。
【分析】LCD12864為單色液晶屏,分辨率為128×64。本書配套LCD12864帶中文字庫,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊,內(nèi)置8192個16×16點漢字和128個16×8點ASCII字符集。
LCD12864有串行和并行兩種連接方式,利用其靈活的接口方式和簡單、方便的操作指令,可構(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ù)中首先對LCD12864進(jìn)行初始化,然后調(diào)用測試函數(shù)顯示相關(guān)字符,其源程序代碼如下:
#include<iom16.h>
#include<intrinsics.h>
#include“LCD12864.h”
intmain(void)
{
3.?12864液晶屏初始化
液晶屏初始化函數(shù)LCD_init()的詳細(xì)程序代碼實現(xiàn)如下:其中,delay()為延時函數(shù),其源程序代碼實現(xiàn)如下:
wr_com()函數(shù)為寫指令函數(shù),參數(shù)為寄存器地址,其源程序代碼如下:其中,sendbyte()為SPI串口通信發(fā)送一個字節(jié)函數(shù),具體實現(xiàn)如下:
4.漢字顯示
由于LCD12864自帶漢字字庫,只需要將漢字的編碼寫入相應(yīng)寄存器,便可進(jìn)行顯示。本例中使用TEST()函數(shù)顯示所需的內(nèi)容,其具體程序代碼實現(xiàn)如下: delay(10000);
loc(3,0);
LCD_display(“”);
delay(10000);
loc(4,0);
LCD_display(“-------------
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)園戶外網(wǎng)球場施工合同
- 手術(shù)室護(hù)理工作守則
- 物業(yè)管理智能化施工合同
- 醫(yī)院投訴處理與信息系統(tǒng)
- 旅游住宿合同管理流程
- 項目部進(jìn)度跟蹤系統(tǒng)
- 游戲開發(fā)公司聘用合同范本
- 機(jī)場新建工程塔機(jī)租賃協(xié)議
- 校園網(wǎng)絡(luò)布線工程合同范本
- 化妝品銷售兼職協(xié)議
- 分布式光伏場站管理制度-運(yùn)行管理
- 初中數(shù)學(xué)培優(yōu)補(bǔ)差總結(jié)3篇
- 醫(yī)療救護(hù)合作協(xié)議
- 開題報告:數(shù)智技術(shù)賦能的師范生深度學(xué)習(xí)過程畫像與實踐路徑優(yōu)化研究
- 《微元法的應(yīng)用》課件
- 標(biāo)準(zhǔn)門面租房合同范本
- 第六單元《質(zhì)量與密度》3.密度的測量(分層訓(xùn)練)(解析版)
- 《無人機(jī)飛行操控技術(shù)(微課版)》全套教學(xué)課件
- 2023-2024學(xué)年廣東省深圳高級中學(xué)七年級(上)期末歷史試卷
- 病例封存應(yīng)急預(yù)案
- GB/T 44800-2024太陽能光熱發(fā)電站儲熱/傳熱用工作介質(zhì)技術(shù)要求熔融鹽
評論
0/150
提交評論