電控教研室
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碼的加法運算。四 實驗電路連線 此實驗不需要連線...