Среда, Май 27, 2020

RS-232 передача одного байта

//Передаем по RS-232 один байт - букву А,её код в ASCII - 41 hex = 01000001
#include<16f628a.H>
#use    delay(clock=4000000)
#fuses  INTRC_IO,NOWDT,NOMCLR,NOPROTECT,NOCPD,NOBROWNOUT
#use    fast_io(A)
#define TX PIN_A2
#define RX PIN_A3
void main()
{
    setup_timer_1(T1_DISABLED);
    setup_comparator(NC_NC_NC_NC);
    setup_vref(0);
    SET_TRIS_A(0b00001000);
    output_high(TX);
    delay_ms(1);
    while(TRUE){     
        output_low(TX);   //0 Старт бит
        delay_us(104);    //скорость передачи 9600 бод
        output_high(TX);  //1 младший бит байта 01000001=41Н
        delay_us(104);
        output_low(TX);   //0
        delay_us(104);  
        output_low(TX);   //0
        delay_us(104);
        output_low(TX);   //0
        delay_us(104);
        output_low(TX);   //0
        delay_us(104);
        output_low(TX);   //0
        delay_us(104);
        output_high(TX);  //1
        delay_us(104);
        output_low(TX);   //0 старший бит байта 01000001=41Н
        delay_us(104);
        output_high(TX);  //1  Стоп бит
        delay_us(104);
        delay_ms(1000);   
     };
}



                                                                                                                                           ДАЛЕЕ

Back to Top