Selamat datang di ForSa! Forum diskusi seputar sains, teknologi dan pendidikan Indonesia.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 29, 2024, 04:50:47 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 207
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 201
Total: 201

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

bahasa C buat LCD 2x16

Dimulai oleh erik hardianto, April 26, 2009, 10:45:38 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Too Payz

wkkk............
Parah neh erik keknya g punya basic sama sekali..
Klo pake AVR tipe ATmega misalnya ATmega8535 gunakan CodevisionAVR seperti dibilang ma Insan.
Klo MCS51 g ada fugnsinya d CodevisionAVR jadinya bikin sendiri dseperti yg dibilang ma KEsatriaBajuHitam.
Klo asal nyoba ya ga jalan laa...

Coding kesatriabajuhitam udah lebih dari jelas itu tinggal digabungin aja antara main program (.c) dengan librarynya (.h)
Sabar aja n pelajari 1-1 g usa buru" harusnya jalan itu.

Too Payz

Cobain lisitng dari Herlambang mudah-mudahan bisa.
Saya basic MCS51 bahasa assembler n klo program LCD pake MCS51 pake bahasa assembler. sempurna kok g da salahnya.
Klo bahasa C pake AVR CodeVisionAVR n beberapa penulisan berbeda dengan KeilC

Comment tentang listing KBH n Erik di bawah ini.....

Too Payz

kesalahan :

#define   LCD_DELAY   461 // disesuaikan dengan frekuensi kristal yg digunakan

void LCD_delay(unsigned char ms);   ganti dengan
void delay_ms (unsigned int ms);
alasan
1. unsigned char range 0 - 255   sedangkan unsigned int  range 0 - 65535
    untuk 1 detik manggilnya kan delay_ms(1000); klo unsigned char tidak sampai (max 255)
2. sudah ada #define LCD_DELAY  461 nanti rancu dengan void LCD_delay, klo error g ketahuan salahnya
    kan bahasa C case sensitif (huruf besar dan huruf kecil berbeda).

