怎样将三个模拟信号三角波方波正弦波叠加后输出?

齐斌武 2019-11-03 17:34:00

推荐回答

#include#includevoid Delayusunsigned int t;void INT0_isrvoid;void Init_PORTvoid;void INT0_initvoid;unsigned int select_num,num;unsigned int pl,zkb;const unsigned char sin_tab={0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66,/*4*/0x6D,/*5*/0x7D,/*6*/0x07,/*7*/0x7F,/*8*/0x6F/*9*/};void Delayusunsigned int t{WDR;dot--;whilet>1;WDR;}void Init_PORTvoid{PORTA = 0XFF;DDRA  = 0X00;PORTB = 0X00;DDRB  = 0XFF;PORTC = 0X00;DDRC  = 0XFF;PORTD = 0XF4;//0000 0100DDRD  = 0XFB;}void INT0_initvoid{SREG|=BIT7;MCUCR|=0x02;GICR|=BIT6;GIFR|=BIT6;}#pragma interrupt_handler INT0_isr:2void INT0_isrvoid{PORTB|=BIT0;Delayus100;num=PINA&0X1F;ifnum==0x1E{select_num++;//0001 1110ifselect_num>=4select_num=0;}ifnum==0x1Cpl++;ifnum==0x1Bpl--;ifnum==0x17zkb++;ifnum==0x0Fzkb--;}void mainvoid{unsigned int ii,jj,nn,mm,kk=100;Init_PORT;INT0_init;while1{ifselect_num==0{forii=0;ii0;nn--//产生下降波{PORTD&=~BIT0;PORTC=nn;//A口输出下降波PORTD|=BIT0;Delayuskk;//延时}}ifselect_num==3{ifmm==0mm=256;PORTD&=~BIT0;PORTC=mm--;PORTD|=BIT0;Delayuskk;}}。
黄砚华2019-11-03 18:18:04

提示您:回答为网友贡献,仅供参考。

其他回答

  • 使用运算放大器构成同相加法器可以实现你要求的功能。应根据信号频率选择合适的运放。对方波来讲,特别注意摆率这个指标,也就是转换速率,你的信号频率和幅度越高,则转换速率越大。
    米国连2019-11-03 19:00:44
  • 你Q2和Q3好像反了,还有上面的电路二号运放的输出与一号运放的输入连了没,看不清。
    章见平2019-11-03 18:36:03
  • 比较简单的方法:正弦波转方波:加过零比较器。方波转三角波:加RC滤波器。三角波转正弦波:加RC滤波器正弦波转三角波:先加过零比较器转成方波+RC滤波器转成三角波。
    龙小纯2019-11-03 18:01:11
  • 1、正弦波发生器2、方波发生器3、积分器方波输出接积分器可得到三角波。下图左侧为方波发生器,右侧为积分器。
    齐新洲2019-11-03 17:58:47

相关问答