PURPIC, den bärbara PICkit2 klonen (5 / 9 steg)

Steg 5: PIC 12F508 annotated källkoden; om någon har ett problem montering som postat, kommentera gärna

lista över p = 12F508; lista direktiv att definiera processor
#include; processorn varierande definitioner

__CONFIG _MCLRE_OFF & _CP_ON & _WDT_OFF & _IntRC_OSC

; '__CONFIG' direktiv används för att bädda in konfiguration ord inom .asm filen.
; Lables efter direktivet finns i filen respektive inkluderingsfiler.
; Se respektive datablad för mer information om konfiguration word.

; *** VARIERANDE DEFINITIONER
cblock 07h
qw1
qw2
Temp
testa
räknaren
counter2
on_counter
off_counter
endc

; PINUT
stift 1 är makt
; stift 8 är marken
; pin 5 är inte ansluten
knappen equ 3; 4, PIN-kod till knappen. inre pullup ligger
utgång equ 4; pin 3, till P-FET; Det finns ingen inre pullup på detta stift.
Bör har jag lagt en fysisk pullup på utfärda utegångsförbud för P-FET,
; om PIC skulle brownout eller något annat fel.
LEDDE equ 1; stift 6, Hej = på Lo = av
LBI equ 5; stift 2, låg batterinivå indikator produktionen av LT1308 går här.
Om du anger börvärdessignalerna motstånden till 825K och 67K
; normvärdet är 2.9V. Se LT1308 datablad för detaljer.
; Detta stift inte heller har en inre pullup. Jag kom ihåg att sätta detta på pcb. :)

;**********************************************************************
ORG 0X3FF; processorn återställa vektor

; Inre RC kalibreringsvärde placeras på platsen 0x3FF av mikrochip
; som en movlw k, där k är ett värde.

ORG 0X000; Coding börjar här
movwf OSCCAL; Uppdatera registret med fabriken cal värde

initiera
movlw b '00000000'
; 7:lo_enable vakna, 6:lo_enable svag pullups; 5:lo_timer klocka källa är intern
; 4:hi_timer klocka källa aktiverad på fallande kant; 3:lo_prescaler Välj timer (vs WDT)
2-0:prescaler (p22)
alternativet

Start
samtal tydligt; set tristate och produktionen av I/O pins till standard/OFF stat
btfss GPIO, knapp; kontrollera knappen
goto på; om tryckt, gå till på
sömn, om inte, gå till sömn
NOP

BSF GPIO, ledde, slå på LED
BCF GPIO, utgång, slå på P-FET
Ring DD; Dämpningstid dröjsmål
btfss GPIO, knapp; kontrollera knappen
gå till $-1; vänta tills det släpps innan du fortsätter huvudloop
Ring DD
loop
btfss GPIO, LBI; här kontrollerna batteriindikatorn låg
goto LB_shutdown; om drog låg, sedan gå till lågt batteri avstängning

btfsc GPIO, knappen, så länge som knappen inte är intryckt, PIC stannar i "loop".
goto loop
avstängning; om knappen trycks, allt stängs av och bilden går för att sova.
; Enheten startar i början av koden när det vaknar, FYI
Ring tydligt;
Ring DD
btfss GPIO, knapp
gå till $-1
Ring DD
sömn
NOP
; Subroutines;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
klart
movlw b "101000"
tris GPIO
movlw b "010000"
movwf GPIO
återvända, denna enhet inte faktiskt har en "retur" kommandot.
; Detta är en pseudo kommando, som faktiskt är monterad som kommandot "retlw 0".
; Vilket betyder att det placeras bokstavlig 0 i W ackumulatorn när det dyker.
DD
movlw 100
movwf qw2
gå till dsub.2
DSUB.2
decfsz qw1
gå till $-1
decfsz qw2
gå till $-3
returnera
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LB_shutdown; Detta är den fancy-byxor avslutningsproceduren
LB.1
clrf counter
LB.2
btfss GPIO, LBI
gå till LB.3
BSF GPIO, ledde
goto loop
LB.3
gå till $+ 1. bara några extra fördröjning
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
decfsz counter, f
gå till $+ 2
gå till shutdown_kewl
movf counter, w
movwf qw2
movlw b '000010'
xorwf GPIO, f
Ring DLB
movwf temp
decfsz temp, f
gå till LB.2
gå till avstängning

