微控制器實驗報告【新版多篇】

微控制器實驗報告【新版多篇】

微控制器實驗報告 篇一

實 實 驗 驗 報 報 告

實驗課程:

微控制器原理及應用

級:

自動化 2 班

號:

名:

師:

成績:

實 驗 日 期 :

****年**月**日

實驗名稱:

實驗 1-—計數顯示器

一、實驗目得:學習Proteus 軟體得使用,掌握微控制器原理圖得繪圖方法。

二、實驗內容:

ﻩ1、繪製“計數顯示器”電路原理圖;2、利用提供得hex 檔案驗證此電路得執行效果。

三、實驗要求:

提交得實驗報告中應包括:1、繪圖方法簡述,要求說明元件與電源得選取、擺放及屬性編輯,匯流排與標籤得畫法等內容;2、電路原理圖;3、模擬執行效果展示,要求就模擬檔案載入方法及 3~4幅執行截圖進行簡要說明;4、實驗小結,說明遇到得主要問題或實驗 1 體會等。參考電路原理圖如下:

元件類別 電路符號 元件名稱 Microprocessor ICs “U1“ 80C51 Miscellaneous “X1”/12MHz CRYSTAL Capacitors “C1”~“C2”/1nF CAP Capacitors “C3”/22μF CAP—ELEC Resistors Packs “RP1“/7—100Ω RESPACK—7 Resistors “R1"/100Ω RES Optoelectronics “LED1”~“LED2” 7SEG--CAT-GRN Switches & Relays “BUT” BUTTON 1、、及 程式設計思路及 C51 源程式:

2、電路原理圖:

3、模擬執行效果展示:

4、實驗小結 :

熟悉Proteus 軟體,瞭解軟體得結構組成與功能;學習ISIS 模組得使用方法,學會設定圖紙、選元件、線畫匯流排、修改屬性等基本操作;學會可執行檔案 載入及程式仿法;理解Proteus在微控制器開發中得作用,完成微控制器電路原 理圖得繪製. 實驗名稱:

實驗 2——LED 指示燈迴圈控制

一、實驗目得 熟悉μVision3 編譯軟體、掌握 C51程式設計與除錯方法。

二、

實驗內容 1、按照教材 P243 得圖 A、34,繪製實驗二電路原理圖; 2、編寫 C51 程式,實現 8 個 LED 燈依次點亮得功能: P0、0→P0、1→ P0、2→P0、3→ ┅ →P0、7→P0、6→P0、5→ ┅ →P0、0 得順序,無限迴圈,間隔約50ms; 3、觀察模擬結果,完成實驗報告。

三、

實驗要求 1、採用兩種載入並執行可執行檔案得方法,即proteus獨立執行與prote

us + Keil 聯合執行,體會其中得差異與意義;2、練習採用單步、斷點以及監視窗等手段進行程式除錯得方法;3、觀察模擬結果,完成實驗報告:繪製得電路原理圖、程式設計思路分析及 C51源程式、除錯過程簡述,模擬執行效果以及實驗小結。、電路原理圖:

及 2、程式設計思路及 C51 源程式:、模擬執行效果:、實驗小結 :

通過本次實驗我熟悉 uVision3 編譯軟體瞭解軟體得結構組成與功能學習C51 語言得程式設計方法)學會在 uVision3中進行 C51 程序錄入、編譯、與 除錯理解 Proteus 與 Keil 聯合得模擬原理實現 LED 指示燈迴圈控制功能。

更好得將 C 語言與 C51 語言聯絡在了一起)學到得知識能準確得利用了出來。

實驗名稱:

實驗3——指示燈與數碼管得中斷控制

一、實 驗目得 掌握外部中斷得工作原理,學會中斷程式設計。二、實驗內容 1、按照教材帕圖 A、53,繪製實驗四電路原理圖;2、要求採用外部中斷原理完成本次實驗,其中按鍵 K1、K2 均設定為下降沿觸發方式,自然優先順序; 3、編寫 C51 程式實現如下功能:開機後 D1滅燈,LED1黑屏,隨後單擊 K1→D1狀態反轉,單擊 K2 →LED1 從 0 開始迴圈顯示0~F 字元。

4、觀察模擬結果,完成實驗報告。

三、

實驗要求 提交得實驗報告中應包括:電路原理圖,外部中斷工作原理闡述(以 K1 為例說明中斷響應過程),C51 源程式(含流程圖與註釋語句),執行效果(含執行截圖

與說明),實驗小結. 1、電路原理圖 :

2、外部中斷工作原理闡述:

持續按下 K1 則 D1 將“亮→滅→亮→滅→„→亮→滅如此迴圈,表明實現了 K1 對應於 D1 狀態反轉這個功能;持續按下持續按 K2 則數碼顯示管依次顯 示 1-F,實現了 K2 對應於 0~F 間得數碼管加一計數顯示.

3、、及程式設計思路及 C51 源 源 程式:、模擬執行效果:

5、實驗小結:

通過實驗對 Protues 有了更多得了解,同時瞭解到中斷系統在實際中得更好 應用。經過程式設計操作起來更加熟練能很快得完成繪圖,程式設計時也得心應手,能熟練得運用軟體找出自己所程式設計中得語法問題及其她問題,並以改正。

實驗名稱:

實驗4—-電子秒錶顯示器

一、實實 驗目得 掌握定時/計數器得中斷法工作原理,熟悉 C51 程式設計與除錯方法

二、實驗要求:

