Advertisement
Electgpl

PIC - Manchester TX ADC

Aug 31st, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.80 KB | None | 0 0
  1. #include <16F676.h>
  2. #device adc=8
  3. #FUSES NOWDT
  4. #FUSES INTRC_IO
  5. #FUSES NOPROTECT
  6. #FUSES NOBROWNOUT
  7. #FUSES NOMCLR
  8. #FUSES NOCPD
  9. #FUSES NOPUT
  10. #use delay(int=4000000)
  11. #use rs232(baud=1200,parity=N,xmit=PIN_C4,rcv=PIN_C5,bits=8)
  12. #define LED PIN_A0
  13. //Manchester IEEE 802.3
  14. void enviaMan(BYTE data){
  15.    int i,j,nibble;
  16.    for(i=0;i<2;i++){
  17.       nibble=0;
  18.       for(j=0;j<4;j++){
  19.          nibble=nibble>>2;
  20.          if(bit_test(data,0))
  21.             nibble=nibble|0x40;
  22.          else
  23.             nibble=nibble|0x80;
  24.          data=data>>1;
  25.       }
  26.       putc(nibble);
  27.       delay_ms(300);
  28.    }
  29. }
  30. void main(){
  31.    setup_adc_ports(sAN0|VSS_VDD);
  32.    setup_adc(ADC_CLOCK_DIV_2);
  33.    while(true){
  34.       set_adc_channel(0);
  35.       delay_us(10);
  36.       enviaMan(read_adc());
  37.       delay_ms(1000);
  38.    }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement