Penulis Topik: Keluarga MCS-51  (Dibaca 27795 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline lutfi

  • Moderator
  • Hero Member
  • ********
  • Tulisan: 665
Keluarga MCS-51
« pada: Oktober 02, 2009, 02:34:12 PM »
tolong di bahas ne udah lama kosong
Meonggg

Offline Busan

  • Sr. Member
  • ******
  • Tulisan: 497
    • My Electronic Collections
Re:Keluarga MCS-51 (Kapasitas Memori?)
« Jawab #1 pada: Juni 04, 2010, 04:56:09 PM »
Bagaimana kita mengetahui memori yang dibutuhkan dari program assembly? Apakah bisa dilihat dari hasil file hex atau bin?
RBS FM on

Offline lutfi

  • Moderator
  • Hero Member
  • ********
  • Tulisan: 665
Re:Keluarga MCS-51
« Jawab #2 pada: Juni 06, 2010, 02:32:59 PM »
Bagaimana kita mengetahui memori yang dibutuhkan dari program assembly? Apakah bisa dilihat dari hasil file hex atau bin?

dilihat  dari hasil kompilasi  file .hex pak!...........  ukuran  file hex....... jangan melebihi kapasitas memory flash pada ic MCU  :) 
Meonggg

Offline herlambang

  • Newbie
  • *
  • Tulisan: 32
  • satu ditambah satu apakah sama dengan dua? ^^
    • Discovering The Art & Technology
Re:Keluarga MCS-51
« Jawab #3 pada: Juli 20, 2010, 03:45:44 PM »
Bagaimana kita mengetahui memori yang dibutuhkan dari program assembly? Apakah bisa dilihat dari hasil file hex atau bin?

dilihat  dari hasil kompilasi  file .hex pak!...........  ukuran  file hex....... jangan melebihi kapasitas memory flash pada ic MCU  :)

file ".hex" hasil kompilasi tidak bisa dijadikan patokan ukuran program yang sebenarnya... karena masih ada alamat2 register yang akan ditulisi program...



Asal pada waktu memulai memprogram pemilihan jenis microcontroller (file include) sudah benar.. bila program melebihi memori mikro yang digunakan kompiler akan memberikan warning..... :D
Bila mata adalah cahaya maka hati adalah permata ^^" ........UPS"

