#include<reg51.h>
#include<absacc.h>
#define DAC0832 XBYTE[0x7fff] /* 定义DAC0832端口地址 */
void square(void) /* 方波发生函数 */
{ unsigned char i;
for(i=0;i<255;i++)
DAC0832=0x00;
for(i=0;i<255;i++)
DAC0832=0xff;
}
void sanjiaobo() /* 三角波发生函数 */
{ unsigned char i;
for(i=0;i<255;i++)
{
DAC0832=i;
}
for(i=255;i>0;i--)
{
DAC0832=i;
}
}
void juchibo() //锯齿波
{unsigned char i;
for(i=0;i<255;i++)
DAC0832=i;
}
void main(void)
{
while(1)
{
switch(P1)
{ case 0xfe:while(P1==0XFF) {square();}break;
case 0xfd:while(P1==0XFF) {sanjiaobo();} break;
case 0xfb:while(P1==0XFF) {juchibo();}break;
default:square();
}
}
}