Pada kesempatan ini saya akan menjelaskan bagaimana cara mengakses LCD grafik 128x64 menggunakan kontroller ks0108, GLCD tipe ini memang sangat populer digunakan oleh kalangan mikro mania atau pecinta mikrokontroller, salah satu alasannya yaitu karena GLCD ini menggunakan library sehingga mudah sekali dalam memanggil perintah atau menulis data, misal datanya bertipe string atau integer dapat langsung di akses ke dalam GLCD tipe ini, berbeda dengan tipe ST7920 yang sebelumnya aku share dan tipe lainnya. GLCD dengan kontroller ini sangat mudah digunakan dan juga bisa untuk monitoring ADC atau menggambar grafik. berikut adalah tampilan GLCD ini dan skematik penjelasannya.
a. Gambar GLCD KS0108
b. Skematik Minimum System ATMega16
c. Cara memasang GLCD ke MCU
Ce--------CSB - portc.7
Ce2-------CSA - portc.6
Cd--------D/I - portc.3
Rd--------R/W - portc.2
Enable----Enable - portc.4
Reset ----RST - portc.5
Portd ---- DB0-DB7 all pins to dataport
portd.0 - DB0
portd.1 - DB1
VCC --- A
VCC --- A
GND --- K
Untuk Pemasangan Vout dan Vo seperti gambar berikut
*catatan = Data (DB0-DB7) dihubungkan ke PortC mikrokontroller, untuk itu harus melakukan disable JTAG mikrokontroller pada PortC dengan cara berikut jika menggunakan AVRDUDE, pada LOW FUSE isikan FF dan pada HIGH FUSE isikan C9. seperti gambar berikut.
*catatan = Data (DB0-DB7) dihubungkan ke PortC mikrokontroller, untuk itu harus melakukan disable JTAG mikrokontroller pada PortC dengan cara berikut jika menggunakan AVRDUDE, pada LOW FUSE isikan FF dan pada HIGH FUSE isikan C9. seperti gambar berikut.
d. PROGRAM BASCOM AVR
$regfile = "m16def.dat"
$crystal = 4000000
$lib "glcdKS108.LBX "
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 7 , Ce2 = 6 , Cd = 3 , Rd = 2 , Enable = 4 , Reset = 5
Dim Char As Byte , L As Byte , C As Byte
Dim X As Byte , Ya As Integer , Y As Single , Q As Single
Dim Xi As Byte , Yi As Byte
Xi = 50
Do
Cls
' (Y,X)
Setfont Font16x16
Lcdat 1 , 1 , "DEMO"
Lcdat 1 , 68 , "GLCD"
Setfont Font8x8
Lcdat 4 , 1 , "BY"
Lcdat 6 , 1 , "YANUAR M"
Wait 3
Lcdat 7 , 1 , Xi '1 = cenverted
Wait 2
Lcdat 8 , 1 , " LANJUT..."
Wait 2
Lcdat 8 , 1 , " LANJUT..." , 1
Wait 2
Setfont Font8x8
Cls
Char = 31
For L = 1 To 8
For C = 0 To 127 Step 8
Char = Char + 1
Lcdat L , C , Chr(char)
Next C
Next L
Wait 3
Cls
Char = 128
For L = 1 To 8
For C = 0 To 127 Step 8
Char = Char + 1
Lcdat L , C , Chr(char)
Next C
Next L
Wait 3
Setfont Font8x8
Cls
' show a sine and a cosine
Line(0 , 40) -(127 , 39) , 1
For X = 0 To 127
Q = X * 0.049
Y = 22 * Sin(q )
Ya = -y + 40
Pset X , Ya , 1
Y = 22 * Cos(q )
Ya = -y + 40
Pset X , Ya , 1
Next X
Wait 3
Cls
Line(20 , 40) -(50 , 40) , 1
Line(20 , 40) -(20 , 60) , 1
Line(20 , 60) -(50 , 60) , 1
Line(50 , 60) -(50 , 40) , 1
Wait 5
Cls
Line(20 , 20) -(80 , 40) , 1
Line(20 , 20) -(20 , 60) , 1
Line(20 , 60) -(80 , 60) , 1
Line(80 , 60) -(80 , 40) , 1
Wait 5
Cls
Showpic 0 , 0 , Gambar
Wait 10
Loop
End
$include "font8x8.font"
$include "font16x16.font"
Gambar:
$bgf "its.bgf"
$crystal = 4000000
$lib "glcdKS108.LBX "
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 7 , Ce2 = 6 , Cd = 3 , Rd = 2 , Enable = 4 , Reset = 5
Dim Char As Byte , L As Byte , C As Byte
Dim X As Byte , Ya As Integer , Y As Single , Q As Single
Dim Xi As Byte , Yi As Byte
Xi = 50
Do
Cls
' (Y,X)
Setfont Font16x16
Lcdat 1 , 1 , "DEMO"
Lcdat 1 , 68 , "GLCD"
Setfont Font8x8
Lcdat 4 , 1 , "BY"
Lcdat 6 , 1 , "YANUAR M"
Wait 3
Lcdat 7 , 1 , Xi '1 = cenverted
Wait 2
Lcdat 8 , 1 , " LANJUT..."
Wait 2
Lcdat 8 , 1 , " LANJUT..." , 1
Wait 2
Setfont Font8x8
Cls
Char = 31
For L = 1 To 8
For C = 0 To 127 Step 8
Char = Char + 1
Lcdat L , C , Chr(char)
Next C
Next L
Wait 3
Cls
Char = 128
For L = 1 To 8
For C = 0 To 127 Step 8
Char = Char + 1
Lcdat L , C , Chr(char)
Next C
Next L
Wait 3
Setfont Font8x8
Cls
' show a sine and a cosine
Line(0 , 40) -(127 , 39) , 1
For X = 0 To 127
Q = X * 0.049
Y = 22 * Sin(q )
Ya = -y + 40
Pset X , Ya , 1
Y = 22 * Cos(q )
Ya = -y + 40
Pset X , Ya , 1
Next X
Wait 3
Cls
Line(20 , 40) -(50 , 40) , 1
Line(20 , 40) -(20 , 60) , 1
Line(20 , 60) -(50 , 60) , 1
Line(50 , 60) -(50 , 40) , 1
Wait 5
Cls
Line(20 , 20) -(80 , 40) , 1
Line(20 , 20) -(20 , 60) , 1
Line(20 , 60) -(80 , 60) , 1
Line(80 , 60) -(80 , 40) , 1
Wait 5
Cls
Showpic 0 , 0 , Gambar
Wait 10
Loop
End
$include "font8x8.font"
$include "font16x16.font"
Gambar:
$bgf "its.bgf"
e. VIDEO HASILNYA
mas boleh tanya? begini waktu saya compile $include "font8x8.font"
ReplyDelete$include "font16x16.font" kok itu ada tulisan "File Not Found" ? mohon penjelasannya terima kasih
Maaf untuk font kami jual dengan harga 200rb untuk kedua jenis font tersebut. Silahkan sms atau email kami
Delete