Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comunicación Serial
2 RX
3 TX
5 GND
RX RX
TX TX
GND GND
RX TX
TX RX
GND GND
USART: Recepción
Para iniciar la recepción se coloca el bit CREN=‘1’ (registro RCSTA). Los bits son
recibidos uno a uno y cuando se llena el buffer RSR considerando el bit No9 (RX9=1)
el señalizador RCIF se pone a 1, pudiendo generar una interrupción.
;***********************************************
; Rutina de envío de caracteres
; el dato debe estar en el registro W (no se modifica)
;************************************************************
TxCar
nop ;asegura la estabilización del port
nop
bsf STATUS,RP0
RxError:
bcf RCSTA,CREN ; aclara OVERRUN error bit
nop
bsf RCSTA,CREN
movlw "X"
call EnviaCarLCD
call ret300ms
movlw "E"
call EnviaCarLCD
call ret300ms
return
José Oliden Martínez
Rutinas en C
; Rutina de recepción de caracteres
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6,rcv=PIN_C7)
RTS
MCU_init(); CTS
VDD
VSS
VEE
RW
23
RS
D0
D1
D2
D3
D4
D5
D6
D7
delay_ms(10); RC4/SDI/SDA
E
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
valor=read_adc(); RC7/RX/DT
26
19
RD0/PSP0
output_c(valor); RD1/PSP1
20
21
RD2/PSP2
22
printf(lcd_putc,"\f%4u",valor); RD3/PSP3
RD4/PSP4
27
28
RD5/PSP5
printf("\f%4u",valor); RD6/PSP6
RD7/PSP7
29
30
} PIC16F877A