標(biāo)題:
在點(diǎn)亮一顆LED燈的基礎(chǔ)上讓LED燈閃爍 源程序
[打印本頁(yè)]
作者:
qiushuliang
時(shí)間:
2022-6-1 14:47
標(biāo)題:
在點(diǎn)亮一顆LED燈的基礎(chǔ)上讓LED燈閃爍 源程序
單片機(jī)源程序如下:
/**************************************************************************************
* LED燈閃爍實(shí)驗(yàn) *
實(shí)現(xiàn)現(xiàn)象:下載程序后D1指示燈點(diǎn)會(huì)間隔500MS閃爍一次
注意事項(xiàng):無(wú)
***************************************************************************************/
// 思路是讓LED點(diǎn)亮一段時(shí)間,然后讓LED熄滅一段時(shí)間,點(diǎn)亮的程序是讓led=0;熄滅就是讓led=1;
// 再加上一個(gè)延時(shí)函數(shù)delay()即可實(shí)現(xiàn)LED燈閃爍
#include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
typedef unsigned int u16; //類型重定義
void LedOn (void); //LedOn()函數(shù)聲明 開(kāi)燈
void LedOff (void); // 關(guān)燈
void Delay(u16 i); //可以向函數(shù)內(nèi)傳遞一個(gè)無(wú)符號(hào)整型的參數(shù) (0-65535)
sbit led=P2^0; //將單片機(jī)的P2.0端口定義為led
/*******************************************************************************
* 函 數(shù) 名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無(wú)
* 輸 出 : 無(wú)
*******************************************************************************/
void main(void) //程序從main函數(shù)開(kāi)始執(zhí)行
{
while(1) //1表示條件表達(dá)式值為真,程序一直循環(huán)
{
LedOn(); //函數(shù)調(diào)用
Delay(50000);
LedOff();
Delay(50000);
}
}
/*******************************************************************************
* 函 數(shù) 名 : LedOn
* 函數(shù)功能 : 點(diǎn)亮一顆LED燈
* 輸 入 : 無(wú)
* 輸 出 : 無(wú)
*******************************************************************************/
void LedOn(void)
{
led=0; led=0; //P2.0端口設(shè)置為低電平
}
/*******************************************************************************
* 函 數(shù) 名 : LedOff
* 函數(shù)功能 : 讓LED燈熄滅
* 輸 入 : 無(wú)
* 輸 出 : 無(wú)
*******************************************************************************/
void LedOff(void)
{
led=1; led=1; //P2.0端口設(shè)置為高電平
}
/*******************************************************************************
* 函 數(shù) 名 : Delay
* 函數(shù)功能 : 延時(shí)一段時(shí)間,i=1時(shí)大約延時(shí)10us,程序使用12MHZ晶振調(diào)試的延時(shí)時(shí)間
* 輸 入 : 0-65535
* 輸 出 : 無(wú)
*******************************************************************************/
void Delay(u16 i)
{
while(i--);
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1