DLB, förseningen låg batterinivå rutin
btfss GPIO, knapp; ständigt kontrollera status för knappen
retlw 1, om den är intryckt, sedan omedelbart pop med bokstavlig.1 i ackumulatorn,
så vi vet att knappen
; trycktes och förseningen var lämnat tidigt... så vi kan stänga av
; makt istället för att fortsätta fancy pants blinky ljus stänga ned rutin.
gå till $+ 1
decfsz qw1
gå till DLB
decfsz qw2
gå till DLB
retlw.0

shutdown_kewl; tona ut LED, i stället för bara att stänga av
clrf on_counter
movlw 1.
movwf off_counter
shutdown_kewl.1
BSF GPIO, ledde
kalla on_delay
BCF GPIO, ledde
kalla off_delay
INCF off_counter, f
decfsz on_counter, f
gå till shutdown_kewl.1
gå till avstängning
on_delay
movf on_counter, w
movwf qw2
gå till fade
off_delay
movf off_counter, w
movwf qw2
gå till fade
Fade
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
gå till $+ 1
decfsz qw2, f
gå till fade
returnera

SLUTET; direktivet "slutet av programmet"

Se Steg
Relaterade Ämnen

Installera en SSD i den bärbara datorn (och kloning Windows)

Solid State-hårddiskar eller SSD för kort, är sakta men säkert ta över hårddiskar roll som det primära lagringsmediet. Det finns många goda skäl att byta hårddisken mot en SSD; en är att en ny solid state-enhet är ungefär fem gånger så snabb som en h...

Slå på den bärbara datorn med locket stängt

Nyligen bestämde jag mig att ansluta min laptop till bildskärmen.Det var en liten, men irriterande problem. Jag har inte mycket utrymme på mitt bord, så jag föredrar att hålla den bärbara datorn viks och kanske även lägga något ovanpå det att utnyttj...

Hur bidrar pedagogiskt innehåll till den bärbara datorn OLPC $100

One Laptop per Child (OLPC) föreningen söker pedagogiskt innehåll att placera på bärbara datorer och i regional/land databaser. Instructables är ett bra format för innehåll, så vi bjuder in alla att bidra din stora Instructables mot vederlag ska ingå...

Oförstörbar reparation för den trasiga HP DV 9000 laptop gångjärn & fallet

denna fix fungerade för del # 3JAT9HATP05 och 3JAT9HATP21.Men förmodligen skulle kunna fungera för andra modeller.Och gillar everbody annat som har köpt en HP DV9000 laptop, min vänstragångjärnet har knäckt och därigenom också bröt de inbäddade låsmu...

Den 802.11 ninjan - bärbara 802.11 Hacking enhet

IntroduktionInnan vi börjar denna tutorial, måste jag nämna att jag inte har ens borstade ytan av möjligheter som denna awesome lilla bit av hårdvara erbjuder! Inte varje genomförande av 802.11 Ninja behöver inte varje enskild funktion, så använder k...

Återvunnet Container bärbara garn hållare - Sewuseful

detta är en lätt och billig lagringssystem för garn.Behöver ett ställe att lägga ditt garn så att den bärbara så du kan sticka någonstans? Trött på att ha olika garn trassla och sammanflätade? Till återanvändning, materialåtervinning och hat för allt...

Hacka en gammal bärbar dator in i en 3D-projektor

om du har en gammal laptop liggande och söker en DIY äventyr, detta kan vara platsen för dig. Jag kommer att beskriva hur du kan gå om att bygga din egen 3D-projektor!Det är inte för svag i hjärtat, och jag inte kan möjligen få in i varje liten detal...

