微控制器實驗指導書

2023-01-21 21:51:05 字數 5187 閱讀 3955

電控教研室

2023年5月

目錄實驗一微控制器開發環境熟悉及keil軟體使用 2

實驗二微控制器io口應用實驗 7

實驗三 i/o口輸入輸出實驗 9

實驗四紅綠燈模擬實驗 11

實驗五中斷應用——按鍵計數實驗 14

實驗六 led動態顯示實驗 16

實驗七串列埠通訊實驗 18

實驗一微控制器開發環境熟悉及keil軟體使用

一、 實驗目的

1、熟悉微控制器開發環境以及51程式**。

2、學習用keil軟體建立工程和編譯。

二、 實驗內容

1、用keil軟體編寫程式,並建立工程,編譯程式。

2、將程式**到51微控制器中。

三、實驗步驟

(一)、keil工程的新建

1、雙擊桌面上圖示

2、新建工程

3、指定新建工程的位置和名稱。

4、設定keil工作屬性。

5、點選確定。新建檔案。

6、輸入程式。

7、儲存檔案,如果你用c語言編寫,字尾名為.c,如果你用彙編編寫程式,字尾名.asm

8、按照下圖新增檔案。新增成功後,工程建立成功。

9、編譯你的程式,選擇project -> rebuild all target files

10、編譯完畢之後,選擇debug->start/stop debug session,就進入**了。

(二)51**使用說明

1、 將usb資料線接入usb**介面處,電腦即彈出如下對話方塊

2、 在光碟中找到「51**器驅動」。

3、 點選下一步即可完成驅動。

4、 此時,在裝置管理處即可發現有usbasp裝置。

5、 在光碟中找到「51微控制器**軟體」資料夾中,雙擊開啟,彈出對話方塊,如下圖所示,請按照圖中1、2、3步操作即可,其他為預設值。

6、 如若出現「沒有發現usb裝置」,請檢查usb**驅動是否成功或者usb接觸是否良好。在裝置管理器中檢視是否發現usbasp裝置。

如若發現,請檢查微控制器系統是否處於正常工作的狀態,主要從晶振、復位等方面看手檢查,並檢查jp5和jp6是否連線(連線jp5和jp6的資料線絕對不能太長)。

如果仍即不能解決,請聯絡廠家——浙江南市教儀****工程部。

7、 注意:在**程式時,jp5和jp6必須連線,並且保證p1口懸空,不能連線其他高電平埠,如:開關輸出埠、具有上拉電阻的埠等等。

四、 實驗結果

org 0030h

start: mov a, #80h ;a = 80h

mov r0, #0ffh ;r0 = ffh

add a, r0 ;a←a + r0,a = 7fh

end start

實驗二微控制器io口應用實驗

一、 實驗目的

1、掌握p1口簡單使用。

2、學習延時程式的編寫和使用。

二、 實驗內容

1、p1外接8只發光二極體,編寫程式,使得8只發光二極體做出跑馬燈效果。

2、p1口做輸出口接8只發光二極體,使8只發光二極體以各種彩燈效果亮燈。

三、 實驗說明

1、延時子程式的延時計算。

對於延時程式

delay :mov r6,#00h

delay1:mov r7,#80h

djnz r7,$

djnz r6,delay1

查指令表可知mov、djnz指令均需用兩個機器週期,而乙個機器週期時間長度為12/ 6.0mhz,所以該段指令執行時間為:

(((128+1)×256)+1)×2×(12÷6000000)=132.1ms。

四、 實驗原理圖

五、程式流程圖

跑馬燈流程圖如下:

六、 實驗步驟

實驗一:

1、連線usb**線,用15cm的**(一定要**)連線jp5和jp6並**"跑馬燈.hex"程式。**後斷開jp5和jp6。

2、用資料線連線p1口和「邏輯輸入」的jp1

3、八位發光二極體以跑馬燈的效果亮燈。

實驗二:

1、連線usb**線,**"彩燈.hex"程式。

2、用資料線連線p1口和「邏輯輸入」的jp1

