久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

8位led呼吸程序代碼

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年03月07日   【字體:

   前幾天從視頻上看到一個(gè)水滴掉落的程序,看到自己筆記本上的led呼吸燈,感覺他們的算法要求差不多,于是寫下一下程序,我也得瑟一下,算是原創(chuàng)吧。有不正之處或者是有需要優(yōu)化之處歡迎大家批評(píng)指正,相互學(xué)習(xí)(代碼中有138譯碼器的操作,已注釋,kingst的單片機(jī)開發(fā)板可直接實(shí)現(xiàn))
#include<reg51.h>
#define uchar unsigned char
#define N 2 //定義的呼吸的速率
#define T 700 //定義PWM的周期
sbit ENLED = P1^4;//138譯碼器
sbit ADDR0 = P1^0;//138譯碼器
sbit ADDR1 = P1^1;//138譯碼器
sbit ADDR2 = P1^2;//138譯碼器
sbit ADDR3 = P1^3;//138譯碼器
sbit led0=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
sbit led4=P0^4;
sbit led5=P0^5;
sbit led6=P0^6;
sbit led7=P0^7;
void pwm(int x)
{
while(x--);//延時(shí)函數(shù)
}
void main()
{
int t=0,i=0;
char f=0;
ENLED = 0;ADDR3 = 1;                       譯碼器的打開
ADDR0 = 0;ADDR1 = 1;ADDR2 = 1;     譯碼器的操作11111011
while(1)
{
if(i<=800)
{
i++;
led0=0;
pwm(t);//Toff,亮的時(shí)間
led0=1;
pwm(T-t);//Ton,暗的時(shí)間
if(!f) t+=N+1;//亮速率較快,模擬呼吸
else t-=N;//暗速率較慢
if(t>T)
{
f=1;
t=T;
}//超過最大值時(shí),返回最大值,此時(shí)燈滅
if(t<0)
{
f=0;
t=0;
}//超過最小值時(shí),返回最小值,此時(shí)燈亮 以后的程序不再注釋。
}
if(i>=800&&i<=1600)
{
i++;
led1=0;
pwm(t);
led1=1;
pwm(T-t);
if(!f) t+=N+1;
else t-=N;
if(t>T)
{
f=1;
t=T;
}
if(t<0)
{
f=0;
t=0;
}
}
if(i>1600&&i<2400)
{
i++;
led2=0;
pwm(t);
led2=1;
pwm(T-t);
if(!f) t+=N+1;
else t-=N;
if(t>T)
{
f=1;
t=T;
}
if(t<0)
{
f=0;
t=0;
}
}
if(i>=2400&&i<3200)
{
i++;
led3=0;
pwm(t);
led3=1;
pwm(T-t);
if(!f) t+=N+1;
else t-=N;
if(t>T) {f=1;t=T;}
if(t<0) {f=0;t=0;}
}
if(i>=3200&&i<4000)
{
i++;
led4=0;
pwm(t);
led4=1;
pwm(T-t);
if(!f) t+=N+1;
else t-=N;
if(t>T)
{
f=1;
t=T;
}
if(t<0)
{
f=0;
t=0;
}
}
if(i>=4000&&i<4800)
{
i++;
led5=0;
pwm(t);
led5=1;
pwm(T-t);
if(!f) t+=N+1;
else t-=N;
if(t>T)
{
f=1;
t=T;
}
if(t<0)
{
f=0;
t=0;
}
}
if(i>=4800&&i<5600)
{
i++;
led6=0;
pwm(t);
led6=1;
pwm(T-t);
if(t<T)
{
f=1;
t=T;
}
if(t<0)
{
f=0;
t=0;
}
}
if(i>=5600&&i<6400)
{
i++;
led7=0;
pwm(t);
led7=1;
pwm(T-t);
if(!f) t+=N+1;
else t-=N;
if(t>T)
{
f=1;
t=T;
}
if(t<0)
{
f=0;
t=0;
}
if(i>=6400)i=0;
}

}
}
 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 中文在线视频 | 国产男女无遮挡猛进猛出 | 中文字幕一级片 | 四虎www| 在线一级片 | 国产成人91 | 亚洲人成在线播放 | 国产乱人乱偷精品视频 | 亚洲视频在线观看 | 91小视频在线观看 | 中文字幕国产在线 | 日韩亚洲欧美在线观看 | 手机看片福利视频 | 香蕉视频一区二区 | 国产一区精品视频 | a级一级片 | 黄色大片免费在线观看 | 亚洲福利网 | 久草网在线 | 中文字幕三区 | 久久99深爱久久99精品 | 午夜在线视频观看日韩17c | 久久黄视频| 国产在线观看一区 | 久久久久亚洲 | 国产高潮在线观看 | 日韩免费大片 | 999热视频 | 日韩精品黄 | 五月综合色| 日韩欧美在线视频 | 国产美女自拍 | 一色桃子av | 91黄色片| 在线播放亚洲 | 色综合色综合 | 欧美综合一区 | 超碰免费观看 | 91动漫在线观看 | 一区二区三区在线观看免费 | 91视频一区二区三区 |