PURPIC, le clone PICkit2 portable (5 / 9 étapes)

Étape 5: PIC 12F508 annoté code source ; Si quelqu'un a un problème de montage tel qu’affiché, s’il vous plaît commentaire

liste p = 12F508 ; directive de la liste pour définir le processeur
#include ; définitions de variables spécifiques processeur

__CONFIG _MCLRE_OFF & _CP_ON & _WDT_OFF & _IntRC_OSC

; Directive « __CONFIG » est utilisé pour intégrer le mot de configuration dans le fichier .asm.
; Suite à la directive sur l’aide des étiquettes sont trouvent dans le fichier .inc respectifs.
; Voir la fiche respectifs pour plus d’informations sur le mot de configuration.

; *** DÉFINITIONS VARIABLES
cblock 07h
qw1
qw2
Temp
test
compteur
counter2
on_counter
off_counter
ENDC

; BROCHAGE
; la broche 1 est puissance
; Broche 8 est au sol
; broche 5 n’est pas connecté
broche 4, au bouton bouton equ 3 ; pullup interne a la valeur
sortie equ 4; broche 3, à la P-FET ; Il n’y a aucun pullup interne sur cette broche.
Je devrais ont mis une pullup physique sur la porte P-FET,
; dans le cas où le commandant de bord ont été à une baisse de tension ou sinon de mal fonctionner.
Equ LED 1; broche 6, Salut = marche, Lo = off
LBI equ 5; insérer ici le code pin 2, sortie indicateur batterie faible de la LT1308.
Si vous affectez les résistances de polarisation K 825 et 67K
; le point de consigne est 2.9V. Voir la fiche technique de LT1308 pour les détails.
; Cette broche n’a également pas une pullup interne. J’ai n’oubliez pas de mettre cela sur le circuit imprimé. :)

;**********************************************************************
ORG 0X3FF ; processeur vectoriel de réinitialisation

; Valeur d’étalonnage RC interne est placé à l’emplacement 0x3FF par Microchip
; comme un movlw k, où k est une valeur littérale.

ORG 0X000 ; codage commence ici
movwf OSCCAL ; mise à jour de Registre avec la valeur d’usine cal

initialiser
movlw b "00000000"
; 7:lo_enable réveil ; 6:lo_enable faibles tractions ; 5:lo_timer source d’horloge est interne
; 4:hi_timer source d’horloge activé sur front descendant ; 3:lo_prescaler sélectionnez timer (vs WDT)
2-0:prescaler (p22)
option

début
appel clair ; tristate set et sortie des broches d’e/s par défaut/arrêt État
btfss GPIO, bouton ; vérifier l’état du bouton
Goto sur ; si pressé, goto
sommeil ; sinon, goto sommeil
NOP
Sur
BSF GPIO, LED, LED s’allume
BCF GPIO, sortie ; allumer P-FET
composez le JJ ; retard Debounce
btfss GPIO, bouton ; vérifier l’état du bouton
GoTo $-1; attendez sa sortie avant de poursuivre vers la boucle principale
composez le DD
boucle
btfss GPIO, LBI ; ce vérifie l’indicateur de batterie faible
Goto LB_shutdown ; si tiré vers le bas, puis goto arrêt de batterie faible

btfsc GPIO, bouton ; tant que la touche n’est pas pressée, le commandant de bord reste dans la « boucle ».
Goto boucle
Shutdown ; si le bouton est enfoncé, tout s’éteint et le commandant de bord se met en veille.
; Ce dispositif commence au début du code quand il se réveille, FYI
Appelez claire ;
composez le DD
btfss GPIO, bouton
GoTo $-1
composez le DD
sommeil
NOP
; Subroutines;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
claire
movlw b « 101000 »
Tris GPIO
movlw b « 010000 »
movwf GPIO
retour ; ce dispositif n’en fait pas une commande « retour ».
; Il s’agit d’une Pseudo-commande, qui est effectivement Assemblée comme le "retlw 0" commande.
; Qui signifie juste qu’il place les littéral 0 dans l’accumulateur W quand il saute.
DD
movlw.100
movwf qw2
Goto dsub.2
DSUB.2
decfsz qw1
GoTo $-1
decfsz qw2
Goto $-3
retour
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LB_shutdown ; Il s’agit de la séquence d’arrêt fantaisie-Jeans/Pantalons
LB.1
CLRF compteur
LB.2
btfss GPIO, LBI
Goto LB.3
BSF GPIO, LED
Goto boucle
LB.3
GoTo $+ 1 ; juste quelques retard supplémentaire
GoTo $+ 1
GoTo $+ 1
GoTo $+ 1
GoTo $+ 1
GoTo $+ 1
GoTo $+ 1
GoTo $+ 1
decfsz compteur, f
Goto $+ 2
Goto shutdown_kewl
movf compteur, w
movwf qw2
movlw b « 000010 »
xorwf GPIO, f
appel de DLB
movwf temp
decfsz f temp,
Goto LB.2
arrêt de Goto

DLB ; Routine batterie faible retard
btfss GPIO, bouton ; constamment vérifier l’état du bouton
retlw.1 ; si elle est enfoncée, puis immédiatement pop avec.1 littéral dans l’accumulateur,
; donc, nous savons que le bouton
; a été pressé et le retard a été sorti dès le début... donc nous pouvons désactiver
; la puissance plutôt que de continuer la fantaisie pantalon léger blinky, arrêtez de routine.
GoTo $+ 1
decfsz qw1
Goto DLB
decfsz qw2
Goto DLB
retlw.0