3、八位發光二極體以多種彩燈的效果亮燈。

七、 實驗結果

1.8只發光二極體做出跑馬燈效果。

2、8只發光二極體以各種彩燈效果亮燈。

實驗三 i/o口輸入輸出實驗

一、 實驗目的

學習io口即做輸入又做輸出的方法

二、 實驗內容

p1作為輸出口,接八位發光二極體;p2作為輸入口,接八位開關量。編寫程式使得開關的狀態相應的反映在發光二極體上。

三、 實驗說明

p1、p2、p3口都是準雙向口,它作為輸出口時與一般的雙向口使用方法相同。但由準雙向口結構可知:當p1、p2、p3口作為輸入口時,必須先對它置高電平,使內部mos管截止,因內部上拉電阻是20kω—40kω,故不會對外部輸入產生影響。

若不先對它置高,且原來是低電平,則mos管導通,讀入的資料不正確。

4、 實驗原理圖

五、程式流程圖

六、 實驗步驟

1、連線usb**線,用15cm的**(一定要**)連線jp5和jp6並**程式。**後斷開jp5和jp6。

2、用資料線連線p1口和「邏輯輸入」的jp1,連線p2口和「邏輯輸出」的jp8。

3、八位發光二極體將反映出開關量的狀態

七、 實驗結果

撥動開關,相應的發光二極體亮

實驗四紅綠燈模擬實驗

一、 實驗目的

1、學習和掌握微控制器io口程式設計的方法及子程式應用

二、 實驗內容

程式設計使得l1、l2(作為紅燈)先亮60s,然後l2、l3(作為黃燈)亮5s,然後l4、l5(作為綠燈)亮50s,黃燈亮5s,紅燈亮60s........以此迴圈。兩位數碼顯示燈亮的時間。

三、 實驗原理圖

四、程式流程圖

五、實驗步驟

1、連線usb**線,用15cm的**(一定要**)連線jp5和jp6並**「紅綠燈.hex」程式。**後斷開jp5和jp6。

2、用資料線連線p1口和「邏輯輸入」的jp1,連線「掃瞄式數碼顯示」jp2、jp3和p0、p2。

3、d1、d2亮60s——>d3、d4亮5s——>d5、d6亮50s——> d3、d4亮5s——> d1、d2亮60s.......數碼管顯示燈亮的時間。

六、 實驗結果

l1、l2(作為紅燈)先亮60s,然後l2、l3(作為黃燈)亮5s,然後l4、l5(作為綠燈)亮50s,黃燈亮5s。

實驗五中斷應用——按鍵計數實驗

一、 實驗目的

1.掌握外部中斷技術的基本使用方法

2.掌握中斷處理程式的編寫方法

2、 實驗內容

在外中斷0的io口p32/int0處接入單次開關,每按下一下,則數碼管顯示加1。計數滿100後清零。

三、 實驗說明

1.外部中斷的初始化設定共有三項內容:中斷總允許即ea=1,外部中斷允許即exi=1(i=0或1),中斷方式設定。中斷方式設定一般有兩種方式:

電平方式和脈衝方式,本實驗選用後者,其前一次為高電平後一次為低電平時為有效中斷請求。因此高電平狀態和低電平狀態至少維持乙個週期,中斷請求訊號由引腳int0(p3.2)和int1(p3.

1)引入,本實驗由int0(p3.2)引入。

2.中斷服務的關鍵:

a.保護進入中斷時的狀態。

堆疊有保護斷點和保護現場的功能使用push,在轉中斷服務程式之前把微控制器中有關寄存單元的內容保護起來。

b.必須在中斷服務程式中設定是否允許中斷重入,即設定ex0位。

c.用pop指令恢復中斷時的現場。

3.中斷控制原理:

中斷控制是提供給使用者使用的中斷控制手段。實際上就是控制一些暫存器,51系列用於此目的的控制暫存器有四個:tcon 、ie 、scon 及ip。

4.中斷響應的過程:

