非操作系統下lED燈控制_第1頁
非操作系統下lED燈控制_第2頁
非操作系統下lED燈控制_第3頁
非操作系統下lED燈控制_第4頁
非操作系統下lED燈控制_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、非操作系統下lED燈控制實驗報告 學生姓名: 學 號: 專業班級: 指導教師: 完成時間: 實驗1 非操作系統下LED燈控制實驗一.實驗目的熟悉裸板開發環境構建,掌握利用ADS開發工具或arm-linux-gcc開發工具編寫裸板系統下程序的基本步驟和方法,掌握裸板程序的基本架構,熟悉匯編設計的基本指令和偽指令的使用方法,掌握S3C6410接口開發基本方法和步驟,并編程設計LED流水燈程序設計。深刻體會軟件控制硬件工作的基本思路和方法。二.實驗內容實驗1.1 熟悉基于嵌入式實驗箱TINY6410,再了解LED燈電路;實驗1.2 在非操作系統下,編寫驅動leddrv.c和應用程序main.c,完成

2、點亮LED燈5秒,熄滅5秒,依次重復;實驗1.3 修改上述代碼,要求逐個點亮6個LED燈,然后逐個熄滅,要求每個時延為1秒左右。三.預備知識C 語言、微機接口等四.實驗設備及工具(包括軟件調試工具)硬件:ARM 嵌入式開發平臺、PC 機Pentium100 以上、串口線。軟件: WinXP或UBUNTU開發環境。五.實驗步驟5.1 LED流水燈設計子實驗11基本步驟(畫出實驗步驟圖) 2. 代碼設計(1)看懂相關硬件電路圖,以LED報警燈為例進行設計打開PDF硬件電路圖,明確LED燈用到的多個GPIO及其控制器本實驗電路 LED1-GPM0LED2-GPM1LED3-GPM2LED4-GPM3

3、LED5-GPM4LED6-GPM5LED7-GPQ0LED8-GPQ1得出結論:8個LED燈使用到的硬件控制器分別為_GPM_和_GPQ_兩個硬件控制器(2)在芯片手冊中找到相應的硬件控制器部分,重心是看懂端口寄存器本實驗要求完成LED流水燈設計,所以需要設置控制器中端口寄存器:GPMCON-設置相應位為輸出口GPMDAT-控制相應位輸出高電平-點亮LED燈 輸出低電平-熄滅LED燈(3)編寫驅動和應用程序編寫LED功能驅動文件LedDrv.c#define rGPMCON *(unsigned int *)0x7F008820)#define rGPMDAT *(unsigned int

4、*)0x7F008824)/config gpm05=inputvoid LedConfig()rGPMCON=0x111111;void LedOn()rGPMDAT=0x0; void LedOFF()rGPMDAT=0x3F; (4)編寫主應用程序main.c/本程序完成LED報警燈依次間隔5秒亮滅/基于S3C6410處理器,無OS下運行void delay()volatile int i = 0x100000;while (i-); void main()LedConfig();for(;)LedOn();delay();delay();LedOff();delay();delay()

5、;return;5.2 LED流水燈設計子實驗2(1)編寫主應用程序main.c/本程序完成LED報警燈流水效果/基于S3C6410處理器,無OS下運行void delay()volatile int i = 0x100000;while (i-); void main()for(i=0;i<6;i+)iLedOn(i+);delay();for(i=0;i<6;i+)iLedOff(i+);delay();return;(2)編寫相關Makefile和匯編啟動文件Makefile: led.bin: start.o main.oarm-linux-ld -Ttext 0x5000

6、0000 -o led.elf $arm-linux-objcopy -O binary led.elf led.binarm-linux-objdump -D led.elf > led_elf.dis %.o : %.Sarm-linux-gcc -o $ $< -c %.o : %.carm-linux-gcc -o $ $< -c clean:rm *.o *.elf *.bin *.dis -rf/ 啟動代碼.global _start_start:/ 把外設的基地址告訴CPU ldr r0, =0x70000000 /對于6410來說,內存(0x000000000x60000000),外設(0x70000000-0x7fffffff) orr r0, r0, #0x13/外設大小:256M mcr p15,0,r0,c15,c2,4 /把r0的值(包括了外設基地址+外設大小)寫給cpu / 關看門狗ldr r0, =0x7E004000mov r1, #0str r1, r0 / 設置棧ldr sp, =0x0c002000/ 調用C函數點燈bl mainhalt:b halt(3) 編譯并燒寫代碼編譯步驟為:在linux環境下,進入到目錄#make  六.實驗總結及心得體會通過本次

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論