Jumat, 08 Maret 2013


Mikrokontroler

The mati dari Intel , 8742 mikrokontroler 8-bit yang mencakup CPU berjalan pada 12 MHz, 128 byte RAM , 2048 bytes of EPROM , dan I / O dalam chip yang sama.
2 ATmegaxx mikro kontroler
Sebuah mikrokontroler (kadang-kadang disingkat μC , UC atau MCU ) adalah sebuah komputer kecil di satu sirkuit terpadu yang berisi inti prosesor, memori, dan diprogram input / output peripheral. Program memori dalam bentuk NOR flash atau OTP ROM juga sering disertakan pada chip, serta jumlah kecil biasanya RAM . Microcontrollers dirancang untuk aplikasi embedded, kontras dengan mikroprosesor yang digunakan dalam komputer pribadi atau aplikasi tujuan umum.
Microcontrollers digunakan dalam produk secara otomatis dikontrol dan perangkat, seperti sistem kontrol mesin mobil, perangkat medis implan, remote kontrol, mesin kantor, peralatan, alat-alat listrik, mainan dan lainnya embedded system . Dengan mengurangi ukuran dan biaya dibandingkan dengan desain yang menggunakan mikroprosesor terpisah, memori, dan perangkat input / output, microcontrollers membuatnya ekonomis untuk mengendalikan perangkat digital lebih dan proses. sinyal Campuran mikrokontroler yang umum, mengintegrasikan komponen analog yang diperlukan untuk mengontrol non -sistem digital elektronik.
Beberapa mikrokontroler dapat menggunakan empat-bit kata-kata dan beroperasi pada clock rate frekuensi serendah 4 kHz, untuk konsumsi daya yang rendah (satu digit miliwatt atau microwatts). Mereka umumnya akan memiliki kemampuan untuk mempertahankan fungsi sambil menunggu acara seperti tekan tombol atau mengganggu lainnya, konsumsi daya saat tidur (CPU clock dan peripheral paling off) mungkin hanya nanowatts, membuat banyak dari mereka cocok untuk baterai tahan lama aplikasi. Mikrokontroler lain mungkin melayani kinerja-kritis peran, di mana mereka mungkin perlu untuk bertindak lebih seperti prosesor sinyal digital (DSP), dengan kecepatan clock yang lebih tinggi dan konsumsi daya.

Isi

sunting ]Sejarah

Mikroprosesor chip tunggal pertama adalah 4-bit Intel 4004 dirilis pada tahun 1971, dengan Intel 8008 dan mikroprosesor lebih mampu lainnya yang lebih banyak dalam beberapa tahun ke depan.Namun, kedua prosesor chip eksternal diperlukan untuk menerapkan sistem kerja, meningkatkan biaya total sistem, dan sehingga mustahil untuk ekonomis peralatan komputerisasi.
The Smithsonian Institution mengatakan TI insinyur Gary Boone dan Michael Cochran berhasil menciptakan mikrokontroler pertama pada tahun 1971. Hasil pekerjaan mereka adalah 1.000 TMS , yang pergi komersial pada tahun 1974. Ini dikombinasikan read-only memory, membaca / menulis memori, prosesor dan jam pada satu chip dan ditargetkan pada embedded system. [ 1 ]
Sebagian dalam menanggapi keberadaan chip tunggal TMS 1000, [ 2 ] Intel mengembangkan sistem komputer pada chip dioptimalkan untuk aplikasi kontrol, Intel 8048 , dengan bagian-bagian komersial pertama pengiriman pada tahun 1977. [ 2 ] Ini dikombinasikan RAM dan ROM pada chip yang sama. Chip ini akan menemukan jalan ke lebih dari satu miliar keyboard PC, dan berbagai aplikasi lainnya. Pada saat itu Presiden Intel, Lukas J. Valenter, menyatakan bahwa mikrokontroler adalah salah satu yang paling sukses dalam sejarah perusahaan, dan memperluas anggaran divisi lebih dari 25%.
Kebanyakan mikrokontroler saat ini memiliki dua varian. Satu memiliki dihapus EPROM memori program, dengan jendela kuarsa transparan dalam tutup paket untuk memungkinkan untuk dihapus dengan paparan ultraviolet cahaya. Yang lainnya adalah PROM varian yang hanya diprogram sekali, kadang-kadang ini ditandai dengan OTP penunjukan, berdiri untuk "satu kali diprogram". PROM sebenarnya persis jenis yang sama dari memori sebagai EPROM, tetapi karena tidak ada cara untuk mengekspos ke sinar ultraviolet, itu tidak bisa dihapus. Versi dihapus diperlukan paket keramik dengan jendela kuarsa, membuat mereka jauh lebih mahal daripada versi OTP, yang dapat dibuat di bawah-biaya paket plastik buram. Untuk varian dihapus, kuarsa diperlukan, bukan kaca lebih murah, untuk transparansi terhadap ultraviolet-kaca sebagian besar buram untuk UV-tetapi biaya pembeda utama adalah paket keramik itu sendiri.
Pada tahun 1993, pengenalan EEPROM memori memungkinkan mikrokontroler (dimulai dengan Microchip PIC16x84 ) rujukan? ] akan dihapus elektrik cepat tanpa paket yang mahal seperti yang diperlukan untuk EPROM , sehingga kedua prototipe cepat, dan In System Programming . (EEPROM teknologi sudah tersedia sebelum waktu ini, tetapi EEPROM sebelumnya adalah lebih mahal dan kurang tahan lama, sehingga tidak cocok untuk murah diproduksi secara massal mikrokontroler.) Pada tahun yang sama, Atmel memperkenalkan mikrokontroler pertama yang menggunakan memori Flash , khusus jenis EEPROM. [ 3 ] Perusahaan lain dengan cepat mengikutinya, dengan kedua jenis memori.
Biaya merosot dari waktu ke waktu, dengan termurah 8-bit mikrokontroler yang tersedia untuk di bawah $ 0.25 kuantitas (ribuan) pada tahun 2009, rujukan? ] dan beberapa 32-bit mikrokontroler sekitar $ 1 untuk jumlah yang sama.
Saat ini mikrokontroler yang murah dan mudah tersedia untuk penggemar, dengan komunitas online besar sekitar prosesor tertentu.
Di masa depan, MRAM berpotensi dapat digunakan dalam mikrokontroler karena memiliki daya tahan yang tak terbatas dan incremental semikonduktor wafer biaya proses relatif rendah.

