嵌入式系統(tǒng)課程設(shè)計(jì)ARM9串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)_第1頁(yè)
嵌入式系統(tǒng)課程設(shè)計(jì)ARM9串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)_第2頁(yè)
嵌入式系統(tǒng)課程設(shè)計(jì)ARM9串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)_第3頁(yè)
嵌入式系統(tǒng)課程設(shè)計(jì)ARM9串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)_第4頁(yè)
嵌入式系統(tǒng)課程設(shè)計(jì)ARM9串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、x學(xué)校課 程 設(shè) 計(jì) 報(bào) 告課程名稱: 嵌入式系統(tǒng) 設(shè)計(jì)題目:arm9串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)院 系: 電氣信息學(xué)院 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 設(shè)計(jì)時(shí)間: 目 錄一、設(shè)計(jì)題目2二、設(shè)計(jì)內(nèi)容2三、硬件原理2四、程序流程圖21接收程序流程圖42、發(fā)送程序流程圖43、收發(fā)程序流程圖5五、程序設(shè)計(jì)61、基于arm9微處理器的串行接收驅(qū)動(dòng)程序設(shè)計(jì)62、基于arm9微處理器的串行發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)73、基于arm9微處理器的串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)10六、心得體會(huì)16七、參考文獻(xiàn)16一、設(shè)計(jì)題目(1)基于arm9微處理器的串行接收驅(qū)動(dòng)程序設(shè)計(jì)(2)基于arm9微處理器的串行發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)(

2、3)基于arm9微處理器的串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)二、設(shè)計(jì)內(nèi)容1 (1)基于arm9微處理器的串行接收驅(qū)動(dòng)程序設(shè)計(jì)初始化程序設(shè)計(jì) 串行接收程序設(shè)計(jì)(2)基于arm9微處理器的串行發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)初始化程序設(shè)計(jì)串行發(fā)送程序設(shè)計(jì)(3)基于arm9微處理器的串行接收發(fā)送驅(qū)動(dòng)程序設(shè)計(jì)初始化程序設(shè)計(jì)串行接收發(fā)送程序設(shè)計(jì)2 實(shí)現(xiàn)pc機(jī)與el-arm-830開(kāi)發(fā)系統(tǒng)的串行通訊,具體通訊方式與內(nèi)容:(1) 幀格式:正常模式,無(wú)奇偶校驗(yàn),一個(gè)停止位,8個(gè)數(shù)據(jù)位(2)串行發(fā)送:每過(guò)一定時(shí)間,隔2行發(fā)送字符串“how are you!”,通過(guò)pc機(jī)的串口調(diào)試助手接收。(3) 串行接收:將接收到的5個(gè)字符存儲(chǔ)到以0x

3、c300000為首地址的sdram中,通過(guò)串口調(diào)試助手發(fā)送字符.(4)當(dāng)接收到串口調(diào)試助手界面發(fā)送的“1”,發(fā)送第1屏信息;當(dāng)接收到串口調(diào)試助手界面發(fā)送的“2”,發(fā)送第2屏信息;當(dāng)接收到串口調(diào)試助手界面發(fā)送的“3”,發(fā)送第3屏信息設(shè)計(jì)要求(1)流程圖設(shè)計(jì),流程圖上每個(gè)任務(wù)的文字說(shuō)明。(2)完整的程序清單。(3)通過(guò)在pc機(jī)和el-arm-830開(kāi)發(fā)平臺(tái)上的調(diào)試。三、硬件原理硬件原理如圖所示,u2 max232是rs-232c的接口電路,實(shí)現(xiàn)電平轉(zhuǎn)換作用。能將來(lái)自s3c44b0x一側(cè)的0v3.3v正邏輯電平轉(zhuǎn)換為符合eia標(biāo)準(zhǔn)的負(fù)邏輯電平輸出,既當(dāng)s3c44b0x發(fā)出0v電平時(shí),經(jīng)過(guò)max232

4、轉(zhuǎn)換為3v15v電平,當(dāng)s3c44b0x發(fā)出3.3v電平時(shí),經(jīng)過(guò)max232轉(zhuǎn)換為-3v-15v電平;能將來(lái)自pc機(jī)一側(cè)的標(biāo)準(zhǔn)rs-232電平,轉(zhuǎn)換為ttl電平輸出,既當(dāng)max232接收到3v15v電平時(shí),能轉(zhuǎn)換為0v電平傳向s3c44b0x一側(cè),當(dāng)max232接收到-3v-15v電平時(shí),能轉(zhuǎn)換為5v電平傳向s3c44b0x一側(cè)。通過(guò)這種電平轉(zhuǎn)換,實(shí)現(xiàn)s3c44b0x與標(biāo)準(zhǔn)rs-232c設(shè)備通訊。圖10-8中r1、r2是限流電阻,起保護(hù)作用。原因是,max232向s3c44b0x一側(cè)的電平信號(hào)是05v,而s3c44b0x僅能發(fā)出/接收03.3v電平,邏輯高電平不匹配,通過(guò)限流電阻,簡(jiǎn)單實(shí)現(xiàn)兩種

5、電平的接口。串行通訊原理圖四、程序流程圖1接收程序流程圖開(kāi)始初始化檢測(cè)接收寄存器是否有有效數(shù)據(jù)noyes讀出數(shù)據(jù)結(jié)束2、發(fā)送程序流程圖開(kāi)始初始化檢測(cè)發(fā)送寄存器是否為空noyes發(fā)送數(shù)據(jù)結(jié)束3、收發(fā)程序流程圖開(kāi)始初始化檢測(cè)是否有有效數(shù)據(jù)noyesyes檢測(cè)有效數(shù)據(jù)是否為1發(fā)送第1屏數(shù)據(jù)noyes檢測(cè)有效數(shù)據(jù)是否為2no發(fā)送第2屏數(shù)據(jù)yes檢測(cè)有效數(shù)據(jù)是否為3no發(fā)送第3屏數(shù)據(jù)五、程序設(shè)計(jì)1、基于arm9微處理器的串行接收驅(qū)動(dòng)程序設(shè)計(jì)ulcon0equ0x01d00000 ;/0x03 無(wú)校驗(yàn),一個(gè)停止位;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ū)動(dòng)程序設(shè)計(jì)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;延時(shí)bldelaybm1;重復(fù)發(fā)送;-delay sub.-delay;延時(shí)子程序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口無(wú)上掛電阻 ldrr0,=0xff strr0,r1ldrr1,=ulcon0;配置uart線控制器:正常模式,無(wú)奇偶校驗(yàn),一個(gè)停止位,8個(gè)數(shù)據(jù)位 ldr r0,=0x03 strr0,r1ldr r1,=ucon0;配置uart控制器:rx邊沿觸發(fā),tx電平觸發(fā),;禁用延時(shí)中斷,使用rx錯(cuò)誤中斷,正常操作;模式,中斷請(qǐng)求或表決模式 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ū)動(dòng)程序設(shè)計(jì)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;延時(shí)子程序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口無(wú)上掛電阻 ldrr0,=0xff strr0,r1ldrr1,=ulcon0;配置uart線控制器:正常模式,無(wú);奇偶校驗(yàn),一個(gè)停止位,8個(gè)數(shù)據(jù)位 ldrr0,=0x03 strr0,r1ldr r1,=ucon0;配置uart控制器:rx邊沿

19、觸發(fā),tx;電平觸發(fā),;禁用延時(shí)中斷,使用rx錯(cuò)誤中斷,正;常操作;模式,中斷請(qǐng)求或表決模式 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_l7dcb

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論