




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、試驗(yàn)三 GPIO輸出把握試驗(yàn)一、 試驗(yàn)?zāi)康纳鐻PC2000系列ARM7微把握器的GPIO輸入把握。二、試驗(yàn)設(shè)備l 硬件:PC機(jī) 一臺(tái)LPC2131教學(xué)試驗(yàn)開(kāi)發(fā)平臺(tái) 一套l 軟件:Windows 98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境。三、試驗(yàn)內(nèi)容1. P0.7管腳把握EasyARM教學(xué)試驗(yàn)開(kāi)發(fā)平臺(tái)上的蜂鳴器報(bào)警。2. GPIO 輸出試驗(yàn)流水燈試驗(yàn)試驗(yàn)預(yù)習(xí)要求:LPC2000 GPIO管腳的設(shè)置和把握。四、試驗(yàn)原理1.GPIO 輸出試驗(yàn),蜂鳴器把握在 EasyARM2131 開(kāi)發(fā)板上,接有一個(gè)蜂鳴器,由P0.7 把握,通過(guò)跳線JP11 選擇連接。蜂鳴器把握電路如所示。圖 3-1 蜂
2、鳴器把握電路假如跳線JP11 選擇蜂鳴器,當(dāng)P0.7 輸出低電平常,蜂鳴器鳴叫,當(dāng)P0.7 輸出高電平則停止鳴叫。程序設(shè)置PINSEL0 使P0.7 連接GPIO,并通過(guò)IO0DIR將其設(shè)置為輸出狀態(tài),然后通過(guò)IO0CLR和IO0SET清零和置位P0.7 口,把握蜂鳴器,流程圖見(jiàn)圖 3-2。圖 3-2 蜂鳴器把握試驗(yàn)流程圖2 GPIO 輸出試驗(yàn)流水燈試驗(yàn)單路LED 把握EasyARM2131 開(kāi)發(fā)板上有8 個(gè)獨(dú)立的LED,分別由8 個(gè)GPIO口把握,現(xiàn)在使用其中一路進(jìn)行試驗(yàn),使用的電路如圖 3-3所示。圖 3-3 單路LED 電路圖當(dāng)跳線 JP12 連接LED1 時(shí),P1.18 接受灌電流方式
3、驅(qū)動(dòng)LED1,當(dāng)P1.18 輸出低電平常,LED1 點(diǎn)亮,當(dāng)P1.18 輸出高電平常,LED1 熄滅。試驗(yàn)程序首先設(shè)置管腳連接GPIO,接著設(shè)置P1.18 口為輸出模式,然后通過(guò)IO1CLR和IO1SET把握P1.18,驅(qū)動(dòng)LED1 的亮滅。GPIO 輸出試驗(yàn)流水燈試驗(yàn)EasyARM2131 開(kāi)發(fā)板上的8 路LED(LED8LED1)分別可選擇P125:18進(jìn)行把握,電路如圖 3-4 所示。圖 3-4 8 路LED 把握電路當(dāng)跳線JP12 全部選擇LED8LED1 后,P1.25P1.18 分別把握這8 路LED,就可以進(jìn)行流水燈試驗(yàn)。流水燈顯示花樣可以通過(guò)數(shù)組人為定義,亦可通過(guò)肯定的算法計(jì)算
4、,程序清單所示為接受人為定義數(shù)組把握顯示花樣的試驗(yàn)程序,流程圖如圖 3-5 所示。圖 3-5 流水燈花樣顯示流程圖五、試驗(yàn)步驟試驗(yàn)內(nèi)容1步驟 啟動(dòng)ADS1.2IDE集成開(kāi)發(fā)環(huán)境,選擇ARM Executable Image for lpc2131工程模板建立一個(gè)工程BeepCon_C。 在user組里編寫(xiě)主程序代碼main.c。將EasyARM教學(xué)試驗(yàn)開(kāi)發(fā)平臺(tái)上的P0.7管腳與Beep跳線短接gde臺(tái)ngtheng 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
5、444444444444。 選擇Project->Debug,啟動(dòng)AXD進(jìn)行JLINK仿真調(diào)試。在工程窗口中選擇DebugInRAM生成目標(biāo),然后編譯連接工程(單擊Make按鈕)。如圖所示。選擇 DebugInRAM 生成目標(biāo)時(shí),編譯連接生成的目標(biāo)代碼就是用于在片內(nèi)RAM 調(diào)試。打開(kāi)ADS開(kāi)發(fā)環(huán)境下的【Edit】->【DebugInFLASH Settings.】,在”ARM fromELF”下Output format做如圖選擇,輸出文件選擇你的文件同一名目下,擴(kuò)展名.HEX 全速運(yùn)行程序,程序?qū)?huì)在main.c的主函數(shù)中停止(由于main函數(shù)起始處默認(rèn)設(shè)置有斷點(diǎn))。 單擊Con
6、text Variable圖標(biāo)按鈕(或者選擇Processor Views->Variables)打開(kāi)變量觀看窗口,通過(guò)此窗口可以觀看局部變量和全局變量。選擇System Views->Debugger Internals 即可打開(kāi)LPC2000系列ARM7微把握器的片內(nèi)外寄存器窗口。 可以單步運(yùn)行程序,可以設(shè)置/取消斷點(diǎn);或者全速運(yùn)行程序,停止程序運(yùn)行,觀看變量的值,推斷蜂鳴器把握是否正確。在FLASH 中調(diào)試在工程窗口中選擇 DebugInFLASH 生成目標(biāo),然后編譯連接工程(單擊Make 按鈕)。選擇 DebugInFLASH 生成目標(biāo)時(shí),編譯連接生成的目標(biāo)代碼就是用于在片
7、內(nèi)FLASH 調(diào)試。編譯連接通過(guò)后,按鍵盤(pán)的F5 鍵,啟動(dòng)AXD進(jìn)行調(diào)試。留意,由于程序要燒寫(xiě)到片內(nèi)FLASH,默認(rèn)選項(xiàng)在每次裝載FLASH 地址的調(diào)試文件時(shí),將會(huì)擦除FLASH 并下載代碼到FLASH 中。脫機(jī)運(yùn)行使用 DebugInFLASH 生成目標(biāo),并進(jìn)行調(diào)試后(使用JLINK 仿真器),程序即燒寫(xiě)到片內(nèi)FLASH 中。將JLINK 電源斷開(kāi),重新上電,程序?qū)⒚摍C(jī)運(yùn)行;試驗(yàn)內(nèi)容2試驗(yàn)步驟 啟動(dòng)ADS1.2IDE集成開(kāi)發(fā)環(huán)境,選擇ARM Executable Image for lpc2131工程模板建立一個(gè)工程LedDisp_C。 在user組里編寫(xiě)主程序代碼main.c。 選用Deb
8、ugInRam生成目標(biāo),然后編譯鏈接工程。 將EasyARM教學(xué)試驗(yàn)開(kāi)發(fā)平臺(tái)上的P1.18:25管腳對(duì)應(yīng)與LED1:8跳線短接gde臺(tái)ngtheng 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666。 選擇Project->Debug,啟動(dòng)AXD進(jìn)行JLINK仿真調(diào)試。 全速運(yùn)行程序,程序?qū)?huì)在main.c的主函數(shù)中停止。 單擊Context Variable圖標(biāo)按鈕(或者選擇Processor Views->Variables
9、)打開(kāi)變量觀看窗口,通過(guò)此窗口可以觀看局部變量和全局變量。選擇System Views->Debugger Internals 即可打開(kāi)LPC2000系列ARM7微把握器的片內(nèi)外寄存器窗口。 可以單步運(yùn)行程序,可以設(shè)置/取消斷點(diǎn);或者全速運(yùn)行程序,停止程序運(yùn)行,觀看變量的值,推斷LED1LED8把握是否正確。(3)試驗(yàn)參考程序GPIO輸出把握試驗(yàn)的參考程序見(jiàn)3-1。程序清單1 Error! No text of specified style in document.GPIO輸出把握試驗(yàn)1的參考程序/* 文件名:main.c* 功 能:蜂鳴器把握。對(duì)蜂鳴器進(jìn)行把握,接受軟件延時(shí)方法。*
10、使用I/O口直接把握,接受灌電流方式。* 說(shuō) 明:將P0.7與Beep短接。*/#include "config.h"#define BEEPCON 1<<7/ P0.7引腳把握Beep,低電平蜂鳴/* 名 稱(chēng):DelayNS()* 功 能:長(zhǎng)軟件延時(shí)。* 入口參數(shù):dly延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<5000; i+); /* 名 稱(chēng):main()* 功 能:把握蜂鳴器蜂鳴。*/int main(void
11、) PINSEL0 = 0x00000000; / 設(shè)置管腳連接GPIO IO0DIR = BEEPCON; / 設(shè)置I/O為輸出 while(1) IO0SET = BEEPCON;/ BEEPCON = 1 DelayNS(200); IO0CLR = BEEPCON;/ BEEPCON = 0 DelayNS(200); return(0);程序清單 2#include "config.h"/* LED8LED1 8 個(gè)LED 分別由P1.25P1.18 把握 */const uint32 LEDS8 = (0xFF << 18); / P125:18把握
12、LED8LED1,低電平點(diǎn)亮/* 函數(shù)名稱(chēng):DelayNS()* 函數(shù)功能:長(zhǎng)軟件延時(shí)* 入口參數(shù):dly 延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void DelayNS (uint32 dly) uint32 i;for ( ; dly>0; dly-)for (i=0; i<50000; i+);/* 函數(shù)名稱(chēng):main()* 函數(shù)功能:流水燈顯示試驗(yàn)。* 調(diào)試說(shuō)明:連接跳線 JP12 至LED8LED1。*/* 流水燈花樣,低電平點(diǎn)亮,留意調(diào)用時(shí)候用了取反操作 */const uint32 LED_TBL = 0x00, 0xFF, / 全部熄滅后,再全部點(diǎn)亮0x01
13、, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, / 依次逐個(gè)點(diǎn)亮0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, / 依次逐個(gè)疊加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, / 依次逐個(gè)遞減0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, / 兩個(gè)靠攏后分開(kāi)0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81 / 從兩邊疊加后遞減;int main (void) uint8
14、 i;PINSEL1 = 0x00000000; / 設(shè)置管腳連接GPIOIO1DIR = LEDS8; / 設(shè)置LED 把握口為輸出while (1) for (i=0; i<42; i+) /* 流水燈花樣顯示 */IO1SET = (LED_TBLi) << 18);DelayNS(20);IO1CLR = (LED_TBLi) << 18);DelayNS(20);return 0;參考程序3/* 文 件 名:main.c* 功 能:LED顯示把握。* 通過(guò)GPIO直接把握8個(gè)LED產(chǎn)生流水燈效果* 說(shuō) 明:P1.18:25管腳對(duì)應(yīng)與LED1:8跳線短接,
15、把P0.16與KEY跳線短接,* 使用KEY1鍵來(lái)操作流水燈的運(yùn)行方向*/#include "config.h"const uint32 LEDS8 = 0xFF << 18;/P125:18把握LED1LED8,低電平點(diǎn)亮const uint32 KEY = 1 << 16;/P0.16連接KEY1const uint32 DISP_TAB10 = 0x01, 0x02, 0x04, 0x08,0x10,0x20,0x40,0x80, 0xff, 0xff;const uint32 DISP_TAB210 = 0x80 , 0x40, 0x20,
16、0x10, 0x08,0x04, 0x02,0x01, 0xff, 0xff;/ 兩個(gè) LED 圖案 碼表/* 名 稱(chēng):DelayNS()* 功 能:長(zhǎng)軟件延時(shí)* 入口參數(shù):dly-延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<5000; i+); /* 名 稱(chēng):main()* 功 能:依據(jù)表DISP_TAB來(lái)把握LED顯示。*/int main(void) uint8 i; PINSEL0 = 0x00;/ P015:0 用作GPIOPINSEL1 =
17、 0x00;/ P031:16 用作GPIO PINSEL2 = PINSEL2 & (0x08);/ P125:16連接GPIOIO1DIR = LEDS8;/ 設(shè)置P125:18為輸出口,把握LED7:0 while(1) if(IO0PIN&KEY)!=0) / 測(cè)試KEY 按鍵 for(i=0; i<8; i+)IO1CLR = DISP_TABi<<18;DelayNS(50);IO1SET = 0xffffffff; DelayNS(10); if(IO0PIN&KEY)=0) / 測(cè)試KEY 按鍵 for(i=0; i<8; i+)
18、IO1CLR = DISP_TAB2i<<18;DelayNS(50);IO1SET = 0xffffffff; DelayNS(10); return(0);參考程序 41./* 文件名:LEDCON.C* 功能:LED閃爍把握。對(duì)發(fā)光二極管LED4進(jìn)行把握,接受軟件延時(shí)方法。* 使用I/O口直接把握LED,接受灌電流方式。* 說(shuō)明:將跳線器JP4_LED4短接。*/#include "config.h"#define LEDCON0x02000000/* P0.25引腳把握LED4,低電平點(diǎn)亮 */* 名稱(chēng):DelayNS()* 功能:長(zhǎng)軟件延時(shí)* 入口參數(shù):dly延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<50000; i+); /* 名稱(chēng):main()* 功能:把握LED閃爍*/int main(void) PINSEL0 = 0x00000000;/ 設(shè)置全部管腳
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廠房拆遷補(bǔ)償與環(huán)保設(shè)施配套合同
- 老師介紹課件
- 公共廁所日常維護(hù)及深度清潔合作協(xié)議
- 新能源汽車(chē)制造廠區(qū)轉(zhuǎn)讓與市場(chǎng)推廣合同
- 出租車(chē)副班司機(jī)合同解除與終止合同
- 專(zhuān)業(yè)倉(cāng)儲(chǔ)物流企業(yè)成品油代購(gòu)代銷(xiāo)合同范本
- 采石場(chǎng)承包與礦產(chǎn)資源補(bǔ)償費(fèi)合同
- 老人睡眠護(hù)理課件
- 美術(shù)課件中國(guó)畫(huà)
- 消防安全生產(chǎn)制度
- 弱電設(shè)備維護(hù)保養(yǎng)方案
- 道路及兩側(cè)便道保潔方案.docx
- 旅游開(kāi)發(fā)公司組織架構(gòu)
- 上期開(kāi)特下期出特公式
- 杭州市普通住宅物業(yè)菜單式服務(wù)參考收費(fèi)標(biāo)準(zhǔn)(試行)
- 鋼材標(biāo)準(zhǔn)-SAEAMS5662M-2004鎳基高溫合金[1]._pdf
- 建筑工程內(nèi)外墻面噴漿、粘釘、掛網(wǎng)施工合同(共2頁(yè))
- 山東生態(tài)功能區(qū)劃(文字)
- DP備份軟件日常維護(hù)手冊(cè)
- DFMEA模板(完整版)
- 省教改課題申報(bào)書(shū)填寫(xiě)技巧
評(píng)論
0/150
提交評(píng)論