單片機(jī)項(xiàng)目中LED的重要性
雖然技術(shù)更新迭代很快,但有很多基本的技術(shù),仍然在實(shí)際項(xiàng)目中會(huì)用到,今天就拿LED為例來(lái)說(shuō)說(shuō)吧。
LED有哪些作用別小看LED,它在實(shí)際生活中應(yīng)用很廣泛的。
首先就是以LED為光源的項(xiàng)目,比如呼吸燈、廣告燈、LED顯示屏等,這類控制LED亮滅(閃爍),或者亮度漸變。
再次就是LED背光燈,像液晶背光燈、按鍵背光燈等,這種也是需要控制LED變化的。我之前做過(guò)有按鍵的項(xiàng)目,按鍵背光燈需要漸變、配合音效控制LED不同頻率閃爍,目的就是為了達(dá)到更好的體驗(yàn)效果。
再再次,LED作為指示燈,電源指示燈、狀態(tài)指示燈,這種就和接近初學(xué)者的學(xué)習(xí)時(shí)的LED燈,但這種卻在項(xiàng)目中很常見。拿狀態(tài)指示燈來(lái)說(shuō),一個(gè)項(xiàng)目的LED狀態(tài)指示燈可以直觀明了的指示設(shè)備的運(yùn)行狀態(tài),比如:運(yùn)行、故障、待機(jī)、死機(jī)等常見狀態(tài)。通過(guò)RGB,或者紅黃綠不同顏色LED組合,可以實(shí)現(xiàn)更多狀態(tài)的指示。
下面針對(duì)LED狀態(tài)燈,說(shuō)幾點(diǎn)細(xì)節(jié)的內(nèi)容。
LED狀態(tài)燈實(shí)現(xiàn)這里結(jié)合代碼為大家分享一些項(xiàng)目中常見的LED狀態(tài)燈的實(shí)現(xiàn)方法。
1.單色LED運(yùn)行狀態(tài)指示燈
通過(guò)閃爍(一亮一滅)指示設(shè)備運(yùn)行的狀態(tài)的指示燈,一個(gè)關(guān)鍵作用:設(shè)備有沒有死機(jī)。
很多產(chǎn)品中都會(huì)用到,你買一個(gè)開發(fā)板,提供的綜合例程也基本都有。
裸機(jī)情況下(一般狀態(tài)機(jī)),在某一個(gè)狀態(tài)實(shí)現(xiàn)LED閃爍:
int main(void)
{
??//系統(tǒng)初始化
while(1)
{
????//do?something
switch(State)
{
case 狀態(tài)1:
//do something
break;
case 狀態(tài)2:
//do something
??????break;
·
·
??????·
case 狀態(tài)燈:
ED_TOGGLE(); //LED閃爍
break;
}
}
}
RTOS情況下,新建一個(gè)狀態(tài)燈線程,在線程里面直接控制即可:
void StatusLight_Task(void *pvParameters)
{
??static?TickType_t?xLastWakeTime;
//初始化
xLastWakeTime = xTaskGetTickCount();
for(;;)
{
//do something
LED_TOGGLE(); //LED閃爍
vTaskDelayUntil(