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 ---
Commentez, partagez et proposez des Tutos en langage BASIC et PASCAL !
LCD 2x16 en liaison I2C
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#1 Message par pspic » lun. 11 sept. 2017 20:31

Tutoriel écran LCD 2x16, 4x16, 4x20 en liaison I2C avec un PIC en Mikrobasic


ImEcranInit.JPG


Ce tutoriel décrit la marche à suivre pour piloter un écran LCD 2x16 avec seulement 2 sorties du PIC au lieu de 6 sur un montage classique.

Matériel :

Une carte Easy Pic 5 équipé d’un PIC 18F2420
Un afficheur LCD 2x16 HD44780.
Un module de conversion I2C – parallèle PCF8574A.

Détail du module PCF 8574A :
Im1.JPG

Ce module est à souder à l’arrière du LCD en respectant l’orientation.

Adressage du PCF 8574A :

Adresses.JPG

https://www.nxp.com/docs/en/data-sheet/ ... F8574A.pdf

Liaison PIC – LCD :

Broche RC3 (SLC) du PIC vers broche SCL du module PCF 8574A
Broche RC4 (SDA) du PIC vers broche SDA du module PCF 8574A
Mettre des résistances pull up sur SCL et SDA sur PCF 8574T, mais inutile sur PCF 8574A.
VCC EasyPic vers VCC PCF 8574A
GND Easy Pic vers GND PCF 8574A

Le Software

Code du programme principal Demo_Lcd_I2c
Le programme principal contient le code nécessaire à la démonstration.
Après l’édition il faut dans Project / Edit Project sélectionner :
HS oscillator PLL enabled (clock frequency Fosc1 x 4)
MCU frequency = 32 MHz pour un quartz de 8 MHz

Code : Tout sélectionner

 program Demo_Lcd_I2c

'Test module PCF 8574AT + LCD 2x16 HD44780 le 09/09/2017
'PIC 18F2420 8 MHz (HS osc. PLL enable F = 4 x Fosc1)
'Clock frequency = 32 MHz pour un quartz de 8 MHz
'SCL sur RC3, SDA sur RC4
'Pour PCF 8574T il faut des pull up sur RC3 et RC4 et adresse 4EH
'SW6 Port C leds off impératif.
'Testé sur Easy Pic 5.

 include Mod_Lcd_I2c       'Module avec les procédures de gestion I2C_LCD

'_Déclarations__________________________________________________________________
dim bc as byte
    bcstr as string[3]
    Text as string[16]
'_______________________________________________________________________________
main:
    ADCON1 = $0F                  'Toutes les pins analogiques en digital
    I2C1_Init(100000)             'Init I2C à 100 kbit / s.
    I2C_LCD_Init()                'Init LCD
    Txt1 = "  Demo I2C_LCD  "     'Texte ligne 1
    Txt2 = "  PIC 18F2420   "     'Texte ligne 2
    I2C_LCD_Cmd(_LCD_CURSOR_OFF)  'Curseur non visible
    I2C_LCD_Cmd(_LCD_CLEAR)       'Effacement du LCDD
    I2C_Lcd_Out(1,1,Txt1)         'Ecrit ligne 1, colonne 1 Txt1
    I2C_Lcd_Out(2,1,Txt2)         'Ecrit ligne 2, colonne 1 Txt2
    delay_ms(3000)
'_Boucle sans fin_______________________________________________________________
    while(TRUE)
     I2C_LCD_Cmd(_LCD_CLEAR)
     I2C_Lcd_Out(1,1," Boucle 255     ")
     for bc = 0 to 255
      bytetostr(bc,bcstr)          'Conversion byte en string
      I2C_Lcd_Out(2,1," Compteur =    ")
      I2C_Lcd_Out(2,13,bcstr)       'Affiche valeur boucle sur ligne  2
      delay_ms(1000)
     next bc
    Wend
end.


