Beruflich Dokumente
Kultur Dokumente
ALUMNO: FIRMA:
FECHA DE
ENTREGA:
PRACTICA No. 9
USART
EQUIPO Y MATERIAL:
DESARROLLO:
+
1
VCC
A
-
2
RB7 RA0
RB6 RA1
RB5 RA2 RX
RB4 RA3
RB3 RA4 TX
RB2 RA5
RB1 RA6 HC06
MCU
RB0
VCC RC6
RC7
RD0 D0
RD1 D1
RD2 D2
RD3 D3
RD4
RD5 D4
RD6 D5
RD7 D6
RC9 D7
PIC18F4550
2.- Elabore un programa que transmita en forma continua un caracter ‘#’ (23H) a través del puerto de
comunicación USART.
Txbyte
Cpuertos
ADCON1 0X0F
INTCON 0X90
RETURN
Cusart Subrutina Cusart
TXSTA 0X24
RETURN
TXREG W
RETURN
RxByte
NO
RCIF = 1
SI
W RCREG
Subrutina RxByte
Monitorea el bit RCIF hasta que una recepción se
Rdato W
haya realizado.
3.4.- A partir del tiempo medido, calcule el BAUD RATE y verifique que sea 9600 bps.
3.6.- Grafique en el siguiente recuadro la forma de onda obtenida en el osciloscopio indicando bit
de inicio, de final y los ocho bits de datos.
Cpuertos
Cusart
Rdato 00100011
Txbyte
Rxbyte
HandSh
LEER
PWM
HandSh
NO
RCIF = 1
Rdato “O”
SI
RxByte TxByte
TxByte
SI Rdato “L”
Rdato = idc Rdato “H”
NO TxByte
Rdato “?”
Rdato “A”
NO
W 0X10 – W RH W
RL W
RETURN
PWM
R6 RH
Subrutina PWM
PORTA.1 1
Utiliza los registros RH y RL para establecer los tiempos en
estado alto y en estado bajo de la señal de control del GTime
motor.
Utiliza la rutina Gtime para generar intervalos de tiempo.
PORTA.1 0
NO
GTime RL = 0 R6 RL
SI
Rtcon 0x08 GTime
Rtl 0x20
TMR0
R6 R6 - 1
NO
ZF = 1 Subrutina GTime
SI Establece los valores de los registros Rth y Rtl para un tiempo de un
milisegundo. Estos valores son utilizados en la subrutina TMR0 el
RETURN número de veces establecida en el registro R6.
TMR0
Subrutina TMR0
T0CON Rtcon
Toma los valores establecidos en los registros Rtcon, Rth
y Rtl para generar el tiempo requerido.
TMR0H Rth
TMR0L Rtl
TMR0ON 1
NO SI
TMR0IF = 1
TMR0IF 0
TMR0ON 0
RETURN
Vector de INTERRUPCION:
Establece la ejecución de la rutina de servicio CUENTA para la
interrupción INTO.
RSI
CUENTA
CUENTA
W Rnv + 1
Rutina de Servicio Cuenta.
CONCLUSIONES