當前位置:首頁 » 編程軟體 » 編程led燈

編程led燈

發布時間: 2022-08-21 02:02:43

❶ LED燈需要編程

需要編程實現。

下面給一個小例子來說明如何實現點亮一個LED燈:

#include<reg52.h>//引用52包文件可以理解為命名空間
sbitP1_0=P1^0;//定義P1管腳0
voidmain()//主程序C語言所必需要有的{P1_0=0;//點亮P1第0管腳連接的LED}

❷ 用keil編一個led燈閃爍程序

點亮 小燈的程序我們第二課完成了,就是讓 LED = 0。熄滅小燈的程序也很簡單,就是 LED = 1。點亮和熄滅都會了,那麼如果我們在亮和滅中間加個延時,反復不停的點亮和熄滅小燈,就成了閃爍了。

我們首先復習一下 Keil 寫程序的過程,建立工程-->保存工程-->建立文件-->添加文件到工程-->編寫程序-->編譯-->下載程序。

LED 對於有 C 基礎的同學來說很簡單,那我先寫出來,大家可以先看下。沒有C 語言基礎的同學也可以跟著抄一遍,下節課我會補充部分 C 語言基礎知識,這樣你先抄一遍後,再跟著看 C 語言基礎知識的時候也比較容易理解透徹。

純文本復制

#<reg52.h>

sbit LED = P0^0;

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

main(){ //void 即函數類型

//以下為聲明語句部分

unsigned int i = 0; //定義一個變數 i,並賦初值 0

//以下為執行語句部分

ENLED = 0; //U3、U4 兩片 74HC138 總使能

ADDR3 = 1; //使能 U3 使之正常輸出

ADDR2 = 1; //經 U3 的 Y6 輸出開啟Q16

ADDR1 = 1;

ADDR0 = 0;

(1){

LED = 0; //點亮小燈

for (i=0; i<30000; i++); //延時一段時間

LED = 1; //熄滅小燈

for (i=0; i<30000; i++); //延時一段時間

}

}

大家把這個程序編譯一下,下載到里,就會發現 LED2 這個小燈會閃爍了。

❸ 編程:控制一盞LED燈的狀態

朋友,你用什麼語言編程?不清楚,就告訴你與單片機的連接和用C語言編寫一個單片機控制LED燈閃爍變化的編程。
這要看Led燈和單片機的連接情況,如果只是控制亮滅,只需要看單片機埠控制即可,關鍵是配置埠的DDRx方向寄存器和PORTx數據寄存器,比如埠A的0引腳控制一個燈,要配置它的輸出高電平或是低電平以達到控制燈的亮滅,那就
燈亮:
DDRA |= BIT(0); //輸出
PORTA |= BIT(0);//高電平
燈滅:
DDRA |= BIT(0); //輸出
PORTA &= ~BIT(0);//低電平
其餘的就看你電路如何連接的,每個埠寄存器的每一位控制一個引腳,你可以查查晶元的數據手冊,上邊有個表格的。

用C語言編寫一個單片機控制LED燈閃爍變化的編程
可以用外部中斷計數,來實現流水燈的正轉、暫停、以及反轉和爆閃。。這是我前幾天寫的一個這樣的程序,樓主可以結合protues 畫圖模擬,注意程序中所用到的IO埠就行了。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
uchar a,b;
void delay(uchar z)
{
uchar i,j,k;
for(i=z;i>0;i--)
for(k=20;k>0;k--)
for(j=110;j>0;j--);
}
void begain()
{
EA=1;
EX0=1;
IT0=1;
}

void main()
{ a=b=0;
P0=0xfe;
begain();
while(1)
{
if(a==1)
{
P0=_crol_ (P0,1);
delay(50);
}
if(a==3)
{
P0=_cror_(P0,1);
delay(50);
}
if(a==4)
{
P0=0x00;
delay(50);
P0=0xff;
delay(50);
P0=0xfc;

}
if(a==5)
{
a=1;

}
}

}

void int0() interrupt 0
{
a++;
if(a==5)
{
a=1;

}

}

❹ LED燈閃爍編程問題


整個邏輯就不對

while(1)
{
led=0;
}

這個程序會在這個循環裡面一直出不去

#include<reg52.h>
sbitled=P1^2;
voidmain()
{
intx,y;
while(1)
{
led=0;//關燈
for(x=100;x>0;x--)//延遲
for(inty=100;y>0;y--)
;
led=1;//開燈
}
}

遇到問題請多分析分析你程序的邏輯。順便多學學基礎知識。。

❺ 8個led燈編程

