【單片機基礎篇】51單片機流水燈原理

51單片機流水燈原理

在實驗之前必須的準備工作有:

1.單片機 STC90C51

2.編譯軟件keil

3.燒寫軟件

4.麪包板

5.發光二極管

實驗說明:通過單片機芯片,定時在引腳P00,P01,P02,P03循壞輸出高電平,製作流水燈效果

重要端口:

 

原理說明:(紅色部分爲該實驗電路圖)

電流順序:VCC正極進入 》 芯片P0.0觸發一個高電平 》 LED0二極管 》 EA 》 GND負極流出

 

 

C語言編程燒寫代碼:

/**************************************************************************************
*		              LED閃爍實驗												  *
實現現象:下載程序後指示燈閃爍
注意事項:無																				  
***************************************************************************************/

#include "reg52.h"			 //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16;	  //對數據類型進行聲明定義
typedef unsigned char u8;


sbit led0=P0^0;		 //將單片機的P0.0端口定義爲led
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
/*******************************************************************************
* 函 數 名         : delay
* 函數功能		   : 延時函數,i=1時,大約延時10us
*******************************************************************************/
void delay(u16 i)
{
	while(i--);	
}

/*******************************************************************************
* 函 數 名       : main
* 函數功能		 : 主函數
* 輸    入       : 無
* 輸    出    	 : 無
*******************************************************************************/
void main()
{
	while(1)
	{
		led0=0;
		delay(50000); //大約延時450ms
		led0=1;
		delay(50000); //大約延時450ms
		led1=0;
		delay(50000); //大約延時450ms
		led1=1;
		delay(50000); //大約延時450ms
		led2=0;
		delay(50000); //大約延時450ms
		led2=1;
		delay(50000); //大約延時450ms
		led3=0;
		delay(50000); //大約延時450ms
		led3=1;
		delay(50000); //大約延時450ms	
	}		
}

 

 

 

總結不好多多擔待,文章只單純個人總結,如不好勿噴,技術有限,有錯漏麻煩指正提出。本人QQ:373965070

 

發佈了49 篇原創文章 · 獲贊 79 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章