Presentation laddar. Vänta.

Presentation laddar. Vänta.

William Sandqvist Många studenter använder en LCD- display till sin programmeringsuppgift LCD displayer innehåller ofta sk. HD44780 pinkompatibla.

Liknande presentationer


En presentation över ämnet: "William Sandqvist Många studenter använder en LCD- display till sin programmeringsuppgift LCD displayer innehåller ofta sk. HD44780 pinkompatibla."— Presentationens avskrift:

1 William Sandqvist Många studenter använder en LCD- display till sin programmeringsuppgift LCD displayer innehåller ofta sk. HD44780 pinkompatibla styrkretsar. Samma kod passar därför till många olika displayer – men inte alla, prova! GTC TS6L0C ELFA GTC-1601-TR6N0C ELFA  8 Tex  8 Tex. Pizza 58:90 Dvs. två rader direkt efter varandra! Lista över provade displayer finns på kurswebben.

2 William Sandqvist Kontaktstandard Displayer med enradiga kontakter är enklare att ansluta till kopplingsdäck än de med tvåradiga.

3 William Sandqvist Spara ledningar - nibble-mode Att mata spädbarn går lättare när man ger smakbitar (nibble). Eftersom två smakbitar blir till en munsbit (byte), kan barnet ändå bli mätt till slut. När det gäller små PIC-processorer har man ofta ont om pinnar. Alla LCD- displayer har en finess som gör att tecken och kommandon kan "matas in" med 2 st 4-bitarstal (nibble) i följd, i stället för med ett 8-bitarstal (byte). Det kommando som "ställer in" om 8 eller 4 dataledningar ska användas måste ges först. Detta kommando har naturligtvis valts så att 4 bitar räcker för att skilja det från de övriga kommandona!

4 William Sandqvist Koppla så här med 6 ledningar Med felinställd kontrast får Du aldrig se hur bra det fungerar!

5 William Sandqvist Definiera portpinnar void lcd_putchar( char data ) /* I/O-pin definitions */ /* change if you need a pin for a different use */ #pragma bit PORTB.5 #pragma bit PORTB.3 #pragma bit PORTA.3 #pragma bit PORTA.2 #pragma bit PORTA.1 #pragma bit PORTA.0 Man måste ofta ”blanda” lediga pinnar från olika portar …

6 William Sandqvist lcd_putchar() void lcd_putchar( char data ) { // upper Nybble D7 = data.7; D6 = data.6; D5 = data.5; D4 = data.4; EN = 0; nop(); EN = 1; delay(5); // lower Nybble D7 = data.3; D6 = data.2; D5 = data.1; D4 = data.0; EN = 0; nop(); EN = 1; delay(5); } Välj mode innan anropet: RS = 1 character mode RS = 0 command mode

7 William Sandqvist lcd_init() void lcd_init( void ) { delay(40); // give LCD time to settle /* Function set */ RS = 0; // LCD in command-mode // 0010.xxxx 4-bit mode lcd_putchar(0b ); // The display is actual two lines after each other // 4bitmode.two line.display off.xx lcd_putchar(0b ); /* Display ON/OFF Control */ // display on.cursor off.blink off lcd_putchar(0b ); /* Display clear */ // lcd_putchar(0b ); /* Entry mode set */ // increment mode.shift off lcd_putchar(0b ); // initialization is done! } Funktionen måste anropas en gång innan displayen kan användas!

8 William Sandqvist Egna tecken! Det finns 8 egendefinierade tecken. När vi definierat ÅåÄäÖö finns det ändå två kvar till dig … // Pixel definitions of up to 8 user defined characters RS = 0; // command-mode lcd_putchar(0b ); // Move Cursor into CGRAM RS =1; // data-mode // Pixel definition of user defined Character 0 (å) lcd_putchar(0b ); lcd_putchar(0b ); lcd_putchar(0b ); lcd_putchar(0b ); lcd_putchar(0b ); lcd_putchar(0b ); lcd_putchar(0b ); lcd_putchar(0b ); Ser Du systemet? Bra att Knudsen har binära konstanter! lcd_putchar( 0 ); // user defined Ch 0 is 'å'

9


Ladda ner ppt "William Sandqvist Många studenter använder en LCD- display till sin programmeringsuppgift LCD displayer innehåller ofta sk. HD44780 pinkompatibla."

Liknande presentationer


Google-annonser