單片機(jī)實(shí)驗(yàn)報(bào)告_第1頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告_第2頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告_第3頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告_第4頁(yè)
單片機(jī)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí) 驗(yàn) 報(bào) 告實(shí)驗(yàn)課程: 單片機(jī)實(shí)驗(yàn) 學(xué)生姓名: 學(xué) 號(hào): 專業(yè)班級(jí): 通信071 2009年 12月24日實(shí)驗(yàn)?zāi)夸浺弧?擴(kuò)展存儲(chǔ)器讀寫實(shí)驗(yàn)3-5二、 外部中斷實(shí)驗(yàn)(急救車與交通燈)6-9 三、 8255掃描鍵盤、顯示10-13四、 串并轉(zhuǎn)換實(shí)驗(yàn)14-16 南昌大學(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名: 劉俊輝 學(xué) 號(hào): 6100207125 專業(yè)班級(jí): 通信071 實(shí)驗(yàn)類型: 驗(yàn)證 綜合 設(shè)計(jì) 創(chuàng)新 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 實(shí)驗(yàn)一 擴(kuò)展存儲(chǔ)器讀寫實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?1學(xué)習(xí)片外存儲(chǔ)器擴(kuò)展方法。2學(xué)習(xí)數(shù)據(jù)存儲(chǔ)器不同的讀寫方法.編制簡(jiǎn)單程序,對(duì)實(shí)驗(yàn)板上提供的外部存貯器(62256)進(jìn)行讀寫操作。二.實(shí)驗(yàn)原理:1單片機(jī)系

2、統(tǒng)中,對(duì)片外存貯器的讀寫操作是最基本的操作。用戶藉此來熟悉mcs51單 片 機(jī)編程的基本規(guī)則、基本指令的使用和使用本仿真實(shí)驗(yàn)系統(tǒng)調(diào)試程序的方法。 用戶編程可以參考示例程序和流程框圖。本示例程序中對(duì)片外存貯器中一固定地址單元進(jìn)行讀寫操作,并比較讀寫結(jié)果是否一致。不一致則說明讀寫操作不可靠或該存儲(chǔ)器單元不可靠,程序轉(zhuǎn)入出錯(cuò)處理代碼段(本示例程序通過熄滅一個(gè)發(fā)光二極管來表示出錯(cuò))。讀寫數(shù)據(jù)的選用,本例采用的是55(0101,0101)與aa(1010,1010)。一般采用這兩個(gè)數(shù)據(jù)的讀寫操作就可查出數(shù)據(jù)總線的短路、斷路等,在實(shí)際調(diào)試用戶電路時(shí)非常有效。 用戶調(diào)試該程序時(shí),可以靈活使用單步、斷點(diǎn)和變量

3、觀察等方法,來觀察程序執(zhí)行的流程和各中間變量的值。2在i狀態(tài)下執(zhí)行mem1程序,對(duì)實(shí)驗(yàn)機(jī)數(shù)據(jù)進(jìn)行讀寫,若l1燈亮說明ram讀寫正常。3也可進(jìn)入lca51的調(diào)試工具菜單中的對(duì)話窗口,用監(jiān)控命令方式讀寫ram,在i狀態(tài)執(zhí)行sx0000 55,space, 屏幕上應(yīng)顯示55,再鍵入aa,space,屏幕上也應(yīng)顯示aa,以上過程執(zhí)行效果與編程執(zhí)行效果完全相同。注:sx是實(shí)驗(yàn)機(jī)對(duì)外部數(shù)據(jù)空間讀寫命令。4本例中,62256片選接地時(shí),存儲(chǔ)器空間為00007fffh。三.實(shí)驗(yàn)步驟和電路: 將p1.0接至l1。cs256連gnd孔。四.實(shí)驗(yàn)程序框圖:五實(shí)驗(yàn)程序: org 0000h ljmp start or

4、g 0040hstart: mov sp,#60h mov dptr,#0000h ;置外部ram讀寫地址 mov a,#55h ;測(cè)試的數(shù)據(jù)一 mov b,a movx dptr,a ;寫外部ram movx a,dptr ;讀外部ram xrl a,b ;比較讀回的數(shù)據(jù) jnz error mov a,#0aah ;測(cè)試的數(shù)據(jù)二 mov b,a movx dptr,a movx a,dptr xrl a,b jz pass ;測(cè)試通過error: setb p1.0 ;測(cè)試失敗,點(diǎn)亮led sjmp $pass: cpl p1.0 ;led狀態(tài)(亮/滅)轉(zhuǎn)換 mov r1,#00h ;延時(shí)

5、delay: mov r2,#00h djnz r2,$ djnz r1,delay ljmp start ;循環(huán)測(cè)試 end_六.實(shí)驗(yàn)現(xiàn)象與分析: 發(fā)現(xiàn)led燈不停的閃爍,這表明實(shí)驗(yàn)成功假如發(fā)現(xiàn)led燈先是亮緊接著是滅,這說明實(shí)驗(yàn)不成功 南昌大學(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名: 劉俊輝 學(xué) 號(hào): 6100207125 專業(yè)班級(jí): 通信071 實(shí)驗(yàn)類型: 驗(yàn)證 綜合 設(shè)計(jì) 創(chuàng)新 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 實(shí)驗(yàn)二 外部中斷實(shí)驗(yàn)(急救車與交通燈)一.實(shí)驗(yàn)?zāi)康?1.學(xué)習(xí)外部中斷技術(shù)的基本使用方法。2.學(xué)習(xí)中斷處理程序的編程方法。二.實(shí)驗(yàn)原理:在實(shí)驗(yàn)四內(nèi)容的基礎(chǔ)上增加允許急救車優(yōu)先通過的要求。有急救車到達(dá)時(shí),兩向交通

6、信號(hào)為全紅,以便讓急救車通過。假定急救車通過路口時(shí)間為10秒,急救車通過后,交通燈恢復(fù)中斷前狀態(tài)。本實(shí)驗(yàn)以按鍵為中斷申請(qǐng),表示有急救車通過。中斷服務(wù)程序的關(guān)鍵是:1.保護(hù)進(jìn)入中斷時(shí)的狀態(tài),并在退出中斷之前恢復(fù)進(jìn)入時(shí)的狀態(tài)。2.必須在中斷程序中設(shè)定是否允許中斷重入,即設(shè)置ex0位。本例中使用了int0中斷,一般中斷程序進(jìn)入時(shí)應(yīng)保護(hù)psw,acc以及中斷程序使用但非其專用的寄存器。本例的int0程序保護(hù)了psw,acc,2等三個(gè)寄存器并且在退出前恢復(fù)了這三個(gè)寄存器。另外中斷程序中涉及到關(guān)鍵數(shù)據(jù)的設(shè)置時(shí)應(yīng)關(guān)中斷,即設(shè)置時(shí)不允許重入。本例中沒有涉及這種情況。實(shí)驗(yàn)開始時(shí)k7應(yīng)在h(高電平)端,要產(chǎn)生中斷

7、時(shí)先撥向l(低電平)端再撥回h端。三.實(shí)驗(yàn)步驟及連線:po0-po3接dg1-dg4,po4-p07接 dr1-dr4。cs273 接8300h。k7接p3.2。 四.實(shí)驗(yàn)程序框圖: 主程序框圖五實(shí)驗(yàn)程序: org 0000h ljmp start org 0003h ;int 0 中斷入口地址 ljmp int0 org 0040hstart: mov sp,#60h setb ex0 ;int 0 中斷有效 setb it0 setb ea lcall status0 ;初始狀態(tài)(都是紅燈)circle: lcall status1 ;南北綠燈,東西紅燈 lcall status2 ;南北

8、綠燈閃轉(zhuǎn)黃燈,東西紅燈 lcall status3 ;南北紅燈,東西綠燈 lcall status4 ;南北紅燈,東西綠燈閃轉(zhuǎn)黃燈 ljmp circleint0: push psw ;保護(hù)現(xiàn)場(chǎng) push 2 push acc mov dptr,#8300h mov a,#0fh ;南北,東西都亮紅燈 movx dptr,a mov r2,#100 ;延時(shí)10秒 lcall delay pop acc ;恢復(fù)現(xiàn)場(chǎng) movx dptr,a pop 2 pop psw retistatus0: ;南北紅燈,東西紅燈 mov dptr,#8300h mov a,#0fh movx dptr,a mo

9、v r2,#10 ;延時(shí)1秒 lcall delay retstatus1: ;南北綠燈,東西紅燈 mov dptr,#8300h mov a,#5ah ;南北綠燈,東西紅燈 movx dptr,a mov r2,#50 ;延時(shí)5秒 lcall delay retstatus2: ;南北綠燈閃轉(zhuǎn)黃燈,東西紅燈 mov dptr,#8300h mov r3,#03h ;綠燈閃3次flash: mov a,#5fh movx dptr,a mov r2,#03h lcall delay mov a,#5ah movx dptr,a mov r2,#03h lcall delay djnz r3,f

10、lash mov a,#0ah ;南北黃燈,東西紅燈 movx dptr,a mov r2,#10 ;延時(shí)1秒 lcall delay retstatus3: ;南北紅燈,東西綠燈 mov dptr,#8300h mov a,#0a5h movx dptr,a mov r2,#50 ;延時(shí)5秒 lcall delay retstatus4: ;南北紅燈,東西綠燈閃轉(zhuǎn)黃燈 mov dptr,#8300h mov r3,#03h ;綠燈閃3次flash1: mov a,#0afh movx dptr,a mov r2,#03h lcall delay mov a,#0a5h movx dptr,a

11、 mov r2,#03h lcall delay djnz r3,flash1 mov a,#05h ;南北紅燈,東西黃燈 movx dptr,a mov r2,#10 ;延時(shí)1秒 lcall delaynop retdelay: ;延時(shí)子程序 push 2 push 1 push 0delay1: mov 1,#00hdelay2: mov 0,#0b2h djnz 0,$ djnz 1,delay2 ;延時(shí) 100 ms djnz 2,delay1 pop 0 pop 1 pop 2 ret end六.實(shí)驗(yàn)現(xiàn)象與分析: 南昌大學(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名: 劉俊輝 學(xué) 號(hào): 6100207125 專

12、業(yè)班級(jí): 通信071 實(shí)驗(yàn)類型: 驗(yàn)證 綜合 設(shè)計(jì) 創(chuàng)新 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 實(shí)驗(yàn)三 8255掃描鍵盤、顯示實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?1.掌握8255編程方法。2.掌握掃描鍵盤和顯示的編程方法。二.實(shí)驗(yàn)原理:利用8255可編程并行口做一個(gè)掃描鍵盤實(shí)驗(yàn),把按鍵輸入的鍵碼,顯示在由8279控制的七段數(shù)碼管上。8255pa口做鍵盤輸入線,pb口作掃描線。在pa口與pb口組成的64點(diǎn)陣列上,把按鍵接在不同的點(diǎn)上,將得到不同的鍵碼,本實(shí)驗(yàn)采用82的陣列,共可按16個(gè)鍵。顯示部分由8279控制,由7407驅(qū)動(dòng)8位數(shù)碼管顯示。三.實(shí)驗(yàn)步驟與連線:cs8255接8500h,則命令字地址為8506h,pa口地址為8

13、500h,pb口地址為8502h,pc口地址為8504h。cs8279已固定接至8700h,則8279的狀態(tài)口地址為8701h; 8279的數(shù)據(jù)口地址為8700h;29模塊中的十個(gè)短路套都套在8255側(cè)。四.實(shí)驗(yàn)程序框圖: 主程序框圖 讀鍵顯示部分框圖五實(shí)驗(yàn)程序 : d8255 equ 8506h ;8255狀態(tài)/數(shù)據(jù)口地址d8255a equ 8500h ;8255 pa口地址d8255b equ 8502h ;8255 pb口地址z8279 equ 8701h ;8279狀態(tài)口地址d8279 equ 8700h ;8279數(shù)據(jù)口地址disptr equ 08h ;當(dāng)前顯示位置keyval

14、equ 09h ;讀到的鍵碼 org 0000h ljmp start org 0040hstart: mov sp,#60h lcall delay ;延時(shí) mov disptr,#30h ;顯示緩沖區(qū)頭指針 mov dptr,#d8255 mov a,#90h ;置8255狀態(tài) ;方式0,pb,pc口輸出,pa口輸入 movx dptr,a mov dptr,#z8279 ;置8279命令字 mov a,#0d3h movx dptr,a ;清led顯示 mov a,#00h movx dptr,a mov a,#38h movx dptr,a mov a,#0d1hkb_dis: lca

15、ll rd_kb ;讀鍵盤 mov a,#0ffh cjne a,keyval,disbuf ;判讀到鍵 sjmp kb_dis ;沒有則繼續(xù)讀鍵disbuf: lcall disp ;把鍵移入顯存 lcall delay ;延時(shí)消抖 lcall delay sjmp kb_disdisp: ;顯存依次前移 mov r1,#31h ;在最后加入新鍵值move: mov a,r1 dec r1 mov r1,a inc r1 inc r1 cjne r1,#38h,move mov 37h,keyval mov keyval,#0ffh mov dptr,#z8279 mov a,#90h mo

16、vx dptr,a mov r0,#08h mov r1,#30h mov dptr,#d8279lp: mov a,r1 movx dptr,a inc r1 djnz r0,lp retrd_kb: ;鍵盤掃描 mov a,#02h ;掃描第一行 mov dptr,#d8255b movx dptr,a mov dptr,#d8255a movx a,dptr mov r1,#00h cjne a,#0ffh,keycal ;判鍵是否按下 mov a,#01h ;掃描第二行 mov dptr,#d8255b movx dptr,a mov dptr,#d8255a movx a,dptr

17、mov r1,#08h cjne a,#0ffh,keycal sjmp nokey ;無鍵按下keycal: ;計(jì)算鍵碼 mov r0,#08hshift: rrc a jnc calc inc r1 djnz r0,shiftcalc: ;換算顯示碼 mov dptr,#dl_dat mov a,r1 movc a,a+dptr mov keyval,a retnokey: mov keyval,#0ffh ;返回?zé)o鍵標(biāo)志 retdelay: mov r0,#0h ;延時(shí)子程序delay1: mov r1,#0h djnz r1,$ djnz r0,delay1 retdl_dat: db

18、 3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;0,1,2,3,4,5,6,7 db 7fh,6fh,77h,7ch,39h,5eh,79h,71h ;8,9,a,b,c,d,e,f end六.實(shí)驗(yàn)現(xiàn)象與分析: 南昌大學(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名: 劉俊輝 學(xué) 號(hào): 6100207125 專業(yè)班級(jí): 通信071 實(shí)驗(yàn)類型: 驗(yàn)證 綜合 設(shè)計(jì) 創(chuàng)新 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 實(shí)驗(yàn)四 串并轉(zhuǎn)換實(shí)驗(yàn)一. 實(shí)驗(yàn)?zāi)康?1.掌握8031串行口方式0工作方式及編程方法。2.掌握利用串行口擴(kuò)展i/o通道的方法。二.實(shí)驗(yàn)原理: 利用8031串行口,和并行輸出串行移位寄存器74ls164,擴(kuò)展一位數(shù)碼顯示

19、在數(shù)碼顯示器上循環(huán)顯示0-9這10個(gè)數(shù)字。串行口工作在方式0時(shí),可通過外接移位寄存器實(shí)現(xiàn)串并行轉(zhuǎn)換。在這種方式下,數(shù)據(jù)為8位,只能從rxd端輸入輸出,txd端總是輸出移位同步時(shí)鐘信號(hào),其波特率固定為晶振頻率1/12。由軟件置位串行控制寄存器(scon)的ren后才能啟動(dòng)串行接收,在cpu將數(shù)據(jù)寫入sbuf寄存器后,立即啟動(dòng)發(fā)送。待8位數(shù)據(jù)輸完后,硬件將scon寄存器的ti位置1,ti必須由軟件清零。三.實(shí)驗(yàn)步驟及連線:rxd接datain,txd接dclk。四.實(shí)驗(yàn)程序框圖:五.實(shí)驗(yàn)程序:timer equ 01h org 0000h ajmp start org 000bh ;t0 中斷程序入口地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論