永发信息网

如何实现两个LED灯交替闪烁(要求:蓝灯连续闪两下停,接着红灯闪一下,然后蓝灯再闪两次这样交替循环)

答案:2  悬赏:0  手机版
解决时间 2021-04-06 02:05
如何实现两个LED灯交替闪烁(要求:蓝灯连续闪两下停,接着红灯闪一下,然后蓝灯再闪两次这样交替循环)
最佳答案
该功能如果用纯硬件,困难不小。给个51的吧,用1051或2051,体积非常小。
有个51的源程序,你看看能用吗。仿真测试过了(附图)

#include
#include 
#include
#include 
#define f_osc  12 //晶振频率
#define time0  20000 //定时20000μs(20ms)
unsigned char data time0_h,time0_l; //无符号8位字符
unsigned int idata time0_times; //有符号8位数据
unsigned char data out_kz = 0; //无符号8位字符
sbit mcout_z = P1^0;
sbit mcout_f = P1^1;
unsigned char sec=0,min=0,hour=0,count=0,hc_switch=0;
unsigned char TimeString[9];

void time0_init()
{
  TMOD=0x21; //定时器0方式1
  time0_times=65536-time0*f_osc/12;
  time0_h=(time0_times/256);
  time0_l=(time0_times%256);
  TH0=time0_h;
  TL0=time0_l;
  EA=1;            //总中断打开
 ET0=1;           //定时器中断打开
 //TR0=1;           //定时器开关打开
}

void Timer0_isr(void) interrupt 1 
{
 TR0=0;
 TH0=time0_h;   //重新赋值
 TL0=time0_l;
 
 count++;
 if(count==5)  //20ms×5=100ms(0.1s),这是最小时间间隔
   {count=0;
 out_kz++;
 if(out_kz==2)
   {mcout_z=1;}
 if(out_kz==3)
   {mcout_z=0;}
 if(out_kz==5)
   {mcout_z=1;}
 if(out_kz==10)
   {mcout_f=0;}
 if(out_kz==15)
   {mcout_f=1;}
 if(out_kz==20)
   {mcout_z=0;
    out_kz=0;}
}
  TR0=1;
}
//主程序
main()
{
time0_init(); //初始化定时器
TR0=1;    //启动定时器
while(1); //进入死循环,等待中断
}

全部回答
这个要有一个时间算法表
在程序里面调用
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
社区工作感悟经典语句,感悟人生的经典句子
单选题Themillionsofcalculationsinvolved,h
如何主动寻找到自己喜欢的微信公众号?比如,
为什么佳能打印机总是不出相片纸?还卡纸呢?
不要委屈自己的好句子,写一段 很委屈的段落。
兰考个人社保卡怎么领取
我的车子天籁水温高修好后为什么没暖风了?之
合肥146公交到地矿家园在哪里下车
一I enjoyed a very good holiday in Shuangq
长虹液晶电视与康佳液晶电视哪个好
软件测试好找工作吗
阿黛尔的生活台词英语,有哲理性的英语句子带
Word2003里想把文字简繁体转换,用什么命令,
女命,身强,伤官多,婚姻好不好?
现在的淘宝好友怎么都设置不接收陌生人消息
推荐资讯
蜂鸟的翅膀每分钟扇动多少次?
读美国地图完成下列问题(1)首都D为______,
规范操作是实验安全和成功的保证,填写以下化
单选题Themedicalresearchers(研究人员)aredo
4比6强,看骁龙430比骁龙616强出多少
从北京的赵公口汽车站到六里桥汽车站?
跪求.哪个小贷比较良心
真有野狼谷电影吗
单选题京九线的起止点是A.北京-九江B.北京-
人到三十六七怎么老是四五点钟就会醒,在想睡
怎样去掉“雌猴”
张家界有避暑山庄 吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?