*���((�`���[#asm("wdr")]�����))�*

Offline lutfi

  • Moderator
  • Hero Member
  • ********
  • Tulisan: 665
Re:Keluarga MCS-51
« Jawab #4 pada: Juli 21, 2010, 12:36:30 AM »


nahhh kalo yg ini cara melihatnya gimana hayoooo  :)... beda dengan codevision AVR.....yg ini tidak ada.....jadi patokannya pada ukuran file hasil kompilasi !,
« Edit Terakhir: Juli 21, 2010, 12:43:44 AM oleh lutfi »
Meonggg

Offline herlambang

  • Newbie
  • *
  • Tulisan: 32
  • satu ditambah satu apakah sama dengan dua? ^^
    • Discovering The Art & Technology
Re:Keluarga MCS-51
« Jawab #5 pada: Juli 21, 2010, 11:00:55 AM »
nahhh kalo yg ini cara melihatnya gimana hayoooo  :)... beda dengan codevision AVR.....yg ini tidak ada.....jadi patokannya pada ukuran file hasil kompilasi !,

CVAVR hanya sebagai contoh saja mas...    :)

kalo pake MCS-51,
mo pake MIDE ato yang lain juga sama saja... file ".hex" hasil kompilasi tidak bisa dijadikan patokan !!! kenapa??? karena file ".hex" hasil kompilasi isinya belum "pure" kode murni yang akan diisikan ke mikrokontroler, tetapi juga berisi alamat2 alamat register pada masing-masing register pada flash yang nantinya akan di isi oleh kode program.

coba mas lutfi pelajari dulu komposisi intel hex. contohnya disini: Understanding Intel HEX File

ini cuplikannya....



Kalo untuk keluarga MCS-51 dan ingin mengetahui nilai kode sesungguhnya dari kode program yang anda tulis... pake KEIL uVision IDE dari KEIL compiler. disana jelas akan terlihat bahwa file ".hex" hasil kompilasi tidak sama nilainya dengan program yang akan diisikan ke mikrokontroler.

atau kalo tidak punya KEIL uVision mas lutfi bisa pake software downloader untuk mengetahui ukuran sebenarnya dari kode program yang mas lutfi tulis... downloader apa saja pasti ada fasilitas "DISPLAY BUFFER" nah di click aja... lalu dilihat sampai batas memory block yang isinya nilai "FF" semua (masih kosong)

berikut contohnya:



Yang saia gunakan untuk mengetahui sebenarnya berapa ukuran program kita adalah ISP Programmer dari Ashim khan. nah, caranya click tombol "OPEN FILE" terus load file ".hex" hasil kompilasi anda. Langkah selanjutnya click "DISP BUFFER" ... nah turunkan scroll bar sampai pada block memory yang isinya nilai "FF" semua... (memory masih kosong). Terus lihat kolom terakhir yang nilainya bukan "FF" disini "00". Setelah ituuuuu tarik garis lurus ke kiri dan keatas... maka mas lutfi akan menemukan alamat terakhir pada block memory yang terisi..... (kiri MSB dan atas LSB).  8)

Nah, disitu terlihat alamat memorinya adalah 0x0626 hexa atau desimalnya "1574" (1574Bytes).
Kalo (1KB=1024) jadi  = 1.537109375KB
. <----------- ukuran program anda....
dan sekarang bandingkan dengan file ".hex" hasil kompilasi (pada gambar dipojok kanan atas). Ukurannya adalah 4KB... beda jauh kan mas??  :)

Seperti itu mas lutfi..  ;)
« Edit Terakhir: Juli 21, 2010, 02:43:57 PM oleh herlambang »
Bila mata adalah cahaya maka hati adalah permata ^^" ........UPS"

*���((�`���[#asm("wdr")]�����))�*

Offline lutfi

  • Moderator
  • Hero Member
  • ********
  • Tulisan: 665
Re:Keluarga MCS-51
« Jawab #6 pada: Juli 21, 2010, 07:26:06 PM »
thanks pencerahannya !, dari dulu sampe sekarang baru tau hehehe :) :) selama itu sy berpatokan pada hasil kompilasi file.hex



untuk programmer ini tidak ada "DISPLAY BUFFER"..... tidak semua programmer ada.... jadi harus membuka file hex pakai notepad

sy menggunakan programmer ini sejak dari pemula sampe sekarang !,..... jadi gx pernah buka2 isi file.hex yg tau hanya ukurannya saja !, yg saya lakukan buat program > kompilasi > program ke IC MCU > selesai



« Edit Terakhir: Juli 21, 2010, 07:34:12 PM oleh lutfi »
Meonggg

Offline isurG_

  • Isurganteng
  • Administrator
  • Hero Member
  • ********
  • Tulisan: 2669
  • Keseharianku Melawan Waktu
    • Keseharianku Melawan Waktu
Re:Keluarga MCS-51
« Jawab #7 pada: Juli 22, 2010, 12:34:40 AM »
belajar mikro masi binun mulai dari mana .. dah banyak beli buku untuk mikro ne masi rada ndak mudeng hahahaha

fb : isurg
ig : isurg_ , isurganteng
yb : isurcocc
tw : isurg
web : tukangsapu.net, aditama.net, elektronika.web.id

Offline lutfi

  • Moderator
  • Hero Member
  • ********
  • Tulisan: 665
Re:Keluarga MCS-51
« Jawab #8 pada: Juli 22, 2010, 01:45:18 AM »
belajar mikro masi binun mulai dari mana .. dah banyak beli buku untuk mikro ne masi rada ndak mudeng hahahaha

yg mudah dan murah saja dulu pak !, bisa dilihat totorialnya dibuku......cukup jelas pembahasannya !, pake MCS-51  dulu  aja cukup untuk pemula.... murah  hargannya  12 s/d 15rb an...... ato langsung ke AVR jg gpp itu lebih bagus !.....

pelajari dasarnya dulu... baik itu hardware maupun programming.....stelah itu pelajari yg diperlukan misalkan tuk keperluan pemancar......... LCD, keypad, dlsb

makasih
Meonggg

Offline herlambang

  • Newbie
  • *
  • Tulisan: 32
  • satu ditambah satu apakah sama dengan dua? ^^
    • Discovering The Art & Technology
Re:Keluarga MCS-51
« Jawab #9 pada: Juli 22, 2010, 09:34:59 AM »
thanks pencerahannya !, dari dulu sampe sekarang baru tau hehehe :) :) selama itu sy berpatokan pada hasil kompilasi file.hex