sunting ]Volume

Sekitar 55% dari semua CPU dijual di dunia adalah 8-bit mikrokontroler dan mikroprosesor. Menurut Semico, lebih dari empat miliar 8-bit mikrokontroler yang dijual pada tahun 2006. [ 4 ]
Sebuah rumah khas di negara maju cenderung memiliki hanya empat tujuan umum mikroprosesor tapi sekitar tiga lusin mikrokontroler. Sebuah mobil mid-range khas memiliki sebanyak 30 atau lebih mikrokontroler. Mereka juga dapat ditemukan dalam perangkat listrik banyak seperti mesin cuci, oven microwave, dan telepon.
Sebuah PIC 18F8720 mikrokontrolerdalam 80-pin TQFP paket.

sunting ]Tertanam desain

Sebuah mikrokontroler dapat dianggap sebagai sistem yang mandiri dengan prosesor, memori dan periferal dan dapat digunakan sebagai sistem embedded . [ 5 ] Mayoritas mikrokontroler yang digunakan saat ini tertanam dalam mesin lain, seperti mobil, telepon, peralatan, dan peripheral untuk sistem komputer. Sementara beberapa sistem embedded yang sangat canggih, banyak memiliki persyaratan minimal untuk memori dan panjang program, dengan tidak ada sistem operasi, dan kompleksitas perangkat lunak yang rendah. Masukan yang khas dan output perangkat termasuk switch, relay , solenoida , LED , kecil atau custom LCD display, perangkat radio frekuensi, dan sensor untuk data seperti suhu, kelembaban, dll tingkat cahaya Embedded sistem biasanya memiliki keyboard, layar, disk, printer , atau dikenali I / O perangkat dari komputer pribadi , dan mungkin kurang perangkat interaksi manusia apapun.

sunting ]Interrupts

Microcontrollers harus memberikan real time (ditebak, meskipun tidak harus cepat) respons terhadap kejadian dalam sistem tertanam mereka mengendalikan. Bila ada kejadian tertentu, yang mengganggu sistem dapat sinyal prosesor untuk menangguhkan proses urutan instruksi saat ini dan untuk memulai rutin layanan interupsi (ISR, atau "interrupt handler"). The ISR akan melakukan apapun proses yang diperlukan berdasarkan sumber interrupt sebelum kembali ke urutan instruksi asli. Sumber interupsi yang mungkin adalah perangkat tergantung, dan sering termasuk acara seperti overflow timer internal, menyelesaikan analog ke digital konversi, tingkat perubahan logika pada masukan seperti dari tombol yang ditekan, dan data yang diterima pada link komunikasi. Dimana konsumsi daya penting seperti dalam perangkat dioperasikan baterai, menyela juga dapat membangunkan sebuah mikrokontroler dari keadaan tidur daya rendah di mana prosesor dihentikan sampai dibutuhkan untuk melakukan sesuatu oleh peristiwa perifer.

