嵌入式課程設(shè)計講課稿_第1頁
嵌入式課程設(shè)計講課稿_第2頁
嵌入式課程設(shè)計講課稿_第3頁
嵌入式課程設(shè)計講課稿_第4頁
嵌入式課程設(shè)計講課稿_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、嵌 入 式 課 程 設(shè) 計精品文檔武漢華夏理工學(xué)院課程設(shè)計課程名稱嵌入式技術(shù)與應(yīng)用課程設(shè)計題 目 基于 ARM9 的數(shù)據(jù)采集程序設(shè)計專 業(yè) 自動化班 級 自動化 1133 學(xué) 號 1021241 姓 名成 績指導(dǎo)老師2022 年 11 月 14 日收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔課程設(shè)計任務(wù)書同學(xué)姓名:專業(yè)班級:自動化 1133指導(dǎo)老師:工作單位: 信息工程學(xué)院設(shè)計題目 :基于 ARM9 的數(shù)據(jù)采集程序設(shè)計初始條件:1、硬件平臺為博創(chuàng)經(jīng)典UP-NETARM2410 試驗箱( S3C2410處理器);2、軟件平臺為 eclipse+keil+PUTTY (串口調(diào)試助手);設(shè)計任務(wù):

2、( 在規(guī)定的時間內(nèi)完成以下任務(wù))1、通過 S3C2410XARM9 的 ADC 采集試驗箱三個電位器的值,旋轉(zhuǎn)電位 器時可在屏幕上看到當(dāng)前采集值的變化;2、中斷功能:按下中斷按鍵觸發(fā)中斷,中斷時三個 屏幕上打印正在中斷的提示;LED 燈閃耀一次,且3、報警功能:設(shè)定一個臨界值(如 500),當(dāng)采集的值超過此臨界值時,燈閃耀報警,三個電位器與三個燈一一對應(yīng);時間支配: 各時間段的任務(wù)可以交替進行課程設(shè)計支配在第 10-11 周,地點在 532 試驗室,設(shè)計步驟準時間進度如下:時間 階段內(nèi)容第一周星期一介紹題目,查找相關(guān)資料第一周星期二 需求分析第一周星期三 第一周星期四星期 五硬件總體設(shè)計、軟件

3、總體設(shè)計,畫出硬件原理圖 和程序流程圖 編寫、調(diào)試、修改程序其次周星期一星期 軟硬件聯(lián)調(diào)三其次周星期四 撰寫設(shè)計報告其次周星期五檢查、答辯后修改設(shè)計報告設(shè)計報告撰寫格式要求:(按供應(yīng)的設(shè)計報告統(tǒng)一格式撰寫)報告內(nèi)容應(yīng)包括:(1)實現(xiàn)的功能(2)軟硬件平臺(3)硬件原理分析及原理圖(5)程序流程圖代碼及注釋(4)硬件驅(qū)動的實現(xiàn)步驟及分析(6)工程樹形結(jié)構(gòu)截圖(7)運行及調(diào)試的步驟(圖文并茂)(8)總結(jié)體會收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔指 導(dǎo) 教 師 簽 名:系主任(或責(zé)任老師)簽名:2022 年 11 月 7 日 2022年 11 月 7 日收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品

4、文檔目錄第 1 章 需求分析 .1 第 2 章硬件及驅(qū)動系統(tǒng)的實現(xiàn) .2 2.1 原理圖與引腳 .2 2.1.1LED 引腳.2 2.1.2 UART.2 2.1.3 中斷開關(guān) INTKEY.2 2.1.4 ADC 驅(qū)動引腳 .3 2.2 配置 .3 2.2.1 LED 燈分析配置 .3 2.2.2 UART 分析 配置 .3 2.2.3 中斷分析配置 .7 2.2.4 ADC 及其驅(qū)動分析配置 .10 2.3 驅(qū)動 .12 2.3.1 相關(guān)寄存器定義 .14 2.3.2 實現(xiàn)驅(qū)動 .15 2.3.3 編寫 main 函數(shù).17 2.3.4 修改兩個 makefile.17 第 3 章系統(tǒng)運行

