




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、x學校課 程 設 計 報 告課程名稱: 嵌入式系統(tǒng) 設計題目:arm9串行接收發(fā)送驅動程序設計院 系: 電氣信息學院 班 級: 姓 名: 學 號: 指導教師: 設計時間: 目 錄一、設計題目2二、設計內容2三、硬件原理2四、程序流程圖21接收程序流程圖42、發(fā)送程序流程圖43、收發(fā)程序流程圖5五、程序設計61、基于arm9微處理器的串行接收驅動程序設計62、基于arm9微處理器的串行發(fā)送驅動程序設計73、基于arm9微處理器的串行接收發(fā)送驅動程序設計10六、心得體會16七、參考文獻16一、設計題目(1)基于arm9微處理器的串行接收驅動程序設計(2)基于arm9微處理器的串行發(fā)送驅動程序設計(
2、3)基于arm9微處理器的串行接收發(fā)送驅動程序設計二、設計內容1 (1)基于arm9微處理器的串行接收驅動程序設計初始化程序設計 串行接收程序設計(2)基于arm9微處理器的串行發(fā)送驅動程序設計初始化程序設計串行發(fā)送程序設計(3)基于arm9微處理器的串行接收發(fā)送驅動程序設計初始化程序設計串行接收發(fā)送程序設計2 實現pc機與el-arm-830開發(fā)系統(tǒng)的串行通訊,具體通訊方式與內容:(1) 幀格式:正常模式,無奇偶校驗,一個停止位,8個數據位(2)串行發(fā)送:每過一定時間,隔2行發(fā)送字符串“how are you!”,通過pc機的串口調試助手接收。(3) 串行接收:將接收到的5個字符存儲到以0x
3、c300000為首地址的sdram中,通過串口調試助手發(fā)送字符.(4)當接收到串口調試助手界面發(fā)送的“1”,發(fā)送第1屏信息;當接收到串口調試助手界面發(fā)送的“2”,發(fā)送第2屏信息;當接收到串口調試助手界面發(fā)送的“3”,發(fā)送第3屏信息設計要求(1)流程圖設計,流程圖上每個任務的文字說明。(2)完整的程序清單。(3)通過在pc機和el-arm-830開發(fā)平臺上的調試。三、硬件原理硬件原理如圖所示,u2 max232是rs-232c的接口電路,實現電平轉換作用。能將來自s3c44b0x一側的0v3.3v正邏輯電平轉換為符合eia標準的負邏輯電平輸出,既當s3c44b0x發(fā)出0v電平時,經過max232
4、轉換為3v15v電平,當s3c44b0x發(fā)出3.3v電平時,經過max232轉換為-3v-15v電平;能將來自pc機一側的標準rs-232電平,轉換為ttl電平輸出,既當max232接收到3v15v電平時,能轉換為0v電平傳向s3c44b0x一側,當max232接收到-3v-15v電平時,能轉換為5v電平傳向s3c44b0x一側。通過這種電平轉換,實現s3c44b0x與標準rs-232c設備通訊。圖10-8中r1、r2是限流電阻,起保護作用。原因是,max232向s3c44b0x一側的電平信號是05v,而s3c44b0x僅能發(fā)出/接收03.3v電平,邏輯高電平不匹配,通過限流電阻,簡單實現兩種
5、電平的接口。串行通訊原理圖四、程序流程圖1接收程序流程圖開始初始化檢測接收寄存器是否有有效數據noyes讀出數據結束2、發(fā)送程序流程圖開始初始化檢測發(fā)送寄存器是否為空noyes發(fā)送數據結束3、收發(fā)程序流程圖開始初始化檢測是否有有效數據noyesyes檢測有效數據是否為1發(fā)送第1屏數據noyes檢測有效數據是否為2no發(fā)送第2屏數據yes檢測有效數據是否為3no發(fā)送第3屏數據五、程序設計1、基于arm9微處理器的串行接收驅動程序設計ulcon0equ0x01d00000 ;/0x03 無校驗,一個停止位;ucon0equ0x01d00004 ;/0x0c;ufcon0equ0x01d00008
6、;/0x01;umcon0equ0x01d0000c ;/0x00;urxh0equ0x01d00024 ;/數據寄存器ubirdiv0equ0x01d00028 ;/波特率設置utrstat0equ0x01d00010 ;/狀態(tài)寄存器cntequ5pconeequ0x01d20028pupeequ0x01d20030wdtconequ0x01d30000;wdtconarea t_txd,code,readonlyentry ldrr13,=0xc800000blinitldrr4,=0xc300000 ldr r5,=cntloop ldr r3,=utrstat0 ldr r2,r3 t
7、st r2,#0x01 beq loopldr r0,=urxh0 ldrbr1,r0 strb r1,r4,#1 subs r5,r5,#1 bne looploop1 b loop1delayldrr6,=0xffffdelay1subsr6,r6,#1bnedelay1movpc,r14initldrr1,=wdtconldrr0,=0x0strr0,r1 ldrr1,=pcone ldrr0,=0x28 strr0,r1 ldrr1,=pupe ldrr0,=0xff strr0,r1 ldrr1,=ulcon0 ldrr0,=0x03 strr0,r1 ldr r1,=ucon0 l
8、dr r0,=0x245 str r0,r1ldr r1, = ufcon0 ldr r0, = 0x0 str r0, r1ldr r1, = umcon0 ldr r0, = 0x0 str r0, r1 ldr r1, = ubirdiv0;頻率60m ldr r0, = 0x20;(取整)(60000000/16/115200)-1 str r0, r1 movpc,lrend2、基于arm9微處理器的串行發(fā)送驅動程序設計ulcon0 equ 0x01d00000 ; uart線控制器地址ucon0 equ 0x01d00004 ; uart控制器地址ufcon0 equ 0x01d0
9、0008 ; uart fifo控制器地址umcon0 equ 0x01d0000c ; uart modem控制器地址utxh0 equ 0x01d00020 ; 發(fā)送數據寄存器地址urxh0 equ 0x01d00024 ; 接收數據寄存器ubirdiv0 equ 0x01d00028 ; 波特率除數寄存器utrstat0 equ 0x01d00010 ; uart發(fā)送/接收狀態(tài)寄存器地址pconeequ0x01d20028; 通用e口配置寄存器地址pupeequ0x01d20030; 通用e口上拉電阻配置寄存器地址wdtconequ0x01d30000; wdt控制器地址 area t_
10、txd,code,readonly;歡宕攵?t_txd entry ;程序入口ldrr13,=0x800000;設置堆棧指針bl init ;調用初始化子程序子程序m1ldrr0,=s1_l1 ;發(fā)送1行字符bltxd_lineldrr1,=0xfffff;延時bldelaybm1;重復發(fā)送;-delay sub.-delay;延時子程序subsr1,r1,#1bnedelaymovpc,r14;-init sub.-init;初始化子程序ldrr1,=wdtcon;關閉wdt,以免影響程序調試ldrr0,=0x0strr0,r1ldrr1,=pcone;配置通用i/o口,使pe2為rxd0,
11、pe1為txd0 ldrr0,=0x28 strr0,r1 ldrr1,=pupe;配置e口無上掛電阻 ldrr0,=0xff strr0,r1ldrr1,=ulcon0;配置uart線控制器:正常模式,無奇偶校驗,一個停止位,8個數據位 ldr r0,=0x03 strr0,r1ldr r1,=ucon0;配置uart控制器:rx邊沿觸發(fā),tx電平觸發(fā),;禁用延時中斷,使用rx錯誤中斷,正常操作;模式,中斷請求或表決模式 ldr r0,=0x245 str r0,r1ldr r1, = ufcon0;配置uart fifo控制器:禁用 fifoldr r0, = 0x0 str r0, r1
12、ldr r1, = umcon0;配置uart modem控制器:禁止使用afcldr r0, = 0x0 str r0, r1 ldr r1, = ubirdiv0;配置波特率,系統(tǒng)主頻為頻率60m ldr r0, = 0x20 ;(取整)(60000000/16/115200)-1=32 str r0, r1 movpc,lr;子程序返回 ;-txd_line sub.-txd_line;發(fā)送1行字符串子程序 movr4,lr;保存堆棧指針txd_line1 ldrbr1,r0,#1 andsr1,r1,#0xff moveqpc,r4 bltxd_byte btxd_line1;-txd
13、_byte sub.-txd_byte;發(fā)送1字符子程序 movr5,lr ldr r3,=utrstat0 ldr r2,r3 tst r2,#0x02 beq txd_byte ldr r2,=utxh0 strb r1,r2 ldrr1,=0xffff bldelay movpc,r5;- s1_l1dcbhow are you!,&a,&a,&d,0 0020;定義字符串 mov r0,r0 end3、基于arm9微處理器的串行接收發(fā)送驅動程序設計ulcon0equ0x01d00000 ; uart線控制器地址ucon0equ0x01d00004; uart控制器地址ufcon0equ
14、0x01d00008; uart fifo控制器地址umcon0equ0x01d0000c; uart modem控制器地址utxh0equ0x01d00020 ; 發(fā)送數據寄存器地址urxh0 equ0x01d00024; 接收數據寄存器ubirdiv0 equ0x01d00028; 波特率除數寄存器utrstat0equ0x01d00010 ; uart發(fā)送/接收狀態(tài)寄存器地址pconeequ0x01d20028; 通用e口配置寄存器地址pupeequ0x01d20030; 通用e口上拉電阻配置寄存器地址wdtconequ0x01d30000; wdt控制器地址 area t_uart,c
15、ode,readonlyentry ;程序入口ldrr13,=0x800000;設置堆棧指針bl init;調用初始化子程序子程序m1 ldr r3,=utrstat0 ldr r2,r3 tst r2,#0x01 beq m1ldr r0,=urxh0 ldrbr1,r0 cmpr1,#1 bnem2 bltxd_screen1 bm1m2cmpr1,#2bnem3bltxd_screen2bm1m3cmpr1,#3bnem1bltxd_screen3bm1txd_screen1;-txd_screen 1-movr6,lrldrr0,=s1_l1bltxd_lineldrr0,=s1_l2
16、bltxd_lineldrr0,=s1_l3bltxd_lineldrr0,=s1_l4bltxd_lineldrr0,=s1_l5bltxd_lineldrr0,=s1_l6bltxd_lineldrr0,=s1_l7bltxd_lineldrr0,=s1_l8bltxd_linemovpc,r6txd_screen2;-txd_screen 2-movr6,lrldrr0,=s2_l1bltxd_lineldrr0,=s2_l2bltxd_lineldrr0,=s2_l3bltxd_lineldrr0,=s2_l4bltxd_lineldrr0,=s2_l5bltxd_lineldrr0,
17、=s2_l6bltxd_lineldrr0,=s2_l7bltxd_lineldrr0,=s2_l8bltxd_linemovpc,r6txd_screen3;-txd_screen 3-movr6,lrldrr0,=s3_l1bltxd_lineldrr0,=s3_l2bltxd_lineldrr0,=s3_l3bltxd_lineldrr0,=s3_l4bltxd_lineldrr0,=s3_l5bltxd_lineldrr0,=s3_l6bltxd_lineldrr0,=s3_l7bltxd_lineldrr0,=s3_l8bltxd_linemovpc,r6;-delay sub.-d
18、elay;延時子程序subsr1,r1,#1bnedelaymovpc,r14;-init sub.-init;初始化子程序ldrr1,=wdtcon;關閉wdt,以免影響程序調試ldrr0,=0x0strr0,r1ldrr1,=pcone;配置通用i/o口,使pe2為rxd0 ldrr0,=0x28 strr0,r1 ldrr1,=pupe;配置e口無上掛電阻 ldrr0,=0xff strr0,r1ldrr1,=ulcon0;配置uart線控制器:正常模式,無;奇偶校驗,一個停止位,8個數據位 ldrr0,=0x03 strr0,r1ldr r1,=ucon0;配置uart控制器:rx邊沿
19、觸發(fā),tx;電平觸發(fā),;禁用延時中斷,使用rx錯誤中斷,正;常操作;模式,中斷請求或表決模式 ldr r0,=0x245 str r0,r1ldr r1, = ufcon0;配置uart fifo控制器:禁用 fifoldr r0, = 0x0 str r0, r1ldr r1, = umcon0;配置uart modem控制器:禁止使;用afcldr r0, = 0x0 str r0, r1 ldr r1, = ubirdiv0;配置波特率,系統(tǒng)主頻為頻率60m ldr r0, = 0x20;(取整)(60000000/16/115200)-1=32 str r0, r1 movpc,lr;
20、子程序返回;-txd_line sub.-txd_line;發(fā)送1行字符串子程序 movr4,lr;保存堆棧指針txd_line1 ldrbr1,r0,#1 andsr1,r1,#0xff moveqpc,r4 bltxd_byte btxd_line1;-txd_byte sub.-txd_byte;發(fā)送1字符子程序 movr5,lr ldr r3,=utrstat0 ldr r2,r3 tst r2,#0x02 beq txd_byte ldr r2,=utxh0 strb r1,r2 ldrr1,=0xffff bldelay movpc,r5;-screen 1- s1_l1dcb *
21、,0xa,0xa,0xa,0s1_l2dcb* *,0xa,0xa,0xa,0s1_l3dcb* welcom to use el-arm-830 *,0xa,0xa,0xa,0s1_l4dcb* *,0xa,0xa,0xa,0s1_l5dcb* this is screen 1 *,0xa,0xa,0xa,0s1_l6dcb* 2010-12-01 *,0xa,0xa,0xa,0s1_l7dcb* *,0xa,0xa,0xa,0s1_l8dcb *,0xa,0xa,0xa,0;-screen 2- s2_l1dcb *,0xa,0xa,0xa,0s2_l2dcb* *,0xa,0xa,0xa,0s2_l3dcb* welcom to use el-arm-830 *,0xa,0xa,0xa,0s2_l4dcb* *,0xa,0xa,0xa,0s2_l5dcb* this is screen2 *,0xa,0xa,0xa,0s2_l6dcb* 2010-12-01 *,0xa,0xa,0xa,0s2_l7d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年1月福建省普通高中學業(yè)水平合格性考試地理試題仿真模擬卷02(解析版)
- 三農政策支持現代農業(yè)發(fā)展的新模式探索
- 商業(yè)管理企業(yè)戰(zhàn)略管理試題集
- R-3-Aminopyrrolidine-2-5-dione-生命科學試劑-MCE
- MAT2A-IN-20-生命科學試劑-MCE
- 心理學實驗設計與倫理分析試題及答案解析
- 3-Me-Meayamycin-D-生命科學試劑-MCE
- 臨床醫(yī)學病例分析與護理作業(yè)指導書
- 寶寶百日宴發(fā)言稿
- 國際貿易實務模擬訓練題庫
- 2025年高考時政考題及參考答案(100題)
- DeepSeek人工智能語言模型探索AI世界科普課件
- 《青春期心理健康指導》課件
- 第18講 等腰三角形 課件中考數學復習
- 社會階層與教育選擇行為分析-深度研究
- 2025年內蒙古呼和浩特市屬國企業(yè)紀檢監(jiān)察機構招聘工作人員80人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 社會工作行政(第三版)課件匯 時立榮 第6-11章 項目管理- 社會工作行政的挑戰(zhàn)、變革與數字化發(fā)展
- 全過程工程咨詢文件管理標準
- 模特攝影及肖像使用合同協(xié)議范本
- 2025年湘潭醫(yī)衛(wèi)職業(yè)技術學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 《預制高強混凝土風電塔筒生產技術規(guī)程》文本附編制說明
評論
0/150
提交評論