首先中斷取樣然後中斷查詢最後中斷響應。取樣是中斷處理的第一步,對於本實驗的脈衝方式的中斷請求,若在兩個相鄰週期取樣先高電平後低電平則中斷請求有效,ie0或ie1置「1」;否則繼續為「0」。。中斷響應就是對中斷請求的接受,是在中斷查詢之後進行的,當查詢到有效的中斷請求後就進行響應一次中斷。

四、程式流程圖

五、實驗步驟

1、連線usb**線,用15cm的**(一定要**)連線jp5和jp6並** "按鍵計數.hex"程式。

2、用資料線連線「掃瞄式數碼顯示」的jp2、bit1、bit2和p0、p10、p11。用導線連線「單次脈衝」p2+和int0。

3、通電實驗,單次開關按下後,每輸出乙個脈衝,數碼計數便加1。

六、 實驗結果

每按下開關,則數碼管顯示加1。計數滿100後清零。

實驗六 led動態顯示實驗

一、 實驗目的

學習led動態顯示的程式設計方法

二、 實驗內容

程式設計控制六位共陽數碼管顯示-hell0

三、 實驗說明

動態掃瞄方法 :即在動態介面採用各數碼管迴圈輪流顯示的方法。當迴圈顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象,這種顯示需要乙個介面完成字形碼的輸出(字形選擇),另一介面完成各數碼管的輪流點亮(位碼)。

對於顯示的字形碼資料我們採用查表方法來完成。

四、 實驗原理圖

五、程式流程圖

六、實驗步驟

1、連線usb**線,用15cm的**(一定要**)連線jp5和jp6並**「動態顯示.hex」程式。

2、用資料線連線「掃瞄式數碼顯示」的jp2、jp3和p1、p2。

3、通電實驗,數碼管即可顯示-hello。

七、 實驗結果

六位共陽數碼管顯示-hell0

實驗七串列埠通訊實驗

一、 實驗目的

學習rs232串列埠通訊的程式設計方法

二、 實驗內容

通過串列埠助手使微控制器和電腦建立聯接,利用串列埠傳送00—ff這16個數中的任一十六進製制資料,八隻發光二極體都以十六進製制形式接收顯示。並在串列埠助手的接手區顯示傳送的資料。

三、 實驗說明

89s52序列口經232電平轉換後,與pc機序列相連。pc機使用「串列埠除錯助手」應用程式,實現上位機與下位機的通訊。本實驗使用查詢法接收和傳送資料。

上位機發出指定字元,下位機收到後返回原字元。

四、 實驗原理圖

五、實驗步驟

1、連線usb**線,用15cm的**(一定要**)連線jp5和jp6並**"串列埠通迅.hex"程式。

自控微控制器實驗指導書 一

實驗目的 1.了解at89s51微控制器的基本原理 2.掌握keil uvision2程式設計環境 3.掌握io的基本操作 4.掌握微控制器的定時功能 實驗原理和方法 1.io的基本原理 微控制器是通過程式給io口賦值 1 或 0 由硬體的io驅動電路產生乙個確定的電壓,使上圖的mos管導通和關斷實...

微控制器實驗指導書2019版 學生

上機作業 姓名 相柳堂學號 10123782 機號 47 通過實驗掌握微控制器的串列埠的設定和應用。按實驗內容上機輸入並除錯實驗程式。畫出實驗程式的流程框圖。在程式控制下,本方撥碼開關的資訊,可以在對方的led上顯示。編制軟體時,使用了組合語言,針對按鍵和序列通訊,都採用了中斷方式,這樣就可以取得最...

ADuC831微控制器實驗指導書

利用子程式實現壓縮bcd碼的加法運算,通過迴圈多次呼叫子程式實現多位元組bcd碼的加法運算。二 實驗目的 熟悉並掌握aduc831 mcs 51微控制器開發系統的使用,掌握bcd碼的加法和子程式的程式設計方法。三 實驗說明 編寫程式,實現多位元組bcd碼的加法運算。四 實驗電路連線 此實驗不需要連線...