tm1638 proton basic örneği pic16f877a
TM1638 modülü üzerinde 8 digit bulunuyor. İşlemci ile I2C iletişimi kuran modül sadece 2 pin ile işlemcide pin tasarrufu sağlayabilir. Etepic forumunda Dtmf isimli üyenin proton basic örneğine aşağıda ulaşabilirsiniz. Yazı sonuna devre şemasını da ekliyorum. Aslında bu modül kullanılmadan TM1638 entegresi kullanılarak kendinize özel tasarımlar yapabilirsiniz. Ayrıca modül üzerindeki ledlerde kontrol edilebiliyor. Kendinize özel tasarım yaparsanız ledler yerine röleler bağlanabilir.
Kod:
Device=16F877A
XTAL=20
ALL_DIGITAL TRUE
TRISA=0:PORTA=0
TRISB=0:PORTB=0
TRISC=0:PORTC=0
PORTD=3:PORTD=0
TRISE=0:PORTE=0Declare LCD_TYPE alpha Declare LCD_LINES 2Declare LCD_INTERFACE 4Declare LCD_DTPIN PORTB.4Declare LCD_RSPIN PORTB.0Declare LCD_ENPIN PORTB.1
Dim I_max As $8F ; %10001111 ( Işık Full )Dim I_off As $87 ; %10000111 ( Işık Off )Dim X As $88 ; %10001000 ( Işık 1/16 )Dim isik_2 As $89 ; %10001001 ( Işık 2/16 )Dim isik_3 As $8A ; %10001010 ( Işık 4/16 )Dim isik_4 As $8B ; %10001011 ( Işık 10/16 )Dim isik_5 As $8C ; %10001100 ( Işık 11/16 )Dim isik_6 As $8D ; %10001101 ( Işık 12/16 )Dim isik_7 As $8E ; %10001110 ( Işık 13/16 )Symbol SDA=PORTC.7
Symbol SCL=PORTC.6
Symbol STB=PORTC.0
Dim A As Byte
Dim ISK As Byte
Dim C As Byte
Dim AL As Byte
Dim HK As Byte
Dim SIL As Byte
HK=$3F
DelayMS 500Print At 1,1," TM1638 ";============;TUM EKRANITEMIZLEME=============
For SIL=0 To 14
STB=0
SHOut SDA,SCL,0,[$40,$C0]
STB=1
Next;===============ILK ISIK AYARI========STB=0
SHOut SDA,SCL,0,[$89]STB=1
DelayMS 500;============== START ==================BASLA:
Print At 1,1," TM1638 "If PORTD.0=1 Then GoSub ISIK1If PORTD.1=1 Then GoSub ISIK2
STB=0
SHOut SDA,SCL,0,[$44] ;$44 TEK ADRES MODU ,$40 ARDISIK OTOMATIK ARTAN ADRES MODU
STB=1;==========================1881===============
STB=0
SHOut SDA,SCL,0,[$C0,$06] ;SEGMENT ADRESLERI IKISE IKISER ILERLER UNUTME 1.SEG=C0 2.SEG.C2 3.SEG=C4 4.SEG=C6 ILERLER UNUTMA
STB=1
STB=0
SHOut SDA,SCL,0,[$C2,$7F]
STB=1
STB=0
SHOut SDA,SCL,0,[$C4,$7F]
STB=1
STB=0
SHOut SDA,SCL,0,[$C6,$06]
STB=1 ;;;============================1938=======
STB=0
SHOut SDA,SCL,0,[$C8,$06]
STB=1
STB=0
SHOut SDA,SCL,0,[$CA,$6F]
STB=1
STB=0
SHOut SDA,SCL,0,[$CC,$4F]
STB=1
STB=0
SHOut SDA,SCL,0,[$CE,$7F]
STB=1
DelayMS 100 GoTo BASLA;======================END==============================
;============ISIK AYAR1===============ISIK1:STB=0
SHOut SDA,SCL,0,[$8F]STB=1Return
;===========ISIK AYAR2==============ISIK2:STB=0
SHOut SDA,SCL,0,[$89]STB=1Return
1.led:SHOut SDA,SCL,0,[$C1,01]
SHOut SDA,SCL,0,[$C3,01]
SHOut SDA,SCL,0,[$C5,01]
SHOut SDA,SCL,0,[$C7,01]
SHOut SDA,SCL,0,[$C9,01]
SHOut SDA,SCL,0,[$Cb,01]
SHOut SDA,SCL,0,[$Cd,01]
8:led SHOut SDA,SCL,0,[$Cf,01]
$01 led aktif $00 led pasif
Modül devre şeması:
TM1638 datasheet
Yorumlar
Yorum Gönder