用单片机定时器控制一个LED亮灭,时间间隔两秒的程序。高手来。谢谢。

急啊!!

你有什么教材吗?我用的郭天祥的教材的第74页就有一个控制一秒闪烁的。你这个问题是超简单的问题。 你要程序的话我可以给你追问

要,你QQ给我,我们详细谈

追答

你也是玩单片机的新手嘛?我是新手,你说的程序是很简单的程序,自己买本书就可以学了,我买的是淘宝上郭天祥的51单片机C语言教程(20元左右的盗版书)。还有假QQ就不用了,我是新手,所以你要程序,我可以照着书给你打(要的回,我下次打)。

追问

打嘛

追答

#include
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
uchar num;
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256; //设置初值50ms
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void T0_time() interrupt 1
{
TH0=(65536-45872)/256; //重设设置初值50ms
TL0=(65536-45872)%256;
num++;
if(num==20) //20次为一秒,两秒换成40次
{
num=0;
led1=~led1;
}
}

追问

Thank you

追答

不用谢。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-19
这种程序网上多的是,何必呢
就一个定时器的功能而已追问

网上找不到啊

追答

你看书,学习如何使用定时器。
定时器回了这个就很简单了

第2个回答  2012-11-20
我来帮你搞定追问

用C51单片机设计一个指示灯闪烁程序,要求:亮1秒钟,灭2秒钟
sbit led=P1^0;unsigned char a;void init(){ TMOD=0x01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;} void main(){ init();while(1){ if(a==60){ a=0;if(a<=20)led=0; \/\/LED亮 else led=1; \/\/LED灭 } } } void timer0() interrupt 1...

单片机编程,控制LED延时亮灭的程序,
sbit led4=P1^4;sbit led5=P1^5;sbit kg1=P3^1;sbit key2=P3^2;sbit key3=P3^3;\/***\/void init()\/\/初始化函数{ TMOD=0x01;TH0=(65536-1000)\/256;TL0=(65536-1000)%256;EA=1; ET0=1;}\/\/\/u8 s(){\/\/扫描按键static u8 ms;u8 t=0;\/\/if(key1==0)t|=Pin1;if...

用定时器实现51单片机上LED灯每隔两秒亮暗闪烁
程序嘛,也很简单啊,你说用定时器,每个两秒如果单纯用一个定时器的话肯定不够用的,要结合循环判断语句,比如你采用12M的晶振,并且将定时中断时间定为50ms,那么设置一个变量,每20次就是一秒了,所以40次就是两秒。这样的话,每个40次就让led的状态(用0和1表示亮与灭)改变就可以了。main函数...

单片机led灯亮四秒灭两秒怎么编写
用定时器定时,先点亮LED灯,开始计时到4秒,再灭LED灯,再计时2秒。这样亮灭是循环的吗,还是一次就完了?是汇编程序,还是C程序?有仿真图吗,那个LED灯接在哪个I\/O脚上啦?

如何实现单片机LED灯一亮一灭间隔1秒?
当单片机LED灯一亮一灭间隔1秒时,可以使用以下代码实现:\/\/ 初始化IO口 P1 = 0xFF; \/\/ 设置延时时间 while (1) { P1 = 0x00; \/\/ 延时1秒 for (int i = 0; i < 10000; i++) { \/\/ 空循环 } P1 = 0xFF; \/\/ 延时1秒 for (int i = 0; i < 10000; i++) { \/\/ 空...

如何用开关控制LED闪烁快与慢两种效果单片机c语言程序及电路_百度知 ...
int i,k;void delay(int z){ for(i=z;i>0;i--)for(k=100;k>0;k--);} void main(){ while(1){ a=1,b=0;delay(随便写个数,大于0的,小于30000,用来控制灯闪烁的快慢);a=0,b=0;delay(和上面那个括号里的数一样);} } 注意P字母是大写的,各个标点是英文的 ...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
本文详细介绍了如何使用C语言在五一单片机上编程,控制P1口实现八个发光二极管的交替点亮。首先,我们定义了一个延时函数delay(),通过两个for循环实现毫秒级的延时。在主函数中,程序初始化P0口为全灭状态,然后进入一个无限循环,每隔一秒,将P0口的特定位设置为1,点亮两个LED,延时1秒后切换到下一个...

单片机如何控制一个LED灯闪烁频率不断加快?
为了实现单片机控制LED灯闪烁频率不断加快,首先设置定时器中断,如5毫秒,用于刷新数码管显示。接下来,声明全局变量flash_count,每次定时中断时,即每隔5毫秒,flash_count自增1。同时,在每次中断后,检查flash_count是否达到预设值xxx。当满足条件时,LED状态取反,同时将flash_count复位至0。通过调整...

单片机如何控制一个LED灯闪烁频率不断加快??
首先定时器中断时间比如5ms,用来定时刷新数码管,他就不闪了。其次,你另外申明一个全局变量,flash_count,每次定时中断,就是每次5ms,flash_count++,同时你每次中断再判断flash_count==xxx时,你的led取反,同时设flash_count=0 你可以控制xxx,从1-255 改变,就可以控制闪烁的频率不断变化。手工打的...

请问:单片机使用C语言编程,怎样控制led灯的完成亮度强弱变换?
模拟PWM输出控制灯的10个亮度级别 将定时器2溢出定为1\/1200秒。每10次脉冲输出一个120HZ频率。这每10次脉冲再用来控制高低电平的10个比值。这样,在每个1\/120秒的方波周期中,我们都可以改变方波的输出占空比,从而控制LED灯的10个级别的亮度。\/ define uchar unsigned char define uint unsigned int ...

相似回答