1、實驗電路原理圖如教材P260 A、65 圖所示。程式開始時顯示“00”;當1s 產生時,秒計數加1;秒計數到 59 後,自動從“00”開始。

2、採用12MHz晶振頻率,T0定時方式 1、50ms 定時中斷法程式設計(1s 需要經過 20 軟迴圈)(流程圖與參考程式模版如下所示)。//定時中斷方式實現得電子秒錶

15()件文頭ﻩ(定義無符號字元型變數 t—-中斷次數計數器,並賦初值0(定義無符號字元型變數 second—-秒計數器,並賦初值 0(定義位於 ROM 區得無符號字元型陣列table-—顯示字模)timer0()

(中斷函式關鍵詞){ ﻩ()0T 閉關ﻩ(初值重灌載 0x3cb0)

()1增器數計數次斷中ﻩ {)02==t(fiﻩﻩ

// 秒1於當相,次 02斷中若ﻩ

;0=tﻩﻩﻩﻩﻩﻩﻩﻩ //中斷次數計數器清零 ﻩ

;++dnocesﻩﻩ ﻩ // 零清器數計秒ﻩ

}()零清,06 到達值器數計秒若ﻩﻩ()值示顯得 dnoces 量變出輸別分口 2P與0Pﻩ()0T動啟ﻩﻩ} main(){

;]01/dnoces[elbat=0Pﻩﻩ // 值示顯出輸別分口 2P 與 0Pﻩ

;]01%dnoces[elbat=2Pﻩ(定義T0 定時方式 1—-TMOD)05()0LT與0HT——載加0bc3x0值初出溢 smﻩ()AE,0TE——化始初斷中ﻩ(啟動 T0)

(死迴圈)3、程式設計思路及C1 51 源程式: :

4、模擬執行效果:

5、實驗小結 :

本次實驗進行得比較順利,根據指導材料中提供得流程圖完成了源程式得編 寫,成功生成了、hex檔案,經過模擬執行達到了預期得實驗結果。通過本次得 實驗,我更加深入得了解到微控制器定時/計數功能實現得機理,通過與微控制器中 斷功能得結合,可以完成更多得預期功能。但就是進過討論我也發現,程式還就是存 在很大得缺陷,想要實現更加準確實現計時功能還需綜合利用各種知識完善程 序。

微控制器實驗報告 篇二

實驗

四、中斷交通燈實驗

林立強

1000850116

一、實驗目的

1、瞭解MCS-51微控制器的組成、中斷原理,中斷處理過程、外部中斷的中斷方式。

2、掌握中斷響應及處理的程式設計方法。

二、實驗原理

MCS-51的中斷系統中有5箇中斷源:外部中斷INTO,INT1,定時器/計數器TO、T1中斷和串列埠UART中斷,它們對應不同的中斷向量。 如表:

IE是中斷允許暫存器,其中EXO,ETO,EX1,ET1,ES分別是上述5箇中斷的允許控制位,EA位是中斷總允許位,每個中斷只有在相應中斷允許且總中斷也允許的情況下,才能得到中斷響應。80XX51的5箇中斷都可以設為高低2個優先順序,IP是中斷優先順序暫存器,其中PXO,PTO,PX1,PT1,PS位分別對應5箇中斷的優先順序設定,置“1”時設為高優先順序中斷,為“0”時是低優先順序中斷。在有中斷巢狀要求時,低優先順序中斷可被高優先順序所中斷。當同一級的中斷同時到來時,先響應中斷向量排在前面的中斷。

三、實驗電路

電路原理圖如下,所需元件為:AT89C51、SW-SPDT、LED-RED、LED-GREEN、LED-YELLOW、RES、TRAFFICLIGHTS

四、實驗內容

參照實驗電路,設計交通燈控制系統。模擬交通訊號燈控制:一般情況下正常顯示,東西-南北交替放行,各方向通行時間為30秒。有救護車或警車到達時,兩個方向交通訊號燈全為紅色,以便讓急救車或警車通過,設通行時間為10秒,之後交通恢復正常。用單次脈衝模擬急救車或警車申請外部中斷。

1、在生成HEX檔案後,用Proteus軟體對電路圖進行計算機模擬;

2、程式下載到微控制器實驗板上驗證; (實驗板數碼管的驅動程式見附件)。

五、程式流程圖

模擬圖:

緊急情況:

源程式:

ORG 0000H

AJMP START

ORG 0023H //串列埠中斷地址

AJMP SBR1

START:MOV TMOD,#00100000B

//定時器方式2

MOV TL1,#0FDH //9600bps/11.0592MHz

MOV TH1,#0FDH

SETB TR1

MOV SCON,#01100000B //方式1

MOV R0,#20H

MOV R1,#40H

ACALL SOUT

SJMP $

SBR1: JNB RI,SEND

ACALL SIN

SJMP NEXT SEND: ACALL SOUT NEXT: RETI

SOUT: MOV A,@R0

MOV C,P

CPL C

MOV ACC.7,C

INC R0

MOV SBUF,A

CLR TI

RET

SIN: MOV A,SBUF

MOV C,P

CPL C

ANL A,#7FH

MOV @R1,A

INC R1

CLR RI

RET

PLAY: MOV A,R7

MOV B,#10

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

// 0

A B C D E F

END

微控制器實驗報告 篇三

《微控制器原理及應用》

實 驗 報 告

2017—2018學年第一學期

班級: 152 專業: 電子科學與技術 姓名: 子路 學號: 教師:

實驗一:Keil C51

一、實驗目的

1、熟悉Keil C51微控制器應用開發系統

2、熟悉Keil C51的除錯技巧

二、實驗內容

1、安裝好了Keil軟體以後,我們開啟它。開啟以後介面如下:

2、我們先新建一個工程檔案,點選“Project->New Project„”選單,如下圖:

3、選擇工程檔案要存放的路徑 ,輸入工程檔名 LED, 最後單擊儲存。

4、在彈出的對話方塊中選擇 CPU 廠商及型號

5、選擇好 Atmel 公司的 AT89S52 後 , 單擊確定

6、在接著出現的對話方塊中選擇“是”。

7、新建一個 C51 檔案 , 單擊左上角的 New File 如下圖所示:

8、儲存新建的檔案,單擊SAVE如下圖:

9、在出現的對話方塊中輸入儲存檔名MAIN.C(注意字尾名必須為。C),再單擊“儲存”,如下圖:

10、儲存好後把此檔案加入到工程中方法如下 : 用滑鼠在 Source Group1 上單擊右鍵 , 然後再單擊 Add Files to Group ‘Source Group 1' 如下圖:

11、選擇要加入的檔案 , 找到 MAIN.C 後 , 單擊 Add, 然後單擊 Close

12、在編輯框裡輸入如下程式碼:

13、到此我們完成了工程專案的建立以及檔案加入工程 , 現在我們開始編譯工程如下圖所示 : 我們先單擊編譯, 如果在錯誤與警告處看到 0 Error(s) 表示編譯通過:

14、生成 。hex 燒寫檔案,先單擊Options for Target,如圖:

15、在下圖中,我們單擊 Output, 選中 Create HEX F。再單擊“確定”

16、開啟資料夾‘實驗1’,檢視是否生成了HEX檔案。如果沒有生成,在執行

一遍步驟10到步驟12,直到生成。

三、實驗工具(軟體、硬體等)

1、Keil

2、計算機

實驗二:Proteus軟體學習

一、實驗目的

1、瞭解Proteus的基本功能

2、熟悉Proteus的設計環境Preoteus ISIS及第三方編譯工具Keil

3、掌握Proteus中實現微控制器系統設計與模擬的步驟與方法

二、實驗內容

設計與模擬的開發過程

Proteus強大的單方機系統設計與模擬功能,使之成為微控制器系統應用開發和改進手段之一。

開發的整個過程都是在計算機上完成的,其過程一般分為三步: 1) Proteus 電路設計:在ISIS平臺上進行微控制器系統電路設計、選擇元器件、接外掛、連線電路和電氣現則檢查等。

2) Proteus 源程式設計和生成目的碼檔案:在ISIS平臺上或藉助第三方編譯工具進行微控制器系統程式設計、編輯、彙編編譯、程式碼級除錯,最後生成目的碼檔案(*hex)。

3)Proteus模擬:在ISIS平臺上將目的碼檔案載入到微控制器系統中,由此實現系統實時互動與協同傷真。

