Stap 3: Met behulp van de Add-on van de LCD
Hardware:
- ATtiny2313
- R/W Jumper: R/W moet worden aangesloten op "BIT1" op de Dragon Rider bord (zie uitleg in de vergadering Instructable)
- J23: Deze jumper moet worden geïnstalleerd voor ISP programmering maar vervolgens verwijderd voor het LCD-scherm om goed te functioneren.
- LCD verbinden met poort B met behulp van de lintkabel (J31 aan J2)
Software
Ik ben met behulp van Peter Fleury van LCD-bibliotheek om te rijden het LCD-scherm in 4-bits modus. Bekijk Peter's Homepage te downloaden van de bibliotheek.
U zult moeten ervoor zorgen dat lcd.c is gecompileerd met uw code en dat u de volgende wijzigingen lcd.h aanbrengt:
- We gebruiken de interne RC-oscillator dus XTAL moet worden ingesteld voor 1MHz:
#define XTAL 1000000
- Poortinstellingen moeten worden aangepast aan PORTB:
#define LCD_PORT PORTB
- Pinout voor 4 lijnen van de gegevens moet worden aangepast:
#define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7
- Pinout voor RS, RW en E moet worden aangepast:
#define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2
Het hoofdprogramma is zeer eenvoudig dankzij het werk van dat Peter Fleury deed in zijn LCD-bibliotheek.
CODE:
#include <avr/io.h>#include "lcd.h"int main(void){ lcd_init(LCD_DISP_ON); //Initialize LCD with the cursor off lcd_clrscr(); //Clear the LCD screen lcd_gotoxy(5,0); //Move cursor to this location lcd_puts("Dragon"); //Put this string on the LCD lcd_gotoxy(6,1); //Move cursor to this location lcd_puts("Rider"); //Put this string on the LCD for (;;) { // Do nothing forever (Message already displayed on LCD) }}
Programmacode die verbonden
De code aangesloten bevat Peter Fleury van LCD-bibliotheek (lcd.c en lcd.h) met zijn toestemming. Bedankt Peter! De enige wijziging die ik tot het gemaakt heb is om de juiste pinnen in de Hiermee wordt bepaald. Bezoek zijn site om het pakket te downloaden: http://www.jump.to/fleury
Ik heb ook een makefile die ik gebruik geschreven door Eric B. Weddington en Jorg Wunsch opgenomen. Ik stuurde een PM aan Jorg over op avrfreaks.net maar nooit een antwoord van hem ontvangen. Er zijn een paar veranderingen in de makefile op maat voor het gebruik van Linux en de draak. Dank aan jullie beiden, stel me weten uw voorkeuren op mij delen van uw werk.