51单片机DAC0832产生波形发生器(方波,三角波,锯齿波)完整程序
工具/原料
方法/步骤
1/***************************************** 名称:用DAC0832生成锯齿波 ****************************************/#include #include #define uchar unsigned char#define uint unsigned int#define DAC0832 XBYTE[0xfffe]uchar i=0,t;sbit k1=P3^0;sbit k2=P3^2;sbit k3=P3^4;void delay(uint ms){ while(ms--) for(t=0;t<120;t++);}void juchibo() //生成锯齿波{ if(k1==0) { delay(1); DAC0832=--i; delay(1); }}void sanjiaobo ()//生成三角波{ if(k2==0) { delay(1); for(i=0;i<0xff;i++) { DAC0832=i; delay(1); } for(i=0;i<0xff;i++) { DAC0832=0xff-i; delay(1); } }}void fangbo() //生成方波{ if(k3==0) { delay(1); for(i=0;i<0xff;i++) { DAC0832=0xff; delay(1); DAC0832=0; delay(1); } }}void main(){ while(1) { juchibo(); sanjiaobo (); fangbo(); }}
注意事项