51流水燈實驗

2021-09-22 13:34:38 字數 1786 閱讀 6227

課程名稱:_微控制器原理與應用

姓    名:_趙存檔       _ __

2015-- 2016   學年第  1 學期

實驗專案( 一 ) — 預習報告

專案名稱

led高低電平交替閃爍程式

實驗目的及要求

1. 正確安裝keil軟體

2. 在 proteus 的環境下,設計硬體原理圖;

3.在keil 整合環境下設計c語言程式;

4. 在 proteus 的環境下,將硬體原理圖與軟體聯接**執行。

實驗內容及原理

1、先正確安裝keil c 以及 proteus 軟體。

2、利用keil 編寫c語言**,在**中,定義好要輸出的管腳p2,定義乙個delay()延遲函式,以及led = ~led的反相輸出。

3、proteus的**,微控制器最小系統的構建:包括40號引腳電源vcc,20號引腳

接地gnd,9號引腳復位reset,18、19號引腳外接12mhz的晶振以提供時鐘頻率;

4、8個led燈的接法:vcc 5v供電的話,微控制器的p2口置低電平led才能亮。

5、**中0x表示的是16進製制。0x0f表示的是0000 1111,也就是說左邊的4個led燈會亮。

預習過程

中的疑問

疑問一:0x表示的是怎麼?

疑問二:在keil c 中怎麼定義指定的引腳號?

疑問三:怎麼編寫delay()延遲函式?

疑問四:在keil c 中怎麼進行除錯演練**?

疑問五:  在**環境proteus中,怎麼將keil c 中的**與電路圖結合,來進行**?

疑問六:發光led二極體怎麼辨別其正負?

疑問七:怎麼才能知道給引腳置低電平led燈亮還是不亮?

疑問八:微控制器最小系統的電路圖怎麼畫?

實驗專案( 一 ) — 實驗報告

專案名稱

led高低電平交替閃爍程式

指導教師

高照玲實驗室

教室實驗日期

2015/10月

分組情況

趙存檔、張澤光

成    績

好實驗步驟(演算法、**、方法)給出流程圖

led高低電平交替閃爍的keil c**:

#include  

#define led p2

void delay(int   x);

void main()

led = 0x0f;

while(1)

delay(10000);

led =   ~led;

void delay(int   x)

int i;

for(i=0;iproteus**電路圖:

電路圖包括:微控制器最小系統:復位以及晶振提供時鐘頻率,led燈。

實驗結果(結論及

分析)經過除錯以及分析可得出結論:通過編寫keil c**設定晶振頻率12mhz

編譯獲得hex檔案,在proteus中將hex檔案載入進去,完成實驗的結果。

通過實驗可以明白微控制器最小系統該怎麼畫:先是at89c51微控制器,晶振提供微控制器執行的時鐘週期,手動復位端。p2埠輸出低電平與led燈相連,使之被點亮。成績

LED流水燈實驗

led流水燈實驗 實現led流水燈,只需將上述電 路圖中的d1到d8逐個點亮 同樣也需要用到延時,方便我們肉眼可見 根據流水燈實現原理,即io口由低往高或者由高往低逐個輸出低電平特點,那麼我們可以將移位操作和迴圈結合進來 include 此檔案中定義了微控制器的一些特殊功能暫存器 include 因...

入門實驗 流水燈

以前看過黑金寫的一本教程就是關於verilog的建模的 今天看了從零開始走進fpga有了更深的感觸,決定在自己的板子上從頭開始 記錄下走的每一步 也為自己以後的學習打下基礎和信心。首先學習的就是流水燈了,具體的步驟詳見 從零走進fpga 工程分為三個模組 1 頂層模組 例化各個模組,工程的最高端別檔...

51微控制器彙編流水燈實驗

51微控制器 彙編點燈程式 使用rr迴圈右移指令實現流水燈的效果。mov p2,01h 將設定p2暫存器預設值為01h start mov a,p2 將p2中的資料送入暫存器 a 中 rr a rr迴圈右移指令 movp2,a 將暫存器 a 中的資料送入到p2暫存器 acall yanshi 呼叫延...