5、及調(diào)試 .18 3.1 啟動串口調(diào)試助手 .18 3.2 啟動 H-JTAG.18 3.3 運行 eclipse 工程 .19 3.4 添加文件到工程 .19 3.5 調(diào)試工程 .19 3.6 試驗現(xiàn)象 .21 第 4 章 總結(jié)和體會 .23 參考文獻 .24 附錄 .25 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔第 1 章需求分析 1.1 考核要求1 通過 S3C2410XARM9的 ADC采集試驗箱三個電位器的值,旋轉(zhuǎn)電位器時可在屏幕上看到當(dāng)前采集值的變化;2 中斷功能:按下中斷按鍵觸發(fā)中斷,中斷時三個LED燈閃耀一次,且屏幕上打印正在中斷的提示;3 報警功能:設(shè)定一個臨界值(如500

6、),當(dāng)采集的值超過此臨界值時,燈閃耀報警,三個電位器可與三個燈一一對應(yīng),并且發(fā)出聲音警報;1.2 軟硬件平臺 1.2.1 硬件平臺 博創(chuàng)經(jīng)典 UP-NETARM2410 試驗箱( S3C2410處理器);1.2.2 軟件平臺 eclipse+keil+PUTTY (串口調(diào)試助手);收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔第 2 章硬件及驅(qū)動系統(tǒng)的實現(xiàn)2.1 原理圖與引腳 2.1.1 LED 引腳 1 LED 燈及報警由于要實現(xiàn)三個 LED燈閃耀,涉及到 LED,通過搜尋 Database 第 6 章 Device 找到如圖 2所示的引腳圖,找到了

7、GPC5,GPC6,GPC7引腳;當(dāng)中斷開關(guān)按下時,LED閃耀一次,同時,LED作為報警器,當(dāng)超過臨界阻值時(試驗中為500),燈閃耀報警;2.1.2 UART 圖 2 RS232 引腳定義由于要接收數(shù)據(jù)(電位器的阻值),所以必定涉及到串行數(shù)據(jù)傳輸接口;如上圖所示,可以看到各個引腳的信息,由于只需要接收數(shù)據(jù),試驗時接 RS232-0;2.1.3 中斷開關(guān) INTKEY 圖 3 INTKEY引腳原理圖收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔由于要實現(xiàn)按下中斷按鍵觸發(fā)中斷,所以通過搜尋 如圖 2 所示的引腳圖,找到了 EINT5引腳;2.1.4 ADC 驅(qū)動引腳Database 第 6 章 D

8、evice 找到圖 4 ADC驅(qū)動引腳原理圖由于是采集試驗箱電位器的值,要把模擬信號轉(zhuǎn)換成為數(shù)字信號,這其中涉及到 AD/DA轉(zhuǎn)換;所以通過搜尋Database 第 10 章 AD/DA 找到圖 1 的引腳圖;第一實現(xiàn)是采集3 個電位器的值,找到了 AINT0,AINT1,AINT2 引腳;2.2 詳細配置2.2.1 LED 燈分析配置 1 通過到第九章 I/O 搜尋發(fā)覺該引腳是多功能引腳,如下表,需要進行配置,即作如下配置: GPCCON11:10=0b01;GPCCON13:12=0b01;GPCCON15:14=0b01; 表 1 Port C 掌握寄存器表 2 PORT C 掌握寄存器

9、表 3 GPCDAT的描述(2)無需用到時鐘,故無需分頻;(3)由于要掌握燈的點亮和熄滅,故要對 2.2.2 UART 分析配置GPCDAT進行配置,配置見 led 程序;(1)通過到第九章 I/O 搜尋 RXD0和 TXD0,找到了該引腳,是多功能引腳;(2)因需要接收更新的數(shù)據(jù),uart 沒有時鐘,故需要給它配置時鐘;在CLOCK章搜尋 uart 得到下表收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 4 CLK 掌握寄存器由于使用的是 uart0, 故應(yīng)作如下配置: CLKCON10=0b1,即設(shè)置 PCLK到串口;(3)其它參數(shù)配置與相關(guān)寄存器在uart 一章搜尋 uart 有:UAR

