Autor Tema: Problema en comunicación serie  (Leído 1835 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Agustin123

  • PIC10
  • *
  • Mensajes: 3
Problema en comunicación serie
« en: 27 de Febrero de 2018, 17:54:43 »
Buenas, estoy utilizando un pic como "convertidor de serie a 7 segmentos" en principio funciona bien pero cuando aumento la velocidad para el multiplexado comienza a fallar, hasta 50 ms entre cada cambio de dígito se aprecia bien pero cuando bajo a 5 ms no se distinguen los números, alguno tiene idea de porque puede ser? dejo el código acá abajo, gracias desde ya.

Código: [Seleccionar]
@ device PIC16F628A, INTRC_OSC_NOCLKOUT
@ device PIC16F628A, WDT_OFF
@ device PIC16F628A, MCLR_OFF
@ device PIC16F628A, LVP_OFF

include "modedefs.bas"
TRISB.0=0
TRISB.1=0
TRISB.2=0
TRISB.3=0
TRISB.4=0
TRISB.5=0
TRISB.6=0

TRISB.7=1
led var Portb.1
SYMBOL RX = PORTB.7         ; PIN de entrada serial USART
portb=64
DATOS VAR BYTE              ; Variable para almacenar los datos recibidos
'*******************************************************************************
Main:
SERIN RX,T9600,["X"],DATOS  ; Se espera hasta recibir el código ascii X
; Los siguientes datos se almacenan en la variable DATOS
if  datos="0"  then portb=64
if  datos="1"  then portb=121 
if  datos="2"  then portb=36
if  datos="3"  then portb=48
if  datos="4"  then portb=25
if  datos="5"  then portb=18
if  datos="6"  then portb=2
if  datos="7"  then portb=120
if  datos="8"  then portb=0
if  datos="9"  then portb=16
if  datos="A"  then portb=255
GOTO Main
END

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Problema en comunicación serie
« Respuesta #1 en: 27 de Febrero de 2018, 20:28:08 »
Que tal Agustin123,

En el código que muestrtas no hay ningún multiplexado. Simplemente recibes un dato via serial y luego lo convierte a su equivalente para display de siete segmentos. Podrías colocar el código en el que haces el multiplexado?

elreypic.


 

anything