三、實驗工具(軟體、硬體等)

1、載有Proteus的計算機一臺

實驗三:LED流水燈

一、實驗目的

1、用Keil軟體編寫程式並利用開發板模擬

2、學習LED燈工作原理

二、實驗內容

延時實現LED流水燈效果P2口八個燈作跑馬燈。採用了暫存器存中間數。

三、實驗工具(軟體、硬體等) 1.載有Keil軟體的計算機一臺 2.開發板一套

四、實驗結果及分析

實驗四:靜態數碼管

一、實驗目的

1、用Keil軟體編寫程式並利用開發板模擬

2、學習靜態顯示管工作原理

二、實驗內容

靜態數碼管流動顯示0~9

二、實驗工具(軟體、硬體等) 1.載有Keil軟體的計算機一臺 2.開發板一套

四、實驗結果及分析

實驗五:按鍵移位動態顯示

一、實驗目的

1、用Keil軟體編寫程式並利用開發板模擬

2、學習靜態顯示管工作原理

二、實驗內容

靜態顯示管,按鍵不同顯示不同

三、實驗工具(軟體、硬體等) 1.載有Keil軟體的計算機一臺 2.開發板一套

四、實驗結果及分析

實驗六:中斷INT0+INT1

一、實驗目的

1、用Keil軟體編寫程式並利用開發板模擬

2、學習中斷INT0和INT1的工作原理

二、實驗內容

試驗數碼管上顯示外部中斷計數,用微控制器腳直接控制數碼管和外部中斷使用

三、實驗工具(軟體、硬體等) 1.載有Keil軟體的計算機一臺 2.開發板一套

四、實驗結果及分析

微控制器實驗報告 篇四

微控制器原理與應用實

學校:合肥工業大學

班級:電腦科學與技術

學號:

姓名:

驗報告

第一章MC51 微控制器原理及應用軟體實驗

實驗1:系統認識實驗

1. 實驗目的

(1)瞭解ZY15MCU12BC2微控制器實驗開發裝置的接線與安排。掌握實驗箱內撥位開關KF,KC的使用方法。(2)通過例項程式的編輯、編譯、連結及除錯,熟悉Keil C51軟體的使用方法和基本操作。(3)教育學生愛撫實驗裝置,養成良好的實驗習慣。

2. 試驗裝置

(1)ZY15MCU12BC2微控制器實驗開發裝置一臺。(2)PC系列微機及相關軟體。

3. 試驗內容

(1)使用序列通訊電纜將實驗開發裝置與PC機相連。

