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
![]() |
![]() |
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
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
![]() |
![]() |
![]() |
![]() |
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
![]() |
cohabitation MikroC et Bootloader |
L'adresse 297Eh est le point d'entree progr.MikroC
HARDWARE : le meme, mais
avec 18F
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
lien vers le Bootloader 18F4685 40Mhz 57600 bds
Test Dialogue Application MikroC :
Dialogue_18F4685_Nokia_40MHz_57600bds.txt
MAJ schema :
Usage d'une Librairie
Nokia 3310 + adaptation au mode 96x64
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
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.
![]() |
![]() |
![]() |
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:
Questions ? :paulfjujo@free.fr
retour
à l'index général