标题: 呼吸灯 hc595 怎么用c语言定时中断 [打印本页]

作者: zgk    时间: 2017-11-27 02:16
标题: 呼吸灯 hc595 怎么用c语言定时中断
用hc595使八位共阳 led灯
呈呼吸  用c语言中断  定时  求各位大神告知
作者: HC6800-ES-V2.0    时间: 2017-11-27 08:51
我这里有一个呼吸灯程序,你将其中的LED改为你的数码管接口就可以了。
#include<reg51.h>       
#define LED P2//就是这里,改你的数码管口,不要改LED,改P2,我的LED接在P2

unsigned int T=0,Tt=500,i=0,Ii=100,j=0;
bit A=1;//占空比是增加或是减少

void TimeConfig();//定时器中断设置函数

void main(void)
{
        TimeConfig();
        while(1)
        {
                if (T>=Tt)
                {
                        T=0;
                }
                if (i>=Ii)
                {
                        i=0;
                        if (A==1)
                        {
                                j++;
                        }
                        else
                        {
                                j--;
                        }
                }
                if (j==Tt)
                {
                        A=0;
                }
                if (j==0)
                {
                        A=1;
                }
                if (T<=j)
                {
                        LED=0x00;
                }
                else
                {
                        LED=0xff;
                }
        }
}

void TimeConfig()
{
    TMOD = 0x01;
    TH0 = 0xff;       
    TL0 = 0xff;
    EA = 1;               
    ET0 = 1;       
    TR0 = 1;       
}

void Time0() interrupt 1//定时器0中断服务函数
{
        TH0 = 0xff;       
    TL0 = 0xff;
        T++;               
        i++;
}




作者: 军师祭酒    时间: 2017-11-27 08:51
你可以去查查 PWM输出的资料




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1