單片機(jī)原理及應(yīng)用_第1頁
單片機(jī)原理及應(yīng)用_第2頁
單片機(jī)原理及應(yīng)用_第3頁
單片機(jī)原理及應(yīng)用_第4頁
單片機(jī)原理及應(yīng)用_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余12頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、電子科技大學(xué)單片微型計(jì)算機(jī)原理、接口及應(yīng)用實(shí)驗(yàn)報(bào)告姓名: 劉雨晨學(xué)號(hào): 2011029190016指導(dǎo)老師: 唐續(xù)實(shí)驗(yàn)時(shí)間: 2014/4/16實(shí)驗(yàn)一 N 個(gè)數(shù)據(jù)求和計(jì)算、實(shí)驗(yàn)?zāi)康氖煜げ⒄莆諉纹瑱C(jī)仿真開發(fā)系統(tǒng)的基本操作。二、實(shí)驗(yàn)內(nèi)容N 計(jì)算 N 個(gè)數(shù)據(jù)的和,即 Y XKK1其中N=6 , XK分別放在片內(nèi) RAM區(qū)50H-55H 單元中。求和的結(jié)果 丫放 在片內(nèi) RAM 區(qū) O3H (高位), O4H (低位)單元中。進(jìn)行下列數(shù)據(jù)的求和運(yùn)算: Yi =32H+58H+7AH+F5H+44H+09H Y2=O4H+8CH+O1H+C3H+55H+78H Y3=72H+ODH+57H+8AH+O4

2、H+COH三、實(shí)驗(yàn)步驟1 進(jìn)入 LCA51 仿真軟件界面,打開程序編輯窗口,輸入本實(shí)驗(yàn)的匯編語 言源程序;2源程序輸入完畢后,為其命名 3對(duì)源程序進(jìn)行編譯、排錯(cuò),直至通過編譯;4打開“內(nèi)部數(shù)據(jù)窗口”,在 RAM 區(qū) 5OH-55H 單元中分別填入計(jì)算( 1) 的六個(gè)數(shù)據(jù)。5按 F 7鍵,全速運(yùn)行程序后,在 RAM 區(qū)的相應(yīng)單元找到運(yùn)行結(jié)果,驗(yàn)證 運(yùn)行結(jié)果的正確性,若結(jié)果不正確,則應(yīng)找出原因并糾正,直至程序調(diào)試成功;6重返第 4 步,填入新的數(shù)據(jù),得到運(yùn)算結(jié)果。實(shí)驗(yàn)程序如下:ORGOOOOHLJMPMAINORG1OOHMAIN: MOVR2,#06HMOVR3,#00HMOVR4,#00HMO

3、VR0,#50HL1: MOV A,R4ADDMOVINCA,R0R4,AR0CLRADDCA,R3MOVDJNZL2: SJMPR3,AR2,L1L2END四、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析1寫出三次求和運(yùn)算的結(jié)果;(1)0246H (2 )0221H (3 )0224H 2程序中 R0、R2、R3、R4 分別用作存放什么數(shù)據(jù)? 存放用來進(jìn)行運(yùn)算的數(shù)據(jù)的地址 存放運(yùn)算的次數(shù) 存放運(yùn)算結(jié)果的高兩位 存放運(yùn)算結(jié)果的低兩位R0:R2:R3:R4: 3若要使求和的數(shù)據(jù) N=8 ,程序需作何修改? 將 MAIN 的第一條語句 MOV R2,#06H 改為 MOV R2,#08H實(shí)驗(yàn)二 :數(shù)制轉(zhuǎn)換程序?qū)嶒?yàn)五、實(shí)驗(yàn)?zāi)?/p>