(2)開啟PC機及實驗開發裝置,啟動Keil C51軟體進入uVision2整合開發環境。(3)確認撥位開關KF的開關為A端,確認89C51處於模擬狀態。(4)在uVision2開發平臺上建立並編輯示例程式:

計算N個數求和程式。其中N個數分別放在片內RAM區50H到55H單元中,N=6,求和的結果放在片內RAM區03H(高位)和04H(低位)單元中。

題目:

1)32H+41H+01H+56H+11H+03H=? 2)895H+02H+02H+44H+48H+12H=?(5)編譯連線源程式。

(6)在Keil uVision2主選單視窗進入DEBUG除錯環境,開啟儲存器視窗輸入資料至片內RAM區50H到55H單元中,全速執行程式,並檢查程式的執行結果,即觀察在儲存器視窗片內RAM區03H(高位)、04H(低位)單元中的資料是否正確。(7)實驗結束,撤出接線,將一切整理復原。

4、實驗源程式

ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV R2,#06H MOV R3,#03H MOV R4,#04H MOV R0,#50H L1: MOV A,R4 ADD A,@R0 MOV R4,A INC R0 CLR A ADDC A,R3 MOV R3,A DJNZ R2,L1 END

5、實驗結果截圖

6、實驗總結

這次試驗,熟悉了微控制器開發的基本流程,對於實驗的兩道題目 1)32H+41H+01H+56H+11H+03H=? 2)895H+02H+02H+44H+48H+12H=? 實驗結果如上圖所示50H~54H存放資料,第一道題計算出來是0x00DEH,第二道題目 計算出來是0x0137H,實驗結果和預期相符,成功的完成了實驗。這次試驗對硬體開發有了基本的認識,特別是對於微控制器的儲存器有了進一步的認識,在程式中把資料放入RAM中,結果存放在R3和R4中,實驗時不知道R3和R4的地 址,後來瞭解到R3和R4可以直接用他的地址03H和04H,這樣進一步深化了書本上 的知識。另外通過這次試驗,對於51微控制器的幾種定址方式也有了具體的認識。總之,還是要多動手雖然程式不是自己寫的,但是閱讀理解了還是有點收穫的。

實驗六。資料排序實驗

1. 實驗目的

(1)理解並掌握排序程式的設計方法。(2)掌握減法指令的功能,並聯系其使用。

(3)逐步提高除錯程式的能力及編寫程式的能力。

2. 試驗裝置

(1)ZY15MCU12BC2微控制器實驗開發裝置一臺。(2)PC系列微機及相關軟體。

3. 試驗內容

(1)使用序列通訊電纜將實驗開發裝置與PC機相連。

(2)開啟PC機及實驗開發裝置,啟動Keil C51軟體進入uVision2整合開發環境。

(3)編寫程式,實現從平臺連續輸入六個數,數碼管將馬上從小到大的順序顯示這六個數。要求被排序的數放在70H到7FH單元中。(4)編譯連線源程式。

(5)除錯程式,在儲存器視窗輸入被排序數放在70H到7FH單元中,全速執行程式,並檢查程式設計師的執行結果,觀察是否正確。

(5)若程式中出現錯誤,則可以採用單步分段除錯,排除程式錯誤,直到正確為止。

4、實驗源程式

MAIN:

LOP2:

LOP1:

LOP5:

ORG 0000H LJMP MAIN ORG 0030H MOV R2,#70H MOV R3,#71H MOV R4,#0FH ACALL LOP1 DJNZ R4,LOP2 LJMP LOP6 MOV A,R2 MOV R0,A MOV A,R3 MOV R1,A MOV A,@R0 CLR C SUBB A,@R1 JC LOP4 MOV A,@R0 XCH A,@R1

LOP4:

LOP6:

MOV @R0,A INC R1 INC R0 MOV A,@R0 CJNE

R1,#80H,LOP5 RET END 5.實驗結果截圖

6、實驗總結

本次試驗是在氣泡排序演算法實現對70H~7FH中的資料進行排序,如上第一張圖所示RAM中70H~7FH存放了資料,第二張圖顯示的是通過氣泡排序整理過的資料。成功完成了實驗,收到了預期效果。

對於習慣了使用高階語言程式設計的我,看這些繞來繞去的彙編還是有些頭大,覺得這個例子寫的不太好,跳來跳去,程式層次不分明,可讀性很差,冒泡不應該有內外兩層嗎,看書上有一個例子就寫得很好,跟用高階語言寫差不多,然而實驗的這個好像是要考我們對各種跳轉指令的瞭解,所以讀起來暈頭轉向的。從另一方面來說,通過這次試驗,我也熟悉了彙編的跳轉與分支指令。另外,所以ORG 0000H

LJMP MAIN

ORG 0030H,這三句ljmp這句跳到了main,那麼還要後面一句幹嘛。不甚理解。

總之,這次實驗讓我瞭解了各種分支與跳轉,還是有所收穫的。

第二章MC51 微控制器原理及應用硬體實驗

實驗一:廣告燈實驗

1. 實驗目的

(1)熟悉ZY15MCU12BC2微控制器實驗開發裝置的試驗箱,學會選用其功能電路,連線成實驗需要的系統。掌握實驗箱內撥位開關KFKC使用。(2)加深瞭解MCS-51微控制器P1埠的應用方法。(3)學習編寫介面應用程式。

2、試驗裝置

(1)ZY15MCU12BC2微控制器實驗開發裝置一臺。(2)PC系列微機及相關軟體。

3. 試驗內容

