通訊與資訊工程學院
2010/2011 學年第二學期
實驗報告
課程名稱微控制器原理及應用
專業班級學號學生姓名
指導教師
日期 : 2011 年 4 月 15 日
實驗一:微控制器組合語言程式設計
一.實驗目的
1. 學習medwin 或keil c51**軟體的使用。
2. 學習proteus**軟體的使用。
3. 在medwin 或keil**環境下編寫乙個標準的匯程式設計序,排除語法錯誤,完成**除錯和執行。
二.實驗內容
1. 程式設計實現在外部ram中把200ch開始的300h個位元組資料傳送到8100開始的單元中去.。
2. 已知在內部ram中有以array為首址的資料區,依次存放單位元組陣列長度及陣列內容,求這組資料的和,並將和接著該資料區存放.假定陣列之和小於255,請編寫程式。
三.主要儀器裝置:
pc機一台
medwin 或keil c51微控制器**軟體
proteus 軟體
四.實驗型別:
設計+驗證
備註:教師演示與學生操作結合。使學生了解proteus與medwin或keil c51的聯合使用方法。
五.實驗的過程與結果:
(1) *** 1000h
mov r0,#array
mov a,@r0
mov r7,a
clr a
inc r0
loop: add a,@r0
inc r0
djnz r7,loop
mov @r0,a
sjmp $
end(2) mov dptr,#200ch
mov p2,#81h
mov p0,#00h
mov r1,#30h
loop: movx a,@dptr
movx @r0,a
inc dptr
inc r0
djnz r1,loop
sjmp $
end六.實驗小結
本次實驗,我第一次進行微控制器上機操作,有以下幾點收穫:
1)上機前,應了解指令相關知識,為編寫組合語言源程式打下基礎.
2)按指令功能劃分的分類方式有助於掌握指令系統,應該重點掌握;指令系統中的符號說明任何一種機器語言都有自己的語法規則.
3)掌握微控制器指令系統並能很好地運用學會編寫常用程式,是應用好微控制器的基礎.
4)基本掌握了微控制器的程式設計,微控制器應用時應該注意的問題,能夠在medwin 或keil**環境下編寫乙個標準的51匯程式設計序,排除語法錯誤,完成**除錯和執行。
綜上,本次試驗成功完成。
實驗二: mcs-51微控制器中斷系統
mcs-51微控制器定時/計數器及其應用
一.實驗目的:
1. 根據proteus工程提供的電原理圖按要求編寫簡單演算法程式,並用medwin 或keil**軟體除錯,最後在proteus中驗證程式的正確性。
2. 掌握proteus與medwin 或keil的聯合使用方法。
3. 了解並掌握定時器中斷相關知識。
二.實驗內容
1. 試用定時器中斷技術設計乙個秒閃電路,其功能是使發光二極體led每秒閃亮400ms,設系統主頻為6mhz.
2. 設8051微控制器定時器t0作定時器用,時鐘頻率為6mhz,試程式設計由p1.0和p1.1分別輸出週期為2ms和500ms的方波.
三.主要儀器裝置:
pc機一台
medwin 或keil c51微控制器**軟體
proteus 軟體
四.實驗型別:
演示+設計+驗證
備註:教師演示與學生操作結合。使學生了解proteus與medwin或keil c51的聯合使用方法。
五.實驗的過程與結果:
(1)分析:
定時器工作在方式0,系統主頻為6mhz,最小定時時間為2us
需要計數器計數的個數: 100ms/2us=50000
計數初值:65536-50000=15536=3cb0h
程式段:
*** 0000h
reset: ljmp main
*** 000bh
ljmp it0p
*** 0100h
main: mov sp, #60h
mov tmod, #01h
ptomo: mov tl0,#0b0h
mov th0,#3ch
setb tr0
setb et0
setb ea
here: ljmp here
it0b : clr p1.5
mov b,#01h
loop1: mov tl0,#0b0h
mov th0,#3ch
djnz b,loop1
cpl p1.5
mov b,#02h
loop2: mov tl0,#0b0h
mov th0,#3ch
djnz b,loop2
cpl p1.5
reti
end**截圖:
(2)由p1.0輸出週期為2ms的方波:
分析: 週期為2ms,1ms處翻轉
(2^16-m)/6000000*12=0.01
65536-5000=60536=0fe0ch
*** 0000h
reset: ajmp main
*** 000bh
ajmp it0p
*** 0100h
main: mov sp, #60h
mov tmod, #01h
ptomo: mov tl0,#0ch
mov th0, #0feh
setb tr0
setb et0
setb ea
here: ajmp here
it0p: mov tl0, #0ch
mov th0, #0feh
cpl p1.0
reti
retend由p1.1輸出週期為500ms的方波:
分析:週期為500ms,250ms處翻轉
(2^16-m)/6000000*12=0.25
65536-12500=53036=0cf2ch
程式段:
*** 0000h
reset: ljmp main
*** 000bh
ljmp it0p
*** 0100h
main: mov sp, #60h
mov tmod, #01h
ptomo: mov tl0, #2ch
mov th0, #0cfh
setb tr0
setb et0
setb ea
here: ljmp here
it0p: mov b, #04h
loop: mov tl0, #2ch
mov th0, #0cfh
djnz b,loop
cpl p1.1
reti
end六.實驗小結
這次實驗,使我學會了使用proteus進行微控制器的**,學習了medwin 或keil c51**軟體的使用, 能夠在medwin 或keil**環境下編寫乙個標準的51匯程式設計序。能夠根據proteus工程提供的電原理圖按要求編寫簡單演算法程式,並用medwin 或keil**軟體除錯,最後在proteus中驗證程式的正確性。通過設計電子時鐘的綜合實驗掌握了微控制器程式設計的基本思想,以及中斷、定時程式的基本編寫方法。
獲益匪淺,本次試驗成功。
實驗三:微控制器序列通訊接**術
一.實驗目的
1. 掌握51微控制器串列埠通訊原理。
2. 學會運用**軟體編寫基本串列埠通訊程式。
3. 了解如何利用軟體自帶的功能觀察串列埠通訊的結果。
二.實驗內容
1. 試設計乙個8051微控制器的雙機通訊程式,並編寫程式將a機片內ram 40h-50h的資料塊通過序列口傳送到b機片內的ram 60h-7fh中去。
2. 以8051序列口按工作方式3進行資料通訊,設波特率為1200bit/s,第9資料位作奇偶校驗位,以中斷方式傳送資料,請編寫通訊程式。
三.主要儀器裝置:
pc機一台
medwin 或keil c51微控制器**軟體
proteus 軟體
四.實驗型別:
設計+驗證
備註:教師指導學生如何利用軟體自帶的功能觀察串列埠通訊的結果。
五.實驗的過程與結果:
分析:1200bit/s------**od=0
n=256-2^0*fosc/(1200*12*32)
方式二定時,tmod=02h,用到定時器0。
scon=d0h(方式三,ren=1)
該程式段呼叫了乙個迴圈程式在發、收兩端分別進行11次傳送。
程式段:
*** 0000h
ljmp main
*** 0023h
ljmp it0p
*** 0100h
main: mov tmod,#02h
mov tl1,#0f3h
mov th1,#0f3h
setb tr0
mov scon,#50h
mov r0,#40h
mov r1,#60h
acall sout
sjmp $
it0p: jnb ri,send
acall sin
clr ri
sjmp next
send: acall sout
clr ti
next: reti
sout: mov b,#0ah
loop1: mov sbuf,a
inc r0
dec b
微控制器實驗報告
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...
微控制器實驗報告
學校 合肥工業大學 班級 電腦科學與技術 學號 姓名 實驗1 系統認識實驗 1 實驗目的 1 了解zy15mcu12bc2微控制器實驗開發裝置的接線與安排。掌握實驗箱內撥位開關kf,kc的使用方法。2 通過例項程式的編輯 編譯 鏈結及除錯,熟悉keilc51軟體的使用方法和基本操作。3 教育學生愛撫...