4、的1. 掌握不同進(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法,加深對(duì)數(shù)碼轉(zhuǎn)換的理 解。2. 進(jìn)一步熟悉調(diào)試程序的方法。六、實(shí)驗(yàn)內(nèi)容將累加器 A 中的 8 位二進(jìn)制數(shù)轉(zhuǎn)換成 3 位 BCD 碼格式的十進(jìn)制數(shù)。 其中百 位數(shù)的 BCD 碼放在 61H 單元中,十位和個(gè)位數(shù)放在 62H 單元中。七、實(shí)驗(yàn)步驟1輸入編輯本實(shí)驗(yàn)的匯編語言源程序;2對(duì)源程序進(jìn)行編譯并加載運(yùn)行;3觀察 RAM 中存放運(yùn)算結(jié)果的單元,判斷結(jié)果是否正確;,考察程序的正確性。4修改程序,改變A 中的數(shù)實(shí)驗(yàn)參考程序如下:ORG0000HLJMPMAINORG100H: MOVA, #0FFHMOVB, #64HDIVABMOV61H, AMO

5、VA, #0AHXCHA, BDIVABSWAPAADDA, BMOV62H, A1: SJMPL1END八、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析仔細(xì)閱讀理解程序后,畫出程序的流程框圖。其程序框圖如下:取出A的值找出A的百位數(shù)并將它存入61H單元找出A的十位和個(gè)位的數(shù)并將 兩者整合到一個(gè)單元的高位和 地位將數(shù)據(jù)存入62H單元實(shí)驗(yàn)三 :運(yùn)算類程序?qū)嶒?yàn)九、實(shí)驗(yàn)?zāi)康?. 掌握使用運(yùn)算類指令編程及程序調(diào)試的方法。2. 掌握運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志的影響及其測(cè)試方法。3. 學(xué)習(xí)子程序的使用。十、實(shí)驗(yàn)內(nèi)容多字節(jié)十進(jìn)制加法:編制程序?qū)崿F(xiàn)兩個(gè) 4 位十進(jìn)制數(shù)的相加,其中 20H 、21H 分別放置被加數(shù)的高字節(jié)和低字節(jié); 30H

6、 、31H 為加數(shù)的高字節(jié)和低字節(jié)一、實(shí)驗(yàn)步驟1輸入?yún)R編語言源程序; 2對(duì)源程序進(jìn)行編譯并加載運(yùn)行;3觀察 RAM 中存放運(yùn)算結(jié)果的單元,判斷結(jié)果是否正確;4修改程序,使其能進(jìn)行五位十進(jìn)制數(shù)的相加運(yùn)算, 并考察程序的正確性。 參考程序如下:MAIN:ORG0000HLJMPMAINORG100HMOV81H, #50HMOVR0, #20HMOVR0, #45HINCR0MOVR0, #74HMOVR1, #30HMOVR1, #67HINCR1MOVR1, #28HCLRCR2, #2HMOVL2:L3:L1:MOVADDCDAA,R0A,R1AMOVR0,AACALL L1DECR0DEC

7、R1DJNZR2, L2CLRAMOVACC.0, CMOVR0, ASJMPL3RETEND實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析1、仔細(xì)閱讀理解參考程序后,畫出程序的流程框圖。將被加數(shù)賦值并存放在 2個(gè)單元里加數(shù)賦值并存放在另外兩個(gè)單元里y對(duì)應(yīng)位置進(jìn)行十進(jìn)制的加法并得到結(jié)果把結(jié)果存放在被加數(shù)所在的單元2、若需要對(duì)五位十進(jìn)制數(shù)相加,程序需作何修改?在MAIN 里面的語句 MOV R0, #45H ; INC R0 ; 后 面在增 加 MOV R0, # data ; inc R0 在語句 MOV R1, #67H ; INC R1 增加MOV R1, # data; INC R1;其他的不變。3、運(yùn)算的結(jié)果存放

