单片机原理及应用实验报告
單片機原理及應用實驗報告
- 文章簡介
- 實驗一:I /O口輸出實驗—LED流水燈實驗
- 一、實驗要求
- 利用單片機及8個發光二極管等器件,構成一個流水燈單片機系統
- 二、實驗目的
- 1、掌握單片機最小系統的構成
- 2、掌握I/O口的使用及驅動能力的概念
- 3、熟悉移位指令和軟件延時程序
- 三、實驗電路及連線
- 1.硬件連接表
- 2.注意事項
- 四、實驗說明
- 1、主要知識點概述
- 2、實驗效果說明
- 五、實驗流程圖
- 六、實驗代碼
- 七、仿真效果圖
- 八、思考題
- 增加LED燈的顯示花樣,豐富實驗的效果
- 實驗二:定時器實驗
- 1.實驗要求
- 2.實驗目的
- 1、學會定時器中斷函數的處理
- 2、掌握定時器,計數器的寄存器設置
- 3、掌握單片機定時計數器計數方式的使用及編程方法
- 三、實驗電路及連線
- 1.硬件連接表
- 2.注意事項:
- 四、實驗說明
- 1、主要知識點概述
- 2、實驗效果說明
- 五、實驗流程圖
- 六、實驗代碼
- 七、仿真效果圖
- 八、思考題
- 用定時器T0 、數碼管實現數字鐘
- 實驗三:外部中斷實驗
- 一、實驗要求
- 二、實驗目的
- 1、理解中斷源、中斷標志、中斷入口等概念
- 2、掌握外部中斷程序的分析與編寫設計方法
- 三、實驗電路及連線
- 1.硬件連接表
- 2.注意事項:
- 四、實驗說明
- 1.主要知識點概述
- 2.實驗效果說明
- 五、實驗程序流程圖
- 六、實驗代碼
- 七、仿真效果圖
- 八、思考題
- 按鍵觸發時可能導致多次中斷發生,如何避免這種情況發生
文章簡介
51單片機原理及應用實驗報告,使用Proteus 7 Professional+keil5 for C51實現。主要使用匯編語言編寫,實驗2思考題使用C語言編寫。
實驗一:I /O口輸出實驗—LED流水燈實驗
一、實驗要求
利用單片機及8個發光二極管等器件,構成一個流水燈單片機系統
二、實驗目的
1、掌握單片機最小系統的構成
2、掌握I/O口的使用及驅動能力的概念
3、熟悉移位指令和軟件延時程序
三、實驗電路及連線
1.硬件連接表
| P1.0~P1.7 | D1~D8 |
| 5V | VCC |
| GND | GND |
2.注意事項
(1)仿真電路需要先搭建好最小系統
(2)LED燈正極接5V,負極接P1口
四、實驗說明
1、主要知識點概述
本實驗涉及到三個知識點:單片機最小系統的構成、單片機I/O口的使用以及軟件延時程序的編寫。
(1)單片機最小系統由單片機芯片、時鐘電路以及復位電路構成。
(2)I/O口的正確使用。
(3)延時子程序的延時計算問題。根據晶振時鐘的大小以及指令周期,計算延時時間所要執行的指令數目。
2、實驗效果說明
發光二級管進行流水燈操作,從上到下依次點亮。
五、實驗流程圖
六、實驗代碼
代碼如下:
ORG 0000h START: MOV R2,#8MOV A,#0FEHLOOP: MOV P2,ALCALL DELAYRL A ;循環左移DJNZ R2,LOOP ;判斷移動是否超過8 位,未超過繼續循環 LJMP STARTDELAY: MOV R5,#20 ;延時程序,延時0.2s D1: MOV R6,#20 D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND七、仿真效果圖
八、思考題
增加LED燈的顯示花樣,豐富實驗的效果
答:流水燈先正向流動,再反向流動,如此反復循環
代碼如下:
實驗二:定時器實驗
1.實驗要求
單片機內部定時計數器T0, T0工作在定時模式,單片機的P1.0口接1個發光二極管,編寫程序,控制發光二極管閃爍,時間間隔1S,要求使用單片機內部定時器定時1S。
2.實驗目的
1、學會定時器中斷函數的處理
2、掌握定時器,計數器的寄存器設置
3、掌握單片機定時計數器計數方式的使用及編程方法
三、實驗電路及連線
1.硬件連接表
| P1.0 | D1 |
| 5V | VCC |
| GND | GND |
2.注意事項:
(1)仿真電路需要先搭建好最小系統
(2)LED燈正極接5V,負極接P1口
四、實驗說明
1、主要知識點概述
(1)關于內部計數器的編程,主要是設置定時常數和有關控制寄存器。內部計數器在單片機中包括定時器和計數器兩個功能。本例使用的是定時器,定時1S。CPU運行定時中斷方式,實現每1S輸出狀態發生一次反轉,即發光二極管1S亮一次。
(2)內部計數器用于定時器時,是對機器周期計數??筛鶕纹瑱C每個機器周期的長度、時鐘晶振頻率以及定時時間對定時常數進行計算。
2、實驗效果說明
發光二極管按設定的定時時間閃爍
五、實驗流程圖
六、實驗代碼
代碼如下:
ORG 0000H ;程序由地址0開始執行LJMP STARTORG 000BH ;設置定時器0中斷矢量地址LJMP INT ;跳轉到定時器中斷控制入口處 START: MOV TCON, #00000001BSETB ET0SETB EA TIMER0INIT: ;50毫秒@12.000MHzANL TMOD,#0F0H ;設置定時器模式ORL TMOD,#01H ;設置定時器模式MOV TL0,#0B0H ;設置定時初值MOV TH0,#03CH ;設置定時初值MOV A , #11111110B;反轉電平MOV R5,AMOV A,#20CLR TF0 ;清除TF0標志SETB TR0 ;定時器0開始計時HERE: SJMP HERE ;等待中斷的到來INT: ;等待20個50ms CLR TF0 ;清除TF0標志MOV TL0,#0B0H ;設置定時初值MOV TH0,#03CH ;設置定時初值SETB TR0 ;定時器0開始計時DEC AJZ LIGHTRETILIGHT: MOV P1 ,R5MOV A,R5CPL AORL A,#11111110BMOV R5,AMOV A,#20RETIEND七、仿真效果圖
八、思考題
用定時器T0 、數碼管實現數字鐘
采用共陰極數碼管
實驗三:外部中斷實驗
一、實驗要求
用按鍵模擬單片機外部中斷輸入源,當按鍵按下時產生中斷,進行中斷處理, P1口連接8個發光二極管,用來反映中斷程序處理過程。
二、實驗目的
1、理解中斷源、中斷標志、中斷入口等概念
2、掌握外部中斷程序的分析與編寫設計方法
三、實驗電路及連線
1.硬件連接表
| P1.0~P1.7 | D1~D8 |
| P3.2 | K1 |
| 5V | VCC |
| GND | GND |
2.注意事項:
(1)仿真電路需要先搭建好最小系統
(2)LED燈正極接5V,負極接P1口
四、實驗說明
1.主要知識點概述
外部中斷的響應過程:
(1)中斷采樣:根據采樣結果設置中斷響應的狀態。
(2)中斷查詢:查詢標志位的狀態,確定是否響應。
(3)中斷響應:保護斷點內容,裝入中斷入口地址,執行中斷服務程序,返回中斷點,繼續執行原來程序。
2.實驗效果說明
中斷未發生時,LED做閃爍狀態,當有中斷產生,LED呈流水燈操作。
五、實驗程序流程圖
六、實驗代碼
代碼如下:
ORG 0000hAJMP INITORG 0003HAJMP START INIT: ;中斷初始化SETB EX0SETB IT1SETB EA NOMAL: ;P1口閃爍MOV A ,#00HMOV P1,ALCALL DELAYMOV A ,#0FFHMOV P1,ALCALL DELAYLJMP NOMALORG 0200H START: ;流水燈MOV A,#0FEHMOV R2,#8 IT: MOV P1,ALCALL DELAYRL A ;循環左移DJNZ R2,IT ;判斷移動是否超過8 位,未超過繼續循環 RETIDELAY: MOV R5,#10 ;延時程序,延時0.2s D1: MOV R6,#20 D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND七、仿真效果圖
八、思考題
按鍵觸發時可能導致多次中斷發生,如何避免這種情況發生
答:
硬件消抖:開關兩側并聯一個0.1uF的電容。
軟件延時:啟用一個定時中斷,每 2ms 進一次中斷,掃描一次按鍵狀態并且存儲起來,連續掃描 8 次后,看看這連續 8 次的按鍵狀態是否是一致的。8 次按鍵的時間大概是 16ms,這 16ms 內如果按鍵狀態一直保持一致,那就可以確定現在按鍵處于穩定的階段,而非處于抖動的階段。
部分代碼來源網絡!
水平有限,若有問題歡迎指出!
總結
以上是生活随笔為你收集整理的单片机原理及应用实验报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: m6000查看端口状态_M6000日常查
- 下一篇: EJB开发环境配置