當前位置:文範網 >

實用文 >實用文精選 >

單片機實驗報告【新版多篇】

單片機實驗報告【新版多篇】

單片機實驗報告【新版多篇】

單片機實驗報告 篇一

實 實 驗 驗 報 報 告

實驗課程:

單片機原理及應用

級:

自動化 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日

  • 文章版權屬於文章作者所有,轉載請註明 https://wenfanwang.com/shiyongwen/shiyongjingxuan/dpr87v.html
專題