Prog

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

Post Reply
Cipi-Cips
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 355
Joined: 28-09-2006, 20:11
Location: Split- Croatia

Prog

Post by Cipi-Cips »

Zanima me kako da u BASCOMU napravim program koji ce paliti 8 ledica sa porta 1, ali na nacin da upali prvu ledicu, zatim drugu ( prva ostaje ukljucena ), trecu (prva i druga i dalje su ukljucene), cetvrta idt. do kraja tj. do 8 ledice kada svih 8 svijetli.

Ja to znam napisati ovako

P1 = 0
wait 1
P1= 1
wait 1
P1 = 3
wait 1
P1 = 7
wait 1
P1 = 15
i
t
d.
P1 = 255
wait 1
end


Ima li koji jednostavniji nacin da se ne pise ovoliko mnogo crtica koda
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Prog

Post by Kizo »

Pretpostavljam da je to u starom Bascomu-8051.

Ima više načina da se to napravi. Možeš recimo koristiti rotaciju:

Code: Select all

Dim I As Byte
P1 = 0

For I = 0 To 7
Rotate P1 , Left , 1
P1.0 = 1
Wait 1
Next I
End
ili možeš vrijednosti čitati iz neke tablice:

Code: Select all

Dim I As Byte
P1 = 0

For I = 0 To 7
P1 = Lookup (I , Tablica)
Wait 1
Next I
End

Tablica:
Data 1 , 3 , 7 , 15 , 31 , 63 , 127 , 255
Ako te nešto više zanima o pojedinoj naredbi, bascom ima odličan help file gdje možeš pronaći detaljne informacije sa primjerima.
Cipi-Cips
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 355
Joined: 28-09-2006, 20:11
Location: Split- Croatia

Re: Prog

Post by Cipi-Cips »

e hvala bas kad sam postavija ovaj post, u helpu san nasa ROTATE naredbu i napravio bas ovako kako si ti napisao, samo sad vidim i ovaj drugi nacin pomocu tablice,

Super Hvala
Post Reply