Nuevo en el Foro

Registrado: 26 Dic, 2010
Mensajes: 1
|
| Hola!!! ya hace varios años trabaje con el 16f84a este año quise volver a trabajar con pic pero quise saltar a un pic más nuevo el 16f873a y me lleve la sorpresa de tener que cambiar de grabador, salvando este problema comprando un nuevo grabador de pic, segui programado y grave el 16f873a y nunca lo logre hacer andar verifique todas las configuraciones que pude pero no funciono, les paso el código que quise hacer andar, solo quiero que prenda un led al pulsar un botón con una temporización , cosa que yo asia con facilidad en el 16f84a y ahora no logro realizar nada en el nuevo pic.
El problema me dicen es de digitalizar las entradas, pero configuro las entradas como digitales y sigo igual sin que el pic me responda.
Programo y gravo con el Mplab y el grabador es un pickit2.
La verdad e leido los manuales y las hojas de datos del pic y buscado la mayor información posible y puesto todo el esfuerzo posible, pero me a sido en vano, por eso recurro a ustedes espero que me puedan ayudar, desde ya muchas gracias anticipadas, saludos esteban
este es el código el cual e modificado un montón de veces pero no me responde al pulsarlo, si me responde la lógica interna pero no logro controlar nada desde el exterior:
list p=16f873 a
#include <p16f873a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;ver pwrte_on cp_off
;ver forma de onda de la alimentacion
;a que valor esta configurado el puerto a?
; org 0x05 ORG 5 Línea de inicio
status equ 0x03
porta equ 0x05
portb equ 0x06
intcon equ 0x0B
optionr equ 0x81
trisa equ 0x85
trisb equ 0x86
TEMP1 equ 0x21
TEMP2 equ 0x22
#define LED porta,0
#define BANK1 bsf status,5
#define BANK0 bcf status,5
org 0x00 ;aparentemente bien
;///// Etapa configuración
;BANK0
bcf status,5 ; bank0
bcf status,6 ; bank0
bcf intcon,4
;saco watch_dog
; bcf CON_WORD,2
; Deshabilito las int
bcf intcon, 7
;BANK1
bsf status,5 ; bank1
bcf status,6 ; bank1
; Puerto B como salida entero
movlw 00h
movwf trisb
;BANK0
bcf status,5 ; bank0
bcf status,6 ; bank0
movlw 00h
movwf portb
; Puerto A como entrada
;BANK1
bsf status,5 ; bank1
bcf status,6 ; bank1
movlw 0ffh
movwf trisa
;BANK0
bcf status,5 ; bank0
bcf status,6 ; bank0
movlw 00h
movwf porta
funciona
vuelta
call encendido
btfsc porta,0
goto vuelta
goto tr
tr call apagado
btfsc porta,0
goto tr
goto vuelta
goto funciona
encendido
movlw 0xff
movwf portb
call retardo
call retardo
movlw 0x00
movwf portb
call retardo
call retardo
movlw 0xff
movwf portb
call retardo
call retardo
movlw 0x00
movwf portb
return
apagado
movlw 0x00
movwf portb
call retardo
call retardo
call retardo
return
retardo
DEL500 MOVLW .200
MOVWF TEMP1
BBBB MOVLW .250
MOVWF TEMP2
AAAA NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ TEMP2
GOTO AAAA
DECFSZ TEMP1
GOTO BBBB
RETLW 0
return
end |
| |
|
|