• rev 0: 23 dec 2007
    version: 08/12/2012
    Last rev 21/01/2017


    Carte avec ecran LCD Nokia 3310 et 16F877


    Application en 100% asm
    Application en MikroC
    16F remplacé par un 18F4685 compatible Pin à pin

    La partie LCD Nokia
    Elle doit etre alimentée sous 3,00V !
    N'ayant pas de regulateur 3V sous la main, je me suis bricolé un "ajusteur de tension"
    dont la réference est constituée par les seuils plateaux de 2 diodes leds rouges et 1 diode silicium

    .
    images/t_Alim3_0V.jpg

    Usage d'un 16F876 avec Bootloader chargé, afin de faciliter la mise au point et usage de la meme liaison RS232 9600,8,N,1
    pour charger l'executable et tracer le programme...

    Version minimaliste : Affichage sur écran :

    La liaison RS232 permet le Tracage du programme .

  • Prototype avec 16F876

    images/t_Nokia_Prototype_071223a.jpg

  • schéma avec 16F876

    Schema version Areslite 16F876_Nokia_071229.DSN

    images/16F876_Nokia_071229.jpg

    notes:
    Attention ,les connections étant fragiles sur le LCD, je les ai noyées dans la colle
    de meme que le LCD lui meme ,collé dans son enveloppe métallique.!
    La tension de plateau des diodes led differe beaucoup suivant les types...
    the use of a voltage regulator must be better and easier!
    8,6V mesuré sur Vout du LCD !!


    Programmes source et chargeable

    Police6x7.txt
    nokia11_876_ok.asm
    nokia11_ok_071226.HEX

  • Version avec PIC16F877 :
    Rajout de circuits
    DS1307,PCF8574,24LC256 pilotées en I2C software, LCD piloté en SPI
    Montage de l'écran LCD sur un circuit imprimé:

    images/LCD_Nokia_CI_080420.jpg images/t_3_LCD_nokia.jpg

    circuit imprimé coté cuivre et coté connecteur

    3 realisations : 2 LCD 6x14 et 1 LCD 8x16

    version LCD 8x16

    images/Nokia_3310_LCD_adapter_080414.jpg

    Nokia_3310_LCD_Adapter.jpg

    circuit imprimé original du nokia

    version LCD 6x14


    fichier de test , version Nokia 6 ou nokia 8 Lignes (choix avec directive define) :
    Nokia_3310_LCD_877_6L_8L_ok.asm
    ; version speciale pour test Nokia LCD 3310 placé sur support CI
    ; le LCD est reinitialisé a chaque boucle pour pouvoir trouver rapidement le positionnement exact
    ; du LCD sur le circuit imprimé et bloquer la fixation du LCD par 3 vis/ecrou
    Executables en 2 version de nokia :
    nokia_3310_test 6L
    nokia_3310_test 8L

    Prototype:

    images/nokia_877_080526_ok.jpg

    16F877_Platine_Nokia_2012.DSN

    images/16F877_Platine_Nokia_2014.jpg


    Platine Circuit Imprimé
    version ARES LITE :
    16F877_Nokia_8x16_2010_cuivre.LYT

    BUGEE ! images/16F877_Nokia_8x16_2010_top_cuivre_bog.jpg images/16F877_Nokia_Carte_CI_a.jpg


    12/04/10 Test Platine avec NOKIA_877_090409.asm => pas d'affichage LCD, Prg plante ? était OK en montage volant ..
    14/04/10
    Test avec version MikroC 8.2.0 , pour tester surtout la partie LCD car limite de 2K.
    ATTENTION probleme si compilé avec version Mikroc Pro 5.40.. la partie LCD ne fonctionne plus..why ?
    source: .
    Nokia_LCD_16F877.c
    chargeur :
    Nokia_16F877_tst_OK.hex

    Le Nokia LCD est OK avec la version en C donc => erreur hardware ou bug avec la version ASM..
    24/04/10 Bug Hardware trouvé !
    Erreur de routage circuit imprimé :
    La resistance de rappel 2,7K au +5V etait connectéee du coté LCD au lieu du coté RC3 PIC !
    programme version ASM LCD ...OK apres cette rectification

    Test individuel du PCF8574
    Raccordement de 8 leds via 8 R de 390 ohms sur les sorties du PCF8574
    L'adresse est : base= 0x40 + adresse hardware Pins 1,2,3 correspondant à A0,A1,A2 avec A0 au +5V via R=2,7K A1 et A2 au 0V
    donc 001X = 2 ( ne pas oublier le bit0 qui est le bit de Lecture ecriture dans l'adresse !) ce qui donne 0x40 + 0x02 = 0x42

    Test avec resultat LSB de CH1 (RA1 ) Analog input LSB , complement envoyé sur le PCF8574 0x42
    car c'est un bit à 0 qui allume la led !
    programme source :
    PCF8754_1.asm
    Chargeur: P
    CF8754_1.hex

     


    16F877_Nokia_8x16_CI_100424.LYT

    images/16F877_Nokia_8x16_CI_100424.jpg images/t_16F877_Nokia_8x16_CC_100424.jpg  
    version corrigée !



    Description et fonctionnalites

    Gestion RS232 avec terminal PC
    Affichage sur LCD nokia 3310.
    Affichage permanent de la date et heure (sauvegardée par pile)
    Acquisition et affichage de 2 voies analogiques 0 -5V
    Affichage en °C du Channel 0
    Affichage en points du Channel 1
    Affichage sous forme de barregraphe horizontal du Channel 1
    Sur les 3 lignes restantes
    affichage du Msg : Ports 8bs PCF8754
    Affichage des 8 bits en ecriture
    Possibilité de modification via Terminal PC :
    via commande "E" , qui RAZ l'affichage des Bits sur LCD,
    Saisir ensuite les 8 valeurs de bits 0 ou 1, (echo sur LCD et sur terminal PC) , et terminer par ENTER (CR LF)
    touche ESC pour aborter la saisie en cas d'erreur..
    Mise à jour de l'affichage binaire et Hexadecial sur le LCD et actualisation des sorties PCF8574
    Lecture permanente des 8 bits du 2em PCF8574 , affichage en binaire et en hexa sur la derniere ligne LCD
    Mise à jour Date et Heure ( ex apres changement de Pile!):
    Via Commande clavier "U" comme Update
    Invite de commande sur ecran terminal suivant le format AAMMJJWWHHMMSS
    08052600141100<ENTER> pour 2008 Mai 26 Lundi 14H11M00S
    La saisie se fait sous interruption , et stockage dans un buffer de 16 caracteres,le caractere LineFeed 0A sert de terminateur.
    Coté Terminal, valider le CR comme LF+CR


    Programme source (ASM) et chargeur Hex

    maj: mars 2012
    Fichier source : Platine_16F877_nokia_Xport_Archos_120226
    Fichier executable :
    Platine_16F877_nokia_Xport_Archos_120226.

    Résultats
    sur terminal VBray

    images/Terminal_result_1.jpg

    Historique :

    ;Last = NOKIA_877_platine_120226.asm"
    ; chargement *.HEX avec PIC DOWNLOADER 1.09 sur com2 19200 bauds
    ; Rappel : bootloader incorpore dans le PIC16F877
    ;-------------------------------------------------------------

    Bug sur Cde ecriture PCF8574 corrigé
    ;28/03/2011 encore un bug trouvé! la mise a l'heure s'effectue mais ne tient plus suite coupure
    ; alim et reprend les valeurs par defauts
    ;=> forcage OPTION_REG a 0x00 pour re-activer systematiquement le pull-up sur portB
    ;sur le proto il y avait une R + led, mais pas sur le Circuit imprimé!!!
    ;12/09/09 rajout starter=# et finisher =& dans la trame RS32
    ;17/07/09 modif routine reception
    ;12/07/2009 modif pour adaptation specifique au XPORT
    ; schema voir 16F877_Nokia_Xport_090502.DSN
    ;29 mai 2009 adaptation reception directe 8 bits pour Xport
    ;27/03/09 echelle 0,00 a 40.96°C sur EA1 CH0 avec LM35DZ + Ampli 10x => resolution 0,04°C
    ;16/03/2009 Envoi complet sur RS232 sans passer par le menu pour Test avec XPORT Webserver
    ;13/03/2009 : Bug sur jour Date envoyée sur RS232 (mais OK sur LCD!)
    ;Nov 2008.. 3 voies analogiques
    ; 06/07/2008 correction Bug : si Bargraphe =0 sautait la suite du traitement...
    ; 27/05 /208 modif saisie car par car avec affichage echo sur LCD
    ; test OK debordement taille buffer (16 car max)
    ; modif SP effacement LCD .. 9 au lieu de 8 lignes et 97 au lieu de 96 pixel
    ; 25/05 rajout lecture permanente port PCF8574_2
    ; affichage Ecr PCF8574 en binaire et hexadec... saisie par paquet
    ; rev 23/05 PB avec deplacement table caracteres en 1000H pour avoir plus de place code..
    ; attention gestion de PCLATH obligatoire avec code debordant l'adresse 0x7FF = page 0
    ; programme en page 2 > 0x1000 appelé apres BSF PCLATH,4 (BCF PCLATH,3)
    ; attention BCF PCLTAH,4 si appel de SP en page 0
    ; rajout ecriture PCF8574
    ; rev 23/05/2008 rajout saisie M MAJ date .. testé OK
    ; rev 17/04 /2008 table car 5x7 plac‚ee en page 5 au lieu de 4
    ; rev 14/04/2008 avec nouveau LCD 3310 certifi‚ mont‚ sur support C.I.
    ; on obtient bien 8 lignes de 96 car (l'ancien n'affichait que 5 lignes et 1/2 ...a moitie HS!!!!)
    ;rev 23/03/2008


    ;************************
    ;
    affichage sur LCD:
    ;************************
    (avec echo sur RS232 ! pour debugging ou enregistrement via Terminal PC)

    Date et heure
    CH0 + 4,93 Deg
    CH1 0030 POINTS
    CH2 00030 POINTS
    ========= bargraph
    Ports 8b PCF8574
    Ecr 10001100 =8Ah
    Lec 11110001 =F1h
    ou
    ;MAJ DS1307 6em
    ;AAMMJJWWHHMMSS
    ;08052605181800
    1ere ligne
    2eme
    3eme
    4eme
    5eme
    6eme
    7eme
    8eme

    6eme
    7eme
    8eme

    *********************************************

    Raccordement platine 16F877 au XPORT

    Package socket et interface VB6 disponible : Client_Xport_Platine_16F877_120301.zip
    liaison ethernet Platine 16F877 avec socket en VB6

    Application en liaison Ethernet avec XPORT et PIC

    NEW ! application en basic RFO sur tablette ARCHOS 43it
    Possible depuis la disponibilite de l'application "socket" depuis Octobre 2011 pour recupere les datas d'un flux ethernet
    sans passer par de la programmation en JAVA .( en apparence !)

    images/_Socket_Archos_Platine_16F877_Xport_120228.jpg

    images/Arrplan_16F877.jpg

    images/Platine_Nokia_16F877_in_use.jpg

    Vue Archos 43 it .. animée

    Fond d'ecran fixe

    Platine 16F877 en usage

    Application 100% Asm 16F877
    package source, Hex ..
    16F877_Platine_Archos.zip
    Trame emise toutes les 2,4 secondes. (limite=2sec traitement complet coté Archos!)
    Liason platine 16F877 -> RS232 TTL 19200bds -> moduel Xport -> Ethernet -> FreeBox

    application
    RFOBasic :
    source basic :
    _Socket_Archos_Platine_16F877_Xport_120228.bas
    5 mesures analogiques 10bits
    8E = Lectures 8 leds rouges
    8S reparties en 4 eclairages et 4 Chauffages
    pas de retour d'ordre avec PCF8574 , valable uniquement avec MCP23017 16S, version interface18F
    Liaison Archos .. en Wifi

    voir sur rubrique ARCHOS43it


    Version transposée sous MikroC Pro 6.01 (registered)

    Transfert des fonctionalites definies dans la version precedente 100% ASM , en Langage C MikroC
    Gestion Nokia LCD 8 lignes de 16 cars conservé
    Gestion UART 19200,8,N,1 Conservee
    Nota: Le bootloader du 16F877 est conservé (10Mhz 19200,8,N,1) car est compatible avec MikroC
    L'outil
    PIC Downloader 1.09.exe est rajouté dans les Tools de MikroC, pour etre directement accessible
    La liaison RS232 doit etre connectée sur le DB9 de la platine ! (programme terminal désactivé!)
    Il suffit de lancer Downloader 1.09 ,
    Verfiier que le bon port COM est activé, ainsi que la vitesse 19200 bds
    selectionner le fichier HEX compilé puis cliquer sur "Write" , et faire un bref Power OFF/power ON
    aussitot le bandeau de chargement se deroule.. "message All OK" en fin de chargement
    Le (programme) terminal peut alors etre connecté

    Rajout gestion DS1307 .. problematique.. Coupe une partie d'affichage Nokia, des l'init I2C.
    BOULETTE ! j'avais oublié que le nokia en SPI, mobilisait deja RC6 et RC7 , donc
    Rajout Liaison bus I2C en version Software I2C
    utilisant RB6 et RB7 .. => OK..
    Probleme avec Taille RAM insuufusante , necessite de manipuler IRP_bit !! MANUELLEMENT !
    Problemes avec taille ROM insuffisante, si usage de trop de texte en flash ROM

    Rajout gestion Eeprom 32K bytes
    , avec commandes clavier
    STA : , demmarre le stockage sur Eeprom 24LC256, sans modifier l'index en cours
    HAL :, Halte (Pause) stockage s
    RAZ : Remet à zero l'index de stockage
    REL : relit L'Eeeprom de 0x00000 à valeur de l'index
    dans ce programme seule la mesure ADC0 est sauvegardée => 2 bytes par valeur (0000 à 1023)

    Probleme avec Bootloader et PIC DOWNLOADER 1.09, des que la taille programme Appli approche la limite du bootloader
    Comment proteger l'espace 0x1F00.. 0x1FFF ?
    refonte du bootlaoder dans le PIC16F877 8Ko
    j'en profite pour mettre un bootloader dans le 16F874 (4Ko seulemnt)
    Il s'avere que la version PIC Downloade 1.09 est problematique :
    genere une rreur à >95% de chargement ! mais charge quand meme !! ?
    mais obliger de faire Power Off Power On pour lancer le programme applicatif .
    Le fait de repasser à la version Pic Downloader 1.08 elimine ce probleme,
    Download OK .." message All OK" et enchainement du lancement de l'appli ..OK
    modif Tools MikroC pour pointer sur la version Downloader 1.08

    Comnande speciale DUMP Flash ROM complete
    DUM<CR> permet le DUMP complet avec adresse hexa à gauche et 16 valeurs par ligne de tout l'espace Flash PIC16F877
    soit de 0x0000 à 0x1FFF, englobe donc le bootloader !


    images/16F877_Platine_Nokia_RS_24LC256_140629.jpg




    Chargeur :
    16F877_Platine_Nokia_24LC256_RS_140712
    source MikroC :
    16F877_Platine_Nokia_RS_24LC256_140629


    rev 2016
    Projet


    Projet Zippé 16F877_Platine_Nokia_2016
    fichier source
    16F877_Platine_Nokia_RS_24LC512_2016.c
    fichier log Resultat :
    16F877_Platine_Nokia_24LC512_RS.log
    fichier Macro Terminal VBray :
    16F877_Platine_Nokia_RS.tmf
    chargeur
    16F877_Platine_Nokia_24LC512_RS.hex


    correspondance connexions Nokia LCD

    Connecteur Blanc
    LCD sur la carte
    Fil de liaison Pin de connection
    LCD 8x16
    1 Blanc 1 liseret rouge. Pin 1
    2 Blanc 2 liserets Rouges Pin 2
    3 Blanc 3 liserets Rouges Pin 3
    4 Blanc 4 liserets Rouges pin 4
    5 Blanc pin 5
    6 Bleu Pin 6
    7 Violet Pin 7
    8 Gris Pin 8

    L'evolution de ce projet reste limitée à cause du faible espace Memoire RAM.! ..




    Version transposée pour 18F4685 (MikroC 6.62)
    apres avoir pu mettre un bootloader approprié dans ce MCU
    Simple echange de MCU 16F877 par 18F4685 compatible Hardware pin à pin
    comparatif
    details
    ICI










    Questions ? :paulfjujo@free.fr

    retour à l'index général