Bärbar AKTA stil mål för kniv och tomahawk kasta

A. officiella amerikanska kniv kasta Alliance (AKTA) mål Beskrivning:Fem mål kommer att vara monterade vinkelrätt mot kastaren, (t.ex. mot en vägg eller backspärr), som den "fem" på en domino eller dö. Upp i övre vänstra och högra målen är 67 in...

Bättre bärbara datorer genom Velcro

Mitt problem:Jag är en fotograf. För närvarande är jag gör mestadels händelser och bröllop, men jag vill övergång resa fotografi och/eller bildjournalistik. Som sådan, tillbringar jag mycket tid med transportabel hård drivar och kortläsare ansluten t...

Enkelt sätt att anpassa din bärbara dator

någonsin se de stora skinn för bärbara datorer?Inte de ser ut som de skulle vara jättesvårt att få tillbaka av?Det är den huvudsakliga anledningen jag har skyggat dem tidigare, men riktigt vill lägga en personlig touch till min laptop, jag började tä...

Extern enhet "Sele" för bärbara datorer

varning: första INSTRUCTABLE!Efter att ha fått nog av att balansera min externa hårddisk på min laptop när jag försökte bära dem runt mitt rum, beslöt jag att göra något åt saken.Jag ville dock göra något permanent enhet omslaget eller den bärbara da...

Fullständig demontering och rengöring av en bärbar dator Compaq CQ61 (i detaljer)

Modell CQ61 är mycket svårt att städa när det är nödvändigt att ta isär den bärbara datorn att fundamentalt för att rengöra kylsystemet. På grund av detta kommer jag försöka ge den mest detaljerade beskrivningen.Steg 1: Vad du behöver? BOXSKRUVMEJSEL...

Ta bort skärmen från en bärbar dator

Så jag har detta gamla laptop som inte fungerar och jag vill ta bort skärmen så jag kan använda det i raspberry pi-projekt. Du kan köpa en skärm för detta ändamål, men eftersom jag har en gammal bärbar dator, det är mycket vettigare att ta isär och i...

Hur man installerar RAM i en bärbar dator (Asus G60-JX)

detta är en grundläggande översikt på hur till tillträde, avinstallera och installera RAM (Random Access Memory) kort i en bärbar dator. RAM används som en form av "tillfällig" minne i din dator. I grund och botten mer RAM = mer minne för progra...

Hur man byter skärmen på en Hp Pavilion dv7 bärbara

detta instructable visar dig hur man byter från en Hp Pavilion DV7-serien Laptop-skärmen.Innan du fortsätter: det finns flera olika modeller av denna laptop, några av modellerna kräver att du tar isär den hela LAPTOP för att ersätta skärmen. Detta är...

Att göra peka joystick locket saknas på din bärbara dator.

Hur irriterande är det när vi missar den gemensamma jordbrukspolitiken för pekar joystick i våra laptop? Då vi gå till internet letar efter det och vi inte hitta den, eller spendera lite tid att försöka hitta rätta för den bärbara datorn och bli dyrt...

Mejoras al Soporte para bärbar dator (laptop stand förbättringar)

Luego de haber usado satisfactoriamente durante más de 1 año el soporte para laptop plegable que me hice, llegó el momento de hacerle unas mejoras, debido que con el uso intensivo se habían roto algunas cosas. En primer lugar, una de las hebillas de...

Nytt liv för en gammal bärbar dator

Jag ber om ursäkt för att inte ha bilder i framsteg eller jämförelse data. Jag var inte planerar att göra en Instructable förrän efter det gjordes. Detta visar bara möjligheterna av vad man kan göra...Så min kusin gav en äldre bärbar till denna lata...

Bärbar Laptop stativ tillverkat av visitkort och ett ark papper

Min rygg och nacke började skada från använder min laptop så jag bestämde mig att utforma en laptop stand att eliminera några av stress. Mina krav: billigt och bärbara.Min lösning? Gör en monter från ett ark av papper och visitkort.Steg 1: Vad du beh...