PURPIC, el clon PICkit2 usable (5 / 9 paso)

Paso 5: PIC 12F508 anotado código fuente; Si alguien tiene un problema de montaje como, por favor comenten

lista p = 12F508; Directiva lista para definir procesador
#include; definiciones de variables específicas del procesador

__CONFIG _MCLRE_OFF & _CP_ON & _WDT_OFF & _IntRC_OSC

; Directiva "__CONFIG" se utiliza para insertar palabra de configuración en el archivo .asm.
; Los lables de tras la Directiva se encuentran en el archivo .inc respectivos.
; Ver hoja de datos correspondiente para obtener información adicional en la palabra de configuración.

; *** DEFINICIONES DE VARIABLES
cblock h 07
www
qw2
Temp
prueba
contador
counter2
on_counter
off_counter
CDDN

; PINOUT
; el pin 1 es poder
; el pin 8 es tierra
; no está conectado el pin 5
botón equ 3; pin 4, para el botón. pullup interna se establece
salida equ 4; pin 3, el P-FET; no hay pullup interna en este pin.
Que debo haber poner un pullup físico en la puerta P-FET,
; en caso de que el PIC a una baja de voltaje o de lo contrario falle.
LED equ 1; pin 6, Hola = en Lo = off
LBI equ 5; aquí va el pin 2, salida de indicador de batería baja de la LT1308.
Si se establece el "bias" resistencias 825K y 67K
; el valor de consigna es 2.9V. Ver hoja de datos de LT1308 para los detalles.
; este pin no tiene también un pullup interna. Olvide de poner esto en el pcb. :)

;**********************************************************************
ORG 0X3FF; vector de reset del procesador

; Valor de calibración RC interno se coloca en lugar 0x3FF por Microchip
; como un movlw k, donde k es un valor literal.

ORG 0X000; codificación comienza aquí
movwf OSCCAL; registro de actualización con valor de fábrica cal

inicializar
movlw b '00000000'
; 7:lo_enable despertador; 6:lo_enable pullups débil; 5:lo_timer reloj fuente es interna
; 4:hi_timer fuente de reloj habilitado en flanco descendente; 3:lo_prescaler seleccione temporizador (vs WDT)
2-0:prescaler (p22)
opción

Inicio
llamada clara; set tristate y salida de pines de I/O por defecto/estado
btfss GPIO, botón, compruebe el estado del botón
Goto en; si pulsa goto
sueño; si no, goto sueño
NOP
En
BSF GPIO, LED; enciende LED
BCF GPIO, salida; activar P-FET
Llame a DD; Debounce Delay
btfss GPIO, botón, compruebe el estado del botón
Goto $-1; espere hasta que se libera antes de continuar con el bucle principal
llamada DD
lazo
btfss GPIO, LBI; este comprueba el indicador de batería baja
Goto LB_shutdown; si los baja, luego ir apagado de batería baja

btfsc GPIO, botón; siempre y cuando no se presiona el botón, el PIC se queda en "bucle".
Goto bucle
cierre; si se pulsa el botón, todo se apaga y el PIC se va a dormir.
; Este dispositivo comienza al principio del código cuando despierta, FYI
Llame a claro;
llamada DD
botón del btfss GPIO,
Goto $-1
llamada DD
sueño
NOP
; Subroutines;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
claro
movlw b '101000'
Tris GPIO
movlw b '010000'
movwf GPIO
volver; este dispositivo realmente no tiene un comando de "retorno".
; Se trata de un pseudo-comando, que actualmente está montado como el "retlw 0" comando.
; Que sólo significa que coloca 0 literal en el acumulador W cuando aparece.
DD
movlw.100
movwf qw2
Goto dsub.2
DSUB.2
decfsz qw1
Goto $-1
decfsz qw2
Goto $-3
volver
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LB_shutdown; Esta es la secuencia de cierre de pantalones de lujo
LB.1
clrf contador
LB.2
btfss GPIO, LBI
Goto LB.3
BSF GPIO, LED
Goto bucle
LB.3
Goto $+ 1; sólo un retraso extra
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
decfsz contador, f
Goto $+ 2
Goto shutdown_kewl
movf contador, w
movwf qw2
movlw b '000010'
xorwf GPIO, f
llamada DLB
movwf temp
decfsz temp, f
Goto LB.2
Goto Apagar

DLB; rutina de retardo batería baja
btfss GPIO, botón, verificar constantemente el estado del botón
retlw.1; si se pulsa, entonces inmediatamente pop con.1 literal en el acumulador,
; así que sabemos que el botón
; fue presionado y el retraso fue salió temprano... así podremos Apagar
; el poder en lugar de seguir la fantasía pantalones blinky luz cerró en rutina.
Goto $+ 1
decfsz qw1
Goto DLB
decfsz qw2
Goto DLB
retlw.0

shutdown_kewl; se descolora hacia fuera el LED, en lugar de simplemente apagar
clrf on_counter
movlw.1
movwf off_counter
shutdown_kewl.1
BSF GPIO, LED
llamar al on_delay
BCF GPIO, LED
llamar al off_delay
off_counter incf, f
decfsz on_counter, f
Goto shutdown_kewl.1
Goto Apagar
on_delay
movf on_counter, w
movwf qw2
Goto se descolora
off_delay
movf off_counter, w
movwf qw2
Goto se descolora
se desvanecen
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
Goto $+ 1
decfsz qw2, f
Goto se descolora
volver

