با سلام
ایا می شه با avrو با dac8بیتی یه موج سینوسی 200khzساخت.
ممنون می شم که کمکم کنید
ایا می شه با avrو با dac8بیتی یه موج سینوسی 200khzساخت.
ممنون می شم که کمکم کنید
#include <mega32.h> #include <math.h> #include <delay.h> #include <stdio.h> // Alphanumeric LCD functions #include <alcd.h> char a[256],i=0,s,select=0; double x; interrupt [TIM1_OVF] void timer1_ovf_isr(void) { PORTD=a[i]; i++; if(i==255)i=0; TCNT1H=0xff; TCNT1L=0xf7; } void main(void) { a[0]=131; a[1]=134; a[2]=137; a[3]=140; a[4]=144; a[5]=147; a[6]=150; a[7]=153; a[8]=156; a[9]=159; a[10]= 162; a[11]= 165; a[12]=168;a[13] = 171;a[14]= 174;a[15] =177;a[16]=180;a[17]=183;a[18]=185;a[19]=188;a[20]=191; a[21]=194;a[22]= 196;a[23]=199;a[24]= 201;a[25]= 204;a[26]=206;a[27]= 209;a[28] =211;a[29]= 214;a[30]=216;a[31]=218;a[32]=220;a[33]=222; a[34]=225;a[35]= 227;a[36]=229;a[37]= 230;a[38]= 232;a[39]=234;a[40]= 236;a[41]=237;a[42]= 239;a[43]=240;a[44]= 242;a[45]= 243;a[46]=245; a[47]=246;a[48]= 247;a[49] =248;a[50]=249;a[51] =250;a[52] =251;a[53] =252;a[54] =252;a[55] =253;a[56]=254;a[57]= 254;a[58]= 255;a[59]= 255; a[60]=255;a[61]=255;a[62] =255;a[63]= 255;a[64] =255;a[65]= 255;a[66] =255;a[67]= 255;a[68]= 255;a[69] =254;a[70] =254;a[71] =253;a[72]= 252; a[73]=252;a[74]= 251;a[75] =250;a[76]= 249;a[77] =248;a[78]= 247;a[79]= 246;a[80] =245;a[81]= 243;a[82] =242;a[83] =240;a[84] =239;a[85] =237; a[86]=236;a[87]= 234;a[88] =232;a[89]= 230;a[90] =229;a[91]= 227;a[92]= 225;a[93] =222;a[94]= 220;a[95] =218;a[96] =216;a[97] =214;a[98] =211; a[99]=209;a[100]= 206;a[101]= 204;a[102]= 201;a[103]= 199;a[104]= 196;a[105]= 194;a[106] =191;a[107] =188;a[108] =185;a[109] =183;a[110]= 180;a[111] =177; a[112]=174;a[113]= 171;a[114] =168;a[115]= 165;a[116]= 162;a[117]= 159;a[118]= 156;a[119]= 153;a[120]= 150;a[121]= 147;a[122] =144;a[123]= 140;a[124] =137; a[125]=134;a[126]= 131;a[127] =128;a[128]= 125;a[129]= 122;a[130]= 119;a[131] =116;a[132]= 112;a[133]= 109;a[134]= 106;a[135] =103;a[136]= 100;a[137] = 97; a[138]=94;a[139] = 91;a[140] =88;a[141] = 85;a[142] = 82;a[143] = 79;a[144] = 76;a[145] = 73;a[146] = 71;a[147] = 68;a[148] =65;a[149]= 62;a[150] = 60; a[151]=57;a[152] = 55;a[153] =52;a[154] = 50;a[155] = 47;a[156] = 45;a[157] = 42;a[158] = 40;a[159]= 38;a[160] = 36;a[161] = 34;a[162]= 31;a[163] = 29; a[164]=27;a[165] = 26;a[166] =24;a[167] = 22;a[168] = 20;a[169] = 19;a[170] = 17;a[171] = 16;a[172] = 14;a[173] = 13;a[174] =11;a[175]= 10;a[176] = 9; a[177]=8;a[178] = 7;a[179] =6;a[180] = 5;a[181] = 4;a[182] = 4;a[183] = 3;a[184] = 2;a[185] = 2;a[186] = 1;a[187] = 1;a[188] = 1;a[189] = 1; a[190]=1;a[191] = 1;a[192] =1;a[193] = 1;a[194] = 1;a[195] = 1;a[196] = 1;a[197] = 2;a[198] = 2;a[199] = 3;a[200] = 4;a[201] = 4;a[202] = 5; a[203]=6;a[204] = 7;a[205] =8;a[206] = 9;a[207] =10;a[208] =11;a[209] = 13;a[210] =14;a[211] =16;a[212] =17;a[213] =19;a[214] = 20;a[215] = 22; a[216]=24;a[217] = 26;a[218] =27;a[219] = 29;a[220] = 31;a[221] = 34;a[222] =36;a[223] = 38;a[224] =40;a[225] = 42;a[226] = 45;a[227]= 47;a[228]= 50; a[229]=52;a[230] = 55;a[231] =57;a[232] = 60;a[233] = 62;a[234] = 65;a[235] =68;a[236] = 71;a[237] =73;a[238] = 76;a[239] = 79;a[240]= 82;a[241]= 85; a[242]= 88;a[243]= 91;a[244]= 94;a[245]= 97;a[246]= 100;a[247]= 103;a[248] =106;a[249]= 109;a[250] =112;a[251]= 116;a[252]= 119;a[253]= 122;a[254]=125;a[255]=128; // Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTA=0x00; DDRA=0xFF; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; DDRC=0xFF; // Port D initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTD=0x00; DDRD=0xFF; TCCR1A=0x00; TCCR1B=0x01; TCNT1H=0xff; TCNT1L=0xf7; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; TIMSK=0x04; // LCD module initialization lcd_init(16); // Global enable interrupts #asm("sei") while (1) { }; }
دیدگاه