shutdown_kewl ; fondu de la LED, plutôt que simplement de l’éteindre
CLRF on_counter
movlw 1.
movwf off_counter
shutdown_kewl.1
BSF GPIO, LED
appel on_delay
BCF GPIO, LED
appel off_delay
RIFC off_counter, f
decfsz on_counter, f
Goto shutdown_kewl.1
arrêt de Goto
on_delay
movf on_counter, w
movwf qw2
Goto fondu
off_delay
movf off_counter, w
movwf qw2
Goto fondu
se fanent
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 fondu
retour

FIN ; directive « fin de programme »

Articles Liés

Rénovation d’émetteur portable FM

Rénovation d’émetteur portable FM

Décrit comment ajouter une émetteur FM stéréo de très courte portée à un téléphone portable ou un lecteur MP3 pour utilisation dans une voiture.Étape 1: Circuit et Conseil Ce projet est plus complex qu'il n'y paraît. Les défis sont les interférences
Développer pour prendre des photos à l’aide d’un Mac : Friendly UI

Développer pour prendre des photos à l’aide d’un Mac : Friendly UI

frustrés par le fait que vous avez à perdre son temps dans la borne juste à compiler et télécharger des programmes PIC ? J'ai été trop.Je suis un utilisateur de Mac depuis longtemps (ou aussi longtemps que vous pouvez être pour un enfant de 16 ans),
Programmateur pic USB

Programmateur pic USB

Eh bien je fais venir programmeur maison pic, peu coûteux clone pickit2 et support produits microchip pic 18F2550 est utilisé, ce contrôleur a une tension de sortie de 3, 3V et 5v pour différent pic qui utilisent différentes tensions.Eh bien ce progr
Sapin de Noël de POV

Sapin de Noël de POV

n'avez pas encore un arbre pour cette vacances?, ne vous inquiétez pas ici vous avez un arbre petit, réutilisable et accrocheur pour vos besoins de vacances.Ce projet a commencé comme un SMD tutoriel pour un cours que j'ai fait en électronique, donc
Machine d’émulation portable Raspberry Pi

Machine d’émulation portable Raspberry Pi

avez-vous déjà été dans la situation où vous avez voulu jouer ces jeux Super Nintendo nostalgiac avec vos amis lors d'un long voyage de 200 milles à travers les forêts pluviales de Madagascar ? Probablement pas, mais si la situation présente jamais v
Caméra anti-clone aveuglante flasher

Caméra anti-clone aveuglante flasher

Cette idée est de protéger votre produit d'obtenir des copies ou cloné. Dans les foires et concours, gens errent autour de prendre des photos ou des vidéos de l'idée et puis en aucun temps ces idée est copiés et vendus sur le marché. Cela laisse l'in
Comment utiliser un LilyTiny clone CJMCU / commenter le clone d’un programmeur LilyTiny CJMCU

Comment utiliser un LilyTiny clone CJMCU / commenter le clone d’un programmeur LilyTiny CJMCU

Dans ce tutoriel nous allons apprendre comment utiliser le clone CJMCU de la carte Sparkfun LilyTiny basée sur le micro-contrôleur ATTiny. Cette carte existe sous deux formats : compatible pour planche à pain et versez e-textile. Verser cet l'article
Conversion d’un ordinateur portable en un Steampunk 18.5" Tablet PC

Conversion d’un ordinateur portable en un Steampunk 18.5" Tablet PC

je n'étais pas vraiment prêt à commencer cette instructable ; Je suis toujours dans les phases du développement de ce projet. Cependant, quand j'ai vu les concours pour le faire il vrai défi et le défi de Bot Shop ; Eh bien j'ai juste eu à obtenir ce
Mise en route de BTE13-010 - clone Arduino Mini

Mise en route de BTE13-010 - clone Arduino Mini

Il s'agit d'un guide simple qui va vous apprendre comment démarrer avec ce clone mini à bas prix pour Arduino, couvrant toutes les étapes que l'on doit faire pour le faire fonctionner. Fondamentalement, ils sont 4...Souder les en-têtes PIN *Ce câblag
Comment faire un système de jeu Portable

Comment faire un système de jeu Portable

jamais pensé être capable de jouer de votre système de jeu préféré n'importe où ? Je suis sûr que vous avez. Suivant ce guide, vous pouvez apprendre à « portablize » la Nintendo Entertainment System.Dans ce Instructable je vais vous apprendre tout ce
PC Portable workstation/boîte à

PC Portable workstation/boîte à

ici, c'est l'histoire en arrière pour mon projet. (Ignorer si vous n'aimez pas ennuyeux « histoires »)Donc j'ai acquis 3 ordinateurs de bureau (assez obsolètes) Dell Optiplex GX400, après décapage il nu aux sauvetages en bas j'ai pièces DIN ' t saven
Émulateur RFID - comment Clone carte RFID, Tag...

Émulateur RFID - comment Clone carte RFID, Tag...

Où l'idée a.L'idée de créer l'Émulateur RFID proviennent de l'idée de créer un environnement pour développer et expérimenter avec différentes applications de la RFID. Cet article a été créé avec l'objectif de fervents amateurs d'ingénieurs et les fan
Mise à niveau du disque dur d’ordinateur portable - Tech 101

Mise à niveau du disque dur d’ordinateur portable - Tech 101

Bon, vous avez un ordinateur portable qui peut être de quelques années. Il reste les grandes fonctions, mais juste vous exécutez manque d'espace disque dur. Cela pourrait être de toutes vos photos, votre musique ou même tous les jeux que vous avez su
Deuxième disque dur dans un portable

Deuxième disque dur dans un portable

Utilisez-vous encore DVD ? Non ? Alors, Pourquoi auriez-vous besoin ce lecteur optique de votre ordinateur portable ?Si vous prenez cette possibilité, vous pouvez placer un second HDD dans votre ordinateur portable. Ou vous pouvez opter pour un SSD +