新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ADC0832實(shí)現(xiàn)輸出頻率為50HZ的正弦波

ADC0832實(shí)現(xiàn)輸出頻率為50HZ的正弦波

作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
//-----------------------------
功能: ADC0832實(shí)現(xiàn)輸出頻率50HZ正弦波
1、P0口送數(shù)據(jù),
2、P2。0口作為片選信號
P21是DAC啟動信號;

#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={ //正弦波的數(shù)據(jù)
128,130,132,135,137,139,141,144,146,148,150,152,155,157,159,161
163,165,168,170,172,174,176,178,180,182,184,186,188,190,192,194
196,198,200,201,203,205,207,209,210,212,214,215,217,219,220,222
223,225,226,227,229,230,232,233,234,235,237,238,239,240,241,242
243,244,245,246,247,247,248,249,250,250,251,252,252,253,253,254
254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,254,254,254,253,253,252,252,251,250,250,249,248,247
247,246,245,244,243,242,241,240,239,238,237,235,234,233,232,230
229,227,226,225,223,222,220,219,217,215,214,212,210,209,207,205
203,201,200,198,196,194,192,190,188,186,184,182,180,178,176,174
172,170,168,165,163,161,159,157,155,152,150,148,146,144,141,139
137,135,132,130,128,126,124,121,119,117,115,112,110,108,106,104
101,99,97,95,93,91,88,86,84,82,80,78,76,74,72,70,68,66,64,62,60,58
56,55,53,51,49,47,46,44,42,41,39,37,36,34,33,31,30,29,27,26,24,23,22
21,19,18,17,16,15,14,13,12,11,10,9,9,8,7,6,6,5,4,4,3,3,2,2,2,1,1
1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,4,4,5,6,6,7,8,9,9,10,11,12
13,14,15,16,17,18,19,21,22,23,24,26,27,29,30,31,33,34,36,37,39,41,42
44,46,47,49,51,53,55,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86
88,91,93,95,97,99,101,104,106,108,110,112,115,117,119,121,124,126,128
};
sbit cs=P2^0;
sbit dac=P2^1;
uchar num1,num2,num3,flag;
uchar aa,bb;
void delay();
void ad0832();
void main()
{
TMOD=0x01;
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
ET0=1;
EA=1;
TR0=1;

while(1)
{
if(flag==1)
{ i++;
if(table[i]==