用51mcu产生正弦波
这几天搞了个用51mcu和0832产生正弦波的c51.由于在网找的资料不是不全就是产生的波型不好,所以自己就研究了一下,自己写了个,并用vb作了的正弦波计算器.现传上来大家看看还有什么要改正的?
代码如下:
#include"reg51.h"
//#include"absacc.h"
#define DA P1
unsigned char code wave[]=
{
128, 131, 134, 137, 140, 143, 146, 149, 152, 156,
159, 162, 165, 168, 171, 174, 176, 179, 182, 185,
188, 191, 193, 196, 199, 201, 204, 206, 209, 211,
213, 216, 218, 220, 222, 224, 226, 228, 230, 232,
234, 236, 237, 239, 240, 242, 243, 245, 246, 247,
248, 249, 250, 251, 252, 252, 253, 254, 254, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
254, 254, 253, 252, 252, 251, 250, 249, 248, 247,
246, 245, 243, 242, 240, 239, 237, 236, 234, 232,
230, 228, 226, 224, 222, 220, 218, 216, 213, 211,
209, 206, 204, 201, 199, 196, 193, 191, 188, 185,
182, 179, 176, 174, 171, 168, 165, 162, 159, 156,
152, 149, 146, 143, 140, 137, 134, 131, 127, 124,
121, 118, 115, 112, 109, 106, 103, 99, 96, 93,
90, 87, 84, 81, 79, 76, 73, 70, 67, 64,
62, 59, 56, 54, 51, 49, 46, 44, 42, 39,
37, 35, 33, 31, 29, 27, 25, 23, 21, 19,
18, 16, 15, 13, 12, 10, 9, 8, 7, 6,
5, 4, 3, 3, 2, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2, 3, 3, 4, 5, 6, 7, 8, 9, 10,
12, 13, 15, 16, 18, 19, 21, 23, 25, 27,
29, 31, 33, 35, 37, 39, 42, 44, 46, 49,
51, 54, 56, 59, 62, 64, 67, 70, 73, 76,
79, 81, 84, 87, 90, 93, 96, 99, 103, 106,
109, 112, 115, 118, 121, 124
};
unsigned char i="0";
void delay1ms(unsigned int n)
{
unsigned int m="0",j=0;
for (m=n;m>0;m--)
for (j=0;j<120;j++);
}
void main()
{
while(1)
{
DA="wave"[i++];
delay1ms(1000);
}
}
keil工程和vb小软件整理一下在传!
文章评论(0条评论)
登录后参与讨论