找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3473|回复: 4
收起左侧

51单片机模拟呼吸灯

[复制链接]
ID:90042 发表于 2015-9-13 21:34 | 显示全部楼层 |阅读模式
//******************************
//   51单片机模拟呼吸灯
//     2012.9.23
//      menglei
//     p0.0接一个LED灯,状态0为亮
//******************************

#include<reg52.h>
#define N 2 //亮暗的速率
#define T 800 //PWM的周期
#define T1 1400
#define T2 900
//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();
  }
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的积分奖励!

查看全部评分

回复

使用道具 举报

ID:66287 发表于 2015-9-15 08:19 | 显示全部楼层
这块MCU不干别的事吗?
回复

使用道具 举报

ID:123712 发表于 2016-7-16 14:15 | 显示全部楼层
谢谢楼主分享资料,学习中
回复

使用道具 举报

ID:212379 发表于 2017-6-18 22:13 | 显示全部楼层
谢谢楼主分享资料
回复

使用道具 举报

ID:89286 发表于 2017-6-19 06:40 | 显示全部楼层
thanks for sharing
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表