(1)使用序列通訊電纜將實驗開發裝置與PC機相連,確認撥位開關KF的位置。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟體進入uVision2整合開發環境,確認89C51處於模擬狀態。

(3)用試驗箱上的發光二極體L0到L7模擬外界各種場合的動態廣告燈,將試驗箱上的發光二極體L0到L7分別與微控制器的P1.0到P1.7相連。

(4)編寫程式,實現從P1口輸出訊號驅動發光二極體L0到L7模擬外界廣告燈動態點亮的功能。

(5)在uVision2開發平臺上輸入程式,編譯、連線程式,除錯通過後將撥位開關KF撥至B端。

(6)單步執行程式,觀察是否進入表格首地址。

(7)單步執行程式,觀察發光二極體L0到L7的變化。

(8)全速執行程式,觀察發光二極體L0到L7的變化,並注意程式將迴圈下去。(9)實驗結束,撤除接線,將一切整理復原。

4、實驗源程式

ORG 0000H MAIN: MOV DPTR,#TAB

MOV R5,71H LOOP: MOV A,#00H

MOVC A,@A+DPTR

MOV P1,A

ACALL DELAY

ACALL DELAY

INC DPTR

DJNZ R5,LOOP

LJMP MAIN DELAY: MOV R7,#00H

MOV R6,#00H DE:

DJNZ R7,$

DJNZ R6,DE

RET TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH

DB 0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH

DB 80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH

DB 0FEH,0FFH,7FH,3FH,1FH,0FH,07H,03H

DB 01H,00H,01H,03H,07H,0FH,1FH,3FH

DB 7FH,0FFH,7EH,3CH,18H,00H,18H,3CH

DB 7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H

DB 0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH

DB 0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH

DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H

DB 80H,40H,20H,10H,08H,04H,02H,01H,00H

DB 01H,02H,04H,08H,10H,20H,40H,80H,00H

DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH

END

5、實驗結果

6、實驗總結

廣告燈按照程式所給的效果迴圈的有序的點亮,如果應用到廣告霓虹燈,的確可以到達璀璨的效果,程式的最後的TAB是最糾結的,你要按照效果一點一點的編寫十六進位制的數字,換算出效果,可見真正的商業廣告的效果的確是很麻煩的一件事,通過這個實驗,我清楚地認識到了微控制器的控制的靈活性,另外對於查表指令也有所理解。實驗二:P1埠應用實驗

1、實驗目的

(1)進一步熟悉ZY15MCU12BC2實驗箱上的資源,掌握實驗箱內撥位開關KF,KC使用。(2)加深瞭解MCS-51微控制器P1埠的應用方法。(3)學習編寫介面應用程式。

2、試驗裝置

(1)ZY15MCU12BC2微控制器實驗開發裝置一臺。(2)PC系列微機及相關軟體。

3. 試驗內容

(1)使用序列通訊電纜將實驗開發裝置與PC機相連,確認撥位開關KF的位置。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟體進入uVision2整合開發環境,確認89C51處於模擬狀態。

(3)將試驗箱上的L0到L3接到P1.0到P1.3,開關K0到K3接到P1.4到P1.7。(4)編寫程式實現如下功能: 撥動K0到K3,使L0到L3出現以下組合變化。K3 K2 K1 K0 L3 L2 L1 L0 0 0 0 0 全亮 0 0 0 1 全暗

0 0 1 0 一燈亮其餘燈暗並左環依 0 0 1 1 一燈亮其餘燈暗並右環依 0 1 0 0 一燈暗其餘燈亮並左環依 0 1 0 1 一燈暗其餘燈亮並右環依 ? ? ? 顯示開關狀態Ki為0,Li燈亮 要求:

1)設40H單元為標誌單元,(40H)=0時開關狀態無變化,(40H)=FFH時開關狀態發生變化。

2)設41H單元為開關狀態緩衝器,讀入開關狀態和41H單元內容比較,相同時開關狀態無變化,不同是開關狀態有變化。3)設42H單元為當前指示燈狀態。

(4)在uVision2開發平臺上輸入程式,編譯、連線程式,除錯通過後將撥位開關KF撥至B端。

(5)根據準雙向口的特性,對P1口寫操作使燈L0到L7的狀態隨寫入P1.0到P1.3的內容而變化;讀P1口的高四位,讀出內容隨開關狀態的變化而變化。如不對,則檢查開關K0到K3的接線,檢查K0到K3的電平是否隨開關狀態變化而變化。

(6)從開始運至BK1處,檢查A的內容是否對應開關狀態,接著單步執行程式,檢查是否轉到相應入口使L0到L3狀態產生相應的變化。(7)全速執行程式至BK2,在檢查A的內容是否與開關狀態一致,如不對,則檢查前面對P1口的操作指令。

(8)全速執行程式實現所要求的功能。

4、實驗源程式

ORG 0000H STRL: MOV A,P1

SWAP A

ANL A,#0FH

MOV 41H,A

MOV 40H,#0FFH MLP0: CJNE A,#6,$+3

JNC PK6

MOV DPTR,#CTAB

MOV R1,A

RL

A

ADD A,R1

JMP @A+DPTR CTAB: LJMP PK0

LJMP PK1

LJMP PK2

LJMP PK3

LJMP PK4

LJMP PK5 PK6:

MOV 42H,A

LJMP MLP1 PK5:

MOV A,40H

CJNE A,#0FFH,PK51

MOV 42H,#01

LJMP MLP1 PK51: MOV A,42H

LCALL RR7

ANL A,#0FH

JNZ PK52

MOV A,#1 PK52: MOV 42H,A

