DAC0832数模转换
产生正弦波的代码:
#include <reg52.h> #include <math.h> sbit cs1=P1^0; sbit rd=P1^1; unsigned char p,q; float f; int a; #define pi 3.1415926 void delay(unsigned char i) { unsigned char j; for(;i>0;i--) for(j=0;j<110;j++) ; } void main() { cs1=0; rd=0; while(1) { q=0; for(q=0;q<225;q++) { p=5+q; if(p>255) p=0; f=(sin(2*pi/225*q)+1)*128; a=f; P2=a; delay(10); } } }
刚开始学习单片机不久,遇到很多麻烦。学习是一个持续的过程,DAC0832作为传统的数模转换器件有其好的一面,具有8位数字的就换功能。可以用较小的成本实现你所想要的功能,而且资源丰富,值得学习。