『壹』 你好,我想問問你知道C語言編程顯示LED燈是如何實現的嗎
通過對LED燈的控制寄存器的修改達到LED燈亮與滅。一般來說就是把LED晶元上的一個IO管腳映射成一個物理地址,我們對這個地址直接操作就可以控制LED等的亮,滅等。如果是在用戶層寫程序控制的話,需要將物理地址通過MMU映射成虛擬地址才可以控制。
『貳』 單片機編程:LED發光二極體的初始狀態為亮。按一下按鍵,LED燈滅。再按一下,LED亮,用C語言編程該怎麼寫
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
sbit KEY=P3^3; //定義按鍵輸入埠
sbit LED=P1^2; //定義led輸出埠
/*------------------------------------------------
主函數
------------------------------------------------*/
void main (void)
{
KEY=1; //按鍵輸入埠電平置高
while (1) //主循環
{
if(!KEY) //如果檢測到低電平,說明按鍵按下
LED=0;
else
LED=1; //這里使用if判斷,如果按鍵按下led點亮,否則熄滅
//上述4句可以用一句替代 LED=KEY;
//主循環中添加其他需要一直工作的程序
}
}
『叄』 單片機控制LED燈常亮30秒後閃爍怎麼編程
假設用的是51單片機的P1口,LED燈是低電平點亮,連接P1.0,那麼可以參考如下思路:
初始化:
P1 =0xFF;
P1.0=0;點亮
delay_s(30);延時30秒
P1.0=1;熄滅
while(1)
{
delay_s(1);延時1秒
P1.0=0;點亮
delay_s(1);延時1秒
P1.0=1;熄滅
}
『肆』 ws2812 LED燈編程
strip.setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b);
第一個參數n是綵帶中LED的編號,最接近單片機引腳的編號為0;接下來的三個參數描述像素顏色,分別表示紅色、綠色和藍色的亮度級別,0為最暗,255是最大亮度;
strip.setPixelColor(uint16_t n, uint32_t c);
n是綵帶中LED的編號,顏色color是一種32位類型,將紅色,綠色和藍色值合並為一個數字,有時這樣做能提高程序的效率。通過下面的方法,可以將紅色、綠色和藍色值轉換為32位類型。
uint32_t magenta = strip.Color(red, green, blue);
strip.setBrightness(uint8_t);
一般只在setup()中調用,以保證在整個程序執行過程中LED顏色亮度的一致性。其實,在程序中通過合適的邏輯控制各像素的亮度值,可能動畫效果更好。
strip.show();
該方法更新綵帶上的全部LED。一個好的習慣是先利用setPixelColor()設置好整個綵帶的顏色,然後再調用show()方法,以防止出現動畫跳躍而不平滑。
『伍』 用C語言編寫一個單片機控制LED燈閃爍變化的編程 急用!!!!!!!!!
C語言實現LED燈閃爍控制配套51單片機開發板。
#include //包含單片機寄存器的頭文件
/****************************************
函數功能:延時一段時間
*****************************************/
void delay(void) //兩個void意思分別為無需返回值,沒有參數傳遞。
{
unsigned int i; //定義無符號整數,最大取值范圍65535。
for(i=0;i<20000;i++) //做20000次空循環。
; //什麼也不做,等待一個機器周期。
}
/*******************************************************
函數功能:主函數 (C語言規定必須有也只能有1個主函數)。
********************************************************/
void main(void)
{
while(1) //無限循環。
{
P0=0xfe; //P1=1111 1110B, P0.0輸出低電平。
delay(); //延時一段時間。
P0=0xff; //P1=1111 1111B, P0.0輸出高電平。
delay(); //延時一段時間。
}
}
單片機驅動LED燈的源程序:
#include<reg52.h> //頭文件。
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定義。
void delay_ms(uint);//mS級帶參數延時函數。
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延時子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
(5)led編程怎麼用擴展閱讀:
單片機應用分類:
通用型:
這是按單片機(Microcontrollers)適用范圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。
匯流排型:
這是按單片機(Microcontrollers)是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接。
另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。
控制型:
這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型。
通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。
參考資料來源:網路-單片機
『陸』 LED怎麼編程
LED本身只是一種電致發光器件,本質上它是一個二極體,唯一的功能是通過電流時發光(把電能轉變成光能)。它是不需要任何「編程」的。
LED需要專用的驅動器晶元來供給電源。部分驅動器晶元是可編程的,通過寫入程序,它可以控制LED元件點亮、熄滅或發出不同亮度的光;另外絕大多數驅動晶元帶有使能端,這個埠可以與多種單片機、介面電路相連,從而接受來自單片機或其他介面電路的指令來控制LED的發光狀態。這時的編程,是對單片機或其他上位機而言的。
『柒』 LED燈條怎麼編程
LED燈條編程是看你要用單片機編,還是用控制器編,用控制器編的話,你一般用什麼控制器廠家一般都有軟體(比如麥爵仕等)。
『捌』 LED顯示屏文字在電腦中怎麼編程
打開電腦里的led顯示屏的圖標,然後在左上腳雙擊「顯示屏」,出現「節目」再雙擊「節目」,然後又雙擊「字幕」然後在右下腳編輯你想要輸入的文字,然後點左上腳「文件」再點「保存」,之後找到「發送」字樣點「發送」。希望可以幫到你,好的話請採納,謝謝
『玖』 單片機編程:LED發光二極體的初始狀態為亮。按一下按鍵,LED燈滅。再按一下,LED亮,用C語言編程該怎麼寫
今天做回好人,閑著給你寫一個做參考。
按鍵按一次LED燈滅,在按一次按鍵LED燈亮。
程序如下:
/*************************************************************************************************************
#include "REG52.H"
sbit LED1_01 = P1^1; //LED燈
sbit KEY0_01 = P1^2; //按鍵
void Delay_1ms(unsigned int Time)
{
unsigned int x, y;
for(x = Time; x > 0; x--)
for(y = 120; y > 0; y--);
}
int main(void)
{
LED1_01 = 1; //打開LED燈點亮
while(1)
{
if(KEY0_01 == 0) //檢測按鍵是否按下
{
Delay_1ms(10); //延時去抖動
if(KEY0_01 == 0) //確定按鍵按下
{
LED1_01 = ~ LED1_01; //取反LED燈 [ 亮 . 滅 ]
}
while(KEY0_01 == 0); //檢測鬆手
}
}
}
*****************************************************************************************************************/