sunting ]Program

Biasanya program mikrokontroler harus sesuai dalam memori on-chip program yang tersedia, karena akan menjadi mahal untuk menyediakan sistem dengan eksternal, memori yang dapat diupgrade,. Compiler dan perakit digunakan untuk mengkonversi bahasa tingkat tinggi dan kode assembler bahasa menjadi kompak kode mesin untuk penyimpanan dalam memori mikrokontroler.Tergantung pada perangkat, memori program mungkin permanen, read-only memory yang hanya dapat diprogram di pabrik, atau memori program mungkin lapangan dapat berubah flash atau dihapus read-only memory.
Produsen sering menghasilkan versi khusus dari mikrokontroler mereka untuk membantu perangkat keras dan pengembangan perangkat lunak dari sistem target. Awalnya ini termasuk EPROMversi yang memiliki "jendela" di bagian atas perangkat melalui memori program yang dapat dihapus dengan ultraviolet cahaya, siap untuk pemrograman setelah pemrograman ("membakar") dan siklus uji. Sejak tahun 1998, versi EPROM yang langka dan telah digantikan oleh EEPROM dan lampu kilat , yang lebih mudah digunakan (dapat dihapus secara elektronik) dan lebih murah untuk memproduksi.
Versi lain mungkin tersedia di mana ROM diakses sebagai perangkat eksternal daripada sebagai memori internal, namun ini menjadi semakin langka karena ketersediaan luas programmer mikrokontroler murah.
Penggunaan lapangan Programmable perangkat pada mikrokontroler memungkinkan pembaruan bidang firmware atau mengizinkan revisi pabrik terlambat untuk produk yang telah dirakit tetapi belum dikirim. Memori Programmable juga mengurangi waktu yang diperlukan untuk penyebaran produk baru.
Dimana ratusan ribu perangkat identik yang diperlukan, menggunakan bagian diprogram pada saat pembuatan dapat menjadi pilihan ekonomis. Ini " topeng diprogram "bagian memiliki program yang diatur dalam cara yang sama seperti logika chip, pada saat yang sama.
Sebuah mikrokontroler disesuaikan menggabungkan blok logika digital yang dapat dipersonalisasi dalam rangka untuk memberikan kemampuan pemrosesan tambahan, peripheral dan antarmukayang disesuaikan dengan kebutuhan aplikasi. Sebagai contoh, AT91CAP dari Atmel memiliki blok logika yang dapat disesuaikan selama pembuatan sesuai dengan kebutuhan pengguna.

sunting ]Fitur mikrokontroler Lain

Microcontrollers biasanya berisi dari beberapa puluhan tujuan umum pin input / output (GPIO). Pin GPIO adalah perangkat lunak dikonfigurasi untuk baik masukan atau negara output. Ketika GPIO pin yang dikonfigurasi untuk sebuah negara masukan, mereka sering digunakan untuk membaca sensor atau sinyal eksternal. Dikonfigurasi untuk negara output, pin GPIO bisa drive perangkat eksternal seperti LED atau motor.
Banyak embedded system perlu membaca sensor yang menghasilkan sinyal analog. Ini adalah tujuan dari analog-ke-digital converter (ADC). Karena prosesor dibangun untuk menginterpretasikan dan memproses data digital, yaitu 1 dan 0, mereka tidak mampu berbuat apa-apa dengan sinyal analog yang dapat dikirimkan kepadanya oleh perangkat. Jadi analog ke digital digunakan untuk mengkonversi data yang masuk ke dalam bentuk yang dapat mengenali prosesor. Sebuah fitur yang kurang umum pada beberapa mikrokontroler adalah konverter digital-ke-analog (DAC) yang memungkinkan prosesor untuk output sinyal analog atau tingkat tegangan.
Selain konverter, mikroprosesor tertanam banyak termasuk berbagai timer juga. Salah satu jenis yang paling umum dari timer adalah Programmable Interval Timer (PIT). PIT A mungkin baik menghitung mundur dari beberapa nilai nol, atau sampai kapasitas register hitungan, meluap ke nol. Setelah mencapai nol, ia akan mengirimkan interrupt ke prosesor menunjukkan bahwa mereka telah selesai menghitung. Hal ini berguna untuk perangkat seperti termostat, yang secara periodik uji suhu di sekitar mereka untuk melihat apakah mereka perlu mengaktifkan AC pada, pemanas, dll
Sebuah berdedikasi Pulse Width Modulation (PWM) blok memungkinkan CPU untuk mengontrol konverter daya , resistif beban, motor , dll, tanpa menggunakan banyak sumber daya CPU dalam waktu yang ketat loop .
Asynchronous Receiver / Transmitter Universal (UART) blok memungkinkan untuk menerima dan mengirimkan data melalui serial line dengan beban yang sangat sedikit pada CPU. Dedicated on-chip hardware juga sering mencakup kemampuan untuk berkomunikasi dengan perangkat lain (chip) dalam format digital seperti I ² C dan Serial Peripheral Interface (SPI).

