Visualizza messaggio singolo
Vecchio 31 luglio 14, 01:19   #27 (permalink)  Top
romoloman
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Puoi provare questo codice ?
Codice:
program MyProject

' Declarations section 

main:
TRISIO.1=0
TRISIO.2=0
TRISIO.0=1
cmcon=7

fissa:
while true
  gpio.1=1
  gpio.2=1
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto inizio
  end if
wend


inizio:
delay_ms(100)
while true
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto mezzo
  end if
  GPIO.1=1
  gpio.2=1
  delay_us(50)
  GPIO.2=0
  gpio.1=0
  delay_us(50)
  IF GPIO.0=1 THEN
    while (gpio.0=1)
    wend
    GOTO mezzo
  end if
wend


mezzo:
delay_ms(100)
while true
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto strobo
  end if
  gpio.2=1
  delay_ms(500)
  gpio.2=0
  delay_ms(500)
  gpio.1=1
  delay_ms(500)
  gpio.1=0
  delay_ms(500)
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto strobo
  end if
wend

strobo:
delay_ms(100)
while true
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto fissa
  end if
  gpio.1=1
  gpio.2=1
  delay_ms(50)
  gpio.1=0
  gpio.2=0
  delay_ms(50)
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto fissa
  end if
wend
end.

se invecevuoi usarlo senza oscillatore esterno, usa questo, ricordantoti di settare nelle preferenze di progetto (project->edit project) di usare l'oscillatore interno, ed inoltre gia che ci sei di disabilitare le funzioni sul GP3/MCLR (recuperi 3 pin)

Codice:
program MyProject

' Declarations section 

main:
asm
bsf status,RP0;
call 0x3FF
movwf osccal
bcf status,RP0
end asm

TRISIO.1=0
TRISIO.2=0
TRISIO.0=1
cmcon=7

fissa:
while true
  gpio.1=1
  gpio.2=1
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto inizio
  end if
wend


inizio:
delay_ms(100)
while true
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto mezzo
  end if
  GPIO.1=1
  gpio.2=1
  delay_us(50)
  GPIO.2=0
  gpio.1=0
  delay_us(50)
  IF GPIO.0=1 THEN
    while (gpio.0=1)
    wend
    GOTO mezzo
  end if
wend


mezzo:
delay_ms(100)
while true
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto strobo
  end if
  gpio.2=1
  delay_ms(500)
  gpio.2=0
  delay_ms(500)
  gpio.1=1
  delay_ms(500)
  gpio.1=0
  delay_ms(500)
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto strobo
  end if
wend

strobo:
delay_ms(100)
while true
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto fissa
  end if
  gpio.1=1
  gpio.2=1
  delay_ms(50)
  gpio.1=0
  gpio.2=0
  delay_ms(50)
  if gpio.0=1 then
    while (gpio.0=1)
    wend
    goto fissa
  end if
wend
end.
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766

Ultima modifica di romoloman : 31 luglio 14 alle ore 01:37
romoloman non รจ collegato   Rispondi citando