Anda di halaman 1dari 4

Testing dan Pengujian LCD karakter 2X16 dengan Program

Sederhana menggunakan Bahasa Program Assembly


gomong!ngomongin mikro jadi inget masa lalu nih saya" Pertama kali saya
men#oba LCD 2$16 dengan %rogram Assembly" Langsung aja deh tan%a basa basi
yg terlalu %anjaaaaang""""%anjang kaya %unya saya yg banyak di sukai bidadari
didunia"""hehehe""&#elana %anjang maksudnya'""hehehe" Saya %unya #ontoh
%rogram sederhananya nih untuk ngetes LCD berjalan dengan baik atau
tidak""""mudah!mudahan berman(aat ye"""))
Pengujian LCD karakter 2$16 dengan #ara %embuatan %erangkat lunak
terlebih dahulu untuk *enam%ilkan Data ke LCD +arakter 2$16" ,al ini dijalankan
dengan mengirimkan inisialisasi dan mengkon(igurasikan sejumlah instruksi ke LCD"
Antara lain- %engaturan lebar data interface . bit atau / bit data bus0 %emilihan
ukuran font karakter 1$. atau 1$11 dan lain!lain0 dengan instruksi sebagai berikut"
2nit3l#d-
mo4 r10566666661b 7Dis%lay #lear
#all 8rite3inst 7
mo4 r10566111666b 79un#tion set0
7Data . bit02 line (ont 1$.
#all 8rite3inst 7
mo4 r10566661166b 7Dis%lay on0
7#ursor o((0#ursor blink o((
#all 8rite3inst
mo4 r10566666111b 7:ntry mode0 Set in#rement
#all 8rite3inst
ret
7
Pada %embuatan %erangkat lunak ini akan menuliskan kalimat ;<=A>A
A*SA?2 :L:+T?@; yang akan ditam%ilkan %ada layar LCD +arakter dengan
menggunakan look up table dan dilakukan %roses geser ke kiri atau kekanan sesuai
dengan keinginan kita hanya merubah sedikit %rogramnya aja
#"""dibagian - mov R1,#geserL ;R1 = GeserLeft.
#ontoh hasilnya se%erti ini -
=ntuk melakukan %embuatan %erangkat lunak ini harus melakukan bebera%a
langkah sebagai berikut-
1" Pasang jum%er LCD3:0 yang ber(ungsi untuk memberikan power supply A1B
2" ,ubungkan modul *ikrokontroler Trainer dengan power supply A1B"
C" ,ubungkan modul *ikrokontroler Trainer dengan rangkaianprogrammer
/" Buka Program *CS!110 sebagai editor dan compiler %rogram
1" +etik %rogram berikut ini-
Dmod12
7
7
DataLCD eEu C6h
geserL eEu 66611611b 7 6 6 6 1 SFC ?FL X X
geser? eEu 66611111b 7 6 6 6 1 SFC ?FL X X
7
org 6h
ljm% start%rogram
7777777777777777777777S=B?@=T2:S777777777777777777777777777
start%rogram-
#all init3LCD
#all 8rite3#har
#all geser
sjm% start%rogram
ret
geser-
mo4 ?605C/ 7?6 G C/7 geser sebanyak C/ karakter
lagi- mo4 ?105geserL 7?1 G <eserLe(t
#all 8rite3inst
#all delay
djnH ?60lagi 7?6G?6!10 jika ?6 ) 6 maka lom%at ke lagi
7
8rite3#har-
mo4 d%tr058ord1 7DPT? G I address 8ord1 J
mo4 rC05C1 7?CG/60number #hara#ter to be dis%lay
mo4 r105.6h 7?1G.6h0address DD?A* start %osition
#all 8rite3inst
7
8rite1-#lr a 7 A G 6
mo4# a0KaAd%tr 7 A G IAA DPT?J
mo4 r10A 7 ?1 G A
in# d%tr 7 DPT? G DPT? A1
#all 8rite3data 7
djnH rC08rite1 7 ?C G ?C!10
ret
7
2nit3l#d-
*o4 r10566666661b 7Dis%lay #lear
#all 8rite3inst 7
mo4 r10566111666b 79un#tion set0
7Data . bit02 line (ont 1$.
Call 8rite3inst 7
mo4 r10566661166b 7Dis%lay on0
7#ursor o((0#ursor blink o((
Call 8rite3inst
*o4 r10566666111b 7:ntry mode0 Set in#rement
Call 8rite3inst
ret
7
>rite3inst-
Clr PC"6 7 ?S G PC"6G 60 8rite mode instru#tion
*o4 P60?1 7 DL sFd D6 G P6 G ?1
Setb PC"L 7 : G 1 G PC"L
Call delay 7 #all delay time
Clr PC"L 7 : G 6 G PC"L
ret
7
>rite3data-
Setb PC"6 7 ?S G PC"6 G 10 8rite mode data
*o4 P60?1 7 DL sFd D6 G P6 G ?1
Setb PC"L 7 : G 1 G PC"L
Call delay 7 #all delay time
Clr PC"L 7 : G 6 G PC"L
ret
7
8ord1- DB M<=A>A A*SA?2 :L:+T?@M
7
Delay- %ush 66h
%ush 6Lh
mo4 r6056.6h
LDel- mo4 rL056((h
djnH rL0D
djnH r60LDel
%o% 6Lh
%o% 66h
ret
end
+alau mau #oba silahkan tinggal #o%y aja" +alau mau merubah tulisan tinggal
edit bagian yang bertulisan <=A>A A*SA?2 :L:+T?@ nya"
Semoga Berman(aat""""