sunting ]integrasi yang lebih tinggi

Micro-controller tidak dapat mengimplementasikan alamat eksternal atau data bus saat mereka mengintegrasikan memori RAM dan non-volatile pada chip yang sama dengan CPU. Menggunakan pin yang lebih sedikit, chip dapat ditempatkan dalam satu paket, jauh lebih kecil lebih murah.
Mengintegrasikan memori dan peripheral lainnya pada satu chip dan pengujian mereka sebagai unit meningkatkan biaya chip yang, tetapi sering mengakibatkan penurunan biaya bersih sistem tertanam secara keseluruhan. Bahkan jika biaya CPU yang telah terintegrasi peripheral sedikit lebih dari biaya CPU dan periferal eksternal, memiliki chip sedikit biasanya memungkinkan sebuah papan sirkuit yang lebih kecil dan lebih murah, dan mengurangi tenaga kerja yang dibutuhkan untuk merakit dan menguji papan sirkuit, di Selain cenderung menurunkan tingkat kecacatan untuk perakitan selesai.
Sebuah micro-controller adalah satu sirkuit terpadu , biasanya dengan fitur berikut:
Integrasi ini secara drastis mengurangi jumlah chip dan jumlah kabel dan papan sirkuit ruang yang akan dibutuhkan untuk menghasilkan sistem setara menggunakan chip terpisah. Selanjutnya, pada perangkat jumlah pin rendah pada khususnya, masing-masing pin dapat antarmuka untuk peripheral internal beberapa, dengan fungsi pin dipilih oleh perangkat lunak. Hal ini memungkinkan bagian yang akan digunakan dalam berbagai aplikasi yang lebih luas daripada jika pin yang didedikasikan fungsi. Mikro-kontroler telah terbukti sangat populer di embedded system sejak diperkenalkan pada 1970-an.
Beberapa mikrokontroler menggunakan arsitektur Harvard : bus memori yang terpisah untuk instruksi dan data, yang memungkinkan akses ke berlangsung bersamaan. Apabila suatu arsitektur Harvard yang digunakan, kata-kata instruksi untuk prosesor mungkin ukuran sedikit berbeda dari panjang memori internal dan register, misalnya: 12-bit instruksi yang digunakan dengan 8-bit register data.
Keputusan yang perifer untuk mengintegrasikan seringkali sulit. Para vendor mikrokontroler sering perdagangan frekuensi operasi dan sistem fleksibilitas desain terhadap waktu-ke-pasar persyaratan dari pelanggan mereka dan biaya sistem keseluruhan yang lebih rendah. Produsen harus menyeimbangkan kebutuhan untuk meminimalkan ukuran chip terhadap fungsi tambahan.
Arsitektur Mikrokontroler bervariasi. Beberapa desain termasuk tujuan umum mikroprosesor core, dengan satu atau lebih ROM, RAM, atau I / O fungsi terintegrasi ke paket. Desain lain adalah tujuan dibangun untuk aplikasi kontrol. Sebuah set instruksi mikro-controller biasanya memiliki banyak instruksi yang ditujukan untuk bit-bijaksana operasi untuk membuat program pengendalian lebih kompak. [ 6 ] Sebagai contoh, prosesor tujuan umum mungkin memerlukan beberapa instruksi untuk menguji sedikit di register dan cabang jika sedikit adalah set, di mana controller mikro-bisa memiliki instruksi tunggal untuk memberikan fungsi umum diperlukan.
Microcontrollers biasanya tidak memiliki math coprocessor , jadi floating point aritmatika yang dilakukan oleh perangkat lunak.

sunting ]Pemrograman lingkungan