8個LED流水燈依次循環亮的C語言程序,問題詳細內容為:我用的是PROTUSE做的模擬程序,想讓這8個流水燈依次亮從P0到P7口要它的C語言程序可以在KEILC51裡面運行的,希望在每句C語言後面有個解釋不用WHILE和for語句i高分懸賞我這里有個程序希...我用的是PROTUSE做的模擬程序,想讓這8個流水燈依次亮,從P0到P7口

❻ C語言編程式控制制LED燈亮滅

首先要看Led燈和單片機的連接情況,如果只是控制亮滅,只需要看單片機埠控制即可,關鍵是配置埠的DDRx方向寄存器和PORTx數據寄存器,比如埠A的0引腳控制一個燈,要配置它的輸出高電平或是低電平以達到控制燈的亮滅,那就
燈亮:
DDRA |= BIT(0); //輸出
PORTA |= BIT(0);//高電平
燈滅:
DDRA |= BIT(0); //輸出
PORTA &= ~BIT(0);//低電平
其餘的就看你電路如何連接的,每個埠寄存器的每一位控制一個引腳,你可以查查晶元的數據手冊,上邊有個表格的。

如果你要控制燈的亮暗程度,選擇使用PWM輸出來控制,需要看定時計數器。

❼ 用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--);

}

(7)編程led燈擴展閱讀:

單片機應用分類:

通用型:

這是按單片機(Microcontrollers)適用范圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。

匯流排型:

這是按單片機(Microcontrollers)是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接。

另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。

控制型:

這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型。

通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。

參考資料來源:網路-單片機



❽ 求用C語言編程實現51單片機的LED燈移動

#include<reg51.h>
#define uchar unsigned char
sbit c10=P1^0;
sbit c11=P1^1;
sbit c12=P1^2;
sbit c13=P1^3;
uchar led1,led3;
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
main()
{
uchar keyval=0xff;
led1=0xfe;
led3=0xf8;
while(1)
{
if(c10==0)
{
delay(10);
if(c10==0)
{
while(c10==0);
keyval=0;
}
}
if(c11==0)
{
delay(10);
if(c11==0)
{
while(c11==0);
keyval=1;
}
}
if(c12==0)
{
delay(10);
if(c12==0)
{
while(c12==0);
keyval=2;
}
}
if(c13==0)
{
delay(10);
if(c13==0)
{
while(c13==0);
keyval=3;
}
}
switch(keyval)
{
case 0:
P0=led1;
led1=(led1<<1)|0x01;
if(led1==0xff)led1=0xfe;
delay(100);
case 1:
P0=led1;
led1=(led1>>1)|0x80;
if(led1==0xff)led1=0x7f;
delay(100);
case 2:
P0=led3;
led3=(led3<<1)|0x01;
if((led3&0xf0)==0x30)led3=0x3e;
if((led3&0xf0)==0x70)led3=0x7c;
if((led3&0xf0)==0xf0)led3=0xf8;
break;
case 3:
P0=led3;
led3=(led3>>1)|0x80;
if((led3&0x0f)==0x0c)led3=0x7c;
if((led3&0x0f)==0x0e)led3=0x3e;
if((led3&0x0f)==0x0f)led3=0x1f;
break;
default:break;
}
}
}

❾ 單片機C語言編程點亮LED燈

可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。 具體實現方法可以參考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a);void main(){ P1=0xfe; while(1) { // 向左循環點亮LED for(i=0; i<7; i++) { P1=_crol_(P1,1); // 左移一位,點亮下一位LED delay(55); } // 向右循環點亮LED for(i=0; i/ 右移一位,,點亮上一位LED delay(55); } }}// 延時函數,延時a毫秒void delay(uint a){ uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);}

熱點內容
資料庫測試數據 發布:2025-02-06 11:31:05 瀏覽:820
球頭軸編程 發布:2025-02-06 11:29:36 瀏覽:279
為什麼安卓系統不能收縮許可權 發布:2025-02-06 11:27:58 瀏覽:730
演算法4視頻 發布:2025-02-06 11:19:20 瀏覽:933
51內置音效卡需要什麼主機配置 發布:2025-02-06 11:18:33 瀏覽:838
防針刺傷的物品配置有哪些 發布:2025-02-06 11:11:25 瀏覽:670
游戲數據反編譯 發布:2025-02-06 11:05:30 瀏覽:400
逍遙安卓在哪裡下載的視頻 發布:2025-02-06 10:50:42 瀏覽:877
上編程序 發布:2025-02-06 10:49:08 瀏覽:796
會議源碼 發布:2025-02-06 10:47:09 瀏覽:93