#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar i;
void sinewave();
uchar th0=0xff;
uchar tl0=0xd6;
uchar code sinw[]={ 0x7F,0x98,0xB0,0xC6,0xD9,0xE9,0xF5,0xFC,0xFE,0xFC,0xF5,0xE9,0xD9,0xC6,0xB0,0x98
,0x7F,0x66,0x4E,0x38,0x25,0x15,0x09,0x02,0x00,0x02,0x09,0x15,0x25,0x38,0x4E,0x66};
void DAC0832(uchar outdata)
{
P0=outdata;
}
void InitTimer0()
{
TMOD=0X01;
TH0=th0;
TL0=tl0;
ET0=1;
EA=1;
TR0=1;
}
void IntTimer()interrupt 1
{
TR0=0;
P0=sinw[i];
i++;
if(i>32)
i=0;
//fangwave();
/*
P0=sinw[i];
i++;
*/
TH0=th0;
TL0=tl0;
TR0=1;
}
void fangwave()
{
if(i>16)
DAC0832(0xff);
else DAC0832(0x00);
}
void sinewave()
{
DAC0832(sinw[i]);
}
void main()
{
InitTimer0();
while(1)
{
;
}
}