Microcontrollers awalnya diprogram hanya dalam bahasa assembly , tetapi berbagai tingkat tinggi bahasa pemrograman sekarang juga umum digunakan untuk mikrokontroler target. Bahasa-bahasa yang baik dirancang khusus untuk tujuan, atau versi bahasa tujuan umum seperti bahasa pemrograman C . Compiler untuk bahasa tujuan umum biasanya akan memiliki beberapa pembatasan serta perangkat tambahan untuk lebih mendukung karakteristik unik dari mikrokontroler. Beberapa mikrokontroler memiliki lingkungan untuk membantu mengembangkan jenis aplikasi tertentu. Vendor Mikrokontroler sering membuat alat bebas tersedia untuk membuatnya lebih mudah untuk mengadopsi perangkat keras mereka.
Banyak mikrokontroler sangat aneh bahwa mereka secara efektif memerlukan mereka sendiri non-standar dialek C, seperti SDCC untuk 8051 , yang mencegah menggunakan alat standar (seperti perpustakaan kode atau alat analisis statis) bahkan untuk kode yang tidak berhubungan dengan fitur hardware. Interpreters yang sering digunakan untuk menyembunyikan kebiasaan tersebut tingkat rendah.
Interpreter firmware juga tersedia untuk beberapa mikrokontroler. Misalnya, BASIC pada mikrokontroler awal Intel 8052 , [ 7 ] BASIC dan DIURAIKAN pada Zilog Z8 [ 8 ] serta beberapa perangkat modern. Biasanya penafsir mendukung pemrograman interaktif .
Simulator yang tersedia untuk beberapa mikrokontroler. Ini memungkinkan pengembang untuk menganalisa apa perilaku mikrokontroler dan program mereka harus jika mereka menggunakan bagian yang sebenarnya. Sebuah simulator akan menunjukkan keadaan prosesor internal dan juga bahwa dari output, serta memungkinkan sinyal input yang akan dihasilkan. Sementara di satu sisi simulator kebanyakan akan terbatas karena tidak dapat mensimulasikan perangkat keras lainnya banyak sistem, mereka bisa latihan kondisi yang lain mungkin sulit untuk mereproduksi di akan dalam pelaksanaan fisik, dan dapat menjadi cara tercepat untuk debug dan menganalisis masalah.
Mikrokontroler terakhir sering terintegrasi dengan on-chip debug sirkuit yang saat diakses oleh emulator di-sirkuit melalui JTAG , memungkinkan debugging dari firmware dengan debugger .

sunting ]Jenis-jenis mikrokontroler

Pada 2008 ada arsitektur mikrokontroler beberapa lusin dan vendor termasuk:
Banyak orang lain yang ada, beberapa di antaranya digunakan dalam rentang yang sangat sempit aplikasi atau lebih seperti prosesor aplikasi dari mikrokontroler. Pasar mikrokontroler sangat terfragmentasi, dengan berbagai vendor, teknologi, dan pasar. Perhatikan bahwa banyak vendor menjual atau telah menjual beberapa arsitektur.

sunting ]latency Interrupt