8、在哪些單元中?存放在 50H 和 51H 單元里。實(shí)驗(yàn)四: LED 數(shù)碼顯示器十三、實(shí)驗(yàn)?zāi)康氖煜げ⒖谛酒?8155 的使用;熟悉 LED 數(shù)碼顯示電路及其動(dòng)態(tài)顯示的工作 原理。十四、實(shí)驗(yàn)內(nèi)容1仔細(xì)閱讀實(shí)驗(yàn)電路原理圖,了解各器件的作用和相互間的連接;2仔細(xì)閱讀實(shí)驗(yàn)參考程序, 該程序是將起始地址為 30H 的顯示緩沖區(qū)的內(nèi) 容送往顯示器依次顯示。試用直接修改顯示緩沖區(qū)的方法使 LED 顯示器由左至 右依次顯示“ 0、1、2、3 、4、5”。3修改程序使 LED 顯示器只顯示一個(gè)字符(例如“ 9”)并且該字符由右向 左移動(dòng)顯示,移動(dòng)的速度應(yīng)可調(diào)整。4修改參考程序,使其成為一個(gè)可供調(diào)用的顯示子程序,并

9、編寫一段完整的主程序調(diào)用它,主程序中向顯示緩沖區(qū)送數(shù)使得 6 位 LED 顯示器依次顯示“ A、B、C、D、E、F”。DISP:MOVA,#0DH;初始化 8155,PA.PCMOVR0,#30H;送顯示區(qū)首址MOVDPTR,#8000H;8155 命令口地址送MOVXDPTR,A;寫命令字MOVR1,#1;位碼送 R1MOVA,R1;位碼送 ACONTIN:MOVDPTR,#8003H;指向 PC 口MOVXDPTR,A;位碼送 PC 口LIGHT:MOVA,R0;取顯視示數(shù)據(jù)MOVDPTR,#DESG;取段碼表首址MOVCA,A+DPTR;取段碼MOVDPTR,#8001H;指向 PA 口

10、MOVXDPTR,A;送出數(shù)據(jù)顯視示參考程序如下:口輸出DPTRDESG:LEND:;1ms 延時(shí)子程序DELAY:DL0:DL1:ACALLDELAY;調(diào)用延時(shí)子程序INCR0;指向下一顯視數(shù)據(jù)MOVA,R1;位選碼送 AJBACC.5,LEND;6 位顯示完成,轉(zhuǎn) LENDRLA;未完,調(diào)整為下一位位碼MOVR1,A;下一個(gè)位位選碼送 R1AJMPCONTIN;繼續(xù)下一位顯示DB03FH,006H,05BH;顯示 0 ,1 ,2DB04FH,066H,06DH;顯示 3,4, 5DB07DH,007H,07FH;顯示 6,7, 8DB06FH,077H,07CH;顯示 9 ,A, bDB0

11、39H,05EH,079H;顯示 C, d, EDB071H,0f3H,000H;顯示 F, P. 不顯AJMPDISPMOV R6,#02HMOV R5,#0f9H DJNZ R5,DL1DJNZ R6,DL0RET十五、實(shí)驗(yàn)步驟1、將實(shí)驗(yàn)板與電腦連接好,然后進(jìn)入 LCA51 仿真軟件界面,打開程序編輯窗口,輸入本實(shí)驗(yàn)的匯編語言源程序;2、對(duì)源程序進(jìn)行編譯并加載運(yùn)行;3、運(yùn)行并觀察實(shí)驗(yàn)板的情況4、修改程序后重復(fù)上面 2、 3 步,完成實(shí)驗(yàn)內(nèi)容 3、 4十六、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析1指出實(shí)驗(yàn)電路中集成電路 74LS244 與 74LS04 的作用;74LS244 的作用是作為三態(tài)地址或數(shù)據(jù)線,實(shí)現(xiàn)

12、在 8155 和 8031 之間在 同一串口實(shí)現(xiàn)數(shù)據(jù)信號(hào)或地址信號(hào)的傳輸74LS04作為一個(gè)非門,為8031和8155之間的某些端口連接提供非門, 使結(jié)構(gòu)邏輯簡(jiǎn)單2 .電路中是如何確定8155的地址的?8155直接使用地址/數(shù)據(jù)輸入門AD7 AD0中的低三位區(qū)分內(nèi)部端口的 地址3 .作出實(shí)驗(yàn)程序的流程框圖;的方法;序修改成一次只 顯示位置可調(diào),然10S才運(yùn)行DISP序5 .寫出完成“實(shí) 內(nèi)容4”的主程序。ORGLJMPORGMOVMOV0000HMAIN100HR0,#30HR0,#0AH INC R0MOVMOVR0,#0DHINCR0MOVR0,#0EHINCR0MOVR0,#0FHINC