untuk programmer ini tidak ada "DISPLAY BUFFER"..... tidak semua programmer ada.... jadi harus membuka file hex pakai notepad

sy menggunakan programmer ini sejak dari pemula sampe sekarang !,..... jadi gx pernah buka2 isi file.hex yg tau hanya ukurannya saja !, yg saya lakukan buat program > kompilasi > program ke IC MCU > selesai

ya, sama-sama belajar biar sama-sama tambah ilmunya... :)

O, iya yang punyanya adam dybkowski gak ada ya... hehehe sorry, kebetulan yang sering ane pake ada semua. :)

Bila mata adalah cahaya maka hati adalah permata ^^" ........UPS"

*���((�`���[#asm("wdr")]�����))�*

Offline Iman Fushshilat

  • Jr. Member
  • **
  • Tulisan: 53
Re:Keluarga MCS-51
« Jawab #10 pada: Juli 22, 2010, 05:19:40 PM »
Permisi
Ada yang punya Tutorial Cara mengkonvert Tegangan dari 0-24V ke 0-5 V, pake OPAMP 741.
Buat inputan ADC 0808, rencana nya saya ingin bikin Voltmeter digital pake MCS-51,
Mohon Bantuan nya, Oia Salam Kenal :-)

Terima kasih

Offline herlambang

  • Newbie
  • *
  • Tulisan: 32
  • satu ditambah satu apakah sama dengan dua? ^^
    • Discovering The Art & Technology
Re:Keluarga MCS-51
« Jawab #11 pada: Juli 23, 2010, 01:22:46 PM »
Permisi
Ada yang punya Tutorial Cara mengkonvert Tegangan dari 0-24V ke 0-5 V, pake OPAMP 741.
Buat inputan ADC 0808, rencana nya saya ingin bikin Voltmeter digital pake MCS-51,
Mohon Bantuan nya, Oia Salam Kenal :-)

Terima kasih

Salam kenal balik mas..

Kalo yang panjenengan ukur bukan tegangan berimpedansi tinggi, gak usah pake Op-amp juga bisa.. hanya pake
pembagi tegangan dengan resistor terus dimasukin ADC... nah kalo yang anda ukur tegangannya berimpedansi
tinggi, anda bisa pake Op-amp..


berikut untuk pengukuran tegangan DC dan memanfaatkan resistor sebagai divider,

Banyak jalan menuju ROMA... tapi jangan sampai kesasar...
Ane coba dengan bahasa dan penjelasan yang sesimpel2nya dan mudah dipahami.... semoga tidak malah jadi berantakan hehehe..:D

ini mas formulanya :

misal pake ADC 8bit dengan referansi 5Volt jadinya:


VresADC =  Vref/(2^n-1) dimana n adalah bit ADC-nya. jadinya kan 2^8-1 = 255 nah, kalo Vref=5V
maka:

         
VresADC= 5/255 = 0.0196Volt atau 19.6mV

maksudnya setiap kenaikan satu bit nilai ADC sama dengan 19.6mV

nah sekarang kita cari nilai resistor sebagai pembagi tegangan yang pas untuk range 0-24Volt.

jreeenng....

pembagi tegangan...



   
Vout= Vin*R1/(R1+R2)

R1/R2= Vout/(Vin-Vo)

jika Vin = 24V, Vo = 5V dan R1 adalah 330ohm maka akan ketemu R2= 1.25KOhm (kalo sulit didapat pake 1K2 aja).

rasio R1/R2 = 3.80

nah sekarang kita sudah merubah tegangan 0-24V ke 0-5V ... sudah bisa dipasangi ADC, tetapi perlu diingat
bahwa nila range antara 0-24V dan 0-5V berbeda...!
nah kita cari dulu rasionya dengan cara membagi range baru dengan range awal... (dianggap linear).  ::)

Vrasio_output = 5V/24V = 0.20V (setiap 0.2V range pengukuran = 1Volt data asli (1000mV:200mV)). Pada bagian awal kita sudah mencari
resolusi ADC dan sudah didapat bahwa resolusi ADC adalah 19.6mV. Langkah selanjutnya adalah membagi
nilai rasio Vout:Vin dengan resolusiADC untuk mengetahui resolusi akhir yang berfungi bwt kalibrasi secara software...
maka:

   VRasio_output = 0.2V (200mV)
   resolusi_ADC = 19.6V

   resolusi_rasio_output = 200mV/19.6mV  = 10.2mV

   untuk mendapatkan nilai resolusi akhir alat dengan cara:

   resolusi_akhir = Vrasio_input / resolusi_rasio_output = 1000mV/10.2mV = 98.0mV
   

jadi hasil akhir resolusi alat ukur dengan ADC 8bit dan range pengukuran dari 0-24Volt bisa diperoleh
resolusi sebesar = 98.0mV/bit.



hehehe... sebenarnya cari resolusi alat ada cara mudahnya koq...
tinggal range VinputMAX/(2^bitADC-1) = 24/255 = 0.094V atau 94mV
terus cari range VoutMAX/(2^bitADC-1) = 5/255 = 0.0196V atau 19.6mV
kan perbandingannya dapet tuh.... Vin:Vout = 94mV:19.6mV... mendekati kan?? rasio perbandingannya 4.79

ato cara yang lebih simple lagi... Vin/Vout = 24/5 = 4.8 (ketemu rasionya kan)
yah pokoknya gitu gan..

tinggal cari resistor bwt voltage dividernya... mikrokontrolernya terus diprogram..
fungsi tegangan mau dibuat persamaan linearnya atow mo bwt tabelnya terserah..


Yah... sebenarnya membuat alat ukur itu susah susah gampang.. yang susah kalibrasinya dengan memperhitungkan setiap galat (error) pada masing2 blok rangkaian... seperti itu.

metode diatas cuman metode kasar aja.. silahkan kalo mo disempurnakan.. CMIIW :D
« Edit Terakhir: Juli 23, 2010, 01:36:43 PM oleh herlambang »
Bila mata adalah cahaya maka hati adalah permata ^^" ........UPS"

*���((�`���[#asm("wdr")]�����))�*

Offline lutfi

  • Moderator
  • Hero Member
  • ********
  • Tulisan: 665
Re:Keluarga MCS-51
« Jawab #12 pada: Juli 24, 2010, 12:40:37 AM »
betul2..... bahkan volt meter/avometer pun menggunakan rangkaian seperti diatas.....


gunakan resistor1% metal film agar mendapatkan nilai yg diinginkan medekati hasil perhitungan
Meonggg

Offline herlambang

  • Newbie
  • *
  • Tulisan: 32
  • satu ditambah satu apakah sama dengan dua? ^^
    • Discovering The Art & Technology
Re:Keluarga MCS-51
« Jawab #13 pada: Juli 24, 2010, 04:12:20 PM »
Yups... tinggal dipraktekin aja mas Iman.. ntar kalo ada kesulitan diskusikan disini aja... kita belajar bersama OK :D
Bila mata adalah cahaya maka hati adalah permata ^^" ........UPS"

*���((�`���[#asm("wdr")]�����))�*

Offline Iman Fushshilat

  • Jr. Member
  • **
  • Tulisan: 53
Re:Keluarga MCS-51
« Jawab #14 pada: Juli 24, 2010, 06:48:20 PM »
Waduh terima kasih Banyak nih Buat ilmunya mas herlambang dan mas Lutfi. jadi nyesel kenapa ngak sejak dulu saya nemu forum ini :)
Tp saya juga ingin belajar yang pake OPAMP dong, ya supaya nambah pengetahuan, saya sudah donlod data sheetnya tapi Nga Ngarti soalnya Pake Bahasa Inggris jd tolong ya ;D.
oia satu lagi, ada yg tahu rangkaian Programmer + software buat mrogram MCS-51 yg pake USB nga?
saya nga bisa mrogram ic nih soalnya komputer saya teh Port Serial nya rusak dan nga ada port LPT nya yg ada, sekarang tinggal port usb?

Terima kasih