Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier. Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer. Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens). Les pages seront ajoutées ou modifiées petit à petit. Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater. Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr . Tout message reçoit une réponse Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche Pour laisser un message, allez dans le "LIVRE D'OR" Bonne visite
;LCD SERIE utilisant un picaxe 18M2 MM 04/11/2023 ; Utilisable sur les LCD driver HD77480 ; Commandes supportées ; 0-7, ou 8-15 8 charactères enregistrés en CGRAM ; 0- 252 caractères de la table ASCII de l'afficheur + les caractères accentués de 0 à 7 ; 253, X non utilisé ici ; 254, X LCD command, X can be 0 to 255 ; 255, X Si l'adaptateur est câblé pour lire les broches C.0 ; C.1 ; C.2 ; Ex; X= %00000010 le port C.1 passe à 1 (5v) ; LCD data pins are on B.0 to B.7 #picaxe 18M2 #no_data symbol baud = N2400_16 symbol RX = C.5 ; serial receive pin symbol enable = C.6 ; LCD enable symbol rs = C.7 ; LCD RS
; Le programme principal tourne à 16MHz main: serin RX,baud,b1 ; wait for the next byte ; NB keep character mode test as first item in this list to optimise speed if b1 < 253 then ' c'est un caractère à écrire pinsB = b1 ; output the data pulsout enable,1 ; pulse the enable pin to send data. goto main ; quickly loop back to top
else if b1 = 254 then ' c'est une commande à exécuter low rs ; rs en mode commande serin RX,baud,b1 ; attente du byte de commande pinsB = b1 ; output the data pulsout enable,1 ; validation high rs ; repositionnement mode donn?es goto main ; quickly loop back to top
else if b1 = 253 then ' c'est un message pr?enregistr? (else if en commentaire pour 255) serin RX,baud,b1 ; wait for the next byte goto main ; back to top else ; doit être 255 'reste 255:commande des ports sorties non utiliés serin RX,baud,b1 ; wait for the next byte pinsC = b1 & %00000111 | %10000000 'Port utilisables: C.0 ; C.1 ; C.2 goto main ; back to top ; 'RS (C.2) reste ? 1 end if
'********************************************************************** ; power on LCD initialisation sub routine LCD_init: dirsC = %10111110 ; PortC en sortie sauf C.6 et C.0 dirsB = %11111111 ; PortB all outputs
; Standard LCD Module Initialisation pause 15 ; Wait 15ms for LCD to reset.
pinsB = %00110000 ; 8 bit, 2 line pulsout enable,1 ; Send data by pulsing enable pause 5 ; Wait 5 ms pulsout enable,1 ; Send data 48 again pulsout enable,1 ; Send data 48 again