Accueil > Forum > > > > Mplab CC5X LCD
Mplab CC5X LCD
samedi 17 octobre 2009 à 15:15:04 |
Mplab CC5X LCD

ojejeo
|
Bonjour,
Etant débutant en programmation C en Pic, je souhaiterai, si possible, à ce que quelqu'un m'aide au dévelopement et à la compréhension d'un simple programme d'affichage entre un Pic 16F872 et un LCD 16*2.
Merci.
Jspeaker
|
|
mercredi 4 novembre 2009 à 13:53:04 |
Re : Mplab CC5X LCD

mekhalayin
|
Réponse acceptée !
http://www.geocities.com/dinceraydin/djlcdsim/djlcdsim.html
http://www.8051projects.net/lcd-interfacing/initialization.php
|
|
lundi 16 novembre 2009 à 20:23:32 |
Re : Mplab CC5X LCD

ojejeo
|
Bonjour, je tiens a faire profiter de mon programme au cas ou ;)
qu'en pensé vous ?
Ps: je travail finalement avec un LCD 16*1.
/* ********************************************************** */
/* **************** Définition des sorties ****************** */
/* ********************************************************** */
// RS =1 Mode caractére, Rs = 0 mode commande.
// En > Front descendant = validation de la donnée.
// D7 à D4 Mode 4 bits données.
#define RS PORTC.4
#define EN PORTC.5
#define D7 PORTC.3
#define D6 PORTC.2
#define D5 PORTC.1
#define D4 PORTC.0
/* ********************************************************** */
/* ************** Définition des sous fonctions ************* */
/* ********************************************************** */
void delay( char ); // Temporisation en ms 0 < T < 255ms
void Mess( void ); // Sélection d'unmessage
void lcd_init( void ); // Initialisation LCD.
void lcd_send( char ); // Envoie des commandes ou caractéres ASC2 à l'afficheur.
bit text;
/* ********************************************************** */
/* ****************** Initialisation message **************** */
/* ********************************************************** */
const unsigned char texte[ ]="*****MESSA1*****+++++MESSA2+++++/////MESSA3/////Bonjour le monde-----MESSA5-----";
/* ********************************************************** */
/* ****************** Programme Principale ****************** */
/* ********************************************************** */
void main( void )
{
TRISC = TRISC & 0xC0; // D0 - D5 en Sortie on ne modifie pas D7 et D6.
lcd_init(); // Appel de la fonction lcd_init.
Mess(); // Message
}
/* ********************************************************** */
/* ************************* Message ************************ */
/* ********************************************************** */
void Mess( void )
{
/* ****************** Selection du Message ****************** */
char i; // Définition de i caractére de type ASC2.
i=48; // On commence au 48eme caractere du tableau "Bonjour le monde".
/* ********************************************************** */
RS = 0;
lcd_send( 0x01 );
RS = 1;
{
for(i=i; i+8; i++) lcd_send(texte[i]); i++; // envoi des 8 premier caractere
RS = 0; // LCD Mode Commande.
lcd_send( 0xC0 ); // Passage à la deuxiéme partie de l'afficheur
RS = 1; // LCD Mode Caractére.
for(i=i; i+8; i++) lcd_send(texte[i]); i++; // envoi des 8 seconds caractere
}
while(1) nop();
Break: //Boucle infini pour stopper le programme.
goto Break;
}
/* ********************************************************** */
/* ************************ INIT LCD ************************ */
/* ********************************************************** */
void lcd_init( void ) // Initialisation afficheur.
{
delay(40); // Attente de 40 ms appel de la fonction "delay".
RS = 0; // LCD Mode Commande.
// Envoie des caractéres de commande au LCD.
lcd_send(0x32); // LCD en Mode 4 Bits.
lcd_send(0x28); // Une Ligne d'affichage 2x8.
lcd_send(0x0F); // LCD ON + Clignotement + Curseur.
lcd_send(0x06); // Mode incrementation.
lcd_send(0x01); // LCD effacé.
RS = 1; // LCD Mode caractere.
}
/* ********************************************************** */
/* *********************** ENVOI LCD ************************ */
/* ********************************************************** */
void lcd_send( char data ) // Envoi du paramétre d'entrée "data" de type ASC2.
{
// Envoi du MSB.
D7 = data.7; // MSB sur PORTC0 - PORTC3
D6 = data.6;
D5 = data.5;
D4 = data.4;
EN = 1; // Front descendant
nop();
EN = 0;
delay(10); // 10 ms.
// Envoi du LSB.
D7 = data.3; // LSB sur PORTC0 - PORTC3
D6 = data.2;
D5 = data.1;
D4 = data.0;
EN = 1; // Front descendant
nop();
EN = 0;
delay(10); // 10 ms.
}
/* ********************************************************** */
/* *********************** TEMPO **************************** */
/* ********************************************************** */
void delay( char millisec) // Pour un Quartz de 20MHz temporisation en ms.
{
char next = 0;
OPTION = 6; // 128
do {
next += 39;
TMR0 = 0;
clrwdt();
while ( TMR0 < 125) // 125 * 8 = 1000
;
} while ( -- millisec > 0);
}
/* ********************************************************** */
/* ********************************************************** */
/* ********************************************************** */
|
|
mardi 17 novembre 2009 à 08:44:51 |
Re : Mplab CC5X LCD

