




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、x學(xué)校課 程 設(shè) 計 報 告課程名稱: 嵌入式系統(tǒng) 設(shè)計題目:arm9串行接收發(fā)送驅(qū)動程序設(shè)計院 系: 電氣信息學(xué)院 班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 設(shè)計時間: 目 錄一、設(shè)計題目2二、設(shè)計內(nèi)容2三、硬件原理2四、程序流程圖21接收程序流程圖42、發(fā)送程序流程圖43、收發(fā)程序流程圖5五、程序設(shè)計61、基于arm9微處理器的串行接收驅(qū)動程序設(shè)計62、基于arm9微處理器的串行發(fā)送驅(qū)動程序設(shè)計73、基于arm9微處理器的串行接收發(fā)送驅(qū)動程序設(shè)計10六、心得體會16七、參考文獻16一、設(shè)計題目(1)基于arm9微處理器的串行接收驅(qū)動程序設(shè)計(2)基于arm9微處理器的串行發(fā)送驅(qū)動程序設(shè)計(
2、3)基于arm9微處理器的串行接收發(fā)送驅(qū)動程序設(shè)計二、設(shè)計內(nèi)容1 (1)基于arm9微處理器的串行接收驅(qū)動程序設(shè)計初始化程序設(shè)計 串行接收程序設(shè)計(2)基于arm9微處理器的串行發(fā)送驅(qū)動程序設(shè)計初始化程序設(shè)計串行發(fā)送程序設(shè)計(3)基于arm9微處理器的串行接收發(fā)送驅(qū)動程序設(shè)計初始化程序設(shè)計串行接收發(fā)送程序設(shè)計2 實現(xiàn)pc機與el-arm-830開發(fā)系統(tǒng)的串行通訊,具體通訊方式與內(nèi)容:(1) 幀格式:正常模式,無奇偶校驗,一個停止位,8個數(shù)據(jù)位(2)串行發(fā)送:每過一定時間,隔2行發(fā)送字符串“how are you!”,通過pc機的串口調(diào)試助手接收。(3) 串行接收:將接收到的5個字符存儲到以0x
3、c300000為首地址的sdram中,通過串口調(diào)試助手發(fā)送字符.(4)當接收到串口調(diào)試助手界面發(fā)送的“1”,發(fā)送第1屏信息;當接收到串口調(diào)試助手界面發(fā)送的“2”,發(fā)送第2屏信息;當接收到串口調(diào)試助手界面發(fā)送的“3”,發(fā)送第3屏信息設(shè)計要求(1)流程圖設(shè)計,流程圖上每個任務(wù)的文字說明。(2)完整的程序清單。(3)通過在pc機和el-arm-830開發(fā)平臺上的調(diào)試。三、硬件原理硬件原理如圖所示,u2 max232是rs-232c的接口電路,實現(xiàn)電平轉(zhuǎn)換作用。能將來自s3c44b0x一側(cè)的0v3.3v正邏輯電平轉(zhuǎn)換為符合eia標準的負邏輯電平輸出,既當s3c44b0x發(fā)出0v電平時,經(jīng)過max232
4、轉(zhuǎn)換為3v15v電平,當s3c44b0x發(fā)出3.3v電平時,經(jīng)過max232轉(zhuǎn)換為-3v-15v電平;能將來自pc機一側(cè)的標準rs-232電平,轉(zhuǎn)換為ttl電平輸出,既當max232接收到3v15v電平時,能轉(zhuǎn)換為0v電平傳向s3c44b0x一側(cè),當max232接收到-3v-15v電平時,能轉(zhuǎn)換為5v電平傳向s3c44b0x一側(cè)。通過這種電平轉(zhuǎn)換,實現(xiàn)s3c44b0x與標準rs-232c設(shè)備通訊。圖10-8中r1、r2是限流電阻,起保護作用。原因是,max232向s3c44b0x一側(cè)的電平信號是05v,而s3c44b0x僅能發(fā)出/接收03.3v電平,邏輯高電平不匹配,通過限流電阻,簡單實現(xiàn)兩種
5、電平的接口。串行通訊原理圖四、程序流程圖1接收程序流程圖開始初始化檢測接收寄存器是否有有效數(shù)據(jù)noyes讀出數(shù)據(jù)結(jié)束2、發(fā)送程序流程圖開始初始化檢測發(fā)送寄存器是否為空noyes發(fā)送數(shù)據(jù)結(jié)束3、收發(fā)程序流程圖開始初始化檢測是否有有效數(shù)據(jù)noyesyes檢測有效數(shù)據(jù)是否為1發(fā)送第1屏數(shù)據(jù)noyes檢測有效數(shù)據(jù)是否為2no發(fā)送第2屏數(shù)據(jù)yes檢測有效數(shù)據(jù)是否為3no發(fā)送第3屏數(shù)據(jù)五、程序設(shè)計1、基于arm9微處理器的串行接收驅(qū)動程序設(shè)計ulcon0equ0x01d00000 ;/0x03 無校驗,一個停止位;ucon0equ0x01d00004 ;/0x0c;ufcon0equ0x01d00008
6、;/0x01;umcon0equ0x01d0000c ;/0x00;urxh0equ0x01d00024 ;/數(shù)據(jù)寄存器ubirdiv0equ0x01d00028 ;/波特率設(shè)置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ā)送驅(qū)動程序設(shè)計ulcon0 equ 0x01d00000 ; uart線控制器地址ucon0 equ 0x01d00004 ; uart控制器地址ufcon0 equ 0x01d0
9、0008 ; uart fifo控制器地址umcon0 equ 0x01d0000c ; uart modem控制器地址utxh0 equ 0x01d00020 ; 發(fā)送數(shù)據(jù)寄存器地址urxh0 equ 0x01d00024 ; 接收數(shù)據(jù)寄存器ubirdiv0 equ 0x01d00028 ; 波特率除數(shù)寄存器utrstat0 equ 0x01d00010 ; uart發(fā)送/接收狀態(tài)寄存器地址pconeequ0x01d20028; 通用e口配置寄存器地址pupeequ0x01d20030; 通用e口上拉電阻配置寄存器地址wdtconequ0x01d30000; wdt控制器地址 area t_
10、txd,code,readonly;歡宕攵?t_txd entry ;程序入口ldrr13,=0x800000;設(shè)置堆棧指針bl init ;調(diào)用初始化子程序子程序m1ldrr0,=s1_l1 ;發(fā)送1行字符bltxd_lineldrr1,=0xfffff;延時bldelaybm1;重復(fù)發(fā)送;-delay sub.-delay;延時子程序subsr1,r1,#1bnedelaymovpc,r14;-init sub.-init;初始化子程序ldrr1,=wdtcon;關(guān)閉wdt,以免影響程序調(diào)試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個數(shù)據(jù)位 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ā)送驅(qū)動程序設(shè)計ulcon0equ0x01d00000 ; uart線控制器地址ucon0equ0x01d00004; uart控制器地址ufcon0equ
14、0x01d00008; uart fifo控制器地址umcon0equ0x01d0000c; uart modem控制器地址utxh0equ0x01d00020 ; 發(fā)送數(shù)據(jù)寄存器地址urxh0 equ0x01d00024; 接收數(shù)據(jù)寄存器ubirdiv0 equ0x01d00028; 波特率除數(shù)寄存器utrstat0equ0x01d00010 ; uart發(fā)送/接收狀態(tài)寄存器地址pconeequ0x01d20028; 通用e口配置寄存器地址pupeequ0x01d20030; 通用e口上拉電阻配置寄存器地址wdtconequ0x01d30000; wdt控制器地址 area t_uart,c
15、ode,readonlyentry ;程序入口ldrr13,=0x800000;設(shè)置堆棧指針bl init;調(diào)用初始化子程序子程序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;關(guān)閉wdt,以免影響程序調(diào)試ldrr0,=0x0strr0,r1ldrr1,=pcone;配置通用i/o口,使pe2為rxd0 ldrr0,=0x28 strr0,r1 ldrr1,=pupe;配置e口無上掛電阻 ldrr0,=0xff strr0,r1ldrr1,=ulcon0;配置uart線控制器:正常模式,無;奇偶校驗,一個停止位,8個數(shù)據(jù)位 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加工承攬意向合同范本
- 出讓合同范本
- 買磚合同范本
- 兒女撫養(yǎng)合同范本
- 農(nóng)村租房建基站合同范本
- 代建合同范本政府蓋章
- 世界500強合同范本
- 會務(wù)代辦合同范本
- 供貨定金合同范本
- 別墅門窗出售合同范本
- 2024至2030年中國毛絨玩具數(shù)據(jù)監(jiān)測研究報告
- 建筑復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- GB 21258-2024燃煤發(fā)電機組單位產(chǎn)品能源消耗限額
- 八年級上學(xué)期語文12月月考試卷
- 醛固酮增多癥與原發(fā)性醛固酮增多癥概述
- 山東省淄博市2023-2024學(xué)年高一下學(xué)期期末教學(xué)質(zhì)量檢測數(shù)學(xué)試題
- 廣東省2024年普通高中學(xué)業(yè)水平合格性考試語文仿真模擬卷01(解析版)
- 2025屆新高考生物精準復(fù)習(xí)+提高農(nóng)作物產(chǎn)量
- 第6課歐洲的思想解放運動教學(xué)設(shè)計2023-2024學(xué)年中職高一下學(xué)期高教版(2023)世界歷史
- 2024年云南省昆明市選調(diào)生考試(公共基礎(chǔ)知識)綜合能力題庫必考題
- 2024年時政試題庫(奪分金卷)
評論
0/150
提交評論