Lihat listing delay
/* implementasi fungsi dasar */
void LCD_delay(unsigned char ms)
{
   unsigned char n;
   unsigned int i;
   for(n=0;n<ms;n++)
      for(i=0;i<LCD_DELAY;i++);
}
Si KBH nilai  LCD_DELAY nya = 461
si ERIK nilai LCD_DELAY nya = 11.92 (keknya kristal tuh 11.0592 deh)
untuk for loop tidak ada nilai pecahan harusnya (for(i=0;i<12;i++); bukan for(i=0;i<11.92;i++);
selain itu ini bukan delay 1 milisekon menurutku salah neh.

klo untuk delay pada mikro gunakan kristal 12MHz
    alasan : biar perhitungan delay bulat.
klo komunikasi UART dengan komputer atau perangkat lain dgn kristal 11.0592MHz
    alasan : baudrate tertentu akan menghasilkan error.

listingku cobain
void delay_ms(unsigned int ms)
{
   unsigned int loop;
   while (ms--)
   {
      loop=1000;
      while (loop--)   {}   //tunda 1ms bisa juga tambahkan _nop_ dalam {}
   }   
}

untuk kristal 12 MHz 1 siklus mesin = 1uS, jadi 1 _nop_ = 1uS.
saya tidak menambahkan _nop_ karena asumsi 1 siklus while(loop--) = 1uS.
1 mS = 1000 uS jadi...
x mS = x * 1000 * 1 uS ;  gimana ?

erik hardianto

emang ga ngerti program,,, jd yg diatas tgl tambahin doang ya???? saya pake MikroC yg warna biru,,, bukan AVR, jd kalo bisa yg salah tolong ditambahin ya... 

ksatriabajuhitam

@Too Payz
thanks koreksinya,
jago microcon nih kayaknya, selamat bergabung dan sharing :D

(tapi kok program saya jalan tuh (compiler-nya SDCC), atau mungkin sdcc ga ngasih pesan error aja kali, tapi nilainya langsung truncated (dibuang lebihnya) ketika run-time)
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2

Too Payz

Kutip dari: ksatriabajuhitam pada Juni 28, 2009, 02:49:33 PM
(tapi kok program saya jalan tuh (compiler-nya SDCC), atau mungkin sdcc ga ngasih pesan error aja kali, tapi nilainya langsung truncated (dibuang lebihnya) ketika run-time)
Pesan applikasi (compiler) di buat oleh pembuat program compiler SDCC, dan untuk pesan ada yang tergolong ERROR dan WARNING.
Biasanya yang diutamakan ERROR dulu untuk di buat daftar pesan saat terjadi error (kesalahan listing program), jadi yang WARNING biasanya "nanti dulu" untuk versi berikutnya.

Mungkin tidak keluar karena termasuk WARNING dan bukan ERROR, atau mungkin sebenarnya ERROR yang tidak terdeteksi atau belum di buat daftarnya oleh pembuat Compiler SDCC tersebut.

Masi belajar mikro juga kok ini...   :D

erik hardianto


ksatriabajuhitam

tuh ada solusi lain dari herlambang, kalo mau dicoba
(saya juga belum liat code nya)

Kutip dari: herlambang pada Juni 23, 2009, 09:38:07 AM
;D
wew, mepet ya?
ya dah neh ada pake C mode 8bit.
saia attach lengkap:
program dengan Keil uVision3 C51 V8.16
schematic dan simulasi dengan ISIS Proteus V7.4SP3.
jangan nanya ya.. kenapa pilih warna ungu bwt komponennya :D kakakaka

ntar kalo butuh yg versi assembly-nya tinggal ngomong aja.. ^^"
semoga cepet lulus..

@herlambang
asli ga software nya? (hehe, saya juga punya yang bajakan :P )
emang mantep itu software ISIS (sebetulnya VSM sih buat simulasinya), Electronics Workbench lewat lah...
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2

herlambang

Kutip dari: ksatriabajuhitam pada Juni 29, 2009, 08:27:09 PM
@herlambang
asli ga software nya? (hehe, saya juga punya yang bajakan :P )
emang mantep itu software ISIS (sebetulnya VSM sih buat simulasinya), Electronics Workbench lewat lah...


;D tau sendiri lah gan..  lisensinya aja selangit dan daripada tidak pake, mendingan pake yang  >:D

^^" ..

Yups.. tul gan EWB yang terbarupun (ganti nama jadi NI Designer (dibeli National Instrument))
masih kalah kalo bwt simulasi mikrokontroler dan peripheralnya..
mungkin kelebihan NI di FPGA dan circuit analisisnya..

BTW, nyaman banget pake Proteuss... thanx 4 Labcenter Electronics  ;D


built-in double watchdog! ^^"   *Problem Solved*

tAZZZ

Kutip dari: herlambang pada Juni 30, 2009, 05:26:40 AM

BTW, nyaman banget pake Proteuss... thanx 4 Labcenter Electronics  ;D


coba altium deh, jauh lebih enak

herlambang

Kutip dari: tAZZZ pada Juli 30, 2009, 02:18:08 PM
Kutip dari: herlambang pada Juni 30, 2009, 05:26:40 AM

BTW, nyaman banget pake Proteuss... thanx 4 Labcenter Electronics  ;D


coba altium deh, jauh lebih enak


masih enakan proteus untuk VSM.
built-in double watchdog! ^^"   *Problem Solved*

hafis martin

tolong.....^ ^
w anggota bru nie..hehehe
blh mnta tlng y....
mnta cntoh program bhsa C tp untuk tampilan ke LCD sie  ??

rakanety

tolong beritahu dan informasinya untuk lcd2x16 ke atmega128 bisa tidak yah???melihat lcd saya berjenis LMB162AFC apakah sama???

erik hardianto

Kutip dari: herlambang pada Juni 23, 2009, 09:38:07 AM
;D
wew, mepet ya?
ya dah neh ada pake C mode 8bit.
saia attach lengkap:
program dengan Keil uVision3 C51 V8.16
schematic dan simulasi dengan ISIS Proteus V7.4SP3.
jangan nanya ya.. kenapa pilih warna ungu bwt komponennya :D kakakaka

ntar kalo butuh yg versi assembly-nya tinggal ngomong aja.. ^^"
semoga cepet lulus..

sudah bisa tersenyum,, sudah lulus kang mas... maturnuwun doanya,,, ;D

herlambang

@erik...

selamat bro.... udeh lulus ya? hahah ikutan seneng dah :D
built-in double watchdog! ^^"   *Problem Solved*