天天看點

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

51單片機流水燈原理

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

1.單片機 STC90C51

2.編譯軟體keil

3.燒寫軟體

4.面包闆

5.發光二極管

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

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

重要端口:

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

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

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

電流順序: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

繼續閱讀