用查表法做个正弦波,出来怎么不对,求帮看看

2019-07-15 20:13发布

         #include<reg51.h>
                 #include<absacc.h>
                 #define DAC0832 XBYTE[0x7fff]
                 #define uchar unsigned char
              
                 uchar code Sinetab[256]=
                 {
                        0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,
            0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,
            0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xab,0xad,
            0xaf,0xb1,0xb2,0xb4,0xb6,0xb7,0xb9,0xba,
            0xbc,0xbd,0xbf,0xc0,0xc1,0xc3,0xc4,0xc5,
            0xc6,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,
            0xce,0xcf,0xd0,0xd1,0xd1,0xd2,0xd2,0xd3,
            0xd3,0xd3,0xd2,0xd2,0xd1,0xd1,0xd0,0xcf,
            0xce,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8,
            0xc6,0xc5,0xc4,0xc3,0xc1,0xc0,0xbf,0xbd,
            0xbc,0xba,0xb9,0xb7,0xb6,0xb4,0xb2,0xb1,
            0xaf,0xad,0xab,0xaa,0xa8,0xa6,0xa4,0xa2,
            0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,
            0x90,0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82,
            0x80,0x7d,0x7b,0x79,0x77,0x75,0x73,0x71,
            0x6f,0x6d,0x6b,0x69,0x67,0x65,0x63,0x61,
            0x5f,0x5d,0x5b,0x59,0x57,0x55,0x54,0x52,
            0x50,0x4e,0x4d,0x4b,0x49,0x48,0x46,0x45,
            0x43,0x42,0x40,0x3f,0x3e,0x3c,0x3b,0x3a,
            0x39,0x37,0x36,0x35,0x34,0x33,0x32,0x31,
            0x31,0x30,0x2f,0x2e,0x2e,0x2d,0x2d,0x2c,
            0x2c,0x2b,0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,
            0x2a,0x2a,0x2a,0x2a,0x2b,0x2b,0x2b,0x2b,
            0x2c,0x2c,0x2d,0x2d,0x2e,0x2e,0x2f,0x30,
            0x31,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
            0x39,0x3a,0x3b,0x3c,0x3e,0x3f,0x40,0x42,
            0x43,0x45,0x46,0x48,0x49,0x4b,0x4d,0x4e,
            0x50,0x52,0x54,0x55,0x57,0x59,0x5b,0x5d,
            0x5f,0x61,0x63,0x65,0x67,0x69,0x6b,0x6d,
            0x6f,0x71,0x73,0x75,0x77,0x79,0x7b,0x7d,
                };


                void main()
                {
                  unsigned char i;
                  while(1)
                  {
                    for(i=0;i<255;i++)
                        {
                                DAC0832=Sinetab[i];
                       
                        }
                  }
                }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Jack315
1楼-- · 2019-07-16 00:47
貌似多了个逗号:            0x6f,0x71,0x73,0x75,0x77,0x79,0x7b,0x7d,
                };
应该是:
            0x6f,0x71,0x73,0x75,0x77,0x79,0x7b,0x7d
                };
qq729101414
2楼-- · 2019-07-16 01:42
for(i=0;i<255;i++)  i 从0~254共255个数据   楼主这个表示怎么得出来了?
qq729101414
3楼-- · 2019-07-16 01:42
Book1.xls (26.5 KB, 下载次数: 16) 这是用MATLAB 整的那个256点的查找表 你试试好使不 untitled.fig (4.97 KB, 下载次数: 7) 这个是还原与源信号的比较 基本没啥差别。。{:1:} untitled.bmp

一周热门 更多>