新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用51單片機(jī)制作呼吸燈

用51單片機(jī)制作呼吸燈

作者: 時(shí)間:2012-08-30 來源:網(wǎng)絡(luò) 收藏

//晶振11.0592
//燈光在控制之下完成由亮到暗的逐漸變化,感覺像是在
//本例在51hei-5型開發(fā)板上實(shí)現(xiàn)了一個(gè)數(shù)碼管和一個(gè)led燈一起實(shí)現(xiàn)效果
//文件下載:http://www.51hei.com/f/fxd.rar
#includereg52.h>
#define uint unsigned int
#define uchar unsigned char

本文引用地址:http://m.butianyuan.cn/article/170968.htm

sbit D1=P0^7;

uchar sr;
uchar jf;

uchar code table[]={
0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,43,44,45,
46,47,48,49};

void light(uchar num);
void delay(uint z);

void main()
{
//設(shè)置計(jì)數(shù)器
//選取計(jì)數(shù)方式1
TMOD = 0x11;
//給計(jì)數(shù)器寫初值
TH0 = 0;
TL0 = 0;
////////////////////
//操作
//開啟CPU中斷
EA = 1;
///////////////////
//開啟定時(shí)器T0位中斷
ET0 = 1;
//開啟計(jì)數(shù)器
TR0 = 1;
//操作二極管
P1=0;
while(1)
{
if(sr50)
light(sr);
else sr=0;
}
}
//子函數(shù)
void light(uchar num)
{
uchar tme;
D1 = 0;
tme = table[num];
delay(tme);
D1 = 1;
delay(49-tme);
}
//中斷函數(shù)
void time () interrupt 1
{
//自變量自加
if (jf2)
{
jf++;
TH0 =0;
TL0 = 0;
}

if (jf==2)
{
//寫初值
jf=0;

TH0 = 254;
TL0 = 254;
sr++;
}
}
void delay(uint z)
{
uint x,y;
for(x=10;x>0;x--)
for(y=z;y>0;y--);
}

51單片機(jī)相關(guān)文章:51單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


晶振相關(guān)文章:晶振原理


關(guān)鍵詞: 呼吸 制作 單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