Powerdown mode

Sezione dedicata al sistema di sviluppo BASCOM-AVR per i micro AVR
At90s, Attiny, Atmega e Xmega

Powerdown mode

Postby tnnbascom » 28 May 2015, 08:21

Salve,
devo gestire una tastiera 4x3 e voglio che il microprocessore sia in powerdown fino a quando non viene premuto un tasto della tastiera... qualcuno ha un idea? grazie.

Ho seguito per il collegamento della tastiera l'esempio del Bascom Getkbd e funziona correttamente...

il codice che ho usato è:
Code: Select all
'********TEST KEYBOARD
Do
      Keyread = Getkbd()
      If Keyread <> 0 Then
         Key = Lookup(keyread , Dta)
         Locate 2 , 1
         Lcd Key ; "   " ; Keyread ; " "
         Do
            Waitms 1
            Keyread = Getkbd()
         Loop Until Keyread = 0
      End If
Loop
end
Dta:
    Data 12 , 9 , 6 , 3 , 0 , 8 , 5 , 2 , 11 , 7 , 4 , 1
'****END TEST
tnnbascom
 
Posts: 87
Joined: 27 Mar 2013, 15:06

Re: Powerdown mode

Postby pier » 28 May 2015, 13:04

Credo che dopo aver letto con getkbd() il valore del tasto premuto e averlo utilizzato ai tuoi fini, potresti mandare alti i 4 pin delle colonne subito prima di dare un powerdown. L'uscita da questa condizione potrebbe essere ottenuta mandando le 3 righe (in OR magari anche con 3 diodi ed una resistenza di chiusura a gnd) della tastiera all'INT0 o INT1 (quello che usi deve essere configurato e abilitato).
Così facendo alla prima esecuzione del loop il codice legge la tastiera, usa il dato (gestire il dato di nessun tasto premuto), porta alte le colonne e manda il micro in powerdown in attesa che un tasto qualsiasi sia premuto generando l'interrupt che determina l'uscita dallo sleep e quindi la ripetizione del loop stesso.
Questa idea è tratta da qui http://www.markantonio.com/markantonio/ ... ssiva.html che descrive (in modo per la verità un po' complicato) questa soluzione per i pic.

Spero ti sia utile
Pier
pier
 
Posts: 115
Joined: 11 Aug 2013, 22:05

Re: Powerdown mode

Postby deluca » 28 May 2015, 13:36

@Pier
concordo pienamente con la tua indicazione che poi sarebbe stata anche la mia....
- Fare in modo che qualsiasi tasto premuto generi un segnale logico (in OR) utile per scatenare INT e quindi il risveglio del micro.

PS. attenzione cmq al valore della resistenza che deve essere di valore alto per evitare di consumare + della corrente in modalità normale.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Powerdown mode

Postby pier » 28 May 2015, 17:52

Caro Deluca, concordo per il valore della resistenza di chiusura (è a quella che fai riferimento?) benchè questa "consumerebbe" solo durante la pressione dei tasti.
Piuttosto starei attento al partitore costituito da questa e dalle resistenze di pilotaggio delle colonne (assicurarsi che il livello logico ottenuto sia sufficiente ad essere sentito come valido).
pier
 
Posts: 115
Joined: 11 Aug 2013, 22:05

Re: Powerdown mode

Postby deluca » 29 May 2015, 09:12

concordo :)
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)


Return to BASCOM-AVR

Who is online

Users browsing this forum: No registered users and 15 guests

cron