LJMP MLP1 PK4:

MOV A,40H

CJNE A,#0FFH,PK41

MOV 42H,#1

LJMP MLP1 PK41: MOV A,42H

LCALL RL9

ANL A,#0FH

JNZ PK42

MOV A,#1 PK42: MOV 42H,A

LJMP MLP1 PK3:

MOV A,40H

CJNE A,#0FFH,PK31

MOV 42H,#0F7H

LJMP MLP1 PK31: MOV A,42H

LCALL RR9

ANL

A,#0FH

CJNE A,#0FH,PK32

MOV

A,#0F7H PK32: ORL

A,#0F0H

MOV

42H,A

LJMP MLP1 PK2:

MOV

A,40H

CJNE A,#0FFH,PK21

MOV

42H,0FEH

LJMP MLP1 PK21: MOV

A,42H

RL A

ANL A,#0FH

CJNE A,#0FH,PK22

MOV A,#0FEH PK22: ORL A,#0F0H

MOV 42H,A

LJMP MLP1 PK1:

MOV 42H,#0FH

LJMP MLP1 PK0:

MOV 42H,#0 MLP1: MOV A,42H

ORL A,#0F0H

MOV P1,A

MOV R7,#0

MOV R6,#0 DEL1: DJNZ R6,DEL1

DJNZ R7,DEL1

MOV

A,P1

SWAP A

ANL A,#0FH

CJNE A,41H,MLP2

MOV 40H,#0

LJMP MLP0 MLP2: MOV 41H,A

MOV 40H,#0FEH

LJMP MLP0 RR9:

RR A

RR A RR7:

RR A

RR A

RR A

RR A

RR A

RR A

RR A

RET RL9:

RL A

RL A RL7:

RL A

RL A

RL A

RL A

RL A

RL A

RL A

RET

END

5、實驗結果截圖

6、實驗結論

試驗中我們把P1口作為輸入輸出口來測試以下的內容 1.P1 口做輸出口,接八隻發光二極體迴圈點亮。2.P1 口低四位接四隻發光二極體L1-L4, P1 口高四位接開關K1-K4,編寫程式,將開關的狀態在發光二極體上顯示出來。

在這次試驗中我認識到課本上的關於P1口的介紹的知識 P1 口為準雙向口,P1 口的每一位都能獨立地定義為輸出線或輸入線,作為輸入的口線,必須向鎖存器相應位寫入“1”,該位才能作為輸入。8031中所有口鎖存器在復位時均置為“1”,如果後來往口鎖存器寫入過“0”,再作為輸入時,需要向口鎖存器對應位寫入“1”。延時程式的編寫可以用兩種方法,一種是用定時器來實現,一種使用指令迴圈來實現。在系統時間允許的情況下可以採用後一種方法。

實驗三:串轉並實驗

1、實驗目的

(1)掌握51系列微控制器串列埠工作方式0的應用。

(2)學習8位序列輸入和並行輸出的同步移位暫存器74LS164和8位並行輸入和穿行 輸出的同步移位暫存器74LS165兩個介面晶片的應用效能。(3)研究微控制器序列口如何用於擴充套件並行I/O口。

2、試驗裝置

(1)ZY15MCU12BC2微控制器實驗開發裝置一臺。(2)PC系列微機及相關軟體。

3. 試驗內容

(1)使用序列通訊電纜將實驗開發裝置與PC機相連,確認撥位開關KF的位置。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟體進入uVision2整合開發環境,確 認89C51處於模擬狀態。(3)實驗步驟:

1)通過微控制器串列埠用一片8位序列輸入/並行輸出的同步移位暫存器74LS164擴充套件 8位並行輸出口。

2)通過微控制器串列埠用一片8位並行輸入/序列輸出的同步移位暫存器74LS165擴充套件 8位並行輸入口。(4)將微控制器的RXD端與74LS164的序列輸入端SERIAL(PA)相連,將微控制器的TXD 端與74LS164的脈衝CLOCK(PB)相連,74LS164的輸出Q0到Q7接發光二極體 L8到 L15。(5)除錯程式:

1)實驗採用終端方式除錯,既目標程式裝入模擬器後,使操作介面進入終端方式。2)單步進入執行程式,開啟Keil的暫存器視窗,觀察串列埠資料緩衝區SBUF裡的值有何變化。

3)單步執行程式,注意中斷標誌T1的變化以及所亮的發光二極體的位置。

4、實驗源程式

ORG 0000H SJMP MAIN ORG 0023H SJMP SBV MAIN: MOV SCON,#00H SETB EA SETB ES MOV A,#80H MOV SBUF,A MOV SBUF,A MOV SBUF,A SJMP $ SBV: ACALL DELAY CLR T1 RR A MOV SBUF,A RETi DELAY: MOV R7,#00H MOV R6,#00H DEL: DJNZ R7,$

5、實驗結果截圖

6、實驗結論

在實驗中我明白了序列口和並行口的相關知識8位序列輸入和並行輸出的同步移位暫存器74LS164和8位並行輸入和穿行輸出的同步移位暫存器74LS165兩個介面晶片的應用效能。知道了微控制器序列口如何用於擴充套件並行I/O口

微控制器實驗報告 篇五

51微控制器控制流水燈

目錄

(1)51精簡開發板簡介 (2)實驗目的 (3)實驗內容 (4)元件 (5)原理圖 (6)實驗步驟

(7)主要功能介紹

(8)實驗錯誤及分析 (9)除錯及程式 (10)系統測試 (11)實驗心得

