tak dioda mi už konečně přišla. Zkusil jsem nahrát program do procesoru a nic a v simulaci mi běží jen program "tlacitko", ale měly by fungovat u verze XM2 až 4 programy současně, ne? Nevěděl by jsi, co s tím?
Kód: Vybrat vše
init:
b0 = 0
b1 = 0
tlacitko: ;Hlídá tlačítko na vstupu C.6 a při každém stisknutí
do
if pinC.6 = 1 then ;uloží do proměnné b0 hodnotu + 1
let b0 = b0 + 1
do
pause 200
loop while pinC.6 = 1
endif
loop
potenciometry: ;Hlidá potenciometry na vstupech C.1, B.0, B.1 a ukládá
do ;je do proměnné a do další proměnné se hodnota dělí
readadc C.1, b26 ;a násobí třemi pro větší rozsah čísla
let w11 = b26 * 3 max 1023
let b23 = b26 / 3
readadc B.0, b25
let w10 = b25 * 3 max 1023
let b22 = b25 / 3
readadc b.1, b24
let w9 = b24 * 3 max 1023
let b21 = b24 / 3
loop
mody: ;Podle počtu stisku tlačítek, které jsou uložené
do ;v proměnné b0 tento program vybere mód, který
pulsout C.0, 10 ;má být spuštěn.Vyšle signál do LED displaye na reset
for b1 = 0 to b0 ;Podle počtu stisku tlačítek, které jsou uložené
pulsout C.4, 10
pause 50 ;do proměnné b0 se provede tento cyklus s pulzem
next b1 ;na hodiny dekodéru s čítačem pro LED display
if b0 = 1 then
goto red
endif
if b0 = 2 then
goto green
endif
if b0 = 3 then
goto blue
endif
if b0 = 4 then
goto red_blik
endif
if b0 = 5 then
goto green_blik
endif
if b0 = 6 then
goto blue_blik
endif
if b0 = 7 then
goto red_pwm
endif
if b0 = 8 then
goto green_pwm
endif
if b0 = 9 then
goto blue_pwm
endif
if b0 > 9 then
b0 = 0
endif
loop
;Tady začínají jednotlivé módy
;1.
red:
if b0 > 1 then
pwmout c.5, off
goto mody
endif
pwmout c.5, b24, w10
pause 50
goto red
;2.
green:
if b0 > 2 then
pwmout c.3, off
goto mody
endif
pwmout c.3, b24, w10
pause 50
goto green
;3.
blue:
if b0 > 3 then
pwmout c.2, off
goto mody
endif
pwmout c.2, b24, w10
pause 50
goto blue
;4.
red_blik:
if b0 > 4 then mody
low c.5
pause svit
high c.5
pause zhasni
goto red_blik
;5.
green_blik:
if b0 > 5 then mody
low c.3
pause svit
high c.3
pause zhasni
goto green_blik
;6.
blue_blik:
if b0 > 6 then mody
low c.2
pause svit
high c.2
pause zhasni
goto blue_blik
;7.
red_pwm:
for b1 = 0 to 1023 step b25
if b0 > 7 then mody
pwmout c.5, b26, b1
pause svit
next b1
for b1 = 1023 to 0 step -b25
if b0 > 7 then mody
pwmout c.5, b26, b1
pause svit
next b1
goto red_pwm
;8.
green_pwm:
for b1 = 0 to 1023 step b25
if b0 > 8 then mody
pwmout c.3, b26, b1
pause svit
next b1
for b1 = 1023 to 0 step -b25
if b0 > 8 then mody
pwmout c.3, b26, b1
pause svit
next b1
goto green_pwm
;9.
blue_pwm:
for b1 = 0 to 1023 step b25
if b0 > 9 then mody
pwmout c.2, b26, b1
pause svit
next b1
for b1 = 1023 to 0 step -b25
if b0 > 9 then mody
pwmout c.2, b26, b1
pause svit
next b1
goto blue_pwm