Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
Écran Nokia 5110
Bonjour tout le forum,
Mise en fonction de l'écran Nokia 5110, voici son datasheet
J'ai utilisé pour la mise en fonction de l'écran, un microcontrôleur Pic18F26K22, voici son datasheet
On peut choisir les pattes quand veux, car j'utilise le mode SPI bit bang , pour éviter les problèmes je vous conseille d'alimenter votre pic et l'écran en 3,3 volts.
Schéma
En réelle
Dans cette version le clavier est stocké en mémoire eeprom, il faut 480 octets d'eeprom pour y stocker les 96 caractères ASCII, mais juste les
caractères primaires.
Fichier à mettre dans le Pic
Fichier code
******************************************************************************** Deuxième code ********************************************************************************
Dans cette deuxième version j'utilise le même Pic avec les mêmes branchement, mais le clavier est stocké en mémoire programme, comme on n'est plus gêné par la taille des données, j'ai créé des nouveaux caractères ASCII, vous pouvez en créer d'autre, car il y a encore de la place pour autre caractère.
J'ai aussi ajouté une gestion d'une lecture graphique en mémoire programme, ou il ne faudra pas dépasser les 504 octets pour une image noir et blanc d'un écran Nokia 5110 (48 x 84 pixels).
il y aussi la création d'un Bargraphe qui va de 0% à 99,45%, vous pouvez utiliser jusqu’à 6 Bargraphe toutes indépendants l'un de l'autre, comme on est en 8 bits, la valeur maxi est de 255 = 99,45%
Schéma
Ce code est fait pour les Pic18F qui possède plus de 32Kio de mémoire programme, si vous voulez l’adapter pour un Pic18F qui ne dépasse pas
les 32Kio de mémoire programme, ou pour un Pic16F, et que vous rencontré des problèmes, je peux vous aider si vous en faite la demande.
Attention car certain éditeur de texte ne reproduise pas conformément les caractères ASCII au numéro de la table, si c'est le cas il faudra changer la font dans votre éditeur de texte.
Le code
Le code ASM a été écrit avec jens file Editor 3.95
Fichier à mettre dans le Pic
Fichier code
Et une petite vidéo
https://www.youtube.com/watch?v=B_s8YRt-q9g
J'ai également créer un petit programme pour visionner les fichier Nokia 3310 & 5110 que vous pouvez télécharger ICI
Exemple pour un écran Nokia 5110
Vous avez une option pour récupérer l'image que vous visionnez dans le format de l'écran, ce qui permet par la suite de la modifier avec un éditeur d'image comme Paint qui je vous le rappelle est disponible gratuitement sous Windows.
Le programme gère actuellement l'hexadécimal suivi de virgule comme l'exemple ci-dessous, je pense qu'il doit être compatible pour pas mal de langage.
Exemple : db 0x4D,0xC4,0xC7,0x41,0x40,0xC1,0x43,0x46,0x44,0xE6,0xA6,0xA3,0xF3,0xD1,0xF8,0xF8
Mais bon je laisse le soins à venom pour terminer cette partie, dans tout les langages.
On rajouteras par la suite différents type d'écrans au fut à mesure de la demande et du temps que je peux avoir.
A+
Mise en fonction de l'écran Nokia 5110, voici son datasheet
J'ai utilisé pour la mise en fonction de l'écran, un microcontrôleur Pic18F26K22, voici son datasheet
On peut choisir les pattes quand veux, car j'utilise le mode SPI bit bang , pour éviter les problèmes je vous conseille d'alimenter votre pic et l'écran en 3,3 volts.
Code : Tout sélectionner
;*************************************** assignations *****************************************
#DEFINE clk LATA,4 ; RA4 ==> horloge de synchronisation
#DEFINE din LATA,3 ; RA3 ==> entrée des données
#DEFINE dc LATA,2 ; RA2 ==> sélection du mode : commande = 0 , donnée = 1
#DEFINE ce LATA,1 ; RA1 ==> activer ou désactiver la transmission
#DEFINE rst LATA,0 ; RA0 ==> reset de l'écran
Schéma
En réelle
Dans cette version le clavier est stocké en mémoire eeprom, il faut 480 octets d'eeprom pour y stocker les 96 caractères ASCII, mais juste les
caractères primaires.
Fichier à mettre dans le Pic
Fichier code
******************************************************************************** Deuxième code ********************************************************************************
Dans cette deuxième version j'utilise le même Pic avec les mêmes branchement, mais le clavier est stocké en mémoire programme, comme on n'est plus gêné par la taille des données, j'ai créé des nouveaux caractères ASCII, vous pouvez en créer d'autre, car il y a encore de la place pour autre caractère.
J'ai aussi ajouté une gestion d'une lecture graphique en mémoire programme, ou il ne faudra pas dépasser les 504 octets pour une image noir et blanc d'un écran Nokia 5110 (48 x 84 pixels).
il y aussi la création d'un Bargraphe qui va de 0% à 99,45%, vous pouvez utiliser jusqu’à 6 Bargraphe toutes indépendants l'un de l'autre, comme on est en 8 bits, la valeur maxi est de 255 = 99,45%
Schéma
Ce code est fait pour les Pic18F qui possède plus de 32Kio de mémoire programme, si vous voulez l’adapter pour un Pic18F qui ne dépasse pas
les 32Kio de mémoire programme, ou pour un Pic16F, et que vous rencontré des problèmes, je peux vous aider si vous en faite la demande.
Attention car certain éditeur de texte ne reproduise pas conformément les caractères ASCII au numéro de la table, si c'est le cas il faudra changer la font dans votre éditeur de texte.
Le code
Le code ASM a été écrit avec jens file Editor 3.95
Code : Tout sélectionner
;**************************** "Écran Nokia 5110 48 x 84 pixels" ********************************
Errorlevel-302 ; Supprime le message "Ensure that bank bits are correct"
list p=18f26K22 ; processeur utilisé
#include <p18f26K22.inc> ; Définitions des constantes
;***********************************************************************************************
; CONFIG11H
CONFIG FOSC = INTIO67
CONFIG FCMEN = OFF
CONFIG IESO = OFF
; CONFIG2L
CONFIG PWRTEN = OFF
CONFIG BOREN = OFF
CONFIG BORV = 190
; CONFIG2H
CONFIG WDTEN = OFF
CONFIG WDTPS = 1
; CONFIG3H
CONFIG CCP2MX = PORTC1
CONFIG PBADEN = OFF
CONFIG CCP3MX = PORTC6
CONFIG HFOFST = OFF
CONFIG T3CMX = PORTC0
CONFIG P2BMX = PORTC0
CONFIG MCLRE = INTMCLR
; CONFIG4L
CONFIG STVREN = OFF
CONFIG LVP = OFF
CONFIG XINST = OFF
CONFIG DEBUG = OFF
; CONFIG5L
CONFIG CP0 = OFF
CONFIG CP1 = OFF
CONFIG CP2 = OFF
CONFIG CP3 = OFF
; CONFIG5H
CONFIG CPB = OFF
CONFIG CPD = OFF
; CONFIG6L
CONFIG EBTR0 = OFF
; CONFIG6H
CONFIG EBTR1 = OFF
; CONFIG7L
CONFIG EBTR2 = OFF
; CONFIG7H
CONFIG EBTR3 = OFF
;*************************************** assignations *****************************************
#DEFINE clk LATA,4 ; RA4 ==> horloge de synchronisation
#DEFINE din LATA,3 ; RA3 ==> entrée des données
#DEFINE dc LATA,2 ; RA2 ==> sélection du mode : commande = 0 , donnée = 1
#DEFINE ce LATA,1 ; RA1 ==> activer ou désactiver la transmission
#DEFINE rst LATA,0 ; RA0 ==> reset de l'écran
#DEFINE buzzer D'127' ; RC2 ==> pwm 1950 Hz à 50% pour le buzzer
#DEFINE phrase D'1' ; obligé d'avoir 1 pour la décrémentation de 1 caractère
;****************************** déclaration des variables *************************************
CBLOCK H'20' ; bank0
loop1 :1
loop2 :1
loop3 :1
loop4 :1
loop5 :1
loop6 :1
loop7 :1
loop8 :1
loop9 :1
tmps :1
temps :1
res8 :1
res16 :1
unité :1
dizaine :1
centaine :1
millieme :1
dix_millieme :1
lettre :1
lecture :1
somme :1
reste :1
quotient :1
adresse_low :1
adresse_hi :1
donner_low :1
donner_hi :1
ENDC
;************************* "Macro pour se positionner dans un tableau" *************************
tableau MACRO adresse
movlw UPPER(adresse) ;
movwf TBLPTRU ;
movlw HIGH(adresse) ;
movwf TBLPTRH ;
movlw LOW(adresse) ;
movwf TBLPTRL
ENDM
;************************** "Macro pour se positionner sur l'écran" ****************************
locate MACRO hauteur,largeur
movlw hauteur ;
movwf loop8 ;
movlw largeur ;
movwf loop9 ;
rcall position ;
ENDM
;****************************** adresse de depart après reset **********************************
ORG H'0'
bra debut
;********************************* interruption haute priorité *********************************
ORG H'8'
retfie
;********************************* interruption basse priorité *********************************
ORG H'18'
retfie
debut
;***************** "configuration de la bank sélectionné du microcontrôleur" *******************
movlw B'00000000'
movwf BSR
;******************** "configuration de l'oscillateur du microcontrôleur" **********************
; movlw B'01110100' ; oscillateur à 16 Mhz, fréquence stable si PLL (16 * 4)= 64 Mhz
movlw B'01100100' ; oscillateur à 8 Mhz, fréquence stable si PLL (8 * 4) = 32 Mhz
; movlw B'01010010' ; oscillateur à 4 Mhz, fréquence stable
; movlw B'01000010' ; oscillateur à 2 Mhz, fréquence stable
; movlw B'00110010' ; oscillateur à 1 Mhz, fréquence stable
movwf OSCCON
;**************************** configuration du registre OSCTUNE ********************************
movlw B'00000000' ; bit 6 à 1 : PLL * 4
movwf OSCTUNE ; bit 6 à 0 : PLL désactivé
;*************************** configuration du registre ANSELA **********************************
movlw B'00100000' ; en mode numérique : 7(RA5)
movwf ANSELA ; en mode E/S : 2(RA0), 3(RA1), 4(RA2), 5(RA3),
;**************************** configuration du registre ANSELB *********************************
movlw B'00000000' ; en mode numérique :
movwf ANSELB ; en mode E/S : 21(RB0), 22(RB1) 23(RB2), 24(RB3), 25(RB4), 26(RB5)
;**************************** configuration du registre ANSELC *********************************
movlw B'00000000' ; en mode numérique :
movwf ANSELC ; en mode E/S : 13(RC2), 14(RC3), 15(RC4), 16(RC5), 17(RC6), 18(RC7)
;*************************** configuration du registre ADCON0 **********************************
movlw B'00000000' ; b0 = ADON mise en service le convertiseur 0 = arrêt : 1 = marche
movwf ADCON0 ; b1 = GO/DONE indique la fin de la conversion analogique, et permet de lancer la conversion
; b2 à b6 = réglage de la sélection du canal
;*************************** configuration du registre ADCON1 **********************************
movlw B'00000000' ; b2 à b3 = 00 : sélection de la tension de reférence, Vref+ = Vss
movwf ADCON1 ; b0 à b1 = 00 : sélection de la tension de reférence, Vref- = Vdd
;*************************** configuration du registre ADCON2 **********************************
movlw B'00110110' ; b0 à b2 = FOSC/64
movwf ADCON2 ; b3 à b5 = 16 TAG
;
; b7 = détermine si le résultat de la conversion
; sera justifié à droite = 1 ou à gauche = 0
;*********************** "configuration du pwm du microncontrôleur" ****************************
movlw D'255' ; réglage du "débordement" de TMR2
movwf PR2 ; PR2 D'255' donc fréquence à 1950 Hz avec prédiviseur à 4
movlw B'00000101' ; "prédiviseur à 4" bit zéro à 1, bit un à 0
movwf T2CON ; "timer on", bit deux à 1 (mise en route du timer2. 0 : arrêt. 1 : marche)
; "postdiviseur à 1" bit trois à 0, bit quatre à 0, bit cinq à 0, bit six à 0
; dans registre de contrôle
movlw B'00001100' ; "1100" 4 bits mode pwm
movwf CCP1CON ; "00" 2 bits pour variation du rapport cyclique(RC2)
movwf CCP2CON ; "00" 2 bits pour variation du rapport cyclique(RC1)
;***************** configuration des registres TRISA & TRISB & TRISC & TRISE *******************
movlw B'00100000' ; RA0(2), RA1(3), RA2(4), RA3(5), RA4(6), RA5(7), RA6(10), RA7(9)
movwf TRISA ;
movlw B'11111111' ; RB0(21), RB1(22), RB2(23), RB3(24), RB4(25), RB5(26), RB6(27), RB7(28)
movwf TRISB ;
movlw B'00000000' ; RC0(11), RC1(12), RC2(13), RC3(14), RC4(15), RC5(16), RC6(17), RC7(18)
movwf TRISC ;
movlw B'00001000' ; RE3(1)
movwf TRISE ;
; VSS(8), VSS(19), VDD(20)
;**************************** configuration du registre INTCON2 ********************************
movlw B'00000000' ; B7 = 0 résistances en service
movwf INTCON2 ;
;**************************** configuration du registre WPUB ***********************************
movlw B'11111111' ; tirage de résistance sur : RB0(21), RB1(22), RB2(23), RB3(24), RB4(25), RB5(26), RB6(27), RB7(28)
movwf WPUB ; pas de tirage de résistance sur :
;**************************** configuration du registre INTCON *********************************
movlw B'00000000' ;
movwf INTCON ; interruption hors service
;************************************ départ du programme **************************************
clrf CCPR1L ; sortie du Pwm(RC2) réglage de la luminosité des leds sur écran
clrf CCPR2L ; sortie du Pwm(RC1) activation du buzer
clrf PORTA
clrf PORTB
clrf PORTC
clrf LATA
clrf LATB
clrf LATC
;**************************** " témoin sonore de mise en fonction" *****************************
movlw buzzer ; témoin sonore activé (RC1)
movwf CCPR2L
rcall _100ms ; petite pause de 100 ms
clrf CCPR2L ; arrêt du témoin sonore (RC1)
;**************************** " témoin visuel de mise en fonction" *****************************
movlw D'2' ; pour 2 clignotements
movwf loop4
clignote
bsf LATC,0
rcall _1s
bcf LATC,0
rcall _1s
decfsz loop4,F
bra clignote
;******************* "initialisation de l'écran nokia en mode SPI bit bang" ********************
bsf ce ; arrét
nop
bcf rst ;
nop
bsf rst ; remise à zéro
;-----------------------------------------------------------------------------------------------
movlw B'00100001' ; commandes étendues du lcd (0x21)
movwf loop8
call spi_command
;-----------------------------------------------------------------------------------------------
movlw B'10111001' ; réglage du contraste du lcd (0xB1) à (0xBF)
movwf loop8
call spi_command
;-----------------------------------------------------------------------------------------------
movlw B'00100000' ; Valider la modification (0x20)
movwf loop8
call spi_command
;-----------------------------------------------------------------------------------------------
movlw B'00001100' ; vidéo en mode normal 0x0C ou 0x0D pour mode négatif
movwf loop8
rcall spi_command
;-----------------------------------------------------------------------------------------------
movlw B'00000001' ; effacer l'écran
movwf loop8
rcall spi_command
;-----------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------
rcall cls_nokia ; efface l'écran, et remets le curseur en début de ligne
tableau graphique_1 ; macro qui permets de se positionner a l'adresse demandé
rcall pixel_nokia ; affichage graphique N°1
rcall _3s ; temporisation de 3 secondes pour voir ce qui est affiché sur l'écan
;
rcall cls_nokia ; efface l'écran, et remets le curseur en début de ligne
tableau graphique_2 ; macro qui permets de se positionner a l'adresse demandé
rcall pixel_nokia ; affichage graphique N°2
rcall _3s ; temporisation de 3 secondes pour voir ce qui est affiché sur l'écan
rcall cls_nokia ; efface l'écran, et remets le curseur en début de ligne
tableau graphique_3 ; macro qui permets de se positionner a l'adresse demandé
rcall pixel_nokia ; affichage graphique N°3
rcall _3s ; temporisation de 3 secondes pour voir ce qui est affiché sur l'écan
rcall cls_nokia ; efface l'écran, et remets le curseur en début de ligne
tableau graphique_4 ; macro qui permets de se positionner a l'adresse demandé
rcall pixel_nokia ; affichage graphique N°4
rcall _3s ; temporisation de 3 secondes pour voir ce qui est affiché sur l'écan
rcall cls_nokia ; efface l'écran, et remets le curseur en début de ligne
;-----------------------------------------------------------------------------------------------
movlw D'42' ; longueur de la donnée
movwf phrase ; "R‚glage du pwm"
; " sur l'‚cran "
movlw D'0' ; " Nokia 5510 "
movwf lecture ; emplacement du départ de la donnée à lire
rcall affiche_nokia ;
;-----------------------------------------------------------------------------------------------
movlw D'14' ; affiche 14 fois le même caractère
movwf loop4
ret1
movlw '*'
rcall lettre_nokia ; afffiche un caractère
decfsz loop4,F
bra ret1
rcall canal_AN4 ; sélection du canal RA5 analogique
;-----------------------------------------------------------------------------------------------
scan_bargraphe
rcall scan_numérique ;
movf somme,W ; réglage de la luminosité des leds sur écran (RC2)
movwf CCPR1L
movlw D'39'
mulwf somme ; multiplier W par "somme" résultat dans PRODH PRODL
locate 4,18 ; macro de positionnement hauteur, largeur
movff PRODL,res8
movff PRODH,res16
rcall conversion ; conversion pour affichage à l'écran
movlw '%'
rcall lettre_nokia ; afffiche un caractère
movlw ' '
rcall lettre_nokia ; afffiche un caractère
movlw ' '
rcall lettre_nokia ; afffiche un caractère
locate 5,0 ; macro de positionnement hauteur, largeur
rcall lire_bargraphe ; indication de la valeur du pwm par bargraphe
rcall _10ms ; temporisation de 10 millisecondes, évite un effet fantôme
bra scan_bargraphe ; retour
;********************* "sélection du canal AN4 du convertiseur numérique" **********************
canal_AN4
bcf ADCON0,6 ; b6 = CHS4 sélection du canal RA5/AN4
bcf ADCON0,5 ; b5 = CHS3 sélection du canal RA5/AN4
bsf ADCON0,4 ; b4 = CHS2 sélection du canal RA5/AN4
bcf ADCON0,3 ; b3 = CHS1 sélection du canal RA5/AN4
bcf ADCON0,2 ; b2 = CHS0 sélection du canal RA5/AN4
return
;***********************************************************************************************
scan_numérique
bsf ADCON0,ADON ; on lance l’acquisition (charge du condensateur)
nop
nop
nop ; pause, temps de charge du condensateur
bsf ADCON0,GO ; lancer la conversion A/D
btfsc ADCON0,GO ; si le bit GO est à 1 on va à la ligne 1
bra $-D'2' ; convertion n'est pas terminer
bcf ADCON0,ADON ; fin de conversion, éteindre convertisseur
movff ADRESH,somme ; transférer le résultat dans la variable "somme"
return
;****************************** "affiche le texte sélectionner" ********************************
affiche_nokia
tableau info ; macro qui permets de se positionner a l'adresse demandé
movf lecture,W ;
addwf TBLPTRL,F ;
incf lecture,F ; lecture pour le prochain passage
tblrd* ; effectue la lecture de l’octet pointé par TBLPTR
movf TABLAT,W ; transfére le caractère récupéredans TABLAT vers W
lettre_nokia
movwf lettre ; transfére le caractère récupére dans "lettre"
movlw D'32' ; récupère le caractère qui était placé dans W
subwf lettre,W ; ((caractÞre-32) * 5) = adresse de la mémoire flash
mullw D'5' ; multiplier W par 5, résultat dans PRODH PRODL
movlw D'5' ; 5 passages pour créer un caractère
movwf loop5
tableau alphabet ; macro qui permets de se positionner a l'adresse demandé
movf PRODH,W ;
addwf TBLPTRH,F ;
movf PRODL,W ;
addwf TBLPTRL,F ;
ret2
tblrd*+ ; effectue la lecture, et ensuite incrémente TBLPTR
movff TABLAT,loop8 ; transfére la donnée récupére dans "loop8"
rcall spi_données ;
decfsz loop5,F
bra ret2
movlw B'00000000' ; avance d'un pixel sur la largeur
movwf loop8
rcall spi_données
decfsz phrase,F ; "phrase" est la longueur du texte
bra affiche_nokia ;
incf phrase,F ; préparation au cas ou il faudrait lire un caractére
return
;*********************"efface l'écran & position le curseur au début" **************************
cls_nokia
movlw D'2' ; pour effacement complet de l'écran, soit 504 octets
movwf loop1
movlw D'248'
movwf loop2
locate 0,0 ; macro de positionnement hauteur, largeur
cls
movlw B'00000000'
movwf loop8
rcall spi_données ; effacer les données existantes
decfsz loop2,F
bra cls
decfsz loop1,F
bra cls
locate 0,0 ; macro de positionnement hauteur, largeur
return
;***********************************"Ecran Nokia 504 octets" ***********************************
pixel_nokia
movlw D'2' ; pour la lecture complet de l'écran, soit 504 octets
movwf loop1 ;
movlw D'248' ;
movwf loop2
lire_graphique
tblrd*+ ; effectue la lecture, et ensuite incrémente TBLPTR
movff TABLAT,loop8 ; transfére la donnée récupére dans "loop8"
rcall spi_données ;
decfsz loop2,F
bra lire_graphique
decfsz loop1,F
bra lire_graphique
return
;***********************************************************************************************
lire_bargraphe
clrf quotient
clrf reste
diviser
movlw D'3'
subwf somme,F
btfsc STATUS,Z
bra difference
btfsc STATUS,C
bra retire
bra difference
retire
incf quotient,F
bra diviser
difference
movf quotient,W
sublw D'84'
movwf reste
movf quotient,W
xorlw D'0'
btfsc STATUS,Z
bra bar_blanc
bar_noir
movlw B'01111111'
movwf loop8
rcall spi_données ; ajouter les données
decfsz quotient,F
bra bar_noir
movf reste,W
xorlw D'0'
btfsc STATUS,Z
return
bar_blanc
movlw B'00000000'
movwf loop8
rcall spi_données ; effacer les données existantes
decfsz reste,F
bra bar_blanc
return
;***********************************************************************************************
spi_command
bcf dc ; DC = 0 en mode commande
bra envoie
;***********************************************************************************************
spi_données
bsf dc ; DC = 1 en mode donnée
bra envoie ;
;***********************************************************************************************
envoie
bcf ce ; marche
movlw D'8' ; envoie de 8 bits
movwf loop7
ret3
btfss loop8,7 ; 1 lecture sur le bit 7
bra suite_1
bcf clk ;
bsf din ; envoie 1
bsf clk ;
bra suite_2
suite_1
bcf clk ;
bcf din ; envoie 0
bsf clk ;
suite_2
rlncf loop8,F ; rotation des bits à gauche sans carry
decfsz loop7,F
bra ret3
bcf clk ; fin de transmission
bsf ce ; arrét
return
;************************************ "position de y et x" *************************************
position
bsf loop8,6 ; y = 0, à 5 = B'01000 Y2 Y1 Y0' hauteur de l'écran
rcall spi_command ;
bsf loop9,7 ; x = 0, à 83 = B'1 X6 X5 X4 X3 X2 X1 X0' largeur de l'écran
;
movf loop9,W ;
movwf loop8 ;
rcall spi_command ;
return
;************************************** "convertion" *******************************************
conversion
clrf unité
clrf dizaine
clrf centaine
clrf millieme
clrf dix_millieme
; "16 bits"
b16_7
btfss res16,7
goto b16_6
movlw D'3' ; 32768
addwf dix_millieme,F
movlw D'2' ; 2768
addwf millieme,F
movlw D'7' ; 768
addwf centaine,F
movlw D'6' ; 68
addwf dizaine,F
movlw D'8' ; 8
addwf unité,F
b16_6
btfss res16,6
goto b16_5
movlw D'1' ; 16384
addwf dix_millieme,F
movlw D'6' ; 6384
addwf millieme,F
movlw D'3' ; 384
addwf centaine,F
movlw D'8' ; 84
addwf dizaine,F
movlw D'4' ; 4
addwf unité,F
b16_5
btfss res16,5
goto b16_4
movlw D'8' ; 8192
addwf millieme,F
movlw D'1' ; 192
addwf centaine,F
movlw D'9' ; 92
addwf dizaine,F
movlw D'2' ; 2
addwf unité,F
b16_4
btfss res16,4
goto b16_3
movlw D'4' ; 4096
addwf millieme,F
movlw D'0' ; 096
addwf centaine,F
movlw D'9' ; 96
addwf dizaine,F
movlw D'6' ; 6
addwf unité,F
b16_3
btfss res16,3
goto b16_2
movlw D'2' ; 2048
addwf millieme,F
movlw D'0' ; 048
addwf centaine,F
movlw D'4' ; 48
addwf dizaine,F
movlw D'8' ; 8
addwf unité,F
b16_2
btfss res16,2
goto b16_1
movlw D'1' ; 1024
addwf millieme,F
movlw D'0' ; 024
addwf centaine,F
movlw D'2' ; 24
addwf dizaine,F
movlw D'4' ; 4
addwf unité,F
b16_1
btfss res16,1
goto b16_0
movlw D'5' ; 512
addwf centaine,F
movlw D'1' ; 12
addwf dizaine,F
movlw D'2' ; 2
addwf unité,F
b16_0
btfss res16,0
goto b8_7
movlw D'2' ; 256
addwf centaine,F
movlw D'5' ; 56
addwf dizaine,F
movlw D'6' ; 6
addwf unité,F
;***********************************************************************************************
; "8 bits"
b8_7
btfss res8,7
goto b8_6
movlw D'1' ; 128
addwf centaine,F
movlw D'2' ; 28
addwf dizaine,F
movlw D'8' ; 8
addwf unité,F
b8_6
btfss res8,6
goto b8_5
movlw D'6' ; 64
addwf dizaine,F
movlw D'4' ; 4
addwf unité,F
b8_5
btfss res8,5
goto b8_4
movlw D'3' ; 32
addwf dizaine,F
movlw D'2' ; 2
addwf unité,F
b8_4
btfss res8,4
goto b8_3
movlw D'1' ; 16
addwf dizaine,F
movlw D'6' ; 6
addwf unité,F
b8_3
movlw B'00001111' ; 8, 4, 2, 1
andwf res8,W
addwf unité,F
;-----------------------------------------------------------------------------------------------
movlw D'5' ; 5 variables à traiter
movwf loop6
lfsr FSR0,unité-1 ; pointer à l'adresse de la variable "unité-1"
assembler
incf FSR0L,F ; variable suivante
movf INDF0,W ; récupérer la valeur dans W
movwf tmps ; transmettre dans la variable "tmps"
incf FSR0L,F ; variable suivante
movf INDF0,W ; récupérer la valeur dans W
movwf temps ; transmettre dans la variable "temps"
;***********************************************************************************************
tr0
movf tmps,W
sublw D'10' ; retir 10 de W
btfsc STATUS,Z ;
goto tr1 ;
btfss STATUS,C ;
goto tr1 ;
goto tr2 ;
tr1
movlw D'10' ;
subwf tmps,F ;
incf temps,F ;
bra tr0
;***********************************************************************************************
tr2
movf temps,W
movwf INDF0 ; nouvelle valeur à cette adresse
decf FSR0L,F
movf tmps,W
movwf INDF0 ; nouvelle valeur à cette adresse
movlw D'48' ; convertir en format ASCII
addwf INDF0,F
decfsz loop6,F ; variable suivante
goto assembler
;-----------------------------------------------------------------------------------------------
; "suprime les zéros qui sont à gauches"
movlw D'5' ; 5 variables à traiter
movwf loop6
lfsr FSR0,dix_millieme ; pointer à l'adresse de la variable "dix_millieme"
supprimer_zero
movf INDF0,W
xorlw D'48'
btfss STATUS,Z
goto imprime_ecran
decf FSR0L,F
decfsz loop6,F
goto supprimer_zero
movlw '0' ; tout est à zéro
rcall lettre_nokia
return
; "écrit les données sur l'écran"
imprime_ecran
movf loop6,W
xorlw D'2'
btfss STATUS,Z
goto imprime_2
; return pour arrondir
movlw '.' ; on mets la virgule
rcall lettre_nokia
imprime_2
movf INDF0,W
rcall lettre_nokia
decf FSR0L,F
decfsz loop6,F
goto imprime_ecran
return
;****************************** "pour écrit dans l'eeprom" *************************************
ecriture_eeprom
movf adresse_hi,W ; adresse du poid fort
movwf EEADRH ;
movf adresse_low,W ; adresse du poid faible
movwf EEADR ;
movf donner_low,W ;
movwf EEDATA ; écriture de la donnée
bcf EECON1,EEPGD ; préparation à l'autorisation
bcf EECON1,CFGS ; access eeprom
bsf EECON1,WREN ; Enable writes
bcf INTCON,GIE ; couper les interruptions
btfsc INTCON,GIE ; contrôl si les interruptions sont bien coupés
bra $-D'2' ; remonte à la ligne 2 jusqu'a coupures des interruptions
movlw H'55' ; séquence spécifique (c'est comme ça, il faut le savoir)
movwf EECON2 ; séquence spécifique
movlw H'AA' ; séquence spécifique
movwf EECON2 ; séquence spécifique
bsf EECON1,WR ; lance une opération d'écriture
btfsc EECON1,WR ; on attend que l'operation d'ecriture soit finie (de l'ordre de la ms
bra $-D'2' ; remonte à la ligne 2 jusqu'a fin d'écriture
bcf EECON1, WREN ; interdiction de l'écriture
return
;******************************** "pour lire dans l'eeprom" ************************************
lecture_eeprom
movf adresse_hi,W ; adresse du poid fort
movwf EEADRH ;
movf adresse_low,W ; adresse du poid faible
movwf EEADR ;
bcf EECON1,EEPGD ; préparation à la lecture
bcf EECON1,CFGS ; access EEPROM
bsf EECON1,RD ; lecture de l'EEPROM
movf EEDATA,W ; la valeur lue dans l'éeprom est placée dans W
movwf donner_low ; récupération du résultat
return
;************************* "pause de 3 secondes pour horloge de 8 Mhz" *************************
_3s
movlw D'4'
movwf loop4
temps_3
rcall _1s
decfsz loop4,F
bra temps_3
return
;************************* "pause de 1 seconde pour horloge de 8 Mhz" **************************
_1s
movlw D'93'
movwf loop1
movlw D'38'
movwf loop2
movlw D'11'
movwf loop3
decfsz loop1
bra $-D'2'
decfsz loop2
bra $-D'6'
decfsz loop3
bra $-D'10'
return
;********************* "pause de 100 millisecondes pour horloge de 8 Mhz" **********************
_100ms
movlw D'186'
movwf loop1
movlw D'4'
movwf loop2
movlw D'2'
movwf loop3
decfsz loop1
bra $-D'2'
decfsz loop2
bra $-D'6'
decfsz loop3
bra $-D'10'
return
;********************** "pause de 10 millisecondes pour horloge de 8 Mhz" **********************
_10ms
movlw D'248'
movwf loop1
movlw D'26'
movwf loop2
decfsz loop1
bra $-D'2'
decfsz loop2
bra $-D'6'
return
;************************* "affichage des phrases, 512 octets maximum" *************************
ORG H'8E00'
info
db "R‚glage du pwm"
db " sur l'‚cran "
db " Nokia 5510 "
;***************************** "table des caractères ASCII" ************************************
ORG H'9000'
alphabet
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x14
db 0x7F,0x14,0x7F,0x14,0x24,0x2A,0x7F,0x2A,0x12,0x26,0x16,0x08,0x34,0x32,0x76,0x49
db 0x55,0x22,0x50,0x00,0x00,0x05,0x03,0x00,0x00,0x1C,0x22,0x41,0x00,0x00,0x41,0x22
db 0x1C,0x00,0x14,0x08,0x3E,0x08,0x14,0x08,0x08,0x3E,0x08,0x08,0x00,0x50,0x30,0x00
db 0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x60,0x60,0x00,0x00,0x20,0x10,0x08,0x04,0x02
db 0x3E,0x51,0x49,0x45,0x3E,0x00,0x42,0x7F,0x40,0x00,0x42,0x61,0x51,0x49,0x46,0x21
db 0x41,0x45,0x4B,0x31,0x18,0x14,0x12,0x7F,0x10,0x27,0x45,0x45,0x45,0x39,0x3C,0x4A
db 0x49,0x49,0x30,0x01,0x01,0x79,0x05,0x03,0x36,0x49,0x49,0x49,0x36,0x06,0x49,0x49
db 0x29,0x1E,0x00,0x36,0x36,0x00,0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x08,0x14,0x22
db 0x41,0x14,0x14,0x14,0x14,0x14,0x41,0x22,0x14,0x08,0x00,0x02,0x01,0x51,0x09,0x06
db 0x3E,0x41,0x49,0x55,0x5E,0x7E,0x11,0x11,0x11,0x7E,0x7F,0x49,0x49,0x49,0x36,0x3E
db 0x41,0x41,0x41,0x22,0x7F,0x41,0x41,0x22,0x1C,0x7F,0x49,0x49,0x49,0x41,0x7F,0x09
db 0x09,0x09,0x01,0x3E,0x41,0x49,0x49,0x3A,0x7F,0x08,0x08,0x08,0x7F,0x00,0x41,0x7F
db 0x41,0x00,0x20,0x41,0x41,0x3F,0x00,0x7F,0x08,0x14,0x22,0x41,0x7F,0x40,0x40,0x40
db 0x40,0x7F,0x02,0x0C,0x02,0x7F,0x7F,0x04,0x08,0x10,0x7F,0x3E,0x41,0x41,0x41,0x3E
db 0x7F,0x09,0x09,0x09,0x06,0x3E,0x41,0x51,0x21,0x5E,0x7F,0x09,0x19,0x29,0x46,0x46
db 0x49,0x49,0x49,0x31,0x01,0x01,0x7F,0x01,0x01,0x3F,0x40,0x40,0x40,0x3F,0x1F,0x20
db 0x40,0x20,0x1F,0x3F,0x40,0x3C,0x40,0x3F,0x63,0x14,0x08,0x14,0x63,0x07,0x08,0x70
db 0x08,0x07,0x61,0x51,0x49,0x45,0x43,0x00,0x7F,0x41,0x41,0x00,0x02,0x04,0x08,0x10
db 0x20,0x00,0x41,0x41,0x7F,0x00,0x04,0x02,0x01,0x02,0x04,0x40,0x40,0x40,0x40,0x40
db 0x00,0x01,0x02,0x04,0x00,0x20,0x54,0x54,0x54,0x78,0x7F,0x48,0x44,0x44,0x38,0x38
db 0x44,0x44,0x44,0x20,0x38,0x44,0x44,0x48,0x7F,0x38,0x54,0x54,0x54,0x18,0x08,0x7E
db 0x09,0x01,0x02,0x08,0x54,0x54,0x54,0x3C,0x7F,0x08,0x04,0x04,0x78,0x00,0x44,0x7D
db 0x40,0x00,0x20,0x40,0x44,0x3D,0x00,0x7F,0x10,0x28,0x44,0x00,0x00,0x41,0x7F,0x40
db 0x00,0x7C,0x04,0x18,0x04,0x78,0x7C,0x08,0x04,0x04,0x78,0x38,0x44,0x44,0x44,0x38
db 0x7C,0x14,0x14,0x14,0x08,0x08,0x14,0x14,0x18,0x7C,0x7C,0x08,0x04,0x04,0x08,0x48
db 0x54,0x54,0x54,0x20,0x04,0x3F,0x44,0x40,0x20,0x3C,0x40,0x40,0x20,0x7C,0x1C,0x20
db 0x40,0x20,0x1C,0x3C,0x40,0x38,0x40,0x3C,0x44,0x28,0x10,0x28,0x44,0x0C,0x50,0x50
db 0x50,0x3C,0x44,0x64,0x54,0x4C,0x44,0x00,0x08,0x36,0x41,0x00,0x00,0x00,0x7F,0x00
db 0x00,0x00,0x41,0x36,0x08,0x00,0x08,0x08,0x2A,0x1C,0x08,0x08,0x1C,0x2A,0x08,0x08
db 0x1E,0xA1,0xE1,0x21,0x10,0x3D,0x40,0x40,0x20,0x7D,0x38,0x56,0x55,0x54,0x18,0x20
db 0x56,0x55,0x56,0x78,0x20,0x55,0x54,0x55,0x78,0x20,0x54,0x55,0x56,0x78,0x20,0x54
db 0x55,0x54,0x78,0x0E,0x51,0x71,0x11,0x08,0x38,0x56,0x55,0x56,0x18,0x38,0x55,0x54
db 0x55,0x18,0x38,0x54,0x55,0x56,0x18,0x00,0x45,0x7C,0x41,0x00,0x00,0x46,0x7D,0x42
db 0x00,0x00,0x45,0x7E,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38
db 0x46,0x45,0x46,0x38,0x38,0x45,0x44,0x45,0x38,0x38,0x45,0x46,0x44,0x38,0x3C,0x42
db 0x41,0x22,0x7C,0x3C,0x40,0x41,0x22,0x7C,0x0C,0x51,0x50,0x51,0x3C,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x20,0x54,0x56,0x55,0x78,0x00,0x46,0x7D,0x40,0x00,0x38,0x44,0x46,0x45,0x38,0x3C
db 0x42,0x41,0x20,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x55,0x00,0x55,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x16,0x7C,0x16,0x15,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0xF8,0x54,0x54,0x54,0x28,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x40
db 0x40,0x20,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x05,0x02,0x00,0x00,0x38,0x44,0x48
db 0x30,0x4C,0xF8,0x54,0x54,0x54,0x28,0x38,0x44,0x4C,0x54,0x24,0x28,0x54,0x54,0x44
db 0x20,0x58,0x64,0x04,0x64,0x58,0x44,0x3C,0x04,0x7C,0x44,0x63,0x55,0x49,0x41,0x41
;**************************"affichage d'un graphique N°1" **************************************
ORG H'EEEE'
graphique_1
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x40,0x60,0x30,0x10,0x10
db 0x08,0x88,0x84,0x84,0x04,0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x03,0x03,0x03,0x03
db 0x03,0x03,0x83,0xC3,0x73,0x33,0x1A,0x1A,0x1A,0x1A,0x12,0x32,0x66,0xEC,0x88,0x18
db 0x10,0x30,0x20,0x60,0x40,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0
db 0x30,0x08,0x0C,0x06,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x8C,0xF8,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x60,0x30,0x18,0x0C,0x03,0x01,0x01,0x00,0xC0
db 0x38,0x0C,0x06,0x06,0x03,0x01,0x01,0x81,0x83,0x02,0x06,0x0C,0x30,0xE0,0x80,0x00
db 0x00,0x00,0x00,0x00,0xFC,0x07,0x01,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF8,0xF8,0x78
db 0xF0,0xE0,0x01,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x8C,0xB8,0xE0
db 0x40,0x60,0x20,0x37,0x1E,0x18,0x10,0x10,0x18,0x10,0x10,0x10,0x10,0x10,0x38,0x3C
db 0x23,0x61,0xC0,0x80,0x80,0x00,0x00,0x00,0xF0,0x1E,0x01,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF0,0xF8,0xFC,0xFF,0xFF,0x8F,0x87,0xFF,0xFE
db 0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x0F,0x30,0x40,0x80,0x00,0x0F,0x1F,0x3F
db 0x7F,0x7F,0x7C,0x3C,0x1F,0x8F,0xC0,0x78,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xE0
db 0x7F,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10
db 0x30,0x20,0x20,0x60,0x00,0x00,0x00,0x00,0x01,0x03,0x0C,0xF8,0x1F,0xF0,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x18,0x30,0x60,0x40,0xC3,0x87,0x8F,0x8F
db 0xC7,0x47,0x23,0x31,0x18,0x0C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x03,0x06,0x84,0x84,0x84,0xC4,0xC4,0xE6,0xF3,0xF9,0x38,0x0C,0x00,0x00,0x00,0x00
db 0x00,0x00,0x0F,0x18,0xF0,0x20,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10
db 0x10,0x10,0x30,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x7F
db 0x00,0x01,0x07,0x0C,0x38,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x10,0x30,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xD8,0xC8,0xC8,0xC8,0xC4
db 0xE4,0xE4,0xE2,0xE2,0xFA,0xF9,0xF9,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x61,0x27,0x1C,0x0C,0x08,0x18,0x30,0x30
db 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x10,0x10,0x18,0x0C,0x04,0x06
db 0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x06,0x0C
db 0x08,0x18,0x10,0x30,0x20,0x20,0x60,0x40,0x40,0xC0,0x81,0x83,0x87,0x8F,0x9F,0xBF
db 0xBF,0xBF,0xFF,0xFF,0xFF,0xFF,0xBF,0xBF,0x9F,0x8F,0x8F,0x87,0xC3,0x41,0x40,0x60
db 0x20,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
;**************************"affichage d'un graphique N°2" **************************************
ORG H'F0EE'
graphique_2
db 0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0xE0,0xE0,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xE0
db 0xE0,0x80,0x00,0x80,0xE0,0xE0,0xE0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0xE0,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0
db 0xE0,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00
db 0x7F,0x7F,0x7F,0x01,0x3F,0x7F,0x70,0x3F,0x3F,0x01,0x7F,0x7F,0x7F,0x00,0x00,0x00
db 0x3E,0x7F,0x7F,0x49,0x49,0x6F,0x6F,0x2E,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x01,0x01
db 0x01,0x00,0x3E,0x7F,0x7F,0x41,0x41,0x41,0x63,0x22,0x00,0x00,0x7F,0x7F,0x7F,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6F,0x6F,0x6F,0x00,0x00,0x00,0x6F,0x6F,0x00
db 0x00,0x00,0x6F,0x6F,0x6F,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x7F,0x7F,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60
db 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7F,0x7F
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00
db 0x00,0x00,0x00,0xC0,0x70,0x08,0x88,0xA4,0x94,0xB6,0x96,0xA6,0x86,0x86,0xA6,0x96
db 0xB4,0x94,0xA4,0x88,0x08,0x70,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF
db 0xFF,0xFF,0x07,0x07,0x07,0x07,0x07,0x07,0x18,0x27,0x27,0x49,0xD1,0xBF,0xBF,0xA1
db 0xA1,0xA1,0xA1,0xBF,0xDF,0x51,0x49,0x27,0x27,0x10,0x3F,0x7F,0x7F,0x7E,0x7C,0x7C
db 0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00
;**************************"affichage d'un graphique N°3" **************************************
ORG H'F2EE'
graphique_3
db 0x00,0x00,0x00,0x00,0xC0,0xE0,0xE0,0x60,0x40,0x00,0x00,0x80,0xC0,0x40,0x60,0x20
db 0x30,0x10,0x10,0x18,0x18,0x08,0x08,0x08,0x08,0x88,0x88,0x88,0x88,0x88,0x08,0x08
db 0x08,0x18,0x18,0x10,0x10,0x30,0x20,0x60,0x40,0xC0,0x80,0x80,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80
db 0x80,0x80,0x00,0x00,0xFC,0x04,0x04,0x0C,0x18,0xF0,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x63,0x38,0xCC,0xE6,0x73,0x33,0x19
db 0x18,0x18,0x18,0x10,0x30,0x60,0xE0,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x01,0x81
db 0xC1,0x71,0x39,0xDC,0x6E,0x36,0x18,0x0C,0x8C,0xD8,0x60,0x20,0x20,0x00,0x01,0x01
db 0x03,0x06,0x0C,0x18,0x70,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0xF8,0x4C,0x44,0x44
db 0x47,0x4C,0xE0,0xB0,0x18,0x09,0x03,0x06,0x1F,0x00,0x00,0x40,0x60,0x7F,0x20,0x38
db 0x1C,0x06,0x03,0x81,0xC1,0x61,0x3F,0x00,0x00,0xC0,0xFC,0x07,0x01,0x00,0x00,0x1F
db 0x3F,0x70,0xC0,0x80,0x9E,0x33,0xF3,0xFF,0xFF,0xEF,0xE6,0x7F,0x1F,0x00,0x00,0x00
db 0x80,0x80,0x80,0x81,0x80,0xC0,0xC3,0xC1,0xC0,0xE0,0xF6,0x7B,0x1F,0x03,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x7E,0xE0,0x00,0x00,0x00
db 0x01,0x01,0x3F,0x61,0xC1,0x80,0x00,0x07,0x02,0x02,0x86,0x7C,0x00,0x00,0x00,0x80
db 0xC0,0xE0,0x70,0x18,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xC0
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x01,0x10,0x10,0x10,0x3C,0x7E
db 0xFE,0xF3,0xF1,0xF1,0xF9,0xF8,0xF8,0xFC,0xFC,0xFE,0xFF,0xFF,0x7F,0x3F,0x0F,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF8
db 0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x02,0x02,0x02
db 0x02,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x03,0x0E,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x01,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x03,0x01
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x70
db 0x38,0x0E,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x06
db 0x0C,0x0C,0x18,0x18,0x10,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0x40,0x40,0x40,0x40
db 0x40,0x40,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x10,0x10,0x18,0x0C,0x0C,0x06,0x03
db 0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
;**************************"affichage d'un graphique N°4" **************************************
ORG H'F4EE'
graphique_4
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x80,0xE0,0x20,0x30,0x10,0x10,0x10,0x18,0x08,0x0C,0x04,0x04,0x04
db 0x04,0x06,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02
db 0x02,0x02,0x02,0x06,0x04,0x04,0x04,0x04,0x04,0x0C,0x08,0x08,0x18,0x20,0x20,0x60
db 0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x30,0x18,0x88
db 0xE4,0x34,0x1C,0x0E,0x06,0x03,0x03,0xC3,0x62,0xBC,0xC0,0x60,0x20,0x20,0x20,0x20
db 0x20,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0x40,0x40,0x40,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x02,0x06,0x0C,0x18,0x30,0xE0,0x80,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0xFF,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x7E,0x19,0x06,0x03,0x01,0x00,0x00
db 0x80,0xC0,0x20,0x98,0x8C,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0x80,0x80
db 0x80,0xC0,0x40,0x60,0x30,0x10,0x0C,0x04,0x06,0x03,0x01,0x00,0x80,0x80,0xC0,0xC0
db 0xC0,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x01,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0xE0,0x38,0x0E,0x23,0x31,0x30,0x60,0xE0,0x41,0xC7,0x0F,0x03,0x03,0x03,0x00,0x00
db 0x00,0x00,0x01,0x01,0x01,0x00,0x00,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0x03,0x03
db 0x03,0x01,0x01,0x01,0x01,0x09,0x05,0x05,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x06,0x0E,0x1C,0x14,0x64,0x44
db 0xC2,0x82,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x80,0xC0,0x60,0x30
db 0x18,0x0C,0x04,0x06,0x02,0x02,0x02,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x80,0xC0,0x60,0x30,0x18,0x0C,0x06,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x02,0x06,0x04,0x08,0x18,0x30,0x20,0x20
db 0x20,0x60,0x40,0x40,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x8C,0x87
db 0x81,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x40,0x40,0x60,0x20,0x20,0x30
db 0x10,0x18,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
;**************************"affichage d'un graphique N°5" **************************************
ORG H'F6EE'
graphique_5
End
Fichier à mettre dans le Pic
Fichier code
Et une petite vidéo
https://www.youtube.com/watch?v=B_s8YRt-q9g
J'ai également créer un petit programme pour visionner les fichier Nokia 3310 & 5110 que vous pouvez télécharger ICI
Exemple pour un écran Nokia 5110
Vous avez une option pour récupérer l'image que vous visionnez dans le format de l'écran, ce qui permet par la suite de la modifier avec un éditeur d'image comme Paint qui je vous le rappelle est disponible gratuitement sous Windows.
Le programme gère actuellement l'hexadécimal suivi de virgule comme l'exemple ci-dessous, je pense qu'il doit être compatible pour pas mal de langage.
Exemple : db 0x4D,0xC4,0xC7,0x41,0x40,0xC1,0x43,0x46,0x44,0xE6,0xA6,0xA3,0xF3,0xD1,0xF8,0xF8
Mais bon je laisse le soins à venom pour terminer cette partie, dans tout les langages.
On rajouteras par la suite différents type d'écrans au fut à mesure de la demande et du temps que je peux avoir.
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le mar. 9 févr. 2021 22:04, modifié 89 fois.
Afficheur Nokia 3310 en ASM
Afficheur Nokia 3310 en ASM
- F6FCO
Expert- Messages : 1420
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
Hello tous,
Je ne comprends pas Temps-X, tu mets le code en téléchargement et tu dis ensuite que tu ne le mets pas tout de suite ?
à moins que ce ne soit un autre code d'utilisation ?
Je vais suivre ce sujet de près, j'avais justement commandé un Nokia qui dort dans un tiroir.
Je ne comprends pas Temps-X, tu mets le code en téléchargement et tu dis ensuite que tu ne le mets pas tout de suite ?
à moins que ce ne soit un autre code d'utilisation ?
Je vais suivre ce sujet de près, j'avais justement commandé un Nokia qui dort dans un tiroir.
Afficheur Nokia 3310 en ASM
Bonsoir F6FCO, et tout le forum,
Content de te revoir sur le forum, je vais traiter les écrans,.. JMarc sera ravi......
Non.... c'est pas le code ASM que je mets en téléchargement, c'est le fichier d’extension *.hex
celui qui est envoyé au Pic au moment de la programmation de celui-ci.
Ok si tu veux le code je te l'envoie par MP, Il fonctionne pour tous les Pic18F, du moment que tu disposes 480 octets d'eeproms.
A+
Content de te revoir sur le forum, je vais traiter les écrans,.. JMarc sera ravi......
F6FCO a écrit :Source du message Je ne comprends pas Temps-X, tu mets le code en téléchargement
Non.... c'est pas le code ASM que je mets en téléchargement, c'est le fichier d’extension *.hex
celui qui est envoyé au Pic au moment de la programmation de celui-ci.
Ok si tu veux le code je te l'envoie par MP, Il fonctionne pour tous les Pic18F, du moment que tu disposes 480 octets d'eeproms.
A+
Afficheur Nokia 3310 en ASM
Bonjour temps-x, Gerard, f6fco et tout le forum
Effectivement je suis ravi que l’on pense à moi et que l’on traite les écrans
Je lis le forum tout les jours mais depuis que je me suis mis en tête que l'écran Serai mon iPhone, je pédale sévère avec ce langage compliqué qu’est le swift.
J’arrive à me connecter et envoyer des trames de données du pic au iPhone.
Je n’arrive pas dans l’autre sens mais cela ne serait tarder.
Des mon objectif atteint, je poste tout cela
Merci de penser à moi
Temps-x a écrit :
je vais traiter les écrans,.. JMarc sera ravi......
A+
Effectivement je suis ravi que l’on pense à moi et que l’on traite les écrans
Je lis le forum tout les jours mais depuis que je me suis mis en tête que l'écran Serai mon iPhone, je pédale sévère avec ce langage compliqué qu’est le swift.
J’arrive à me connecter et envoyer des trames de données du pic au iPhone.
Je n’arrive pas dans l’autre sens mais cela ne serait tarder.
Des mon objectif atteint, je poste tout cela
Merci de penser à moi
Afficheur Nokia 3310 en ASM
Écran Nokia 5110 en ASM
Bonsoir Gérard, JMarc, F6FCO, et tout le forum,
Je sais plus ou je l'avais acheté, mais c'est le même que celui-là
C'est un écran en noir est blanc, mais on peut afficher du graphique, le prochain sera en couleur, et en mode SPI (ça c'est un renseignement pour JMarc)
j’oublie jamais les personnes qui son sympathique, et avec qui j'ai eu des échanges courtois et humoristique
A+
Gérard a écrit :Source du message Temps-x, tu peux donner un lien d'où vient l'afficheur?
Je sais plus ou je l'avais acheté, mais c'est le même que celui-là
C'est un écran en noir est blanc, mais on peut afficher du graphique, le prochain sera en couleur, et en mode SPI (ça c'est un renseignement pour JMarc)
JMarc a écrit :Source du message Merci de penser à moi
j’oublie jamais les personnes qui son sympathique, et avec qui j'ai eu des échanges courtois et humoristique
A+
Écran Nokia 5110 en ASM
Écran Nokia 5110 en ASM
- paulfjujo
Expert- Messages : 2598
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour Temps-X et à tous,
j'ai testé ton programme, avec un peu de modif pour l'adapter à ma carte BASE 18F
qui etait raccordée à mon ecran 5110 ( testé en MikroC et SPI Hardware) ..OK
j'ai rajouté une fonction nokia CLS qui nettoie,remplis l'ecran de 6 lignes de 14 car blanc (=ESPACE)
car aux premiers test j'avais des petits cracra dans la zone située apres la ligne d'etoiles .
mon 5110 BLEU accepte le 5V ( c'est marqué dessus 3,3 à 5V)
détails ICI
[a ttachment=0]Maquette_Test_nokia_5110_asm_190818.jpg[/attachment]
j'ai testé ton programme, avec un peu de modif pour l'adapter à ma carte BASE 18F
qui etait raccordée à mon ecran 5110 ( testé en MikroC et SPI Hardware) ..OK
Code : Tout sélectionner
#DEFINE clk LATC,3 ; RC3 ==> horloge de synchronisation SCLK SPI
#DEFINE din LATC,5 ; RC5 ==> sortie SPI MOSI vers DIN Nokia
#DEFINE dc LATA,2 ; RA2 ==> sélection du mode : commande = 0 , donnée = 1 (was RC1 )
#DEFINE ce LATC,0 ; RC0 ==> activer device (composant)
#DEFINE rst LATC,4 ; RC4 ==> reset du Device (was RC2)
#DEFINE Led LATA,4 ; Led sur RA4
j'ai rajouté une fonction nokia CLS qui nettoie,remplis l'ecran de 6 lignes de 14 car blanc (=ESPACE)
car aux premiers test j'avais des petits cracra dans la zone située apres la ligne d'etoiles .
mon 5110 BLEU accepte le 5V ( c'est marqué dessus 3,3 à 5V)
détails ICI
[a ttachment=0]Maquette_Test_nokia_5110_asm_190818.jpg[/attachment]
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran Nokia 5110 en ASM
Bonjour Gérard, JMarc, F6FCO, paulfjujo, et tout le forum,
J'avais aussi ce problème, et je me suis rendu compte qu'il s’agit du programmateur Pickit3 branché sur le pic qui influence l'écran.
De plus, l'écran garde son graphique un certain temps après coupure d'alimentation.
Pour un effacement d'écran, j'ai pensée qu'un simple reset suffirait, j'ai pas fait cette fonction qui est portant bien utile
Je vais mettre l’alphabet en mémoire programme, ce qui va libérer la mémoire eeprom, et rajouter des symboles grec(pour l'électronique)
Le mien aussi fonction en 5 volts, mais j'ai lu sur certain site, qu'il n'est pas conseillé de le faire, car les données(DIN) supporte
très mal un niveau logique de 5 volts, ça fonctionne, mais ça diminue la durée de vie de l'écran... d'après ce que j'ai pu lire.
A voir avec la datasheet, si les ouï-dire son fondé, car il me semble l'avoir lu, mais comme tout est en anglais....
Maintenant que tu l'as modifié ca devient
On parle de toit avec venom même quand tu es en vacance, toutjours en bien ....
A+
paulfjujo a écrit :Source du message j'ai rajouté une fonction nokia CLS qui nettoie,remplis l'ecran de 6 lignes de 14 car blanc (=ESPACE)
car aux premiers test j'avais des petits cracra dans la zone située apres la ligne d'etoiles .
J'avais aussi ce problème, et je me suis rendu compte qu'il s’agit du programmateur Pickit3 branché sur le pic qui influence l'écran.
De plus, l'écran garde son graphique un certain temps après coupure d'alimentation.
Pour un effacement d'écran, j'ai pensée qu'un simple reset suffirait, j'ai pas fait cette fonction qui est portant bien utile
Je vais mettre l’alphabet en mémoire programme, ce qui va libérer la mémoire eeprom, et rajouter des symboles grec(pour l'électronique)
paulfjujo a écrit :Source du message mon 5110 BLEU accepte le 5V ( c'est marqué dessus 3,3 à 5V)
Le mien aussi fonction en 5 volts, mais j'ai lu sur certain site, qu'il n'est pas conseillé de le faire, car les données(DIN) supporte
très mal un niveau logique de 5 volts, ça fonctionne, mais ça diminue la durée de vie de l'écran... d'après ce que j'ai pu lire.
A voir avec la datasheet, si les ouï-dire son fondé, car il me semble l'avoir lu, mais comme tout est en anglais....
Maintenant que tu l'as modifié ca devient
Gérard a écrit :Source du message je crois bien que tu n'es pas prêt de m'oublier...
On parle de toit avec venom même quand tu es en vacance, toutjours en bien ....
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 125 invités