Berbeda dengan tujuan umum komputer, mikrokontroler digunakan di embedded system seringkali mencari untuk mengoptimalkan latensi interupsi atas instruksi throughput. Isu mencakup mengurangi latency, dan membuatnya menjadi lebih mudah diprediksi (untuk mendukung real-time control).
Ketika sebuah perangkat elektronik menyebabkan interupsi, hasil antara (register) harus disimpan sebelum perangkat lunak bertanggung jawab untuk menangani interrupt dapat berjalan. Mereka juga harus dikembalikan setelah perangkat lunak yang selesai. Jika ada lebih register, proses menyimpan dan memulihkan membutuhkan waktu lebih lama, meningkatkan latency. Cara untuk mengurangi konteks seperti / memulihkan latency termasuk memiliki relatif sedikit register di unit mereka pengolah pusat (tidak diinginkan karena memperlambat sebagian besar non-interupsi pemrosesan secara substansial), atau setidaknya memiliki hardware tidak menyimpan mereka semua (ini gagal jika perangkat lunak kemudian perlu untuk mengkompensasi dengan menyimpan sisanya "manual"). Teknik lain melibatkan pengeluaran gerbang silikon pada "bayangan register": Satu atau lebih register duplikat hanya digunakan oleh perangkat lunak interupsi, mungkin mendukung tumpukan khusus.
Faktor-faktor lain yang mempengaruhi latency interrupt meliputi:
  • Siklus yang dibutuhkan untuk menyelesaikan kegiatan CPU saat ini. Untuk meminimalkan biaya-biaya, microcontrollers cenderung memiliki pipa pendek (sering tiga instruksi atau kurang), buffer menulis kecil, dan memastikan bahwa instruksi lagi yang berlanjut atau restartable. RISC prinsip desain memastikan bahwa instruksi yang paling mengambil jumlah yang sama siklus, membantu menghindari perlu untuk kelanjutan seperti kebanyakan / restart logika.
  • Panjang dari setiap bagian penting yang perlu terganggu. Masuk ke bagian kritis membatasi akses bersamaan struktur data. Ketika sebuah struktur data harus diakses oleh interrupt handler, bagian kritis harus memblokir interupsi itu. Dengan demikian, latensi interupsi meningkat namun lama yang mengganggu diblokir. Bila ada kendala eksternal keras pada latency sistem, pengembang sering membutuhkan alat untuk mengukur latency interrupt dan melacak bagian mana yang kritis menyebabkan slowdowns.
    • Salah satu teknik umum hanya blok semua menyela selama bagian kritis. Hal ini mudah dilaksanakan, tapi kadang-kadang bagian penting mendapatkan nyaman panjang.
    • Sebuah teknik yang lebih kompleks hanya blok interrupts yang dapat memicu akses ke struktur data. Hal ini sering didasarkan pada prioritas interupsi, yang cenderung tidak sesuai baik untuk struktur data sistem yang relevan. Dengan demikian, teknik ini digunakan terutama di lingkungan yang sangat dibatasi.
    • Prosesor mungkin memiliki dukungan hardware untuk beberapa bagian penting. Contohnya termasuk akses atom pendukung untuk bit atau byte dalam sebuah kata, atau primitif akses lainnya atom seperti LDREX / STREX primitif akses eksklusif diperkenalkan pada ARMv6 arsitektur.
  • Interrupt bersarang. Beberapa mikrokontroler memungkinkan interupsi prioritas yang lebih tinggi untuk mengganggu yang prioritas yang lebih rendah. Hal ini memungkinkan perangkat lunak untuk mengelola latency dengan memberikan waktu-kritis interupsi prioritas yang lebih tinggi (dan dengan demikian latency rendah dan lebih diprediksi) dari kurang-kritis yang.
  • Pemicu tingkat. Ketika interupsi terjadi back-to-back, mikrokontroler dapat menghindari konteks ekstra menyimpan / mengembalikan siklus oleh bentuk panggilan ekor optimasi.
Mikrokontroler ujung bawah cenderung mendukung kontrol interrupt latency kurang dari yang akhir yang lebih tinggi.

sunting ]Mikrokontroler teknologi memori tertanam

Sejak munculnya mikrokontroler, banyak teknologi memori yang berbeda telah digunakan. Hampir semua mikrokontroler memiliki minimal dua macam memori, memori non-volatile untuk menyimpan firmware dan memori baca-tulis untuk data sementara.

sunting ]dataDari awal mikrokontroler ke hari ini, enam-transistor SRAM hampir selalu digunakan sebagai baca / tulis memori kerja, dengan transistor lebih sedikit per bit yang digunakan dalam file yang mendaftar . MRAM berpotensi menggantikannya sebagai itu adalah 4 sampai 10 kali lebih padat yang akan membuatnya lebih hemat biaya.

Selain SRAM, beberapa mikrokontroler juga memiliki EEPROM internal yang untuk penyimpanan data, dan bahkan orang-orang yang tidak memiliki (atau tidak cukup) sering terhubung ke chip EEPROM eksternal serial (seperti BASIC Stamp ) atau eksternal chip flash memori serial .
Sebuah mikrokontroler baru-baru ini beberapa dimulai pada tahun 2003 memiliki "self-programmable" memori flash. [ 3 ]
irmware
Mikrokontroler awal menggunakan ROM masker untuk menyimpan firmware. Kemudian mikrokontroler (seperti versi awal dari Freescale 68HC11 dan awal mikrokontroler PIC ) memiliki jendela quartz yang memungkinkan cahaya ultraviolet untuk menghapus EPROM .
The Microchip PIC16C84 , diperkenalkan pada tahun 1993, [ 10 ] adalah mikrokontroler pertama yang menggunakan EEPROM untuk menyimpan firmware. Pada tahun yang sama, Atmel memperkenalkan mikrokontroler pertama menggunakan NOR memori Flash untuk menyimpan firmware. [ 3 ]