Code du module Mod_Lcd_I2c
Ce Module contient :
Les symboles de commande du LCD.
Les déclarations.
Dans la section Implements se trouvent les procédures de pilotage du LCD.
I2C_LCD_Cmd : Envoi d’une commande au LCD
I2C_LCD_Init : Initialisation LCD
I2C_LCD_Chr : Envoi d’un caractère à ligne, colonne
I2C_LCD_Chr_Cp : Envoi d’un caractère à l’emplacement du curseur
I2C_LCD_Out : Envoi d’un texte à ligne, colonne
I2C_LCD_Out_Cp : Envoi d’un texte à l’emplacement du curseur.

Code : Tout sélectionner

module Mod_Lcd_I2c

'Ce module utilise la librairie I²C full master MSSP

'Commandes du LCD
symbol _LCD_FIRST_ROW         = $80     'Déplace curseur en ligne 1
symbol _LCD_SECOND_ROW        = $C0     'Déplace curseur en ligne 2
'symbol _LCD_THIRD_ROW        = $94     'Déplace curseur en ligne 3
'symbol _LCD_FOURTH_ROW       = $D4     'Déplace curseur en ligne 4
symbol _LCD_CLEAR             = $01     'Efface LCD
symbol _LCD_RETURN_HOME       = $02     'Retour curseur en position initiale
symbol _LCD_CURSOR_OFF        = $0C     'Curseur invisible
symbol _LCD_UNDERLINE_ON      = $0E     'Curseur bas visible
symbol _LCD_BLINK_CURSOR_ON   = $0F     'Curseur clignotant
symbol _LCD_MOVE_CURSOR_LEFT  = $10     'Curseur à gauche sans changer les datas en RAM
symbol _LCD_MOVE_CURSOR_RIGHT = $14     'Curseur à droite sans changer les datas en RAM
symbol _LCD_TURN_ON           = $0C     'LCD marche
symbol _LCD_TURN_OFF          = $08     'LCD arrêté
symbol _LCD_SHIFT_LEFT        = $18     'Shift LCD à gauche sans changer les datas en RAM
symbol _LCD_SHIFT_RIGHT       = $1E     'Shift LCD à droite sans changer les datas en RAM
symbol LCD_ADDR = $7E         'Adresse $7E sur PCF 8574AT (3 straps ouverts soit 111). Adresse $4E sur PCF 8574T

dim txt1 as string[16]        'Texte ligne 1
    txt2 as string[16]        'Texte ligne 2
    'txt3 as string[20]       'Texte ligne 3
    'txt4 as string[20]       'Texte ligne 4

sub procedure I2C_LCD_Cmd (dim out_char as byte)
sub procedure I2C_LCD_Init()
sub procedure I2C_LCD_Chr(dim row as byte, dim column as byte, dim out_char as byte)
sub procedure I2C_LCD_Chr_Cp(dim out_char as byte)
sub procedure I2C_LCD_Out(dim row as byte, dim column as byte, dim byref text as string)
sub procedure I2C_LCD_Out_Cp(dim byref text as string)

implements

