• V 0: 18/03/2016
    rev 25/04/2016

    Carte avec ecran LCD Nokia 3310 et 18F4685

    Version transposée pour 18F4685 (MikroC 6.62)
    Simple echange de MCU 16F877 par 18F4685 compatible Hardware pin à pin

    Bref Comparatif:
    MCU 16F877 18F4685
    FLASH Rom 8K 96K
    RAM 368 3328
    EEPROM 256 1024
    Internal FOSC No Yes
    Timer0 8bits 16 bits


    La partie LCD Nokia
    voir Version 16F877

    Description et fonctionnalites (idem as 16F877 version)

    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
    Nota: L'entree RB1 mise à zero, permet une init RTC par defaut.




    Version (10Mhz) transposée pour 18F4685 (MikroC 6.62)

    La 1ere étape : Mettre un bootloader dans le PIC18F4685 .
    Retour sous MPLAB ASM !
    Pour inclure le bootloader, via liaison ICSP et Pickit2
    Le PIC est monté sur une "Breadboard" (Planche à pain = protoypage sans soudure)
    Le Pickit2 alimente le PIC en 5V

    images/t_Montage_Programmation_Bootloader.gif images/t_18F4685_Pinout.gif
    motage d ebase pour mise en place bootloader pinout PIC18F4685

    * 1 Résistance de rappel au +VCC sur MCLR pin1 du PIC (R=6,8K à 10 K)
    * bien alimenter les 2 pins 11 et 32 avec + VCC 5V
    * et les 2 Gnd (0V) pin 11 et 31
    * ICSP Clock sur Pin 39 RB6
    * ICSP data sur Pin 40 RB7
    * ICSP Gnd sur 0V alim )
    * ICSP VDD = Alim 5V de l'ensmeble
    * ICSP VPP ° tension de programmation VPP sur pin1 MCLR
    Attention : Bien decoupler l'alim 5V du PIC par un 100nF et 10µF , sinon le chargement peut se bloquer à 30%


    Un premier essai montrait que apres un 1er chargement, le bootloader n'etait plus activable ???
    Une verif du contenu PIC avec lecture via Pickit2 , montre que le bootloader est toujours resident en memoire:
    et que le renvoi de saut depart programme est valable


    images/t_Pickit2_Mapping_Bootload_18F4685.gif

    Modif du delay d'attente bootloader :
    il attend le code C1h pendant 1,75 sec et renvoi la lettre 'K' si OK
    le delay (exprimé en nombre de boucles) etait XTAL / 20000
    (en supposant Q=20MHz et 10 boucles de tempo, mais avec XTAL=10MHz => 5 boucles
    modif : XTAL/10000 => 10 boucles

    Usage de Tiny Downloader 1.98

    images/t_TinyBootloader_001.gif images/t_TinyBootloader_002.gif
    images/t_TinyBootloader_003.gif images/t_TinyBootloader_000_ok.gif

    Software Bootloader :
    Le projet ASM incluant le
    Source 18F4685 à 10Mhz et 19200bds le fichier Hex
    Bootloader_18F4685_10Mhz_19200.zip




    Software Application MikroC

    Le 18F4685 étant maintenant équipé d'un bootloader.. remis en place su la carte Nokia
    Modifs ,pour adaptation 18F4685 coté Programme MikroC
    Le programme 16F877 tourne "Presque" sans modif..
    *Modif Timer0 : Timer0 est maintenant sur 16 bits : TMR0H et TMR0L
    *Modif Init ADC .. differentes position des bits dans ADCON0 et ADCON1
    => Init personalisées My_Init_ADC() et mesure My_Read_ADC()

    Projet Mikroc :

    version 10MHz 19200 bds
    18F4685_Platine_Nokia_RS_24LC512_2016.zip
    source C

    Dump avec Pickit2 ; Appli MikroC + Bootloader

    images/t_Pickit2_Mapping_Bootload_18F4685_plus_Appli.gif
    cohabitation MikroC et Bootloader

  • L'adresse 297Eh est le point d'entree progr.MikroC

    HARDWARE : le meme, mais avec 18F

    images/t_Platine_Nokia_18F4685_2016_photo.gif

    20/03/2016
    //
    problemo avc TinyBootloader 1.98: L'eeprom est limitée en taille 256 maxi
    // donc ne charge pas au dela pour EEPROM de 1024
    à Suivre ...voir si une version plus rescente de Tiny Bootloader corrige ce probleme ?
    //
    ATTENTION probleme avec transfert de fichier avec Bootloader si alim VCC du PIC descend en dessous de 4,85V
    // le nominal d'alimentation du PIC18F4685 étant de 5V ..




    Version 40MHz (Q10Mhz x 4 PLL)
    et 57600 Bds (Avec bootloader déja chargé)
    Projet MikroC :
    18F4685_Platine_Nokia_RS_24LC512_40Mhz_160321.zip
    modif uniquement de la vitesse FOSC, de l'init UART (57600))
    et des parametre timer0 16 bits

    l
    ien vers le Bootloader 18F4685 40Mhz 57600 bds

    Test Dialogue Application MikroC :
    Dialogue_18F4685_Nokia_40MHz_57600bds.txt

    MAJ schema :

    images/t_18F_Platine_Schema.gif

    Usage d'une Librairie
    Nokia 3310 + adaptation au mode 96x64

    images/t_Biblio_Nokia_96x64.gif


    SOFTWARE Projet Mikroc :
    18F4685_Platine_Nokia_8x16_w_Lib.zip

    Mode 8 lignes de 16 cars
    Rajout mode 8 lignes de 12 cars
    Liste des fichiers




    Rajout affichage image BMP 96x64 (MikroC 6.62)
    et partie grafique (Ligne,point)

    1er Ecueil : Impossible d'afficher correctement l'exemple MikroE BMP, en utilisant
    GLCD BMP Editor .. ce logiciel PC inclus dans les outils MikorE, propose par defaut le format Nokia 84x48
    mais lorsque je charge un BMP 96x64.. l'affichage sur PC est tronqué en bas

    images/t_GLCD_bitmap_PB.gif
    malgré avoir mis les dimensions de 96x64... le fichier generé fait pourtant bien 768 bytes ..
    Recherche probleme coté de mon Application .. en VAIN !
    probleme remonté sur le site de MikroE ...
    Un forumeur MikroE me propose d'utiliser Paintuino , logiciel crée par Mougino .. bien connu aussi sur le site RFOBASIC.
    J'en profite pour le remercier ici, pour ses créations et partage de savoir .
    Ce petit logiciel permet de creer alors un BON Format de code Aduino.. 2 petites modifs pour
    L'adapter à MikroC : suprresion des 2 premiers bytes = taille x et Y et modif entete fonction.. that's all .
    L 'affichage du BMP est alors correct.

    Comment créer (ou recuperer) une image BMP 96x64 Monochrome
    J'utilise mon tres vieux "Paint Shop Pro 5" (qui tourne encore sous WIN10) !
    Chargement d'une image , decoupe ou changement d'echelle pour otenir le format 96x64
    Enregistrer au format BMP , Monochrome.
    Ensuite Charger le BMP dans le logiciel Paintuino.exe
    et copier coller le code affiché dans le source MikroC
    coté MikroC:
    remplacer le nom de la declaration de table par unsigned char const mikroE96x64_1bpp[]=
    supprimer la 1ere ligne de donnéee de la table crée ... 96,64,
    La Table ainsi definie fait 768 bytes, et occupe de la Flash ROM
    Fort heureusement on a 96K de flash ROM ( - le bootloader ! ) sur ce PIC.

    La fonction d'affichage est calée sur le format maximum 96x64 et utilise
    un espace RAM Video de 768 bytes commun à toutes les fonctions grafiques.

    images/t_Painttduino_BMP_converter.gif
    avec usage de GLCD le logiciel Paintuino.exe avec usage de Paintuino


    Demo de Differents test effectués

    Test Sinus avec Print Ram Video
    Test avec Bitmap paulfjujo
    Test avec Bitmap MikroC_Everywhere_95x64
    Test avec Bitmap image_MikroE_96x64

    exemples :


    Test quadrillage
    Test Diagonales
    "Nokia_CText_5x7(L,C,*Rom text" Mode 8L de 16 cars
    "Nokia_CText_8x7(L,C,*Rom txt" Mode 8 L de 12 cars
    "Nokia_Write_Char_AT(L,C,char)" mode 8L de 18 cars , avec Flag Ligne18cars=1
    3 rectangles
    3 Bargraphes horizontalux 96 points.
    affichage des 2 entrees ANA EA0 et EA1
    affichae d'un indice ou Index Eeprom 24LC512 si Stockage en service


    SOFTWARE :
    Mylib_nokia_8x16.c
    Mylib_nokia_8x16.h
    18F4685_Platine_with_Lib_Nokia_24LC512_40Mhz_160426.c
    18F4685_Platine_Nokia_160426_40Mhz_160426.hex
    le projet mikroC complet ZIP


    Dialogue terminal VBRAY:




    ../common/GIF/AnimMiniAmpoule.gif






    Questions ? :
    paulfjujo@free.fr


    retour à l'index général