标题: 利用单片机DAC做的呼吸灯间隔时间长是怎么回事儿 [打印本页]

作者: chenl_l_    时间: 2023-6-10 09:39
标题: 利用单片机DAC做的呼吸灯间隔时间长是怎么回事儿
代码如下:
#include <REG52.H>

typedef unsigned char u8;
typedef unsigned int u16;

sbit PWM=P2^1;

u16 time,val;
u8 dat,a;
void Timer0Init()//定时器初始化
{
        TMOD=0X01
        TH0=0xff;
        TL0=0xce
        TR0=1;
        ET0=1;
        EA=1;
}

void main()
{
        Timer0Init();//定时器初始化
        while(1)
        {
                if(time>100)//定时5ms
                {
                        time=0;
                        if(a==1)
                                val++;
                        if(a==0)
                                val--;
                }
                        if(val==1000)
                                a=0;
                        if(val==0)
                                a=1;
                        if(dat>1000)
                                dat=0;
                        if(val>dat)
                                PWM=1;
                        else
                                PWM=0;
                }
        }

void Timer0() interrupt 1
{
        TH0=0xff;
        TL0=0xce
        time++;
        dat++;
}


作者: chenl_l_    时间: 2023-6-10 16:20
知道咋回事儿了,dat数据类型定义错误了





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