實驗2 資料排序實驗
一、實驗目的
熟悉mcs-51指令系統,掌握資料排序程式的設計方法。
二、實驗裝置
1.dais mcs-51 微控制器實驗系統軟體一套
2.pc機一套
三、實驗線路
無四、實驗內容
編寫並除錯乙個排序程式,其功能為用冒泡法(參見微控制器教材84頁)將ram中幾個單位元組無符號的正整數,按從小到大的次序重新排列。程式流程圖如下:
五、實驗步驟
1.按要求編寫實驗程式s2,在cpu內部的ram 50h~5ah中放入不等的資料,並填入下表。
2.執行該程式後檢查50h~5ah內容是否按從小到大排列,結果記錄下表中:
六、思考題
修改程式s2,將50h~5ah中內容按從大到小排列,並且記錄下程式執行前後的結果,分析是否正確。
實驗5 工業順序控制
一、實驗目的
掌握工業順序控制程式的簡單程式設計,中斷的使用。
二、實驗裝置
1.dais-958ph+微控制器實驗開發系統一套
2.pc機一套
三、實驗線路
四、實驗內容
在工業控制中,象沖壓、注塑、輕紡、製瓶等生產過程,都是一些繼續生產過程,按某種順序有規律的完成預定的動作,對這類繼續生產過程的控制稱順序控制,象注塑機工藝過程大致按「合模注射延時開模產伸產退」順序動作,用微控制器最易實現。
8031的p1.0~p1.6控制注塑機的七道工序,現模擬控制七隻發光二極體的點亮,低電平有效,設定每道工序時間轉換為延時,p3.
4為開工啟動開關,高電平動作。p3.3為外部故障輸入模擬開關,低電平報警,p1.
7為報警聲音輸出,設定6道工序只有一位輸出,第七道工序三位有輸出。
程式流程圖如下:
五、實驗步驟
按實驗電路圖接好連線。執行程式,把k1接到高電平,觀察發光二極體點亮情況,確定工序執行是否正常,然後把k2置為低電平,看是否有聲音報警,恢復中斷1,報警停,又從剛才報警時一道程式執行下去。可以單步、單步跟蹤,非全速斷點、全速斷點、連續執行功能除錯軟體,直到符合程式設計要求為止。
六、思考題
如何修改程式,使每道工序中有多位輸出。
實驗6 8255控制交通燈
一、實驗目的
了解8255晶元的結構及程式設計方法,學習模擬交通控制的實現方法。
二、實驗裝置
1.dais-958ph+微控制器實驗開發系統一套
2.pc機一套
三、實驗線路
四、實驗內容
用8255作輸出口,控制12個發光二極體燃滅,模擬交通燈管理。
程式流程圖如下:
五、實驗步驟
8255的pa0~pa7、 pb0~pb3接發光二極體l15~l13、l11~l9、l7~l5、l3~l1。
執行程式,初始態為四個路口的紅燈全亮之後,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時一段時間後東西路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次後,東西路口紅燈亮,而同時南北路口的綠燈亮,南北路口方向開始通車,延時一段時間後,南北路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次後,再切換到東西路口方向,之後重複以上過程。
六、參考程式
org 0bb0h
jod0: mov sp,#60h
mov dptr,#0ffdbh
mov a,#88h
movx @dptr,a8255初始化
mov dptr,#0ffd8h
mov a,#0b6h
movx @dptr,a
inc dptr
mov a,#0dh
movx @dptr,a點亮4個紅燈
mov r2,#25h延時
lcall dely
jod3: mov dptr,#0ffd8h
mov a,#75h
movx @dptr,a
inc dptr
mov a,#0dh
movx @dptr,a東西綠燈亮,南北紅燈亮
mov r2,#55h
lcall dely延時
mov r7,#05h閃爍次數
jod1: mov dptr,#0ffd8h
mov a,#0f3h
movx @dptr,a
inc dptr
mov a,#0ch
movx @dptr,a東西黃燈亮,南北紅燈亮
mov r2,#20h
lcall dely延時
mov dptr,#0ffd8h
mov a,#0f7h
movx @dptr,a
inc dptr
mov a,#0dh
movx @dptr,a南北紅燈亮
mov r2,#20h
lcall dely延時
djnz r7,jod1閃爍次數未到繼續
mov dptr,#0ffd8h
mov a,#0aeh
movx @dptr,a
inc dptr
mov a,#0bh
movx @dptr,a東西紅燈亮,南北綠燈亮
mov r2,#55h
lcall dely延時
mov r7,#05h閃爍次數
jod2: mov dptr,#0ffd8h
mov a,#9eh
movx @dptr,a
inc dptr
mov a,#07h
movx @dptr,a東西紅燈亮,南北黃燈亮
mov r2,#20h
lcall dely延時
mov dptr,#0ffd8h
mov a,#0beh
movx @dptr,a
inc dptr
mov a,#0fh
movx @dptr,a東西紅燈亮
mov r2,#20h
lcall dely延時
djnz r7,jod2閃爍次數未到繼續
ljmp jod3迴圈
dely: push 02h
del2: push 02h
del3: push 02h延時
del4: djnz r2,del4
pop 02h
djnz r2,del3
pop 02h
djnz r2,del2
pop 02h
djnz r2,dely
retend實驗7 a/d轉換實驗
一、實驗目的
1.掌握a/d轉換與微控制器介面的方法。
2.了解a/d晶元0809轉換效能及程式設計方法。
3.通過實驗了解微控制器如何進行資料採集。
二、實驗裝置
1.dais-958ph+微控制器實驗開發系統一套
2.pc機一套
三、實驗線路
四、實驗內容
利用實驗系統上的0809做a/d轉換器,實驗系統上的電位器提供模擬量輸入,編制程式,將模擬量轉換成數字,通過數碼管顯示出來。
程式流程圖如下:
五、實驗步驟
編好程式後按實驗線路接線,除錯、執行程式,數碼管上顯示後二位顯示當前採集的電壓轉換的數字量,調節w1,該二位將隨著電壓變化而相應變化。
六、思考題
如何修改程式,實現int0~int7 8個通道輪流取樣顯示。(設每次顯示1秒鐘)
七、參考程式
org 05a0h
se11: mov sp,#53h
mov 7eh,#00h
mov 7dh,#08h
mov 7ch,#00h
mov 7bh,#09h
mov 7ah,#10h
mov 79h,#10h顯示緩衝區初值
lo18: call dis顯示
mov a,#00h
mov dptr,#0ffe0h
movx @dptr,a0809的0通道取樣
call dis ;ssee
movx a,@dptr取出取樣值
mov dptr,#0ffe4h ;138 y1
cpl a
movx @dptr,a驅動發光二極體
cpl a
mov r0,#79h
call ptds取樣值送顯示緩衝區
sjmp lo18迴圈
微控制器實驗報告
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 教育學生愛撫...