USB på en stämpel (6 / 6 steg)
Steg 6: USB-baserad LCD
Lägga till USB till en LCD-skärm är lätt. Matrix Orbital har ett sortiment av USB-baserade skärmar redan, som också använder FTDI marker. Deras använder FT232 USB <> - seriell chip. Vi kommer att använda samma krets ovan, med en HD44780 baserat LCD fäst, och koden ändras så att du kan skicka kommandon eller data display. Detta exempel kommer inte har så många funktioner som Matrix Orbital området (som jag inte vill ut smart-Hej de gav mig gratis prover trots allt!), men det kommer att vara användbar på antingen RS232 eller USB. Mitt exempel använder FT245 USB <> = parallella chip.< krets här >
Denna kod är inte komplett ännu. Den slutliga versionen gör att du kan välja mellan RS232 eller USB, stöd för olika kommandon, etc. Denna kod är ett enkelt exempel visar att idén fungerar.
"{$STAMP BS2}
"*** DEKLARERA VARIABLER ***
"KONSTANTER
EnableLCD CON 8' LCD aktivera pin (1 = aktiverad)
RW CON 9
RS CON 10' Register Välj (1 = röding)
readUSB CON 11 ' P11 = /RD på USB-modulen
ClrLCD CON $01 ' Rensa LCD
CrsrHm CON $02 ' flytta markören till ursprungsläget
CrsrLf CON $10 ' flytta markören åt vänster
CrsrRt CON $14 ' flytta markören höger
DispLf CON $18 ' SKIFT visas tecken kvar
DispRt CON $ 1 c "SKIFT visas tecken rätt
DDRam CON $80 ' Display Data RAM kontroll
CGRam CON $40 "Custom karaktär RAM
Line1 CON $80 ' DDRAM adressen för linje 1
Rad2 CON $C0 ' DDRAM adress rad 2
"Variabler
röding VAR Byte "karaktär skickas till LCD
"*** MAIN PROGRAM ***
HÖG readUSB
LÅGA RW
HÖG RS
LÅG EnableLCD
Initialize_LCD:
DIRS = % 0001111111111111
LCD_Init:
Pausa 500' Låt LCD settle
char = 56' flerradsläge
GOSUB LCD_Command
PAUSA 5
PULSOUT EnableLCD, 1
PULSOUT EnableLCD, 1
char = 12' disp på crsr av, blink av
GOSUB LCD_Command
char = 6' inc crsr, ingen disp SKIFT
GOSUB LCD_Command
char = ClrLCD
GOSUB LCD_Command
ReadFIFO: "lyssna till USB nu
OM IN14 = 0 då GetUSBdata ' om /RXF är låg, det finns Data
gå till ReadFIFO
GetUSBdata:
DIRS = % 0001111100000000
LÅG readUSB
char = INL
HÖG readUSB
DIRS = % 0001111111111111
GOSUB LCD_Write
Gå till ReadFIFO
LCD_Command:
LÅG RS' ange kommando-läge
LCD_Write:
OUTL = röding
PULSOUT EnableLCD, 1' strobe aktivera linjen
HÖG RS återgå till teckenläget (om inte redan i teckenläge
ÅTERGÅ