13、R0ACALLDIS P實(shí)驗(yàn)五: 定時(shí)/計(jì)數(shù)器的使用十七、實(shí)驗(yàn)?zāi)康恼莆?51 系列單片機(jī)片內(nèi)定時(shí)器 / 計(jì)數(shù)器的使用方法; 掌握定時(shí)器計(jì)數(shù)初值的計(jì)算方法。十八、實(shí)驗(yàn)內(nèi)容MCS-51單片機(jī)有兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器TO和T1,每個(gè)定時(shí)器的最大定時(shí) 時(shí)間與晶振頻率有關(guān), 例如當(dāng)晶振頻率為 6MHZ 時(shí),每個(gè)定時(shí) /計(jì)數(shù)器的最大定 時(shí)約為 131ms 。為了產(chǎn)生更長的定時(shí),本實(shí)驗(yàn)提供了一種方法: TO 和 T1 分別 工作于定時(shí)和計(jì)數(shù)狀態(tài), 由計(jì)數(shù)器對(duì)定時(shí)次數(shù)進(jìn)行計(jì)數(shù), 互相配合可以得到更長 時(shí)間的定時(shí)。程序由兩部分組成:主程序中完成 8155 、TO、T1 的初始化和定時(shí)程序的運(yùn)行(為求程序的簡(jiǎn)單,

14、定時(shí)/計(jì)數(shù)器的溢出判斷采用查詢方式而不是中斷方式) 顯示子程序則將定時(shí)的結(jié)果在 LED 數(shù)碼顯示器最末位以字符跳變的方式顯示出 來。實(shí)驗(yàn)參考程序如下:ORG AJMP ORG MAIN:0000HMAIN0060HMOVA,#0DH;初始化 815MOVDPTR,#8000H;8155 命令MOVXDPTR,A;寫命令字MOVR0,#0MOVR1,#1;位碼送 R1MOVA,R1;位碼送 AMOVDPTR,#8003H;指向 PC 口MOVXDPTR,AMOVA,#3FHMOVDPTR,#8001H;指向 PA 口MOVXDPTR,A口輸出DPTRMOVTMOD,#01100001BMOVTH

15、1,#0f8HMOVTL1,#0f8HSETBTR1SETBTR0P3.5LOOP: SETBMOVTH0,#00HMOVTL0,#00HJNBTF0,$CLRP3.5CLRTF0JNBTF1,LOOPACALLDISPLAYCLRTF1SJMPLOOPMOVR1,#1;位碼送 R1MOVA,R1;位碼送 ACONTIN: MOVDPTR,#8003H;指向 PC 口MOVXDPTR,A;位碼送 PC 口MOVA,R0MOVDPTR,#DESG;取段碼表首址MOVCA,A+DPTR;取段碼MOVDPTR,#8001H;指向 PA 口MOVXDPTR,AMOVA,R0INCADISPLAY:MOVR0,ACJNER0,#10,BACKMOVR0,#0BACK: RETDESG: DB03FH,006H,05BHDB04FH,066H,06DHDB07DH,007H,07FHDB06FH,077H,07CHDB039H,05EH,079HDB071H,0f3H,000HEND十九、實(shí)驗(yàn)步驟1輸入編輯本實(shí)驗(yàn)的匯編語言源程序;2對(duì)源程序進(jìn)行編譯;3運(yùn)行程序,并觀察 LED 顯示器上數(shù)字的跳變, 起變化周期即為定時(shí)時(shí)間; 4修改程序,使數(shù)字跳變周期加倍。二十、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析1畫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論