Jag har nyligen börjar med lite smått med pic:ar och införskaffat en k8048 av min lokala velleman ÅF. Nu har jag dock två frågor som jag hoppas kunna få svar på här. Har letat igenom forumet, står mycket vist, men tyvärr inget som kan hjälpa mig.
Jag använder Pic Basic Pro för att skriva programmen i.
Nu är det så att jag har försökt skriva ett program som skall utnyttja 6st lysdioder och 2st knappar. Alla dom finns på k8048:an.
Jag har tänkt följande:
När man sätter igång picen så är allt släckt. Men när man trycker ner t ex SW1 så skall alla 6 lampor börja blinka morse koden för SOS.
Mina frågor då till koden nedan:
1. När jag skall köra den på picen så är allt stendött, reagerar inte på knapptryckningar alls. Men om jag kör en liknande kod, ett exempel som följde med när jag köpte den. Så funkar knapparna som dom skall.
2. Finns det nått lättare sätt att få alla lysdioder att tändas, utan att skriva dom en i taget:
High portb.0
High portb.1
osv....
Tacksam för svar
Koden:
Kod: Markera allt
define osc 4
input PORTA.0
INPUT PORTA.1
SW1 VAR PORTA.0
SW2 VAR PORTA.1
main:
IF SW1 THEN morseloop
IF SW2 THEN blinkningar
GoTo main
morseloop:
HIGH PORTB.0 'Början av 3 korta
High PORTB.1
HIGH PORTB.2
hIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
PAUSE 200
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
PAUSE 200
HIGH PORTB.0
High PORTB.1
HIGH PORTB.2
hIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
PAUSE 200
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
Low PORTB.2
PAUSE 200
HIGH PORTB.0
High PORTB.1
HIGH PORTB.2
hIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
High PORTB.3
PAUSE 200
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
Low PORTB.2
Low PORTB.3 'Slut av 3 korta
Pause 200
HIGH PORTB.0 'Början av 3 långa
High PORTB.1
HIGH PORTB.2
hIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
PAUSE 1000
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
PAUSE 1000
HIGH PORTB.0
High PORTB.1
HIGH PORTB.2
hIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
PAUSE 1000
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
Low PORTB.2
PAUSE 1000
HIGH PORTB.0
High PORTB.1
HIGH PORTB.2
hIGH PORTB.3
HIGH PORTB.4
HIGH PORTB.5
High PORTB.3
PAUSE 1000
LOW PORTB.0
LOW PORTB.1
LOW PORTB.2
LOW PORTB.3
LOW PORTB.4
LOW PORTB.5
Low PORTB.2
Low PORTB.3 'Slutet av 3 långa
Pause 200
GoTo morseloop 'Loopar om koden igen i oändlighet
blinkningar:
High PORTB.0 'Tänder lysdiod 1
PAUSE 200 'Väntar 0,2 s
LOW PORTB.0 'Släcker lysdiod 1
HIGH PORTB.5 'Tänder lysdiod 6
PAUSE 200 'Väntar 0,2 s
LOW PORTB.5 'Släcker lysdiod 6
HIGH PORTB.3
PAUSE 200
LOW PORTB.3
HIGH PORTB.1
PAUSE 200
LOW PORTB.1
HIGH PORTB.4
PAUSE 200
LOW PORTB.4
HIGH PORTB.2
PAUSE 200
LOW PORTB.2
GOTO blinkningar 'Loopar stycket med blinkningar