10、T行掌握寄存器( ULCONn,其功能及位描述如下表所示 UART表 5 uart行掌握寄存器掌握寄存器( UCONn,其功能及位描述如下表所示 表 6 UART 掌握寄存器收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔 UART FIFO 掌握寄存器( UFCONn,其功能及位描述如下表所示表 7 UART FIFO 掌握寄存器 UART modem掌握寄存器( UMCONn,其功能及位描述如下表所示收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 8 UART modem 寄存器 UART TX/RX 狀態(tài)寄存器( UMCONn,其功能及位描述如下表所示 表 9 UART TX/RX 狀態(tài)寄存

11、器此寄存器系統(tǒng)已經(jīng)配置好,用來判定發(fā)送或者接收是否完成的寄存器; UART 波特率因子寄存器( UBRDIVn,其功能及位描述如下表所示 表 10 UART 波特率因子寄存器 2.2.3 中斷配置收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔(1)到第九章 I/O 搜尋發(fā)覺 EINT5 是多功能引腳,需要進行配置,即 EXTINT022:20=0b01;即設(shè)置的是下降觸發(fā);表 11 外部中斷掌握寄存器表 12 外部中斷掛起寄存器即中斷懇求,清除外部中斷懇求;引腳設(shè)置見表 13;收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 13 PORT F 掌握寄存器(2)無需用到時鐘,無需分頻;(3)參數(shù)配

12、置與相關(guān)寄存器在第十四章Interrupt controller搜尋 EINT 有:表 14 為 EINTMASK寄存器,其功能及位描述如下表所示 外部中斷使能,使用時配置為 EINTMASK5=0b0;,這是多功能管腳中斷使能,即表 14 外部中斷屏蔽寄存器表 15 為 SRCPND寄存器,其功能及位描述如下表所示,這是清除中部的中斷源,使用時配置為 SRCPND4=0b1;收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 15 SRCPND(中斷源掛起)寄存器表 16 為 INTMOD寄存器,其功能及位描述如下表所示,這是指示中斷源為irq類型,使用時配置為 INTMOD4=0b0;表 16

13、 INTMOD(中斷模式)寄存器表 17 為 INTMSK寄存器,其功能及位描述如下表所示,表內(nèi)部中斷使能,使用時配置為 INTMSK4=0b0;表 17 INTMSK (中斷屏蔽)寄存器表 18 為 INTPND寄存器,其功能及位描述如下表所示;用來清除內(nèi)部中斷懇求,使用時 配置為 INTPND4=0b1;表 18 INTPND (中斷掛起)寄存器收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 19 是中斷偏移寄存器,指示 IRQ中斷源;表 19 INTOFFSET(中斷偏移)寄存器 2.2.4 ADC 及其驅(qū)動分析配置(1)通過到第 9 章 I/O 一章搜尋沒找到,發(fā)覺 腳;AINT0,A

14、INT1,AINT2 引腳并不是多功能引(2)由于要準時對數(shù)據(jù)進行更新且系統(tǒng)的頻率過高,所以要對時鐘進行分頻,搜尋 CLOCK章 表 20 CLK 掌握寄存器收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 21 ADCCON 從表 20 和 21 中可以看出需要做如下配置:CLKCON15=1,以便把系統(tǒng)時鐘給ADC;READ_START1=1,由于已經(jīng)使用了 READ_START,因而可不用 ENABLE_START(3)參數(shù)配置與相關(guān)寄存器在 ADC一章搜尋 表 22 ADC 掌握寄存器位描述在通道挑選上,可通過SEL_MUX5:3進行挑選;通過配置PRSCVL13:6可進行分頻,如 PR

15、SCVL13:6=1111 1111b 表示 256 分頻;配置 A/D 轉(zhuǎn)換狀態(tài)標志, ECFLG15=1;有關(guān) ADC啟動延時寄存器如下表 表 23 ADCDLY 有關(guān) ADC轉(zhuǎn)換數(shù)據(jù)寄存器如下表收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔表 24 ADC轉(zhuǎn)換數(shù)據(jù)寄存器對于一般的 A/D 轉(zhuǎn)換,使用 ADCDAT0來儲存轉(zhuǎn)換后的數(shù)據(jù);其中 XPDATA(正常 ADC)是X位置的轉(zhuǎn)換數(shù)據(jù)值,也是正常A/D 轉(zhuǎn)換的數(shù)據(jù)值,取值范疇為03FF;2.3 驅(qū)動 2.3.1 相關(guān)寄存器的定義(1)工程 -include-gpio-led.h, 向其中添加如下代碼圖 5 led.h 收集于網(wǎng)絡(luò),如有侵權(quán)

16、請聯(lián)系治理員刪除精品文檔(2)工程 -include-uart-uart.h, 向其中添加如下代碼圖 6 uart.h (3)工程 -include-key-key.h, 向其中添加如下代碼圖 7 key.h 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔(4)工程 -include-adc-adc.h, 向其中添加如下代碼圖 8 adc.h 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔2.3.2 實現(xiàn)驅(qū)動(1)在工程中新建 drivers文件夾,在其中新建gpio 文件夾,在 gpio 中新建 led.c文件,在 led.c中添加如下代碼圖 9 led.c (2)在工程中新建 drivers文

17、件夾,在其中新建uart 文件夾,在 uart 中新建 uart.c文件,在 uart.c 中添加如下代碼 圖 10 uart.c 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔(3)在工程中新建 drivers文件夾,在其中新建key 文件夾,在 key 中新建 key.c 文件,在key.c 中添加如下代碼圖 11 key.c (4)在工程中新建 drivers文件夾,在其中新建adc 文件夾,在 adc 中新建 adc.c 文件,在adc.c 中添加如下代碼圖 12 adc.c 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔2.3.3 編寫 main 函數(shù)編寫 main.c :common-

18、main.c,向其中添加圖 13 main.c 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔2.3.4 修改兩個 Makefile 將 common文件夾中的 Makefile復(fù)制到 drivers-adc中, 找到 “ COBJS:=”改為 COBJS:=adc.o 找到 “ LIB:= ”改為 LIB:=libadc.a 并在工程中的 Makefile,LIB+=common/libcommon.a后面加 LIB+=drivers/libadc.a; 第三章系統(tǒng)運行及調(diào)試 3.1 啟動串口調(diào)試收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔第一連接串口線,一端連試驗箱的RS232-0,另一端連

19、電腦主機的串口;(1 雙擊桌面的 PUTTY.EXE,會顯現(xiàn)如下界面,選中 serial,將 9600 改為 115200,圖 14 putty 進入界面(2 點中左邊樹形列表中的 serial,將左邊最終一項改為 None ;圖 15 putty 修改參數(shù)界面(3 點擊 open 按鈕并撥動試驗箱電源開關(guān),使試驗箱處于通電狀態(tài),如串口調(diào)試界面顯示如下,表示串口通了,配置好了;按電腦任意鍵,光標停在vivi 處,等待 eclipse 程序運行;圖 16 putty主界面3.2 啟動 H-JTAG 先確定試驗箱電源打開,并口線連接好,然后直接點擊桌面上的 始菜單中搜尋找到),可以自動檢測到 CP

20、U的類型;圖 20 H-JMP 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除H-JTAG圖標(如沒有可從開精品文檔3.3 運行 eclipse 工程(1)創(chuàng)建 eclipse 工程;點擊桌面的 eclipse 圖標,直接點擊 OK進入 eclipse (電腦默認為 D盤下的 eclipse 中),單擊 File -New- C Project 新建一個 project_s3c2410 工程,然后點擊 Finish 即可;如下圖:(2)創(chuàng)建 keil 工程;在 eclipse 界面上,點擊 uvision-creat new project , 即顯現(xiàn)如下界面:挑選 GCC 圖 21 創(chuàng)建 keil工程

21、keil軟件,關(guān)閉 keil工3 點 next , 挑選 S3C2410A設(shè)備,點擊 Finish 按鈕,這時會打開程即可;3.4 添加文件到工程在之前新建的工程目錄下粘貼已經(jīng)寫好的 project_s3c2410 文件夾,可直接替換原先的空文件夾;再在 eclipse 下,刷新工程目錄,最終,按之前的步驟添加程序;3.5 調(diào)試工程(1)在 eclipse下點 run -Debug Congigurations -uvision project雙擊 ,顯現(xiàn)如下界面收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔圖 22 調(diào)試工程(2)分別點兩個 Browse,挑選對應(yīng)的 project_s3c24

22、10及 project_s3c2410.uvproj;(3)點擊 Target Options-output-Select Folder for objects 然后返回上一級(紅色標記處),顯現(xiàn)如下界面圖 23 調(diào)試工程4 點擊 OK后回到之前界面,再點Debug,會看到電腦默認的是H-JTAG;5 點擊 OK-Debug ,開頭調(diào)試程序,如下圖圖 24debug 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔(6)顯現(xiàn)下面的對話框時點 Yes,圖 25 調(diào)試勝利界面綠色按表示“ 運行” ,看現(xiàn)象;紅色方塊表示“ 停止” ;點擊右上角紅色下劃線可返回程序頁面進行改進;圖 26 運行3.6 試驗

23、現(xiàn)象按下中斷按鈕,顯示打印 doirq 圖 27 結(jié)果顯示界面收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔當(dāng)三個電位器大于 500 時,燈會閃耀報警圖 28 報警 led 燈閃耀收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔第 4 章總結(jié)與體會通過此次的課程設(shè)計,加深了ARM課程中所學(xué)到的基本理論學(xué)問,也加深了通過使用數(shù)據(jù)手冊來查找相關(guān)信息;剛拿道題目時,覺得仍比較簡潔,想想無非是課本上的學(xué)問,算一算 就好了,可真正開頭進行設(shè)計時便遇見了困難;課本上的學(xué)問都是在抱負情形下求出的,且 由于教材將的側(cè)重點不同,并未給出明確的算法,經(jīng)過很長時間的翻閱資料也為能找出明確 的方案,最終依據(jù)自己新找到的資料

24、再結(jié)合老師平常教授的學(xué)問,最終再回來到教材上進行 總結(jié);看似一個很簡潔的設(shè)計,假如自己沒有親自動手做,便永久不知道它是不是真的很簡 單;在做課程設(shè)計期間,我?guī)缀趺刻炫軋D書館,最終確定了設(shè)計方案;這次課程設(shè)計,我充分錘煉了自己的才能,包括查閱資料的才能,設(shè)計才能,與同學(xué)相 互探討的才能;也從課程設(shè)計中體會到了書本的學(xué)問真的很局限,它只是老師將我們帶進去 的一門工具,真要達到了學(xué)以致用必需要不斷的充實自己,學(xué)習(xí)各方面的學(xué)問,不要局限在 一本書上,從而真正達到理論聯(lián)系實際的目的收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔參考文獻1 沈文斌,嵌入式硬件系統(tǒng)設(shè)

25、計與開發(fā)實例詳解. 北京:電子工業(yè)出版社, 2022 2 張景璐,杜輝,吳友蘭編著. ARM9嵌入式系統(tǒng)設(shè)計與應(yīng)用案例. 北京:中國電力出版社 .2022 3 熊茂華、楊震倫 . ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)應(yīng)用. 北京:清華高校出版社 .2022 4 程克非,嵌入式系統(tǒng)設(shè)計 . 北京:機械工業(yè)出版社,2022 2022 2022 5 馬忠梅等,嵌入式系統(tǒng)設(shè)計. 北京:北京航空航天高校出版社,2022. 6 李新峰、何廣生;基于ARM9的嵌入式 Linux 開發(fā)技術(shù);電子工業(yè)出版社,7 孫天澤;嵌入式 Linux 操作系統(tǒng);人民郵電出版社;2022 8 楊水清、張劍; ARM嵌入式 Linux

26、 系統(tǒng)開發(fā)技術(shù)詳解;電子工業(yè)出版社,9 俞建新、王健、宋健建;嵌入式系統(tǒng)基礎(chǔ)教程;機械工業(yè)出版社,2022 設(shè)計者:湯立爭日 期: 2022年 11 月 14 日收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔附錄Led.h:#ifndef _LED_H_ #define _LED_H_ void led_init void; void led_onvoid ; void led_off void ; void led2_onvoid; void led1_onvoid; void led0_onvoid; void led0_off void; void led1_off void; void

27、led2_off void; #endif / _LED_H_ Uart.h :#ifndef UART_H_ #define UART_H_ #endif /* UART_H_ */ #define CLKCON *volatile unsigned int *0 x4C00000C #define UCON0 *volatile unsigned int *0 x50000004 #define UBRDIV0 *volatile unsigned int *0 x50000028 #define ULCON0 *volatile unsigned int *0 x50000000 #de

28、fine UMCON0 *volatile unsigned int *0 x5000000C #define UFCON0 *volatile unsigned int *0 x50000008 #define UTRSTAT0 *volatile unsigned int *0 x50000010 #define UTXH0 *volatile unsigned int *0 x50000020 #define URXH0 *volatile unsigned int *0 x50000024 #define GPHCON *volatile unsigned int *0 x560000

29、70 void uart_initvoid; void putcchar c; void putsconst char *str; char getcvoid; key.h:#ifndef KEY_H_ #define KEY_H_ #define SRCPND *volatile unsigned int * 0X4A000000 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔#define INTMOD * volatile unsigned int * 0X4A000004 #define INTMSK * volatile unsigned int * 0X4A000008 #defin

30、e INTPND * volatile unsigned int * 0X4A000010 #define INTOFFSET * volatile unsigned int * 0X4A000014 #define GPFCON *volatile unsigned int * 0 x56000050 #define EXTINT0 * volatile unsigned int * 0 x56000088 #define EINTMASK * volatile unsigned int * 0 x560000A4 #define EINTPEND * volatile unsigned i

31、nt * 0 x560000A8 void key_init void; void key_isr void; #endif /* KEY_H_ */ adc.h:#ifndef adc_H_ #define adc_H_ #define CLKCON *volatile unsigned int * 0 x4C00000C #define ADCCON *volatile unsigned int * 0 x58000000 #define ADCDAT0 *volatile unsigned int * 0 x5800000C void adc_init0void; void adc_in

32、it1void; void adc_init2void; int adc_readvoid; #endif /* adc_H_ */ led.c:#include gpio/led.h void led_initvoid / led1 *volatile unsigned int *0 x56000020 &= 0 x3 10; *volatile unsigned int *0 x56000020 |= 0 x1 10; / led2 *volatile unsigned int *0 x56000020 &= 0 x3 12; *volatile unsigned int *0 x5600

33、0020 |= 0 x1 12; / led3 *volatile unsigned int *0 x56000020 &= 0 x3 14; *volatile unsigned int *0 x56000020 |= 0 x1 14; void led0_offvoid / led1 置 1 熄滅 *volatile unsigned int *0 x56000024 |= 0 x1 5; void led1_offvoid 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔/ led2 *volatile unsigned int *0 x56000024 |= 0 x1 6; void le

34、d2_offvoid / led3 *volatile unsigned int *0 x56000024 |= 0 x1 7; void led_offvoid / led1 置 1 熄滅 *volatile unsigned int *0 x56000024 |= 0 x1 5; / led2 *volatile unsigned int *0 x56000024 |= 0 x1 6; / led3 *volatile unsigned int *0 x56000024 |= 0 x1 7; void led0_onvoid / led1 清 0 點亮 *volatile unsigned

35、 int *0 x56000024 &= 0 x1 5; void led1_onvoid / led2 *volatile unsigned int *0 x56000024 &= 0 x1 6; void led2_onvoid / led3 *volatile unsigned int *0 x56000024 &= 0 x1 7; void led_onvoid / led1 清 0 點亮 *volatile unsigned int *0 x56000024 &= 0 x1 5; / led2 *volatile unsigned int *0 x56000024 &= 0 x1 6

36、; / led3 *volatile unsigned int *0 x56000024 &= 0 x1 7; uart.c:#include uart/uart.h void putcchar c UTXH0 = c; while .UTRSTAT0 & 1 1; char getcvoid 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔while .UTRSTAT0 & 1; return URXH0 & 0 xff; void putsconst char *str int i = 0; while stri .= 0 if stri = n putcr; putcstri; i += 1

37、; void uart_initvoid /muxed,GPHCON5:4=10, GPHCON7:6=10 GPHCON&=0 x34; GPHCON|=0 x24; GPHCON&=0 x36; GPHCON|=0 x26; /時鐘配置 ,搜尋 UART, CLKCON10 = 0b1 設(shè)置 PCLK 到串口 CLKCON|=0 x110; /設(shè)置數(shù)據(jù)位 5-8 bit,ULCON01:0 = 0b118 位數(shù)據(jù)位 ULCON0|=0 x3; /設(shè)置停止位 ,ULCON02 = 0b0 一位停止位 ULCON0&=0 x12; /設(shè)置校驗位 奇/偶校驗 /不/強制 0/1,ULCON05:

38、3 = 0b000 不校驗 ULCON0&=0 x73; /設(shè)置不為紅外模式? No Infrared,ULCON06 = 0b0 ULCON0&=0 x16; /接收模式設(shè)置? UCON01:0 = 0b01polling 輪詢 UCON0&=0 x3; UCON0|=0 x1; /發(fā)送模式設(shè)置? UCON03:2 = 0b01polling 輪詢 UCON0&=0 x32; UCON0|=0 x12; /設(shè)置 loop-back 回送,UCON05 = 0b0非 Loop-back 模式 UCON0&=0 x15; /實現(xiàn)錯誤檢測 ,UCON06 = 0b0不產(chǎn)生錯誤報告 UCON0&=0

39、 x16; /設(shè)置接收超時 ,UCON07 = 0b0關(guān)閉超時 UCON0&=0 x17; /挑選 PCLK 時鐘,UCON010 = 0b0 挑選 PCLK 為串口時鐘 UCON0&=0 x110; 收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系治理員刪除精品文檔/設(shè)置 fifo,UFCON00 = 0b0 關(guān)閉,因用輪詢而不是中斷 UFCON0|=0 x1; /關(guān)閉發(fā)送懇求 RTS,不使用 Modem,UMCON00 = 0b0 UMCON0|=0 x1; /設(shè)置自動流控 ,UMCON04 = 0b0 關(guān)閉自動流控 UMCON0&=0 x14; /設(shè)置波特率 ,UBRDIV0 = 50700000 / 115200 / 16 - 1 = 26 UBRDIV0 = 26; key.c:#include key/key.h void key_initvoid /muxed,GPFCON11:10=0 x10 GPFCON&=310; GPFCON|=0 x210; /下降沿觸發(fā) EXTINT022:20=0b010 EXTINT0&=0 x720; EXTINT0|=0 x220; /irq 類型 INTMOD4=0b0 INTMOD&=14; /外部中斷使能 EINTMASK5=0b0 EINTMASK&=15; / 內(nèi)部中斷使能 INTMSK4 INTM

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論