FINAL; Directiva 'fin del programa'

Artículos Relacionados

Árbol de Navidad de POV

Árbol de Navidad de POV

todavía no tiene un árbol para estas vacaciones?, no te preocupes aquí tienes un árbol pequeño, reutilizable, atractivo para sus necesidades de vacaciones.Este proyecto comenzó como un SMD soldadura tutorial para un curso que he hecho en electrónica,
Programador PIC USB

Programador PIC USB

Bien traigo programador pic casero, barato clon pickit2 y soporte de productos microchip pic 18F2550 se utiliza, este controlador tiene un voltaje de salida de 3.3v y 5v para diferentes pic que utilizan voltajes diferentes.Así se construye este progr
Cómo utilizar un LilyTiny clon CJMCU / comentario programador clon de las Naciones Unidas LilyTiny CJMCU

Cómo utilizar un LilyTiny clon CJMCU / comentario programador clon de las Naciones Unidas LilyTiny CJMCU

Le de signo de la comentario "apprendre allons dans ce tutoriel nous" clon CJMCU de la carta Sparkfun LilyTiny basée sur le contrôleur micro ATTiny. Cette carte existe sous deux formatos: pour compatible con protoboard et pour e-textile. Vierta
Actualizar su DigiSpark (clon) con un bootloader menor

Actualizar su DigiSpark (clon) con un bootloader menor

Después mi DigiSparkclon, que pedí en ebay. ¿(recuerde la Junta rev3 que ellos nunca crearon? Bueno, conseguí que uno de un vendedor chino), me di cuenta de algo muy interesante - pin 5 seguía siendo un pin de reset. El fusible que hace este pin que
Fender Tweed Deluxe 5e3 clon construir basado en TAD Tweed Deluxe Kit

Fender Tweed Deluxe 5e3 clon construir basado en TAD Tweed Deluxe Kit

El Fender Tweed Deluxe es un amplificador de guitarra que fue construido por Fender desde 1948 a 1966 en diferentes versiones. La última versión era la versión de panel estrecho 5E3. El Fender Tweed Deluxe fue el amplificador tweed más popular produc
FireFly usable

FireFly usable

Hacer una luciérnaga usable que se enciende cuando las alas se encuentranPaso 1: Materiales necesariosTela coloridaEsmalte de uñas para que coincida con el color de las alasPerlas de brillo para los ojos (opcionales)Tejido conductor (hierro a)HierroP
Usable para la Navidad.

Usable para la Navidad.

Hola a todos, quiero hacer algo divertido y fresco para la temporada navideña, aquí es un Instructable para aquellos que estén interesados en moda y accesorios personales.Ver el vídeo sobre el funcionamiento de este proyecto.Cada vez que alguien le a
Manejable Segway clon - bajo costo y fácil construcción

Manejable Segway clon - bajo costo y fácil construcción

Este Instructable le mostrará cómo construir un clon de Segway capaz de paseo. Aquí están sus características:Fácil montaje sin soldaduras, no complicada dirección acoplamiento y soldadura mínima.Utiliza un fácilmente disponible $3 digital Junta IMU
Kermit el clon de la rana

Kermit el clon de la rana

/ * definiciones de estilos * / tabla. MsoNormalTable {mso-estilo-nombre: "Normale Tabelle"; mso-tstyle-rowband-tamaño: 0; mso-tstyle-colband-tamaño: 0; mso-estilo-noshow:yes; mso-estilo-parent: ""; mso-padding-alt: 0 en 5.4pt 0 en 5.4
Mod de Varitone guitarra de Stratocaster clon

Mod de Varitone guitarra de Stratocaster clon

este Instructable es mostrar cómo montado un mod de Varitone a mi vintage Cruzer Stratocaster clon. Sentí que esto era de mérito como la guitarra juega bien y tiene un agradable acton y quería ver si podía mejorar el tono.** NOTA **** ESTE NO ES MI D
Cómo crear un ejército de clones de Star Wars LEGO

Cómo crear un ejército de clones de Star Wars LEGO

uno de los más buscados después de LEGO logro entre los fans de Star Wars LEGO es para crear un ejército de clones troopers como hemos visto en las películas de Star Wars y la serie de televisión. Sin embargo, esto puede ser una tarea bastante costos
Desbloqueo réplica de holocrón Jedi de Star Wars: las Guerras Clon animadas

Desbloqueo réplica de holocrón Jedi de Star Wars: las Guerras Clon animadas

Este es un tutorial para hacer una luz y desbloqueo réplica del Jedi holocrón en Star Wars: The Clone Wars Animated.Esto puede ir desde una configuración de "bloqueada" a una configuración de "desbloqueo" y luego a una configuración &q
DIY rata clon guitarra efectos Pedal de distorsión - la rata muerta

DIY rata clon guitarra efectos Pedal de distorsión - la rata muerta

esto no es ningún pedal de distorsión de Mickey Mouse!Este pedal es un clon de uno de mis pedales de efectos favoritos de los 80... RAT distorsión del ProCo. Es un pedal de distorsión OpAmp básico usando el chip IC LM308N clásico que es una construcc
Clones de Arduino ilimitado: el Otherduino

Clones de Arduino ilimitado: el Otherduino

Hola, este es Owen desde otra máquina Co. y voy a mostrarte cómo hacer sus propios clones de Arduino en el Othermill! Arduino es una plataforma de prototipado que tiene una base de usuarios masiva y toneladas de tutoriales y código disponible, que pe