daily pastebin goal
8%
SHARE
TWEET

Untitled

a guest Jan 20th, 2019 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <mega32.h>
  2.     #include <delay.h>
  3.  
  4.     void main(void)
  5.     {
  6.  
  7.     DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
  8.     // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
  9.     PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
  10.  
  11.  
  12.     DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);
  13.  
  14.     PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
  15.  
  16.  
  17.     DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
  18.  
  19.     PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
  20.  
  21.  
  22.     DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
  23.  
  24.     PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
  25.  
  26.     // Timer/Counter 0 initialization
  27.     // Clock source: System Clock
  28.     // Clock value: Timer 0 Stopped
  29.     // Mode: Normal top=0xFF
  30.     // OC0 output: Disconnected
  31.     TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);
  32.     TCNT0=0x00;
  33.     OCR0=0x00;
  34.  
  35.  
  36.     TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
  37.     TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
  38.     TCNT1H=0x00;
  39.     TCNT1L=0x00;
  40.     ICR1H=0x00;
  41.     ICR1L=0x00;
  42.     OCR1AH=0x00;
  43.     OCR1AL=0x00;
  44.     OCR1BH=0x00;
  45.     OCR1BL=0x00;
  46.  
  47.     ASSR=0<<AS2;
  48.     TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
  49.     TCNT2=0x00;
  50.     OCR2=0x00;
  51.  
  52.     // Timer(s)/Counter(s) Interrupt(s) initialization
  53.     TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);
  54.  
  55.  
  56.     MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
  57.     MCUCSR=(0<<ISC2);
  58.  
  59.  
  60.     UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
  61.  
  62.     ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
  63.     SFIOR=(0<<ACME);
  64.  
  65.     // ADC initialization
  66.     // ADC disabled
  67.     ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
  68.  
  69.     SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
  70.  
  71.     TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
  72.  
  73.     while (1)
  74.           {    
  75. //Ниже код генерации такого пилообразного сигнала  
  76.           int i;
  77.           for(i = 0; i <255; i++) {
  78.           PORTB = i;
  79.           }    
  80.           for(i = 255; i > 0; i--) {
  81.           PORTB = i;
  82.           }      
  83.           }
  84.     }
  85. Хочу добавить , что используя R2R цап собирал wav плеер, то есть возможности очень широки. Ниже вид сигнала который я получил этой программкой.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top