一、51精簡開發板簡介

它是一款以8051系列微控制器為核心的精簡開發板。8051系列微控制器是一款應用非常廣泛的8位微處理晶片,由於其功能齊全,產品技術成熟,資料廣泛,又是學習其他很多微控制器的基礎,所以它是初學者學習微控制器的不二之選,是大學生進行電子實習、課程設計、畢業設計的必備的微控制器。

本款51微控制器精簡開發板較市面上所出售的一般開發板的方便之處在: 支援STC及ATMEL AT全系列51/52微控制器晶片,具有兩種方便的下載方式,並且能夠通過串列埠方便地和電腦進行通訊。

2.省去了一般開發板高成本的外圍擴充套件器件,但仍可以進行微控制器I/O口輸入輸出、定時/計數器、中斷、串列埠通訊等常用實驗專案。方便的擴充套件功能使使用者能夠根據自身需要配備實用的外圍器件。

3.具有市面上一般微控制器所不具有的超強擴充套件效能。每組I/O口兩側都與微控制器供電電源相連,免去了以往微控制器接擴充套件板時還需另行供電的麻煩。

4.開發板總體佈局美觀、大方,所有元件均採用直插式封裝,便於焊接。 學習51板微控制器應由淺入深,逐步掌握,先是模仿實驗,再是自己動手。51板微控制器的開發環境是Keil uVision3,簡單易懂,詳細用法本書後面也做了說明。另外書後還附有幾個有趣的實驗,方便學生測試51板,也作為學生學習、修改之用。

二.實驗目的

1、瞭解“51” 精簡開發板的工作原理及結構;

2、瞭解複雜電子產品生產製造的全過程;

3、熟練掌握電子元器件的焊接方法及技巧,訓練動手能力,培養工程實踐觀念。

三.實驗內容

學會焊接電路,在開發板上實現八個流水現象以及通過使用匯編語言,控制流水燈過程。 四.元件

1、微控制器

STC89C52 一塊

2、晶振 11.0592MHz一隻

3、PCB板

4、電阻 三支

5、電容 八隻

6、雙路自鎖開關 一個

7、LED 發光二極體 八隻

8、排針9、4.5V電池盒

10、串列埠下載線 1.5米

11、串列埠電平轉換晶片 NAX232 12、9針排阻 10千歐姆

13、復位按鍵

14、

14、PCB板 五.原理圖

本產品是一套完整的8位微控制器開發系統,若將程式下到51板上,它將成為一個極其有趣的智慧玩具。

1.主要效能指標

輸入電壓:DC 4.5V~5V;典型值:5V

2.功能分割槽與模組簡介

圖10.1 51板框圖

[1] 微控制器

微控制器也稱單片微控制器(Single Chip Microcontroller),它整合度高、運算快、體積小、執行可靠、價格低廉,在過程控制、資料採集、機電一體化、智慧儀器儀表、家用電器以及網路技術等方面得到廣泛應用。MCS-51微控制器結構框圖如圖10.2所示。

圖10.2微控制器結構

[2] 電源部分

電源部分由開關、穩壓整合、電源指示燈幾部分組成,本款51板輸入電壓4.5V~5V,典型輸入電壓為5V,也可通過板上的穩壓整合晶片78M05給微控制器提供5V電壓,可使微控制器正常工作。圖10.1中的DS0為電源指示燈。 [3] 序列下載部分

這一部分由串列埠、下載緩衝器MAX232組成,通過MAX232晶片把TTL電平轉換成RS-232電平格式,可以用於微控制器與微機通訊。再通過DB9介面由一條串列埠線與電腦串列埠相連,可以利用程式下載軟體(下載方法書後將做介紹)向微控制器下載程式,也可通過一些串列埠除錯軟體與電腦進行串列埠通訊。但是,只有STC89S系列微控制器支援串列埠下載,而AT89S系列微控制器不支援串列埠下載。 [4] ISP下載

ISP下載是AT89S系列微控制器的下載方式,不能用於STC89S系列微控制器,它由一條並口線與電腦並口相連,通過Easy下載軟體向微控制器下載程式,但下載器需另行購買。

[5] 輸入/輸出介面

51板將32個I/O口全部引出:其中P0口、P1口、P2口、P3口各有8個I/O口用排針引出,排針兩端為與微控制器共地的5V電源,方便進行外接擴充套件,而微控制器的EA、ALE、PSEN埠也在靠近排阻下方引出,以方便日後進行一些高階擴充套件。P1口接有8個發光LED,以供測試之用,P0口外接10K的上拉電阻。這些I/O口即可做輸出,又可做輸入口,51微控制器內部可自行識別,不必要設定。

[6] 外部復位

復位是對微控制器硬體的初始化,51微控制器具有外部復位功能,高電平有效,即在微控制器9腳加上高電平微控制器就被複位。此產品的復位電路由按鍵S2,電容C3和電阻R9組成。

六.實驗步驟:

1.拿到51微控制器套件後,首先應按照附錄的元器件清單表逐一檢查元件數目和規格,確保產品完整。

2.詳細閱讀硬體說明部分,並將元件對號入座,確保一次性焊接成功。

3.先對較矮小的元件進行焊接,比如電阻、穩壓整合,再對高一些的元件進行焊接,比如晶片座、排阻等,依此類推,最後焊接高大的元件,比如串列埠、ISP下載口等。焊接時應注意一些元件的正負極和方向。

