Étape 3: En utilisant le module LCD
Matériel :
- ATtiny2313
- Cavalier de R/W: R/W doit être connecté à « BIT1 » sur le plateau de Rider Dragon (voir explication dans l’Assemblée Instructable)
- J23 : Ce cavalier doit être installé pour le FAI de programmation, mais ensuite retiré de l’écran LCD fonctionner correctement.
- Brancher LCD au PORT B en utilisant le câble en nappe (J31 J2)
Logiciel
J’utilise la bibliothèque LCD de Peter Fleury pour conduire l’écran LCD en mode 4 bits. Découvrez la page d’accueil de Peter pour télécharger de la bibliothèque.
Vous devrez vous assurer que lcd.c est compilé avec votre code et que vous apportez les modifications suivantes à lcd.h :
- Nous utilisons l’oscillateur interne RC donc XTAL doit être définie à 1MHz :
#define XTAL 1000000
- Paramètres du port doivent être ajustées à PORTB :
#define LCD_PORT PORTB
- Brochage pour 4 lignes de données doit être adaptée :
#define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7
- Brochage pour RS, RW et E doit être adaptée :
#define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2
Le programme principal est très simple grâce à le œuvre de que Peter Fleury a fait dans sa bibliothèque de LCD.
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) }}
Code attaché
Le code attaché inclut la bibliothèque de LCD de Peter Fleury (lcd.c et lcd.h) avec sa permission. Merci Peter ! La modification seulement que j’ai fait pour elle est de mettre les chevilles appropriées dans le définit. S’il vous plaît visitez son site pour télécharger le package : http://www.jump.to/fleury
J’ai également inclus un fichier makefile que j’utilise rédigé par Eric B. Weddington et, Jorg Wunsch. J’ai envoyé un MP à Jorg sur à avrfreaks.net mais jamais reçu une réponse de sa part. Il y a quelques changements dans le makefile pour adapter à l’utilisation de Linux et le Dragon. Merci à vous deux, s’il vous plaît définir moi savoir vos préférences sur me partager votre travail.