Professional Documents
Culture Documents
reflejar el nivel
;lgico de los mismos sobre los leds conectados a GP0-GP2
__config _CP_OFF&_WDT_OFF&_MCLRE_OFF&_IntRC_OSC
end
"
que por lo que veran, solo me lee las entradas en las patitas gp3,4 y 5 y me las muestra
en gp0,1 y 2.. buen comienzo no, a ver si logro subir unas capturas de una simulacion en
estos dias, mas los otros que he hecho.
por cierto,el programa lo saque de un ejemplo en un libro que se llama no me acuerdo
como pero apenas puedo les subo el nombre para recomendarselos...y tambien tratare de
darles el enlace para la ficha tecnica de este libro. bye
A, y tambien subire unos ejercicios propuestos que ya he resuelto. suerte.
TITLE "Pulsador Bar"
processor 12F508
LIST P=12F508, f=inhx8m, r=dec ;(INHX8M= Formato de salida .hex, r=sistema
decimal)
#include "p12f508.inc" ; Incluye datos de PIC12F508
__IDLOCS 0x3829 ; Solo ID de reconocimiento (tipo serial?)
__CONFIG _IntRC_OSC & _WDT_OFF & _MCLRE_OFF & _CP_ON
; ERRORLEVEL -207 ; found label after column 1
ERRORLEVEL -302 ; register in operand not in bank 0
;==============================================================
; CONFIGURACION
;==============================================================
; El PIC es configurado para usar casi todas las entradas y salidas
; posibles = 13. Por eso se usa el oscilador con cristal externo,
; Se define el clock interno a 4 MHz. Se usa el master reset (pata 4).
;**********************************************************************
; VARIABLES
;**********************************************************************
#DEFINE RAMSTART 0x07 ; Comienzo de la RAM
#DEFINE PULSADOR_ON GPIO, 0 ; Un 0 en GP0 comienza la cuenta.
#DEFINE MOZO GPIO, 5 ; Un 1 en GP5 enciende el el cartel.
#DEFINE CONTROL STATUS,Z
LLAMADA equ 1
CBLOCK RAMSTART
XMILLISEC ; Usado para el retardo
YMILLISEC ; Usado para el retardo
CUENTA1 ; Usado para los LOOPs Internos
CUENTA2 ; Usado para los LOOPs Internos
FLAGS
ENDC
;==============================================================
; VALOR DEL OSCILADOR
;==============================================================
;OSCCAL calibration value 12F508
ORG 0x1FF ; Calibracin del Oscilador Interno
MOVLW 0X1E ; Valor a cargar.
; ZONA DE CDIGOS
********************************************************************
ORG 0
Inicio
movwf OSCCAL ;CALIBRA EL OSCILADOR INTERNO
movlw b'11000010' ;CONFIGURA TMR0 PRESCALER = 1:8
OPTION ;OSCILADOR = 4MHZ
; movlw b'00000011' ;INICIALIZA TODOS LOS
movlw b'00001100'
tris GPIO ;PUERTOS EN ALTO Y
clrf GPIO
clrw
Principal
movf GPIO,W ; Lee los sensores.
andlw b'00000011' ; Mscara para quedarse con el
valor de los sensores.
addwf PCL,F ; Salta a la configuracin adecuada.
goto Configuracion0
goto Configuracion1
goto Configuracion2
Configuracion0
movlw b'00001000'
goto ActivaSalida
Configuracion1
movlw b'00000100'
goto ActivaSalida
Configuracion2
movlw b'00000011'
goto ActivaSalida
ActivaSalida
movwf GPIO
goto Principal
END
;
**********************************************************************
; This file is a basic code template for assembly code generation
*
; on the PIC12F508. This file contains the basic code
*
; building blocks to build upon.
*
;
*
; Refer to the MPASM User's Guide for additional information on
*
; features of the assembler (Document DS33014).
*
;
*
; Refer to the respective PIC data sheet for additional
*
; information on the instruction set.
*
;
*
;
**********************************************************************
;
*
; Filename: xxx.asm
*
; Date:
*
; File Version:
*
;
*
; Author:
*
; Company:
*
;
*
;
*
;
**********************************************************************
;
*
; Files Required: P12F508.INC
*
;
*
;
**********************************************************************
;
*
; Notes:
*
;
*
;
**********************************************************************
list p=12F508 ; list directive to define processor
#include <p12F508.inc> ; processor specific variable
definitions
;
**********************************************************************
ORG 0x1FF ; processor reset vector
start
nop ; example code
movlw 0xFF ; example code
movwf temp ; example code