ojejeo
|
à modifier pour selectionner le message dans le programme principale:
void main( void )
{
lcd_init(); // Appel de la fonction lcd_init.
/* ****************** Selection du Message ****************** */
Mess(48); // Message
/* ********************************************************** */
}
/* ********************************************************** */
/* ************************* Message ************************ */
/* ********************************************************** */
void Mess( char i )
{
RS = 0;
lcd_send( 0x01 );
RS = 1;
|
|
mardi 17 novembre 2009 à 18:20:33 |
Re : Mplab CC5X LCD

ojejeo
|
lol je suis désolé j'ai fais une erreur j'aurai du tester avac de le mettre sur le site ^^'
void Mess( char j )
{
char i;
RS = 0;
lcd_send( 0x01 );
RS = 1;
{
for(i=j; i <= j+7; i++) lcd_send(texte[i]);
RS = 0; // LCD Mode Commande.
lcd_send( 0xC0 ); // Passage à la deuxiéme partie de l'afficheur
RS = 1; // LCD Mode Caractére.
for(j=i; j < i+8; j++) lcd_send(texte[j]);
}
delay(100);
}
|
|
Cette discussion est classée dans : pic, lcd, cc5x, mplab
Répondre à ce message
Sujets en rapport avec ce message
programmation afficheur lcd 2*16 pour pic 16f876 [ par academie ]
bonjours svp est ce que quelqu"un peut m'aider dans la programmation du 16f876 pour afficher, le nom et quota préenregistrés, dans le pic ,de 2 perso
Programmation du PIC 16F87 pour afficher une tension sur LCD [ par Maisa ]
j'ai des difficultés au niveau de programmation et je veut un programme pour le PIC 16F877 (sur 4 bits) pour afficher sur un écran LCD "2*16" une tens
programmation pic16f877a + afficheur LCD [ par ghassen87 ]
salut a tt je suis débutant , je suis entrain de programmer une pic 16f877a en language pic c. mon objectif c'est d'afficher à partir d'une tensio
PIC et LCD 2*16 [ par caela ]
Bonjour à tous svp est-ce que quequ'un peut me donner e nom de la librairie qu'il faut importer pour pouvoir gérer un LCD 2*16 en CPIC. MERCI
Aide sur instructions du compilateur CC5X pour pic [ par CodeMercury ]
Salut, Je programme actuellement en C sur le pic 16f84A avec le compilateur CC5X. Pour communiquer entre le pic et le PC, j'essai d'utiliser des strin
Gerer un ecran LCD via port serie [ par TuxOnline ]
Bonjour je cherche a programmer un ecran lcd relier par port serie et je suis a la recherche de documents qui me permettrai de connaitre les fonctions
Menus pour ecran LCD [ par vavav ]
Bonjour a tous,Je cherche, dans le cadre d'une application embarquée codée en C, à piloter un petit ecran LCD de quelques lignes, sur lequel on ne peu
affichage lcd [ par leullier ]
bonjours a tous,je ne suis peut etre pas au bon endroit mes je pose ma question.je recherche le schemas d'un afficheur lcd a base de pic-pour une char
chercher comment afficher des resultats numériques avec PIC 16F877 [ par rayf2011 ]
bonjour... je je veux saisir de constantes a et b par clavier. et je veux que ce programme faire la somme a+b=x, puis y= cos(x), et enfin afficher la
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|