一、簡介
本文介紹如何不同頻率閃爍1個LED饶火。
二况增、實驗平臺
單片機(jī)型號:STC12C5A60S2
編譯軟件:KEIL
硬件平臺:達(dá)芬奇51開發(fā)版
三涌哲、版權(quán)聲明
博主:老蔡
聲明:喝水不忘挖井人,轉(zhuǎn)載請注明出處剩燥。
原文地址:
聯(lián)系方式:644746740@qq.com
老蔡51單片機(jī)群:463850023
四慢逾、講解
先讓LED快速閃爍,閃爍10次之后再讓LED慢速閃爍灭红,先看一下程序:
/*-------------------------------------------------------------------
主函數(shù)
---------------------------------------------------------------------*/
void main (void)
{
//此方法使用bit位對單個端口賦值
unsigned char i; //定義一個無符號字符型局部變量 i 取值范圍 0~255
P2M0 = 0XFF; //設(shè)置P2端口推挽輸出
P2M1 = 0X00;
P2 = 0x00; //初始化P2端口數(shù)據(jù)
LED_Switch = 0; //打開流水燈開關(guān)
while (1) //主循環(huán)
{
for(i=0;i<10;i++) //加入 for循環(huán)侣滩,表明for循環(huán)大括號中的程序循環(huán)執(zhí)行10次
{
LED0=0; //將P2.2口賦值 0,對外輸出低電平
Delay(50000); //調(diào)用延時程序变擒;更改延時數(shù)字可以更改延時長度君珠;
//用于改變閃爍頻率
LED0=1; //將P2.2口賦值 1,對外輸出高電平
Delay(50000);
}
for(i=0;i<10;i++)
{
LED0=0; //將PP2.2口賦值 0娇斑,對外輸出低電平
Delay(60000); //調(diào)用延時程序策添;更改延時數(shù)字可以更改延時長度;
Delay(60000); //用于改變閃爍頻率
Delay(60000);
LED0=1; //將PP2.2口賦值 1毫缆,對外輸出高電平
Delay(60000);
Delay(60000);
Delay(60000);
}
//主循環(huán)中添加其他需要一直工作的程序
}
}
/*------------------------------------------------
我們來分析一下代碼
P2M0 = 0XFF; //設(shè)置P2端口推挽輸出
P2M1 = 0X00;
以上兩條語句是加強(qiáng)io口驅(qū)動能力唯竹,從下表可以看出,推挽輸出苦丁,可達(dá)20mA浸颓,接LED時需要加上限流電阻
image.png
第一個 for循環(huán)
led快速閃爍,原因是對于LED0高電平與低電平之間Delay延時時間小,所以led閃爍的頻率比較快
第二個for循環(huán)
led慢速閃爍猾愿,原因是對于LED0高電平與低電平之間Delay延時時間長鹦聪,所以led閃爍的頻率比較慢