登录
首页 单片机论坛
回帖 发帖
正文

主题:51单片机呼吸灯

点击:677 回复:7

师傅们,我刚学单片机,想做个呼吸灯,搞了几天都没搞好,我的是stc89c52,有这个程序的师傅们,传一个上来,谢谢你们
22-12-17 10:35
//******************************
//   51单片机模拟呼吸灯
//     2012.9.23
//       //     p0.0接一个LED灯,状态0为亮
//******************************
#include
#define N 2 //亮暗的速率
#define T 800 //PWM的周期
//sbit led0=P0^0;
//======================
void pwm(int x)
{
 while(x--);
}
//======================
void flash1(void){
    int t = 0;
    char f = 0;
    int count = 5;//5次,每个函数执行的次数
    while(1){
  P0 = 0x00;
  pwm(t);   //Toff,亮的时间
  //led0=1;
  P0 = 0xff;
  pwm(T-t+100);//Ton,暗的时间
  if(!f) t+=N+1;//亮速率较快,模拟呼吸
  else t-=N;//暗速率较慢
  if(t>T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗
  if(t<0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮
 // count--;
  }
 }
void main()
{
 while(1)
 {
    flash1();
 }
}
22-12-19 14:47
这用C写好像写得有点多,用汇编就几句话
22-12-19 14:47
用PLC的PMW写一个吧
22-12-19 17:51
谢谢你,我慢慢品尝,谢谢
22-12-19 18:24
现场编写,高手,很久不玩单片机了。
22-12-20 04:14
热心人表情
22-12-22 09:31
呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。
其广泛应用于手机之上,并成为各大品牌新款手机的卖点之一,起到一个通知提醒的作用。
有说用PLC,需要模拟量输出吧
22-12-22 12:04

工控新闻

更多新闻资讯