學校:合肥工業大學
班級:電腦科學與技術
學號:姓名:
實驗1:系統認識實驗
1.實驗目的
(1)了解zy15mcu12bc2微控制器實驗開發裝置的接線與安排。掌握實驗箱內撥位開關kf,kc的使用方法。
(2)通過例項程式的編輯、編譯、鏈結及除錯,熟悉keilc51軟體的使用方法和基本操作。
(3)教育學生愛撫實驗裝置,養成良好的實驗習慣。
2.試驗裝置
(1)zy15mcu12bc2微控制器實驗開發裝置一台。
(2)pc系列微機及相關軟體。
3.試驗內容
(1)使用序列通訊電纜將實驗開發裝置與pc機相連。
(2)開啟pc機及實驗開發裝置,啟動keilc51軟體進入uvision2整合開發環境。
(3)確認撥位開關kf的開關為a端,確認89c51處於**狀態。
(4)在uvision2開發平台上建立並編輯示例程式:
計算n個數求和程式。其中n個數分別放在片內ram區50h到55h單元中,n=6, 求和的結果放在片內ram區03h(高位)和04h(低位)單元中。
題目:1)32h+41h+01h+56h+11h+03h=?
2)895h+02h+02h+44h+48h+12h=?
(5)編譯連線源程式。
(6)在keiluvision2主選單視窗進入debug除錯環境,開啟儲存器視窗輸入資料至片內ram區50h到55h單元中,全速執行程式,並檢查程式的執行結果,即觀察在儲存器視窗片內ram區03h(高位)、04h(低位)單元中的資料是否正確。
(7)實驗結束,撤出接線,將一切整理復原。
4. 實驗源程式
*** 0000h
ljmp main
*** 1000h
main: mov r2,#06h
mov r3,#03h
mov r4,#04h
mov r0,#50h
l1: mov a,r4
add a,@r0
mov r4,a
inc r0
clr a
addc a,r3
mov r3,a
djnz r2,l1
end5. 實驗結果截圖
6. 實驗總結
這次試驗,熟悉了微控制器開發的基本流程,對於實驗的兩道題目
1)32h+41h+01h+56h+11h+03h=?
2)895h+02h+02h+44h+48h+12h=?
實驗結果如上圖所示50h~54h存放資料,第一道題計算出來是0x00deh,第二道題目計算出來是0x0137h,實驗結果和預期相符,成功的完成了實驗。
這次試驗對硬體開發有了基本的認識,特別是對於微控制器的儲存器有了進一步的認識,在程式中把資料放入ram中,結果存放在r3和r4中,實驗時不知道r3和r4的位址,後來了解到r3和r4可以直接用他的位址03h和04h,這樣進一步深化了書本上的知識。另外通過這次試驗,對於51微控制器的幾種定址方式也有了具體的認識。總之,還是要多動手雖然程式不是自己寫的,但是閱讀理解了還是有點收穫的。
1.實驗目的
(1)理解並掌握排序程式的設計方法。
(2)掌握減法指令的功能,並聯絡其使用。
(3)逐步提高除錯程式的能力及編寫程式的能力。
2.試驗裝置
(1)zy15mcu12bc2微控制器實驗開發裝置一台。
(2)pc系列微機及相關軟體。
3.試驗內容
(1)使用序列通訊電纜將實驗開發裝置與pc機相連。
(2)開啟pc機及實驗開發裝置,啟動keilc51軟體進入uvision2整合開發環境。
(3)編寫程式,實現從平台連續輸入六個數,數碼管將馬上從小到大的順序顯示這六個數。要求被排序的數放在70h到7fh單元中。
(4)編譯連線源程式。
(5)除錯程式,在儲存器視窗輸入被排序數放在70h到7fh單元中,全速執行程式,並檢查程式設計師的執行結果,觀察是否正確。
(5)若程式中出現錯誤,則可以採用單步分段除錯,排除程式錯誤,直到正確為止。
4. 實驗源程式
*** 0000h
ljmp main
*** 0030h
main: mov r2,#70h
mov r3,#71h
mov r4,#0fh
lop2: acall lop1
djnz r4,lop2
ljmp lop6
lop1: mov a,r2
mov r0,a
mov a,r3
mov r1,a
mov a,@r0
lop5: clr c
subb a,@r1
jc lop4
mov a,@r0
xch a,@r1
mov @r0,a
lop4: inc r1
inc r0
mov a,@r0
cjne r1,#80h,lop5
retlop6:
end5. 實驗結果截圖
6. 實驗總結
本次試驗是在氣泡排序演算法實現對70h~7fh中的資料進行排序,如上第一張圖所示ram中70h~7fh存放了資料,第二張圖顯示的是通過氣泡排序整理過的資料。成功完成了實驗,收到了預期效果。
對於習慣了使用高階語言程式設計的我,看這些繞來繞去的彙編還是有些頭大,覺得這個例子寫的不太好,跳來跳去,程式層次不分明,可讀性很差,冒泡不應該有內外兩層嗎,看書上有乙個例子就寫得很好,跟用高階語言寫差不多,然而實驗的這個好像是要考我們對各種跳轉指令的了解,所以讀起來暈頭轉向的。
從另一方面來說,通過這次試驗,我也熟悉了彙編的跳轉與分支指令。另外,所以*** 0000h ljmp main *** 0030h,這三句ljmp這句跳到了main,那麼還要後面一句幹嘛。不甚理解。
總之,這次實驗讓我了解了各種分支與跳轉,還是有所收穫的。
1.實驗目的
(1)熟悉zy15mcu12bc2微控制器實驗開發裝置的試驗箱,學會選用其功能電路,連線成實驗需要的系統。掌握實驗箱內撥位開關kf\kc使用。
(2)加深了解mcs-51微控制器p1埠的應用方法。
(3)學習編寫介面應用程式。
2. 試驗裝置
(1)zy15mcu12bc2微控制器實驗開發裝置一台。
(2)pc系列微機及相關軟體。
3.試驗內容
(1)使用序列通訊電纜將實驗開發裝置與pc機相連,確認撥位開關kf的位置。
(2)開啟pc機及實驗開發裝置,啟動keilc51軟體進入uvision2整合開發環境,確認89c51處於**狀態。
(3)用試驗箱上的發光二極體l0到l7模擬外界各種場合的動態廣告燈,將試驗箱上的發光二極體l0到l7分別與微控制器的p1.0到p1.7相連。
(4)編寫程式,實現從p1口輸出訊號驅動發光二極體l0到l7模擬外界廣告燈動態點亮的功能。
(5)在uvision2開發平台上輸入程式,編譯、連線程式,除錯通過後將撥位開關kf撥至b端。
(6)單步執行程式,觀察是否進入**首位址。
(7)單步執行程式,觀察發光二極體l0到l7的變化。
(8)全速執行程式,觀察發光二極體l0到l7的變化,並注意程式將迴圈下去。
(9)實驗結束,撤除接線,將一切整理復原。
4. 實驗源程式
*** 0000h
main: mov dptr,#tab
mov r5,71h
loop: mov a,#00h
movc a,@a+dptr
mov p1,a
acall delay
acall delay
inc dptr
djnz r5,loop
ljmp main
delay: mov r7,#00h
mov r6,#00h
de: djnz r7,$
djnz r6,de
rettab: db 0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh
db 0ffh,7fh,0bfh,0dfh,0efh,0f7h,0fbh,0fdh
db 80h,00h,80h,0c0h,0e0h,0f0h,0f8h,0fch
db 0feh,0ffh,7fh,3fh,1fh,0fh,07h,03h
db 01h,00h,01h,03h,07h,0fh,1fh,3fh
db 7fh,0ffh,7eh,3ch,18h,00h,18h,3ch
db 7eh,0ffh,0feh,0fch,0fch,0f9h,0f3h,0e7h
db 0cfh,9fh,3fh,7fh,0ffh,7fh,3fh,9fh
db 0cfh,0e7h,0f3h,0f9h,0fch,0feh,0ffh
db 0feh,0fch,0f8h,0f0h,0e0h,0c0h,80h,00h
db 80h,40h,20h,10h,08h,04h,02h,01h,00h
db 01h,02h,04h,08h,10h,20h,40h,80h,00h
db 80h,0c0h,0e0h,0f0h,0f8h,0fch,0feh,0ffh
end5. 實驗結果
6. 實驗總結
廣告燈按照程式所給的效果迴圈的有序的點亮,如果應用到廣告霓虹燈,的確可以到達璀璨的效果,程式的最後的tab是最糾結的,你要按照效果一點一點的編寫十六進製制的數字,換算出效果,可見真正的商業廣告的效果的確是很麻煩的一件事,通過這個實驗,我清楚地認識到了微控制器的控制的靈活性,另外對於查表指令也有所理解。
1. 實驗目的
(1)進一步熟悉zy15mcu12bc2實驗箱上的資源,掌握實驗箱內撥位開關kf,kc使用。
(2)加深了解mcs-51微控制器p1埠的應用方法。
(3)學習編寫介面應用程式。
2. 試驗裝置
(1)zy15mcu12bc2微控制器實驗開發裝置一台。
(2)pc系列微機及相關軟體。
3.試驗內容
(1)使用序列通訊電纜將實驗開發裝置與pc機相連,確認撥位開關kf的位置。
(2)開啟pc機及實驗開發裝置,啟動keilc51軟體進入uvision2整合開發環境,確認89c51處於**狀態。
(3)將試驗箱上的l0到l3接到p1.0到p1.3,開關k0到k3接到p1.4到p1.7。
微控制器實驗報告
1福建農林大學計算機與資訊學院 資訊工程類 實驗報告 2013 年 10 月 28 日 實驗專案列表 福建農林大學計算機與資訊學院資訊工程類實驗報告 系 電子資訊工程專業 電子資訊工程年級 2011級 姓名 詹緩輝學號 3116004094實驗課程 微控制器技術 實驗室號 田c513實驗時間 10....
微控制器實驗報告
一 實驗題目 試編寫一段程式,其功能為將21h單元的內容8位分別依次存放到從22h開始的8單元中。二 keil 0000h jmp start 0100h start mov 21h,8 mov a 21h 取出21中的數 mov r0,22h 初始化 mov r1,7h 迴圈次數為7 loop r...
微控制器實驗報告
姓名王文龍 學院機電工程院 班級機械 1102 班 學號0806110402 日期2014.10.30 實驗一定時器實驗 一 實驗目的 1.學習89c51內部計數器的使用和程式設計方法 2.進一步掌握中斷處理程式的編寫方法 二 實驗說明 關於內部計數器的程式設計主要是定時常數的設定和有關控制暫存器的...