'_Envoi de commandes au LCD______________________________________________________
sub procedure I2C_LCD_Cmd (dim out_char as byte)
    dim hi_n, lo_n, rs as  byte
    rs = 0
    hi_n = out_char and $F0
    lo_n = (out_char << 4) and $F0
    I2C1_Start()
    I2C1_Is_Idle()
    I2C1_Wr(LCD_ADDR)
    I2C1_Is_Idle()
    I2C1_Wr(hi_n or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr(hi_n or rs or $00 or $08)
    I2C1_Is_Idle()
    Delay_us(100)
    I2C1_Wr(lo_n or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr(lo_n or rs or $00 or $08)
    I2C1_Is_Idle()
    I2C1_stop()
    if(out_char = $01) then
     Delay_ms(2)
    end if
end sub

'_Initialisation du LCD_________________________________________________________
sub procedure I2C_LCD_Init()
    dim rs as byte
    rs = 0
    I2C1_Start()
    I2C1_Is_Idle()
    I2C1_Wr(LCD_ADDR)  'Adresse du module I2C
    I2C1_Is_Idle()
    Delay_ms(30)
    I2C1_Wr($30 or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr($30 or rs or $00 or $08)
    I2C1_Is_Idle()
    Delay_ms(10)
    I2C1_Wr($30 or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr($30 or rs or $00 or $08)
    I2C1_Is_Idle()
    Delay_ms(10)
    I2C1_Wr($30 or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr($30 or rs or $00 or $08)
    I2C1_Is_Idle()
    Delay_ms(10)
    I2C1_Wr($20 or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr($20 or rs or $00 or $08)
    I2C1_Is_Idle()
    I2C1_Stop()
    Delay_ms(10)
    I2C_LCD_Cmd($28)
    I2C_LCD_Cmd($06)
end sub

'_Envoi un caractère à la position Ligne, Colonne________________________________
sub procedure I2C_LCD_Chr(dim row as byte, dim column as byte, dim out_char as byte)
    dim hi_n, lo_n,rs as byte
    rs = 1
    select case (row)
        case 1
        I2C_LCD_Cmd($80 + (column - 1))         'Ligne 1
        case 2
        I2C_LCD_Cmd($C0 + (column - 1))         'Ligne 2
      'Pour LCD 4 lignes, décommenter les 4 lignes suivantes:
        'case 3
        'I2C_LCD_Cmd($94 + (column - 1))        'Ligne 3
        'case 4
        'I2C_LCD_Cmd($D4 + (column - 1))        'Ligne 4
    end select
    hi_n = out_char and $F0
    lo_n = (out_char << 4) and $F0
    I2C1_Start()
    I2C1_Is_Idle()
    I2C1_Wr(LCD_ADDR)
    I2C1_Is_Idle()
    I2C1_Wr(hi_n or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr(hi_n or rs or $00 or $08)
    I2C1_Is_Idle()
    Delay_us(100)
    I2C1_Wr(lo_n or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr(lo_n or rs or $00 or $08)
    I2C1_Is_Idle()
    I2C1_stop()
end sub

'_Envoi un caractère à la position courante du curseur__________________________
sub procedure I2C_LCD_Chr_Cp(dim out_char as byte)
    dim hi_n, lo_n, rs as byte
    rs = $01
    hi_n = out_char and $F0
    lo_n = (out_char << 4) and $F0
    I2C1_Start()
    I2C1_Is_Idle()
    I2C1_Wr(LCD_ADDR)
    I2C1_Is_Idle()
    I2C1_Wr(hi_n or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr(hi_n or rs or $00 or $08)
    I2C1_Is_Idle()
    Delay_us(100)
    I2C1_Wr(lo_n or rs or $04 or $08)
    I2C1_Is_Idle()
    Delay_us(50)
    I2C1_Wr(lo_n or rs or $00 or $08)
    I2C1_Is_Idle()
    I2C1_stop()
end sub

'_Envoi un texte à la ligne, colonne____________________________________________
sub procedure I2C_LCD_Out(dim row as byte, dim column as byte, dim byref text as string)
    dim i as byte
    for i = 0 to Strlen(text) - 1
        I2C_LCD_Chr(row, column, text[i])
        column = column + 1
    next i
end sub

'_Envoi un texte à partir de la position du curseur__________________________________________
sub procedure I2C_LCD_Out_Cp(dim byref text as string)
    dim i as byte
    for i = 0 to Strlen(text) - 1
         I2C_LCD_Chr_Cp(text[i])
    next i
end sub

end.



Passons à la pratique :

Créer le nouveau projet et paramétrer l’oscillateur.
ImProjSet.JPG

Ajouter au début du nouveau projet Include Mod_Lcd_I2c
Ajouter le module de gestion Mod_Lcd_I2c au nouveau projet, par [Wiew / Project Manager], click droit sur Source, [Add Existing File], sélectionner le module Mod_Lcd_I2c.mbas.

Ou trouver l’écran et le convertisseur pour 2,12 € ?
Ici : http://www.ebay.fr/itm/IIC-I2C-TWI-SP-I ... SwlSpZbwyh

Le fichier Hex

Code : Tout sélectionner

:1000000002EF03F00000000000EF00F0000000002D
:0A0010000000000000000000F3D71C
:0E001C00ACB202D00000FCD780C0ADFF1200D5
:10002A0080C0C9FFC7B002D00000FCD7C9CF00F01A
:02003A001200B2
:10003C00F250026EF29E0500FF6A0150FE6E0050F7
:08004C00FD6E02BEF28E1200EF
:10005400026AC7B408D01F0EC514016E0150000A0D
:0C00640002E1FF0E026E02C000F012006C
:100070001DC083F01EC084F01FC085F020C086F034
:100080000001816B826BE6DF0050000A01E00AD0BC
:1000900000018251120A02E18E0E811903E0814BA8
:1000A000822BF1D70001120E825D02E18F0E815D7D
:1000B00003E37B0E7E6E35D0C580C5A031D0000E27
:1000C000006E201808E100501F1805E100501E18AE
:1000D00002E11D50000A23E00001000E006E8619A7
:1000E00008E10050851905E10050841902E18351AF
:1000F000000A0EE123C0E1FF24C0E2FF050EE66E18
:1001000021C000F022C001F099DF010E7E6E09D0FF
:10011000010E0001835F000E845B855B865BCDD79B
:080120007E6A7EC000F01200AF
:04012800C584120078
:10012C001DC081F01EC082F01FC083F020C084F07F
:10013C009E967EC0C9FFC7A431D0000E006E201859
:10014C0008E100501F1805E100501E1802E11D5077
:10015C00000A23E0000E006E0001841908E1005033
:10016C00831905E10050821902E18151000A0EE168
:10017C0023C0E1FF24C0E2FF040EE66E21C000F0B4
:10018C0022C001F055DF010E7F6E4AD0010E000136
:10019C00815F000E825B835B845BCDD71DC081F0D9
:1001AC001EC082F01FC083F020C084F09EB631D0F8
:1001BC00000E006E201808E100501F1805E10050D9
:1001CC001E1802E11D50000A23E00001000E006E13
:1001DC00841908E10050831905E10050821902E1ED
:1001EC008151000A0EE123C0E1FF24C0E2FF040E9E
:1001FC00E66E21C000F022C001F01ADF010E7F6E06
:10020C000FD0010E0001815F000E825B835B845B6B
:10021C00CDD7C5BC02D07F6A03D0C584020E7F6ED9
:06022C007FC000F012008B
:100232007D6AF00E7A147B6E7AC07CF07C367C90FC
:100242007C367C907C367C907C367C90F00E7C16E2
:100252000EDFFFDE7E0E7E6E68DFFBDE7D507B10E2
:100262007E6E7E847E8661DFF4DE850E0D6E0D2E3F
:10027200FED77D507B107E6E7E8657DFEADE020E51
:100282000C6E080E0D6E0D2EFED70C2EFCD7000044
:100292007D507C107E6E7E847E8647DFDADE850EA0
:1002A2000D6E0D2EFED77D507C107E6E7E863DDF5C
:1002B200D0DE39DF7A50010A09E1150E0C6EC60E46
:0E02C2000D6E0D2EFED70C2EFCD70000120084
:1002D000010E796E7450010A07E17504006E00503A
:1002E000800F7A6EA6DF0AD07450020A07E1750407
:1002F000006E0050C00F7A6E9CDF00D0F00E7614B6
:10030000776E76C078F07836789078367890783650
:10031000789078367890F00E7816AADE9BDE7E0E06
:100320007E6E04DF97DE795077107E6E7E847E8647
:10033000FDDE90DE850E0D6E0D2EFED77950771006
:100340007E6E7E86F3DE86DE020E0C6E080E0D6E6D
:100350000D2EFED70C2EFCD70000795078107E6E43
:100360007E847E86E3DE76DE850E0D6E0D2EFED754
:10037000795078107E6E7E86D9DE6CDED5DE120076
:1003800074C004F075C005F004C0E9FF05C0EAFFC1
:10039000EE50000A03E0044A052AF6D77450045CC4
:1003A000026E75500558036E02C000F003C001F0E4
:0203B000120039
:1003B200086A080E0C6E003408360450085ED8B085
:0E03C20002D00826D89000360C2EF5D7120077
:1003D0006D6A4EDE3FDE7E0E7E6EA8DE3BDE020ED6
:1003E0000B6E380E0C6EAD0E0D6E0D2EFED70C2E54
:1003F000FCD70B2EFAD7300E6D107E6E7E847E8673
:1004000095DE28DE850E0D6E0D2EFED7300E6D109A
:100410007E6E7E868BDE1EDE680E0C6EE40E0D6E2A
:100420000D2EFED70C2EFCD70000300E6D107E6E08
:100430007E847E867BDE0EDE850E0D6E0D2EFED753
:10044000300E6D107E6E7E8671DE04DE680E0C6EE0
:10045000E40E0D6E0D2EFED70C2EFCD70000300ED4
:100460006D107E6E7E847E8661DEF4DD850E0D6EFF
:100470000D2EFED7300E6D107E6E7E8657DEEADDC5
:10048000680E0C6EE40E0D6E0D2EFED70C2EFCD7F2
:100490000000200E6D107E6E7E847E8647DEDADDE3
:1004A000850E0D6E0D2EFED7200E6D107E6E7E8693
:1004B0003DDED0DD39DE680E0C6EE40E0D6E0D2EC5
:1004C000FED70C2EFCD70000280E7A6EB2DE060E88
:0604D0007A6EAFDE12009F
:1004D6001D6A1E6A1F6A206A540E156E000E166E7D
:1004E600000E176E000E186E700E196E000E1A6E44
:1004F600000E1B6E000E1C6EFF0E2D6EFF0E2E6E76
:10050600000E2F6E000E306EFF0E316EFF0E326E35
:10051600FF0E336EFF0E346E2C0E256E010E266E08
:100526007E0E276E000E286E280E296E010E2A6E8C
:10053600000E2B6E000E2C6E949894968B988B96CC
:0E05460094889486C79EC79C380EC66E12001D
:100554006EC0E1FF6FC0E2FF200EE66E200EE66E75
:10056400300EE66EE66A020E6E24706E000E6F2088
:10057400716E6D50000A1AE00A0E046E6DC000F030
:1005840016DF08C000F070C0E1FF71C0E2FF300E5A
:100594000024E66E0A0E046E6DC000F008DF00C091
:0E05A4006DF0010E705E000E715AE3D712006A
:1005B200716A6FC074F070C075F0E1DE010E005C0C
:1005C200726E000E0158736E000E735C02E1715080
:1005D200725C16E36DC074F06EC075F071506F24DA
:1005E200E96E000E7020EA6EEECF76F070DE6E2AB3
:1005F200000E731802E17250711802E0712AD9D705
:020602001200E4
:100604000F0EC16E500EC86E64DFE0DE200E3A6E2F
:10061400200E3B6E440E3C6E650E3D6E6D0E3E6EBE
:100624006F0E3F6E200E406E490E416E320E426ECA
:10063400430E436E5F0E446E4C0E456E430E466E83
:10064400440E476E200E486E200E496E4A6A200EF4
:100654004B6E200E4C6E500E4D6E490E4E6E430E78
:100664004F6E200E506E310E516E380E526E460E85
:10067400536E320E546E340E556E320E566E300E6C
:10068400576E200E586E200E596E200E5A6E5B6AFD
:100694000C0E7A6ECCDD010E7A6EC9DD010E6D6E24
:1006A400010E6E6E3A0E6F6E000E706E80DF020EDB
:1006B4006D6E010E6E6E4B0E6F6E000E706E77DFF8
:1006C4007A0E0B6EC10E0C6E810E0D6E0D2EFED7C2
:1006D4000C2EFCD70B2EFAD700000000010E7A6E08
:1006E400A6DD010E6D6E010E6E6E200E5C6E420E66
:1006F4005D6E6F0E5E6E750E5F6E630E606E6C0ED9
:10070400616E650E626E200E636E320E646E350E7F
:10071400656E350E666E200E676E200E686E200EB6
:10072400696E200E6A6E200E6B6E6C6A5C0E6F6EC4
:10073400000E706E3CDF396A39C06DF0350E6E6E96
:10074400000E6F6E05DF020E6D6E010E6E6E200ED2
:100754005C6E430E5D6E6F0E5E6E6D0E5F6E700EA0
:10076400606E740E616E650E626E750E636E720E4F
:10077400646E200E656E3D0E666E200E676E200E52
:10078400686E200E696E200E6A6E6B6A5C0E6F6E68
:10079400000E706E0CDF020E6D6E0D0E6E6E350E59
:1007A4006F6E000E706E03DF290E0B6E960E0C6ECC
:1007B4007F0E0D6E0D2EFED70C2EFCD70B2EFAD706
:0E07C4003950FF0A02E0392AB7D788D7FFD78D
:020000040030CA
:0D000100061F1EFF8181FF0FC00FE00F40A2
:00000001FF





.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par pspic le dim. 24 sept. 2017 17:52, modifié 21 fois.

LCD 2x16 en liaison I2C
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » mar. 12 sept. 2017 07:23

:bravo:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

LCD 2x16 en liaison I2C
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#3 Message par venom » mer. 13 sept. 2017 22:07

Bonjour,

Merci pour ce tuto. J'ai justement reçu 2 lcd 2x16 avec ces modules. Je n'ai pas encore tester.






@++
Mon site web
Mon discord : venom#4888

LCD 2x16 en liaison I2C
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#4 Message par pspic » jeu. 14 sept. 2017 09:49

Bonjour, donne nous la référence exacte marqué sur le PCF.

LCD 2x16 en liaison I2C
cyril13110
Confirmé
Confirmé
Messages : 724
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#5 Message par cyril13110 » jeu. 14 sept. 2017 13:27

bonjour à tous,

pas mal comme module pour simplifier le cablage des afficheurs LCD.
merci pour ce retour

LCD 2x16 en liaison I2C
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#6 Message par Temps-x » jeu. 14 sept. 2017 15:49

Bonjour pspic, Jérémy, venom, cyril13110, et bonjour tous le monde,


:bravo: Pour le tutoriel,

Il serait intéressant de compiler le code, en le mettant dans le tutoriel (en fin de code), ça permettrait que le débutant puisse essayer ce module.

Merci ! Pour le tutoriel

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

LCD 2x16 en liaison I2C
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#7 Message par pspic » ven. 15 sept. 2017 10:50

Bonjour, c'est chose faite.

LCD 2x16 en liaison I2C
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#8 Message par pspic » dim. 24 sept. 2017 17:59

Bonjour, toujours vérifier la réf. du PCF car je me suis fait piéger.
PCF 8574T = adresse 4Eh et mettre des résistances pull up sur RC3 et RC4.
PCF 8574AT = adresse 7Eh et résistances pull up incorporées.

LCD 2x16 en liaison I2C
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#9 Message par venom » dim. 11 févr. 2018 08:59

Bonjour à tous,

Bon je vais pouvoir attaqué mon nouveau projet qui est comme pspic. Je souhaite communiquer avec un LCD et le module qui va bien mais en C. J'ai reçu mon microcontrôleur, c'est un 16f887. (Je ne penser pas qu'un pic pouvait être aussi large) :shock:

Pour répondre à pspic la puce du module est un pcf8574at donc adresse 7E et pas besoin de resistance pull up c'est bien ça ?

Merci.





@++
Mon site web
Mon discord : venom#4888

LCD 2x16 en liaison I2C
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#10 Message par pspic » dim. 11 févr. 2018 11:16

venom a écrit :Pour répondre à pspic la puce du module est un pcf8574at donc adresse 7E et pas besoin de resistance pull up c'est bien ça ?

C'est bien cela.


Retourner vers « Langage BASIC & PASCAL »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 18 invités