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""""