4.由於此套件標準配置不包含穩壓整合VR1(78M05),所以焊接完成後要用導線將VR1的1、3焊盤短接,晶片才能正常供電,此時只能使用4.5-5V的直流穩壓電源供電;如果將自購VR1(78M05)焊接在板子上,那麼就可以使用7.2V-15V的寬電源供電。

5.焊接並檢查無誤後先不要急於插入晶片,應該先對晶片供電電壓進行測量。插上電源,用萬用表檢查微控制器的20、40腳及MAX232的15、16腳間電壓,看是否為+5V(±0.5V),然後用跳線帽接通P6的中間一針和上面一針,使微控制器EA端(31腳)與電源正極相接,之後再插上晶片,進行系統測試。 七.主要功能介紹: MCS-51微控制器

也稱單片微控制器,;它整合度高,運算快,體積小,執行可靠,價格低廉,在過程控制資料採集,機電一體化,智慧儀表,家用電器, 及網路技術等方面得到廣泛應用。 串列埠下載部分

由串列埠,下載緩衝器MAX232組成,通過MAX232晶片把TTL電平轉換為RS232電平格式可以用微控制器與電腦通訊,再通過DB9介面有一條串列埠線與電腦串列埠相連,可以利用程式下載軟體向微控制器下載程式,也可以通過一些串列埠除錯軟體與電腦串列埠通訊,而我們所使用的STC89C系列微控制器只支援串列埠下載。 電源部分

電源部分有開關,穩壓整合,電源指示燈幾部分組成,熟人電壓4.5V到6V。典型值為5V. ISP下載

ISP下載是AT89S系列微控制器下載方式而我們所用的是STC89C所以在此不多詳細介紹。 輸入/輸出介面

本開發板將4個並行I/O埠全部用排針引出來,共32個個排針,

排針兩端為與微控制器共地的5V電源,方便進行外拓展;微控制器的ALE,PSEN埠也靠近排阻下方引出以方便日後進行高階拓展。 外部復位

對微控制器硬體初始化操作,在系統加電時或出現故障時,在微控制器RESET引腳加上一定時間的高電平就可以使微控制器復位,這次製作的微控制器復位系統是由按鍵,電容C1和電阻R3構成。 八.實驗錯誤及分析:

1、接好電源盒,電源指示燈不亮。

原因:1電源插座存在虛焊現象,接觸不良。 電源拔斷開關存在虛焊現象,接觸不良。 方法:修復虛焊點。 2.不能正常下載程式。

原因:1 電路板電源沒有正常接通 下載線焊接組裝有誤 51板、下載線、PC機沒有正常連線 4 電池電壓低 方法:1 電源正常接通

2 更正正確 換新 更換或修復焊點

3.下載程式完成後,不能完成流水燈功能 原因:1 電池電壓過低 發光二極體損壞或管腳虛焊 3 電阻R1開路或管腳虛焊 方法:1 更換電池 更換或修復焊點 3更換或修復焊點 九.程式:

#include “reg51.h” void main() { unsigned inti=10; P1=0xfe; while(1) {

while(--i) {; } P1=(P1<<1) | 0x01; if(P1==0xff) P3 = 0x7f;

while(P1==0xff) { while(--i){;} P3=(P3>>1) | 0x80;

if(P3==0xff)

{

P1=0xfe; P3=0xff; } } } }

十、系統測試

1.串列埠測試

接上微控制器電源和串列埠線,開啟電源開關,電源指示燈DS0亮,使用STC89C系列微控制器,其本身自帶了一個測試程式,上電之後DS1-DS7便會兩個兩個的閃爍。或者自己下載一個程式,如果下載成功,說明串列埠正常,如不成功,請仔細檢查焊點及串列埠線。

2.I/O口測試

下載程式一,將跳線P5接ON一端,如發現上排LED逐個亮或有規律的亮,說明P1檢測正常;

根據程式一的特點,仔細分析程式二各語句功能,並猜測其結果,接著將程式二下載到微控制器上,仍將跳線P5接ON一端,自己觀察小燈跳變規律,看與自己分析結果是否一致。 十一.心得體會

在通過本次課程中,我遇到很多問題,但是與此同時,我也學到了很多,對於本次課題的心得體會,我覺得有以下幾點:

1、不管做什麼事,計劃是很重要的。沒有一個完好的計劃,做事情就會沒有一個好的順序,做事情會比較亂,很難成功。而有一個好的計劃,不管做什麼事都會事半功倍,做事心中有數,明確重點和緩急,不會有疏漏。這樣才能提高成功率。

2、做事要多動腦,選出最好的方法。一件事往往有多種解決方法,一個好的方法,不僅能使事情事半功倍,而且往往決定最後的成與敗,所以做事時一定要多動一下腦筋,想出最好的方法。

3、要識,也要注意細節,不要因一個關鍵地方的一個細節而導致滿盤皆輸。

4、,在本次課題中,我也注意細節。細節決定成敗,這句話在這次課題中不僅一次得到了印證,特別是在軟體的程式設計過程中,一點點的錯誤就會使你整個程式不能執行。因此我不僅僅要有整體意學會了不懂就問,不僅事半功倍,而且發現了一些好的有趣的構想,使我對微控制器有了更濃的興趣。

5、最後,也是最重要的一點,通過這次課題,我學到了很多有關微控制器方面的知識,也對微控制器有了更深入的瞭解,受益匪淺。

算 機 基 本 技 能 訓 練

學校:西安科技大學

班級:電氣工程及其自動化1202班

姓名:張小雨

學號:1206060202

日期:2014年1月2日