標(biāo)題:
單片機(jī)的定時(shí)器實(shí)現(xiàn)led燈的定時(shí)一分鐘的減亮漸滅
[打印本頁(yè)]
作者:
曾漢夫
時(shí)間:
2017-12-22 14:00
標(biāo)題:
單片機(jī)的定時(shí)器實(shí)現(xiàn)led燈的定時(shí)一分鐘的減亮漸滅
借用網(wǎng)上的漸變程序,配合單片機(jī)的定時(shí)器功能,實(shí)現(xiàn)一分鐘計(jì)時(shí)以后,發(fā)光led漸暗漸亮的功能
單片機(jī)源程序如下:
/*-----------------------------------------------
名稱:定時(shí)器0
內(nèi)容:通過(guò)定時(shí)讓LED燈閃爍
------------------------------------------------*/
#include<stc15.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
sbit LED0=P3^6;
sbit LED1=P3^7;
sbit LED2=P3^3;
sbit LED3=P1^1;
sbit LED4=P1^2;
sbit LED5=P1^3;
sbit LED6=P1^4;
sbit LED7=P1^5;
sbit key=P3^2;
bit t1, t2,sudu;
unsigned int CYCLE=1100,PWM_LOW=0,a,b;
void Delay(unsigned int t);
void delays(unsigned char cnt)
{
unsigned char i;
unsigned char j;
unsigned char k;
for(i=cnt;i>0;i--)
{
for(j=cnt;j>0;j--)
{
for(k=cnt;k>0;k--);
}
}
}
/*------------------------------------------------
定時(shí)器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響
TH0=0x3c; //給定初值,這里使用定時(shí)器最大值從0開(kāi)始計(jì)數(shù)一直到65535溢出
TL0=0xb0;
EA=1; //總中斷打開(kāi)
ET0=1; //定時(shí)器中斷打開(kāi)
TR0=1; //定時(shí)器開(kāi)關(guān)打開(kāi)
}
void paomadeng(void)
{
LED0=1;
Delay(700);
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
{
LED0=1;
Delay(PWM_LOW);
LED0=0;
Delay(CYCLE-PWM_LOW);
}
LED1=1;
Delay(700);
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
{
LED1=1;
Delay(PWM_LOW);
LED1=0;
Delay(CYCLE-PWM_LOW);
}
LED2=1;
Delay(700);
for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
{
LED2=1;
Delay(PWM_LOW);
LED2=0;
Delay(CYCLE-PWM_LOW);
}
delays(7000);
LED2=0;
Delay(700);
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
{
LED2=1;
Delay(PWM_LOW);
LED2=0;
Delay(CYCLE-PWM_LOW);
}
LED2=1;
LED1=0;
Delay(700);
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
{
LED1=1;
Delay(PWM_LOW);
LED1=0;
Delay(CYCLE-PWM_LOW);
}
LED2=1;
LED1=1;
LED0=0;
Delay(700);
for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
{
LED0=1;
Delay(PWM_LOW);
LED0=0;
Delay(CYCLE-PWM_LOW);
}
LED0=1;
}
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
a=0;
Init_Timer0();
while(1)
{
if(a==1119)
{
paomadeng();
a=0;
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
pwm.rar
(26 KB, 下載次數(shù): 29)
2017-12-22 13:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
h1000222
時(shí)間:
2017-12-22 17:57
我要下下來(lái),但下不了,
作者:
k9702
時(shí)間:
2021-6-1 15:19
h1000222 發(fā)表于 2017-12-22 17:57
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****
挖墳,我能下載啊
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1