微控制器實驗報告

2022-07-28 18:48:05 字數 4102 閱讀 7442

實驗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 教育學生愛撫...