Haz una pregunta
  Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/02/2008 #1


pic16f628a + 74hc165
hola gente alguien me puede decir por que no me funciona este codigo?
me estube quemando la cabeza todo el dia y no logre hacerlo funcionar, les agradeceria si alguien me puede tirar una mano.
dejo como archivo adjunto el esquematico y el codigo del pic.

'************************************************* ***************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2008 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 01/02/2008 *
'* Version : 1.0 *
'* Notes : *
'* : *
'************************************************* ***************
include "bs2defs.bas"

'define OSC 4

@ DEVICE pic16f627a, INTRC_OSC_NOCLKOUT 'xt_osc'Reloj interno solo
@ DEVICE pic16f627a, WDT_OFF ' Watchdog Timer desconectado
@ DEVICE pic16f627a, PWRT_OFF ' Power-On Timer conectado
@ DEVICE pic16f627a, BOD_ON ' Brown-Out Detect conectado
@ DEVICE pic16f627a, MCLR_OFF ' Master Clear Externo desconectado
@ DEVICE pic16f627a, LVP_OFF ' Low-Voltage Programming desconectado
@ DEVICE pic16f627a, CPD_OFF ' Data Memory Code Protect desconectado
'@ DEVICE pic16f628, _OFF '

'****************************** VARIABLES **************************************
D_in var portb.0 ' desplazam. datos (74x165.7)
Clock var portb.3 ' reloj (74x165.2)
Load var portb.4 ' carga de entrada (74x165.1)
switches VAR Byte ' interruptores de entrada

'******************************* LCD *******************************************
'los datos de los cables que detallo son de izquierda a derecha empezando
'por negativo positivo
' 1 - masa
' 2 - positivo 5VCC
' 3 - preset
' 4 - porta.0
' 5 - porta.2
' 6 - porta.1
' 7, 8 y 9 en el aire
' 10 - portb.0
' 11 - portb.1
' 12 - portb.2
' 13 - portb.3

' Define LCD registers and bits
Define LCD_DREG PORTA 'PORTB 'LCD data port
Define LCD_DBIT 0
Define LCD_RSREG PORTA 'LCD register select port
Define LCD_RSBIT 7
Define LCD_EREG PORTA 'LCD enabled port
Define LCD_EBIT 6
Define LCD_BITS 4 ' Aquí indicamos que trabajamos con 4 bits en vez de 8
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

CMCON = 7

Pause 100 ' Wait for LCD to start up

inicio:
Lcdout $FE, 1 ' Clear LCD screen
PAUSE 10
LCDOUT $FE,1,"Placa escuela"
lcdout $FE,$C0,"Iniciada"
pause 100

' -------------------------------------------------------------------------
Inicializar:
HIGH Load ' hace salida en estado alto
' -------------------------------------------------------------------------
Principal:
goto leer_pulsadores ' lee 8-pos. del dip switch
'gosub escribir
PAUSE 100
GOTO Principal ' repite
END
' -------------------------------------------------------------------------
leer_pulsadores:
PULSOUT Load,3 ' toma valores interruptores
SHIFTIN D_in,Clock,MSBPre,[B0] ' desplaza valores

escribir:
Lcdout $FE, 1 ' Clear LCD screen
PAUSE 10
LCDOUT $FE,1,"Placa escuela"
lcdout $FE,$C0,#B0
pause 10
goto leer_pulsadores

un abrazo y gracias!
14/03/2008 #2

Avatar de eserock

hola antes que nada explicame que pretendes hacer con ese circuito, conque finalidad es el 74hc165, si te quedan suficientes terminales del pic para controlar esa cantidad de push y creo que la biblioteca que incluyes no corresponde con el diseño, verifica si lo siguiente te ayuda

@ device pic16F628A, INTRC_OSC, wdt_off, pwrt_on, mclr_off, bod_on, lvp_off, protect_on

'Configurando
RBPU VAR OPTION_REG.7
CMCON = 7 'puerto A digital
RBPU = 1 'Sin Resistencias en el puerto B a positivo

Include "Modedefs.bas"



' ** Declare LCDOUT Defines **

DEFINE LCD_DREG PortB ' Set Data to PortB
DEFINE LCD_DBIT 4 ' Set starting Data to Bit4
DEFINE LCD_RSREG PortA ' Set Register Select to PortA
DEFINE LCD_RSBIT 1 ' Set RS line to PORTA.1
DEFINE LCD_EREG PortA ' Set Enable to PortA
DEFINE LCD_EBIT 0 ' Set Enable line to PortA.0
DEFINE LCD_BITS 4 ' Set for 4 bit Bus
DEFINE LCD_LINES 2 ' Set number of lines to 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

DEFINE OSC 4
con esto a mi me ha funcionado para difrentes proyectos y para no revolver mientras hago un programa nuevo hice un display lcd controlado en forma serial por solo un pin, esto me ahorra tiempo y confusiones mientras estoy haciendo el nuevo proyecto si quieres construir uno te paso toda la información diseño de pcb, firmware y esquematico
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Software de Simulación y Diseño Electrónico

Todo lo relacionado con estos programas.

Cerrar
Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.