單片機實驗報告_第1頁
單片機實驗報告_第2頁
單片機實驗報告_第3頁
單片機實驗報告_第4頁
單片機實驗報告_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

7、時先撥向l(低電平)端再撥回h端。三.實驗步驟及連線:po0-po3接dg1-dg4,po4-p07接 dr1-dr4。cs273 接8300h。k7接p3.2。 四.實驗程序框圖: 主程序框圖五實驗程序: 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、綠燈閃轉黃燈,東西紅燈 lcall status3 ;南北紅燈,東西綠燈 lcall status4 ;南北紅燈,東西綠燈閃轉黃燈 ljmp circleint0: push psw ;保護現(xiàn)場 push 2 push acc mov dptr,#8300h mov a,#0fh ;南北,東西都亮紅燈 movx dptr,a mov r2,#100 ;延時10秒 lcall delay pop acc ;恢復現(xiàn)場 movx dptr,a pop 2 pop psw retistatus0: ;南北紅燈,東西紅燈 mov dptr,#8300h mov a,#0fh movx dptr,a mo

9、v r2,#10 ;延時1秒 lcall delay retstatus1: ;南北綠燈,東西紅燈 mov dptr,#8300h mov a,#5ah ;南北綠燈,東西紅燈 movx dptr,a mov r2,#50 ;延時5秒 lcall delay retstatus2: ;南北綠燈閃轉黃燈,東西紅燈 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 ;延時1秒 lcall delay retstatus3: ;南北紅燈,東西綠燈 mov dptr,#8300h mov a,#0a5h movx dptr,a mov r2,#50 ;延時5秒 lcall delay retstatus4: ;南北紅燈,東西綠燈閃轉黃燈 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 ;延時1秒 lcall delaynop retdelay: ;延時子程序 push 2 push 1 push 0delay1: mov 1,#00hdelay2: mov 0,#0b2h djnz 0,$ djnz 1,delay2 ;延時 100 ms djnz 2,delay1 pop 0 pop 1 pop 2 ret end六.實驗現(xiàn)象與分析: 南昌大學實驗報告學生姓名: 劉俊輝 學 號: 6100207125 專

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

13、500h,pb口地址為8502h,pc口地址為8504h。cs8279已固定接至8700h,則8279的狀態(tài)口地址為8701h; 8279的數(shù)據(jù)口地址為8700h;29模塊中的十個短路套都套在8255側。四.實驗程序框圖: 主程序框圖 讀鍵顯示部分框圖五實驗程序 : 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 ;當前顯示位置keyval

14、equ 09h ;讀到的鍵碼 org 0000h ljmp start org 0040hstart: mov sp,#60h lcall delay ;延時 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 ;延時消抖 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: ;計算鍵碼 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 ;返回無鍵標志 retdelay: mov r0,#0h ;延時子程序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六.實驗現(xiàn)象與分析: 南昌大學實驗報告學生姓名: 劉俊輝 學 號: 6100207125 專業(yè)班級: 通信071 實驗類型: 驗證 綜合 設計 創(chuàng)新 實驗日期: 實驗成績: 實驗四 串并轉換實驗一. 實驗目的:1.掌握8031串行口方式0工作方式及編程方法。2.掌握利用串行口擴展i/o通道的方法。二.實驗原理: 利用8031串行口,和并行輸出串行移位寄存器74ls164,擴展一位數(shù)碼顯示

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論