当前位置:首页 » 编程语言 » 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,就会灭。如果要一闪一闪的,只需给亮和灭的中间加延时,控制亮灭次数,可以使用一个循环。