當前位置:首頁 » 編程語言 » led一秒亮滅一次c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

led一秒亮滅一次c語言

發布時間: 2022-04-22 17:02:25

① 求助!!!!用單片機的定時器T1怎麼寫一個LED亮2秒滅3秒的程序 c語言

給你個提綱,自己寫吧,如下:
sbit LED=Px^x
void main()
{
1.定時器設置、中斷設置,
while(1)
{
2.LED=1; //假設高電平亮
3.定時中斷次數設置X=m //2秒等於m次中斷
4.開定時器中斷
5.While(x); //未到時間停在這一步
6.關定時器中斷
7.LED=0;
8.定時中斷次數設置X=n //3秒等於n次中斷
9.開定時器中斷
10.While(x); //未到時間停在這一步
11.關定時器中斷
}
}
void intr() interrupt0 //中斷服務函數
{
重裝初值; //裝入的初值時間要能被2秒、3秒整除
x--;
}

② 單片機編程: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); //檢測鬆手
}
}
}

*****************************************************************************************************************/

③ 8個led由左至右間隔2秒,亮1秒,滅1秒,亮時峰鳴器響,滅時關閉峰鳴器,請用c語言編寫程序

//單片機選用8051,12MHz晶振,8個LED連接P1口,蜂鳴器連接P2.0口
#include<reg51.h>
#include<intrins.h>
voiddelay1ms(void)//誤差0us
{
unsignedchara,b,c;
for(c=1;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}
voidmain(void)
{
unsignedcharjc,k;
P1=0x80;
k=P1;
while(1)
{
delay1ms();
jc++;
if(jc%2==1)
{P1=0x00;P2^0=0;}
if(jc%2==0)
{k=_cror_(k,1);P1=k;P2^0=1;}
}
}

祝你好運!

④ led燈亮一秒滅一秒,循環十次c語言,

你得設定是什麼環境,如果是單片機ARM板之類的底層環境,可以採用延時函數或者中斷設定;如果是windows編程,可以調用系統的Timer;下面就提供一個最簡單的延時方案:

for (i=0; i<20; i++){ //一亮一滅算一個周期,所以循環20次
PORT_LED = ~PORT_LED;
delay_ms(1000);
}

void delay_ms(uint16 n){
while (n--){

//.....
}
}

⑤ 怎樣用定時器編寫一個LED燈間隔1秒鍾亮滅C程序

#include <reg51.h>

#define uchar unsigned char

sbit LED=P1^0;

uchar time;

void InitTimer0(void)

{

TMOD = 0x01; //定時器0,工作方式1

TH0 = 0x3c;

TL0 = 0xb0; //50ms中斷一次

EA = 1;

ET0 = 1;

TR0 = 1;

}

void main(void)

{

InitTimer0();

while(1)

if(time==20) //中斷20次,1s

{

time=0;

LED=!LED; P1.0上的LED1s亮滅一次

}

}

void Timer0Interrupt(void) interrupt 1

{

TH0 = 0x3c;

TL0 = 0xb0;

time++;

}

⑥ c語言控制一個led亮兩秒,滅一秒

while(1)
{
LEDON;
Delay(2000);//延時2S
LEDOFF;
Delay(1000);//延時1S
}
程序大體就是這個樣子。

⑦ 單片機中怎樣中斷控制led燈隔一秒閃爍一次,c語言的,麻煩高手貼個程序看一下,最好用定時器t0。

設置定時器時間間隔為1s,計數總共不到1s的話,就再定義一個變數,循環多次,以實現1s
然後再1s時的定時器中斷子程序中設置輸出腳的電平交替即可

⑧ AT89C51,編寫C語言程序,實現LED燈間隔1s亮一次 ,顯示器開始計時從00~20

#include<reg51.h>
unsigned char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};// 數碼管段選
unsigned char aa,second;
sbit LED=P1^0;// 小燈
void init(); //初始化
void keypress(); //按鍵識別
void delay(unsigned int z);//延時
void main()
{
init();
LED = 1;
while(1)
{
if(aa==20)
{
aa=0;
second++;
LED=~LED;
if(second==21)
{
second=0;
}
}
keypress();
P0=table[second%10];
P2=table[second/10];
}
}
void init()
{
TMOD=0x01;//定時器T0的方式1
TH0=(65536-50000)/256; //高8位
TL0=(65536-50000)%256; //低8位
EA=1; //中斷總允許打開
ET0=1; //定時器T0允許打開
TR0=1; //啟動定時器T0
aa=0;
second=0;
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}

⑨ 用C語言編寫如下程序

我再幫你補一課,看了你的標題,我寫了一個用定時器0來控制一個LED燈第隔1秒鍾亮滅一次的程序,希望對你有用,另外我也寫了一個你說的那個程序,一起發上來吧
****************這個是用定時器0控制一個燈的亮和滅******************************
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
/**************************************/
uchar num;
bit tt;
sbit d=P1^0;

/******************主程序入口********************/
void main()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
TCON=0x10;
EA=1;
ET0=1;
tt=255;

while(1)
{
if(num==20)
{
tt=!tt;
d=tt;
num=0;
}

}
}

void timer() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
num++;
}
****************這個程序是逐個點亮的(思路:由256逐減1,值由LED燈顯示)***********************
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
/**************************************/
uchar num,tt;
//bit tt;
sbit d=P1^0;

/******************主程序入口********************/
void main()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
TCON=0x10;

EA=1;
ET0=1;

tt=255;

while(1)
{
if(num==20)
{
tt--;
P1=tt;
num=0;
}

}
}

void timer() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
num++;

}

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

如果你LED的介面一個低電平,即0,燈就會亮,給一個高電平,1,就會滅。如果要一閃一閃的,只需給亮和滅的中間加延時,控制亮滅次數,可以使用一個循環。