Saya akan menyerahkan perisian tegar untuk AVR. Asas skrin muzik program mikropengawal AVR - virib mudah untuk pochatkivts

Paksi dan tetapkan jam untuk perisian tegar pertama. Qia firmware є ujian. Tidak perlu merosakkan zhodnykh korishnykh diy, selain menggeletar dengan algoritma nyanyian. Dengan bantuan perisian tegar adalah mungkin untuk mempertimbangkan semula kesahihan keseluruhan mikropengawal dan pelabuhan zokrem yang diperkenalkan-ke-vivod.
Untuk mengkonfigurasi semula mikropengawal, anda perlu memasang perisian tegar dan terkejut melihatnya pada peranti. Anda boleh "kagum" sama ada dengan multimeter, atau dengan siasatan mudah - svitlodiodno dengan perintang 300 Ohm - 1 kOhm. Tanpa perintang, tidak mungkin untuk mengubahnya - adalah mungkin untuk membakar port input-ke-output. Isyarat Rivni di cerun bawah berubah daripada "1" melalui "Z" -stan kepada "0" dan belakang. "Z" stan dimasukkan ke dalam port bersiri untuk mengawal output port dalam mod input.

Uji perisian tegar untuk mikropengawal ATMega48 / 88/168.
Algoritma bacaan perisian tegar robot ATMega48 / 88/168 pada imej (pengawal mikro pemasangan pada keterangan tadi).

Pengawal mikro adalah betul dari penjana dalaman, jadi tidak mudah untuk menggunakan kuarza terkini. Nіzhki 9 dan 10 (disambungkan ke kuarza deringan) jangan kembali, kerana kuarza deringan muncul di sana. Juga, ia tidak mencecah bahagian bawah 1 (skid) dan 21 (voltan rujukan untuk ADC). Terdapat dua cara untuk mempertimbangkan semula status penerimaan (anak-anak kecil ilahi) - untuk tertanya-tanya tentang perubahan isyarat dari tanah (GND) atau kehidupan rendah (VCC).
- Uji perisian tegar untuk ATMega48 / 88/168

Mikrokontroler yak flash>


Uji perisian tegar untuk mikropengawal ATTiny2313.
Algoritma perisian tegar robot ATTiny2313 bacaan pada imej (pengawal mikro pemasangan pada penerangan sebelum ini).

Pengawal mikro berfungsi dari penjana dalaman; Nizhki 4 dan 5 (disambungkan kepada kuarza terkini) tidak termasuk dalam kategori, jika kuarza paling terkini muncul di sana. Ia juga tidak menyakitkan nіzhka 1 (tergelincir). Terdapat dua cara untuk mempertimbangkan semula kualiti perkhidmatan - untuk kagum dengan perubahan isyarat dari tanah (GND) dan voltan rendah (VCC).
- Uji perisian tegar untuk ATTiny2313

Mikrokontroler yak flash>


Uji perisian tegar untuk mikropengawal ATTiny13.
Algoritma bacaan ATTiny13 perisian tegar robotik pada imej (pengawal mikro pemasangan pada huraian sebelum ini).

Mikropengawal berfungsi dari penjana dalaman (panggilannya bagus untuk mikropengawal, mustahil untuk dilihat). Jelas sekali, bukan nigga 1 (tergelincir). Semakan naungan itu sendiri, seperti dalam mikropengawal latar depan.
- Perisian tegar Eustova untuk ATTiny13

Mikrokontroler yak flash>


Pertimbangan semula "Z" asal


Stesen "Z" -stesen jika ia tidak dikonfigurasikan untuk input dan pada masa yang sama (ia tidak disambungkan sama sekali). Untuk menyemak rupa kilang sedemikian, anda boleh mempercepatkan pendail perintang. Apabila sama dengan "1", akan terdapat voltan + 5v pada pendail; jika sama dengan "0", tanah akan menjadi 0v, dan jika "Z" - pelabuhan pelepasan-pengenalan tidak akan terlibat dalam kerja pendail dan akan ditambah kepada bekalan tenaga dan kami akan menerima + 2.5v.

FAIL:
- Widget perisian tegar ujian

(Dilawati 18 359 kali, 4 lawatan hari ini)

  • Memori untuk atur cara (FLASH) - 1Kb
  • RAM - 64 Bait
  • Bilangan input / output - 6
  • Vihodiv SHIM - 2
  • Input analog (ADC 10bit) - 4
  • Pemasa 8 bit - 1
  • Bekalan voltan 1.8 - 5.5V
  • Kekerapan kerja - sehingga 20MHz
  • Hidup dalam mod aktif 1.8V / 1MHz - 190mkA
  • Mod tidur 1.8V / 1MHz - 24μA

Pengaturcaraan ATtiny13

Untuk program ini saya akan mengkonfigurasi perisian tengah Arduino IDE. Yak vidomo, bahagian tengah roset boleh ditambah kepada pengawal. Contohnya, dalam tsy statty Saya membukanya sebagai program dalam Arduino IDE "WiFi rakyat" ESP8266. Di tapak arduino.cc є gilka, program ATTiny13 telah disiarkan berhampiran bahagian tengah Arduino. Saya telah memasang versi 1.6.5. Saya akan menambah teras ATTiny untuk arkib Arduino. Saya akan membongkarnya ke folder c: \ Program Files (x86) \ Arduino \ hardware \ dan dalam Arduino IDE terdapat pembayaran tambahan

Kini program terjerat. Memori mikropemproses hanya 1Kb, dan tiada ruang untuknya. Lakaran terjerat dijalankan oleh pengaturcara melalui ISP. USBAsp, kerana saya tidak mahu memprogramkan Atmega328. Firmware khas pengaturcara diperlukan, yang mana saya tidak mahu beralih. Program mikropengawal tersedia untuk bantuan, sama ada Arduin. Bagi yang lain saya memilih skema berikut:

Dalam Arduino IDE saya memilih "Fail-> Zrazki-> ArduinoISP" dan menambah lakaran pengaturcara ke Arduino. Kemudian saya pilih "Tools-> Programmer-> Arduino as ISP". Kini anda boleh menambah lakaran pada remaja anda. Slaid bermakna teras ATTiny13 untuk Arduino mendedahkan satu set fungsi Arduino.

Pada robot itu, saya mempunyai gelung yang dipasang di dinding dengan pembantu

Terdapat mentol lampu halogen 12V dan motor di yalintsi, yang boleh menghidupkan penapis bulatan warna, yang boleh mengubah bulatan warna pemancar cahaya. Untuk 3 batu mati і mentol lampu dan motor.

Axis I dan Virishiv membawakan yalinka dengan sedikit RGB-garisan kerovano ATtiny13. Pengetahuan tentang keruvannya melalui baris adalah seperti berikut:

tiga transistor dan perintang, pengatur voltan talian dan bekalan kuasa.

Lakaran є dengan perisian trichannel PWM disebabkan oleh perubahan kecerahan melalui saluran kecil, akibatnya garisan berkilauan dengan warna kecil.

Jika anda ingin menghilangkannya, anda tidak perlu menetapkan bayaran dan talian dalam kes yalinka.

Biliy pita pelekat scotch untuk mengecilkan keterlihatan cahaya di bahagian tengah sarung.

Payudara 2015 p.

1. Melebihkan cara yang dicadangkan

Skim lampiran pada mikropengawal (MC) membolehkan mereka melihat dua kualiti penting: kesederhanaan maksimum dan kefungsian tinggi. Sehingga itu, fungsi boleh diubah dan dikembangkan tanpa sebarang perubahan pada litar - hanya gantikannya dengan program (berkelip). Perlu dijelaskan bahawa pencipta MC moden telah cuba mengedarkan segala-galanya pada satu kristal yang boleh diketahui oleh peniaga lampiran elektronik - mereka boleh menyewanya sebanyak mungkin. Akibatnya, perubahan dibuat kepada penekanan daripada litar dan penyuntingan kepada perisian. MK yang menang kini kurang berkemungkinan untuk "navantazhuvati" skim dengan butiran, antara komponen yang kurang dan kurang. Adalah sukar untuk merosakkan skema yang lebih gimik untuk pengulangan berulang oleh kedua-dua remaja dan tongkol elektronik. Ale, awak nak bayar semua. Di sini ia juga bukan tanpa lipatannya. Jika anda membeli MK baru, letakkannya dalam pemilihan yang betul dari butiran rujukan, skim cukai, maka tiada apa yang akan dijumpai - pristіy tidak pratsyuvatime. Pengawal mikro memerlukan program.

Semuanya mudah pada masa lalu - di Internet adalah mungkin untuk memasang litar tidak berkuasa dengan perisian tegar yang tidak dijahit. Tetapi di sini terdapat satu masalah: firmware perlu "dimuat naik" ke dalam mikropengawal. Bagi mereka yang tidak pernah menanganinya sebelum ini, ia juga sering menjadi masalah dan faktor utama, apabila dilihat, bukan senang untuk memikirkannya kerana kemenangan MK dan idea untuk membuat skim untuk "rosy" dan logistik. Aje, semua tak berapa kemas, boleh pandang pertama.

Setelah menganalisis penerbitan di Internet, mungkin untuk diperhatikan bahawa masalahnya paling kerap dilihat dari salah satu daripada dua bangsawan: membeli pengaturcara siap pakai atau menyediakan yang dibuat sendiri. Dengan keseluruhan skema pengaturcara buatan sendiri, selalunya tidak realistik untuk menerbitkannya, ia lebih boleh dilipat, tetapi tidak semestinya diperlukan. Zvychayno, yakshto perebachatsya shodnya proshivati ​​​​MK, pengaturcara "keren" ibu senyap. Sekiranya keperluan untuk prosedur sedemikian jarang berlaku, jam demi jam, maka mungkin dilakukan tanpa pengaturcara. Nі, dengan licik, jangan pergi tentang mereka yang mungkin dirompak oleh kuasa pemikiran. Untuk bergantung pada penghormatan, adalah munasabah, kerana ia adalah untuk melihat interaksi pengaturcara dengan mikropengawal apabila merekodkan bacaan maklumat ini dalam mod program, kita boleh melakukannya dengan bantuan pelbagai fungsi. Kemungkinan besar menggantikan kedua-dua program dan bahagian perkakasan pengaturcara. Bahagian perkakasan bersalah kerana mengamankan data fizikal dari litar mikro MC, keupayaan untuk menyerahkan nilai logik kepada input pertama dan kepada data yang betul dari input kedua. Bahagian perisian boleh menyediakan robot dengan algoritma, yang memerlukan proses yang diperlukan. Ia juga penting bahawa saya akan menulis maklumat dalam MK untuk tidak tersekat kerana fakta bahawa anda mempunyai pengaturcara. Pemahaman sedemikian, sebagai "ditulis dengan indah" chi "girshe" tidak difahami. Є menafikan dua pilihan: "ditulis" dan "tidak ditulis". Kami akan cuba menulis bahagian tengah kristal oleh MC sendiri tanpa perlu memprosesnya. Ia adalah perlu untuk menghalang anda daripada keupayaan untuk memastikan bahawa anda tidak mahu dapat mengendalikannya (terdapat perubahan pada denyutan) dan untuk mengatur antara muka dengan betul. Jika keputusan bacaan kawalan pengampunan belum didedahkan, maka semuanya boleh teratur.

Untuk menulis program ke program MK, tanpa menunggu pengaturcara, kita perlu menulis semula port USB-RS232TTL, serta. Penukar USB-RS232TTL membenarkan port USB tambahan untuk membuka port COM, yang boleh dilihat dari port "kanan", tetapi mungkin untuk menggunakan fungsi TTL logik pada input ke-y dan "). Penukar sedemikian adalah dalam kes ibu corystic di "negeri", untuk itu, kerana anda masih bisu, ia adalah perkara biasa bagi anda. Tetapi terdapat beberapa sebab yang logik, maka dalam vipad TTL kami - tidak perlu menavigasi port di hadapan port COM khas, jadi jika anda memasuki port sedemikian, anda boleh menyambung tanpa satu saat ke mana-mana mikropengawal yang boleh hidup seperti 5 V sahaja. Jika tidak, jangan goyangkan port COM standard - terdapat mata air jahat dalam selang dari -12 hingga +12 V (atau -15 ... + 15V). Bezposredn z'єdnannya dengan mikropengawal dalam mana-mana vipad tidak boleh diterima!

Idea akar skrip untuk program "Perpetuum M", yang melaksanakan fungsi pengaturcara, diumumkan oleh pengumuman beberapa penerbitan di Internet, kerana mereka mengisytiharkan penyelesaian ini untuk firmware MK. Lipatan serius yang tidak lengkap dan menggembirakan muncul pada lesi kulit. Skim pengaturcara sering dikesan untuk membalas dendam terhadap mikropengawal, dan pada masa yang sama mereka serius diberi kegembiraan suis: "... dan kita perlu memprogramkan mikropengawal untuk pengaturcara ... betul - pengaturcara pertama!". Dalі proponuvalosya pergi ke rakan, bergurau perkhidmatan berbayar terlalu nipis. Kualiti keselamatan perisian, yang diedarkan dalam pembingkaian untuk tujuan keseluruhan, juga tidak bercanggah - tidak ada masalah, baik dari segi fungsi, dan juga dalam antara muka "kalamutnist" corystuvach. Selalunya, daya hidup, kecerdasan diperlukan, sebagai program yang menang - dan ia adalah perlu untuk melawat untuk perkara yang paling mudah. Sangat sukar untuk menyelesaikan program ini, tetapi jika anda tidak mendaftar dalam MC, anda hanya akan tahu apabila semua perisian tegar selesai dan pembayaran yang menyinggung telah selesai. Terdapat masalah sedemikian: ia adalah masalah: ia cukup untuk bergetar pada senarai kristal, jadi mungkin untuk menerimanya, tetapi ia tidak ada dalam senarai. Program ini tidak sesuai dengan program secepat mungkin - ia termasuk dalam senarai semua MK sehari-hari, sebagai peraturan, ia belum dipindahkan. Di samping itu, getaran manual pengawal dari senarai penonton adalah indah, seperti vrahuvati, tetapi pengaturcara untuk versi buggy boleh menjadi jenis MK itu sendiri. Semua ini tidak dikatakan untuk tujuan menuangkan lopak ke atas produk, tetapi untuk tujuan menjelaskan sebab skrip muncul sebelum program "Perpetuum M", yang diterangkan dalam statistik. Masalahnya wajar, dan anda perlu berada di hadapan pendatang baru, yang tidak mengharapkan untuk menyerah kepada sedikit "gaya", supaya anda boleh mengembangkan tempayan pertama anda di tengah-tengah mikropengawal. Skrip proprietari mempunyai beberapa kekurangan dan beberapa program. "Kefahaman" maksimum algoritma robotik telah direalisasikan, antara muka mudah sempadan koristuvach, yang tidak bermakna ia mungkin tersesat dan tidak tersesat di sana. Untuk tempoh MK yang diperlukan di tengah-tengah yang disediakan, anda boleh menambahkannya secara bebas pada penerangan, mengambil data yang diperlukan dari dokumentasi, dikunci dari tapak peruncit MK. Saya, naygolovnishe - skrip untuk mengesahkan dan mengubah suai. Yang kurus boleh, setelah ditunjukkan dalam editor teks, vivchati dan ditadbir oleh pihak berkuasa, berubah untuk menikmati fungsi yang sedia ada dan kekurangan tambahan.

Versi pertama skrip telah digugurkan dari tengah-tengah 2015. Dalam versi ini, hanya siri Atmel MC ATtiny dan ATmega telah dilaksanakan dengan fungsi untuk menulis / membaca memori kilat, menetapkan bit konfigurasi, dan menetapkan jenis pengawal secara automatik. Menulis dan membaca EEPROM tidak dilaksanakan. Bully merancang untuk menambah fungsi pada skrip untuk membaca EEPROM, melaksanakan pengawal PIC, dsb. Fungsi yang direalisasikan kelihatan tidak mencukupi, saya meminta anda untuk tidak malu. Untuk sebarang masalah anda boleh cuba menambah fungsi yang diperlukan sendiri. Anda boleh membuat robot MK dengan lebih bijak dalam mod program, supaya anda tidak dapat menemui diri anda di kem kampung di hadapan kereta, tetapi berfikir, melihat dengan teliti bahagian dalam dan bukan alasan, mengapa "jangan pergi" .

2. Antara muka MK yak programuvannya

Існує decіlkka cara yang berbeza pindahkan pengawal ke mod pengaturcaraan dan ke mod yang betul. Mudah dilaksanakan untuk pengawal ATtiny dan ATmega, Mabut, SPI. Dia dan cepat.

Tetapi, seperti yang saya dapat lihat isyarat, SPI diperlukan, beberapa halangan dipecahkan. Pengawal mikro boleh mengkonfigurasi rentak. Terdapat harga untuk suis togol suis, mencampurkan yang membolehkan perubahan kuasa litar mikro mengikut keperluan projek. Secara fizikal, tengah-tengah memori simpanan tenaga, ia adalah sangat tenang, di mana program itu direkodkan. Sebabnya ialah ia terlalu kecil (sehingga tiga bait untuk ATmega), dan bau busuk tidak memasuki ruang alamat, sama ada memori. Rakaman dan pembacaan penghormatan konfigurasi dipaparkan dengan bantuan arahan kepada mod program MC. Adalah penting untuk menjangkiti bahawa tindakan mengkonfigurasi kehidupan disuntik ke dalam kuasa pemenang SPI. Untuk nilai nyanyian, anda boleh melihat bahawa SPI tidak boleh menang. Jika anda mempunyai mikropengawal sedemikian, maka kaedah, yang akan difahami dalam statistik, tidak akan membantu. Pada penghujung hari, adalah mungkin untuk menukar konfigurasi bit konfigurasi pengaturcara, yang menyesuaikan mod program, atau mikropengawal yang menang. Ale masalah tsya adalah untuk malu ia adalah tenang, hto berada di implantasi MK, atau secara senyap-senyap, tidak jauh dari "diragut". Di sebelah kanan dalam fakta bahawa MK baharu dibekalkan dengan bit konfigurasi terlaras, tetapi bukan pemenang SPI. Kami akan disahkan oleh keputusan ujian vip pengaturcara skrip untuk program Perpetuum M, sebelum jam yang boule berjaya dipancarkan dengan chotiri MK (ATmega8, ATmega128, ATtiny13, ATtiny44). Usaha buli busuk baru. Pochatkova menetapkan bit konfigurasi memberikan dokumentasi dan tidak mendapat pemenang SPI.

Zvazhayuchi pada vishche tersebut, saya menghormati binatang buas pada binatang tersebut. Bit SPIEN dalam viglyad yang jelas dibenarkan, atau untuk pagar pemenang SPI, kerana kami mempunyai maksud yang samar-samar, tetapi ia adalah virishal. Bit RSTDISBL lama mengkonfigurasikan semula salah satu litar mikro daripada litar mikro (zum dalam zum) pada input kepada isyarat "tergelincir", jika tidak, ia tidak sepatutnya dikonfigurasikan semula (nilai yang direkodkan dalam keseluruhan bit). Dalam input vipadku kami "tergelincir" adalah perlu (untuk sebarang masa adalah mustahil untuk memindahkan MK ke mod program melalui SPI). Semak bit kumpulan CKSEL untuk menetapkan isyarat jam dzherelo. Bau busuk tidak mengatasi kemenangan SPI, tetapi ia juga perlu untuk ibu yang berkenaan, kerana apabila terdapat denyutan jam, jika frekuensinya lebih rendah daripada yang boleh diterima untuk kelajuan SPI tertentu, ia juga tidak bagus sama sekali. Hubungi MK baharu, mungkin mempunyai penjana RC dalaman, kebanyakan kumpulan CKSEL menyediakan pemenang anda. Kami sepenuh hati vlashtovuє - taktuvannya dijamin tanpa zusil tambahan dari pihak kami. Tiada resonator kuarza dipateri, tiada penjana luaran diperlukan. Sama pentingnya untuk membalas dendam dengan cara ia telah dilaraskan, untuk mendapatkan petua tentang taktik sehinggalah cara ia telah dilaraskan. Pada masa yang sama, anda boleh menyambungkan resonator kuarza ke MK resonator kuarza atau pengayun jam. Secara keseluruhan, dalam rangka kerja statistik, ia tidak dapat dilihat, seperti yang disasarkan. Lampirkan sambungan MK untuk program, supaya ia boleh dimasukkan ke dalam statistik, disediakan untuk jenis yang paling mudah.

Kecil. 1. Pertukaran data oleh SPI dalam mod program

Kini ia memberi makan kepada malunky 1, diambil daripada dokumentasi ATmega128A MK. Pada petunjuk baharu, proses pemindahan satu bait MK і satu jam penerimaan satu bait daripada MK. Kesalahan kepada proses, seperti bachimo, vikoristovuyut salah satu daripada denyutan jam yang sama, seperti dari pengaturcara ke mikropengawal dari input SCK - satu daripada litar mikro, yang dalam mod program mengikut SPI tersebut dipaparkan. Dua lagi talian isyarat akan memastikan penghantaran ufti diterima, satu bit setiap jam. Melalui input MOSI, data dihantar ke mikropengawal, dan input MISO digunakan untuk mengetahui data yang akan dibaca. Penghormatan maut pada dua garis putus-putus, dipegang dari SCK ke MISO dan MOSI. Bau untuk menunjukkan, jika mikropengawal "kovta" memaparkan pada input MOSI bit danikh, dan jika mikropengawal itu sendiri pada input MISO diberi sedikit danikh. Mudah untuk menyelesaikan semuanya. Benarkan MC memasuki mod pengaturcaraan, kita masih tahu isyarat RESET. Jangan lupa juga tentang wayar GND dan VCC secara langsung. Isyarat untuk masuk, sebelum mikropengawal untuk perisian tegar SPI, anda perlu menyambungkan kesemua 6 wayar. Di bawah, kami akan mengambil kuliah, dan semasa dodamo, apabila menukar data daripada MC dalam mod program SPI, ia akan dipaparkan dalam paket 4 bait. Bait pertama paket kulit tidak penting untuk dimasukkan sebelum kod arahan. Bait yang lain disimpan dalam yang pertama, ia mungkin kod arahan lanjutan, atau sebahagian daripada alamat, atau mungkin nilai yang lebih penting. Bait ketiga digunakan untuk memindahkan alamat, tetapi untuk arahan lain ia boleh menjadi lebih penting. Suku bait membenarkan pemindahan data atau lebih nilai. Arahan daripada memindahkan bait keempat daripada tindakan pasukan untuk menerima data, seperti daripada MK. Butiran arahan kulit boleh didapati dalam dokumentasi pengawal di jadual di bawah nama "Set Arahan Pengaturcaraan Bersiri SPI". Setakat ini, keseluruhan pertukaran dengan pengawal insentif adalah berdasarkan paket 32-bit terakhir, daripada kulit yang tiga lebih daripada satu bait maklumat corian dihantar. Harga tidak kurang optimum;

3. Menyambung MK untuk program

Untuk memastikan bahawa semua isyarat yang diperlukan untuk mengatur antara muka SPI dibekalkan kepada input mikropengawal dan membaca data daripada output MISO, pengaturcara tidak diperlukan. Mudah untuk mendapatkan bantuan untuk penukar USB-RS232TTL tambahan.

Di Internet, selalunya mungkin untuk mengatur maklumat tentang penukar yang tidak profesional, tetapi dengan mereka tiada pertumbuhan yang serius mungkin. Terdapat banyak model penukar seperti dumka є pomilkovoy. Jadi, terdapat penukar untuk dijual, bagi mereka yang tidak tersedia, semuanya dilengkapi dengan port COM standard (contohnya, hanya TXD dan RXD), yang mungkin tidak terganggu oleh reka bentuk (litar mikro diisi dengan plastik oleh Jalan). Ale takі y kupuvati bukan varto. Untuk sesetengah vipad, adalah mungkin untuk membetulkan input dan output di tapak ke port dengan menghantar pendawaian tanpa mengutamakan litar mikro. Penggunaan penukar "dipakai baik" sedemikian ditunjukkan pada 2 kecil (litar mikro PL-2303 - laporan mengenai status visnovki dalam statty ""). Ini salah satu model yang ditemui, ale perevagi saya di vicoristan dalam binaan buatan sendiri. Kord penyesuai yang dikembangkan secara meluas dan pelbagai fungsi dengan ros sembilan pin standard di hujung, seperti port COM. Dari port COM ular, bau busuk seolah-olah hilang tahap TTL dan gila kerana perisian lama dan harta orang lama. Ada juga kemungkinan bahawa kord pada litar mikro CH34x dalam ujian melampau baru-baru ini menunjukkan diri mereka lebih banyak dan lebih stabil dengan penukaran semula pada PL-2303. Walau bagaimanapun, dengan victorian yang ganas, perbezaannya tidak berjerawat.

Jika anda memilih penukar USB-RS232TTL, maka saya juga perlu menghormati kegilaan pemandu ini dengan versi sistem pengendalian, supaya anda boleh menang.

Persembahan yang jelas tentang prinsip penggunaan mikropengawal dan penukar USB-RS232TTL pada aplikasi beberapa model MK lain: ATtiny13, ATtiny44, ATmega8 dan ATmega128. Pada 3 kecil menunjukkan skim palsu seperti z'єdnannya. Anda mungkin dapat melihat bahawa isyarat RS232 (RTS, TXD, DTR dan CTS) tidak menang. Tetapi ini bukan masalah pergolakan tentang masalah: program "Perpetuum M" cukup baik untuk bekerja dengan mereka tanpa memberi keutamaan - untuk menetapkan nilai pada input dan membaca input. Pada bila-bila masa penukar USB-RS232TTL dikembangkan secara meluas pada litar mikro CH34x dan PL-2303, ini adalah cara untuk mendapatkannya - ia diubah suai. Antara penukar masalah yang paling popular tidak boleh dipersalahkan, tetapi terdapat beberapa serpihan untuk akses ke port fungsi Windows standard.

Perintang yang ditunjukkan pada rajah litar, pada dasarnya, anda tidak boleh menyediakannya, tetapi sebaliknya menaikkannya. Pengiktirafan Yake їхнє? Masalah boleh diselesaikan. Pengawal mikro tidak perlu mengendalikan masalah itu. Kami akan membenarkan keperluan untuk pemadanan yang ketat - semuanya betul-betul betul. , kudi won niyak tidak boleh muat, saya tutup, tetapi pada masa yang sama adalah mustahil untuk dikunci. Pengawal mikro boleh bertukar kepada mod robotik khas, dan ia boleh dilakukan dengan menyambung kepada output penukar (RTS, TXD atau DTR). z'udnani pergi "untuk melawan" - untuk bangun untuk berdiri logik logik.

Tiga perintang diberi nilai pada 4.3 KΩ. Adalah penting untuk menyemak output penukar - input mikropengawal. Ketepatan perintang tidak terhad: adalah mungkin untuk menukar perintang sehingga 1 KOhm, atau menukarnya kepada 10 KOhm (atau ke penurunan lain, kod tukar ganti risik boleh ditukar semasa memandu jalan ke MK). Nah, sehingga input penukar (CTS) ditetapkan - output mikropengawal (MISO), maka perintang terperangkap dengan sokongan 100 Ohm. Ini akan dijelaskan oleh keanehan pintu masuk penukar ganas. Selama satu jam penukar viprobuvan buv vikoristaniy pada litar mikro PL-2303, yang, berdasarkan usyogo, ditarik ke tambah daya hidup dengan sokongan yang sama sekali rendah (hampir beberapa ratus ohm). Schob "mengganggu penggantungan", membawa perintang dengan sokongan kecil. Walau bagaimanapun, adalah mungkin untuk tidak meletakkannya. Pada penukar, pilih input. Ia adalah mustahil untuk keluar dari jalan, tetapi tidak akan ada konflik peristiwa untuk apa-apa jenis pembangunan podіy.

Litar mikro Yakshho ialah litar mikro aplikasi AVCC untuk kerja semula analog-ke-digital (contohnya, ATmega8 atau ATmega128), yang merupakan pengganti kepada kehidupan rumah VCC. Litar mikro Deyaki boleh menghasilkan lebih daripada satu VCC atau lebih daripada satu GND. Sebagai contoh, ATmega128 mempunyai 3 terminal GND dan 2 terminal VCC. Pada reka bentuk pasca pembinaan visnovka sekali, ia lebih cantik daripada satu demi satu. Vipadk kami boleh mempunyai satu palam VCC dan GND selama satu jam pengaturcaraan.

Dan paksi yak disambungkan ke ATtiny13. Pada si kecil ditunjukkan tanda pelawat, yang ditunjukkan untuk jam program melalui SPI. Pegangan tangan dalam foto adalah seperti rakan sepasukan yang disambungkan ke viglyad untuk mendapatkan bantuan.


Htos boleh berkata, ia tidak serius - z'єdnannya pada siaran. Bersama-sama dengan anda, orang ramai menilai. Metafora kami adalah untuk memprogramkan mikropengawal, mengurangkan sekurang-kurangnya satu jam sumber tersebut, dan tidak muncul di hadapan kimo. Yak_st tidak menderita dengan sesiapa pun. Kaedah "pada posting" sangat berkesan dan betul. Perisian tegar pengawal adalah prosedur sekali, jadi tidak ada gunanya untuk obvishuvati її "strazikami". Mudah untuk memindahkan kemas kini perisian tegar, bukan pengawal dari litar (dari virobi siap), tetapi ia berbaloi untuk memasangnya dalam pemasangan selama sejam. Zvychay untuk tsyogo untuk bangun rose'єm (RESET, SCK, MOSI, MISO, GND), dan MK boleh dipancarkan untuk memasangnya pada papan. Ale tse vzhe kreatif vysukuvannya. Kita boleh melihat vipadok yang paling mudah.

Sekarang mari kita beralih kepada MK ATtiny44. Di sini misai adalah lebih kurang sama. Tidak penting untuk mencari sambungan baharu sedikit demi sedikit dan bergambar. Secara pilihan, sehingga ATtiny44, anda boleh menyambungkan MK ATtiny24 dan ATtiny84 - tanda visnovka dalam rantaian percubaan.


Satu lagi asas sambungan pengawal masa untuk program ini ialah ATmega8. Di sini terdapat yang lebih besar, tetapi prinsip yang sama adalah beberapa pendawaian, dan paksi sudah sedia menjadi pengawal sebelum maklumat "dibanjiri". Zayviy wayar hitam dalam foto, yang dilihat dalam vivod 13, program itu tidak akan mengambil bahagian. Terdapat beberapa petunjuk untuk isyarat bunyi apabila MK berada dalam mod program. Ia diikat bersama, kini satu jam untuk menambah skrip untuk "Perpetuum M" daripada MK program tangkapan skrin muzik telah dimuat turun.


Selalunya, satu pengawal dikeluarkan untuk kes kecil. Pada masa yang sama, tanda-tanda perubahan dalam korpus kulit diedarkan dengan cara mereka sendiri. Jika badan pengawal anda tidak serupa dengan imej pada si kecil, anda boleh menjelaskan tanda visnovki dari dokumentasi teknikal, kerana anda boleh memautkannya dari tapak peruncit MK.

Untuk menjadikan gambar lebih hebat, sambungkan litar mikro MK daripada sejumlah besar "nizhok". Nama dart hitam dalam foto, yang dilihat dari vivedennya 15, juga sama seperti di ATmega8.


Ymovirno, anda telah mengatasinya, mudah untuk menyelesaikan segala-galanya. Hto di tempat rakhuvati visnovka di litar mikro (dari kaunter di kaunter rakan sejawatan anak panah lama), yang itu keluar. Dan jangan lupa tentang ketepatan. Litar mikro untuk menyukai yang kemas dan tidak memaafkan yang tidak berfikiran buruk.

Mula-mula pergi ke bahagian perisian, tukar pemacu untuk penukar USB-RS232TTL dengan betul (tukar pengurus tambahan Windows). Ingat untuk menulis nombor port COM maya, iaitu jam apabila penukar disambungkan. Nombor keseluruhan perlu dimasukkan sebelum teks skrip, baca tentang yang di bawah.

4. Skrip - pengaturcara untuk "Perpetuum M"

Bahagian perkakasan "pengaturcara" telah dijaga. Tse vzhe p_vspravi. Sekarang terlalu banyak untuk berkembang daripada bahagian perisian. Peranan program "Perpetuum M" ditunjukkan kepada kawalan skrip, di mana semua fungsi yang diperlukan dilaksanakan bersama-sama dengan mikropengawal.

Diarkibkan dengan skrip pergi ke folder yang sama dengan program perpetuum.exe. Apabila fail perpetuum.exe dilancarkan, menu akan dipaparkan pada skrin dengan senarai skrip yang dipasang, di tengah akan terdapat baris "MK AVR Programmer" (anda boleh menjadi satu sahaja). Barisan yang sama untuk kita dan untuk kita ketahui.

Skrip ditemui dalam folder PMS pada fail "MK AVR.pms Programmer". Keseluruhan fail boleh dilihat, dipaparkan dan dilukis semula untuk keperluan penyunting teks yang mudah digunakan pada Notepad Windows. Sebelum skrip perlu membuat perubahan pada teks, terikat pada tetapan port. Demi penjelasan dengan penghantar lampiran Windows pada nama port yang akan dipilih, dan, jika perlu, buat pindaan pada baris "Im'yaPort =" COM4 ";" - tukar nombor 4 boleh jadi nombor yang sama. Juga, dengan model Victoria penukar USB-RS232TTL, anda boleh menukar tetapan untuk menyongsangkan isyarat (baris skrip yang boleh dibaiki daripada perkataan "Visokiy"). Penukaran penyongsangan isyarat dalam penukar USB-RS232TTL adalah mungkin dengan bantuan satu lampiran, yang boleh dipasang dalam arahan kepada program Perpetuum M (fungsi teragih untuk robot dengan port).

Lampiran kepausan MK_AVR mengandungi fail dengan penerangan pengawal yang dihasilkan. Memandangkan pengawal yang diperlukan tidak muncul di tengah-tengahnya, anda boleh menambah yang diperlukan secara bebas, dengan analogi. Ambil satu fail pada satu masa, dan masukkan data yang diperlukan dengan bantuan editor teks, membawanya daripada dokumentasi ke mikropengawal. Ketua - hormat, masukkan data tanpa pengampunan, MK tidak boleh diprogramkan atau diprogramkan dengan tidak betul. Versi semasa mempunyai 6 mikropengawal: ATtiny13, ATtiny24, ATtiny44, ATtiny84, ATmega8 dan ATmega128. Skrip mempunyai pelaksanaan automatik pengawal yang disambungkan - tidak perlu memasukkannya secara manual. Untuk keterlihatan pengecam daripada MC, bahagian tengah huraian kelihatan, tetapi pengawal tidak jauh.

Dalam arkib dengan skrip, terdapat juga maklumat tambahan. Papa "fail-fail pengawal AVR" mempunyai koleksi fail huraian pengawal yang lebih besar. Tsi memfailkan vikoristovoyut semasa menulis program Vlast untuk MK. Lebih banyak folder "MusicBox _..." untuk menggantikan fail dengan program pada Asembler, yang sedia sebelum memuat naik ke MK dengan firmware okremo untuk ATtiny13, ATtiny44, ATmega8 dan ATmega128. Jika anda telah menyambungkan salah satu MC untuk program ini, kerana ia dicadangkan dalam statistik, anda boleh memancarkannya sekaligus - anda akan melihat skrin muzik. Pro tse di bawah.

Apabila anda memilih menu skrip dalam baris "MK AVR Programmer", skrip akan dibaiki. Apabila port dibuka, arahan telah dihantar kepada MC untuk bertukar kepada mod program, untuk menerima pengesahan daripada MC tentang peralihan yang berjaya, untuk membekalkan pengecam MC dan bunyi perihalan MC yang diberikan daripada pengecam. daripada fail tengah dengan penerangan. Saya tidak tahu dengan tepat perihalan itu, jenisnya, setiap masa. Sebaik sahaja penerangan diketahui, adalah mungkin untuk melihat kekotoran dari menu pengaturcara. Tangkapan skrin Yogo boleh disandarkan pada sedikit 8. Dali tidak berjalan lancar - menu lebih ringkas.

Dalam versi pertama skrip, fungsi pengaturcara khusus tidak dilaksanakan. Sebagai contoh, tiada cara untuk membaca dan menulis dalam EEPROM. Jika anda melihat skrip dalam editor teks, maka anda boleh mengalahkannya, tetapi ia bukan saiz yang besar, tetapi ia kebanyakannya dilaksanakan. Berbaloi untuk bercakap tentang mereka yang tidak memberikan fungsi sehari-hari dengan begitu kemas - malah membosankan, ia dibenarkan dalam program kecil untuk merealisasikan banyak fungsi. Alle untuk banyak vipadkiv lihat pada fungsi navigasi.

Deyak pertukaran fungsi diterangkan dalam teks skrip:
// pelaksanaan rekod hanya dari alamat sifar (Rekod Alamat Segmen Lanjutan diabaikan, LOAD OFFSET - juga)
// susunan dan kesinambungan rekod berikut dalam fail HEX tidak boleh diterbalikkan
// jumlah kawalan tidak berubah
Robot diambil dengan fail HEX, dan kod perisian tegar untuk MK diambil daripada kanak-kanak itu. Memandangkan fail tidak dituturkan, semakan sumi kawalan tiada pada talian. Yaksho sporovaniye - skrip zasob tse viyaviti tidak akan tunduk. Інші obmezhennya zdebіlshy tidak zavad, ale mati pada uvazі ia masih perlu.

5. Skrin muzikal - virіb mudah untuk pohatkіvtsіv

Jika anda mempunyai salah satu mikropengawal: ATtiny13, ATtiny44, ATmega8 atau ATmega128, anda boleh menukarnya dengan mudah kepada skrin muzik atau helaian muzik. Untuk penulisan lengkap dalam MK, perisian tegar yang berbeza tersedia - salah satu pilihan, yang berbeza dalam folder "MusicBox _..." dalam satu arkib dengan skrip. Kod perisian tegar disimpan daripada fail dengan sambungan ".hex". Vikoristovuvati ATmega128 untuk virob seperti itu, mengikut definisi, "gemuk", seperti ATmega8. Ia juga boleh menjadi kayu manis untuk eksperimen doh, dan atas sebab tertentu - untuk tujuan utama. Teks program dalam assembler juga tersedia. Program-program itu dilancarkan bukan dari awal - program tangkapan skrin muzik dari buku oleh A.V. Bulov "Microcontrollers AVR at radio-automation practices" telah diambil sebagai asas. Program ini telah mempelajari beberapa sutta:
1.disesuaikan untuk jenis kulit MK: ATtiny13, ATtiny44, ATmega8 dan ATmega128
2.Butang cecair - sehingga pengawal disambungkan, tidak perlu suis, kecuali untuk keaktifan bunyi dan penonjolan (melodi dimainkan satu demi satu dalam kitaran tanpa gangguan)
3. remeh-temeh not kulit digantikan dengan remeh jeda dengan not memekakkan irama muzik
4. melodi kelapan disambungkan, tidak digunakan dalam versi buku
5.daripada sub'aktif: tindakan "penambahbaikan" untuk mengoptimumkan pemulihan mudah algoritma

Melodi deyaky mempunyai rasa kepalsuan dan belas kasihan yang kasar, terutamanya dalam "Senyuman" - di tengah. Melodi Cody diambil dari buku (atau, lebih tepat lagi, ia dikunci dari laman web pengarang sekaligus dari fail asm keluar) dan tidak mengetahui apa-apa mengenainya. Zvazhayuchi pada segala-galanya, dalam melodi yang dibujuk є rasa syukur. Tetapi ia tidak menjadi masalah - mudah untuk menjadi "berkawan" dengan muzik, mudah untuk memikirkannya dan membetulkan segala-galanya.

Dalam ATtiny13, melalui keluar penyejuk 16-bit untuk penambahan nota, ia membawa 8-bit yang menang, yang memerlukan pengurangan ketepatan bunyi nota. Ale tak manis sikit di telinga.

Gigitan konfigurasi. Їх nalashtuvannya Idpovidati menjadi mikropengawal baharu. Sebaik sahaja MC anda telah menang lebih awal, adalah perlu untuk menyemak semula keadaan bit konfigurasinya, dan, jika perlu, bawa mereka ke kesimpulan sebelum menyediakan pengawal mikro baharu. Anda boleh mengetahui tentang bit konfigurasi mikropengawal baharu daripada dokumentasi MK (bahagian "Fuse Bits"). Win menjadi ATmega128. Tsei MK maє bit M103C, yang termasuk ATmega103. Pengaktifan bit M103C sangat mengurangkan kuasa ATmega128, lebih-lebih lagi, MK baharu mempunyai bit aktif. Ia adalah perlu untuk membuang M103C daripada kejutan tidak aktif. Untuk manipulasi bit boleh dikonfigurasikan, pilih bahagian menu skrip pengaturcara.

Skim skrin muzik harus dipandu kepada rasa nemaє: pada nіy hanya mikropengawal, harchuvannya dan p'єzvukoviprominuvach. Harchuvannya dihidangkan seperti sedia ada, seperti yang dilakukan semasa MK yang diprogramkan. Bunyi-prominuvach disambungkan antara wayar bumi (lampiran pengawal GND) dan salah satu suis MK, bilangan yang boleh tertanya-tanya pada fail dengan kod pemasang program (* .asm). Pada telinga teks, programkan kulit untuk MC, dalam baris komen є: "isyarat bunyi terbentuk vivedennі XX". Apabila robot skrip pengaturcara selesai, mikropengawal masuk ke mod pengaturcaraan dan beralih ke mod robot khas. Segera membaiki ciptaan melodi. Setelah menyambungkan bunyi dan prominuach, harga boleh dikonfigurasikan semula. Kita boleh menghidupkan bunyi selama sejam apabila kristal diprogramkan, jika bunyi diketahui daripada video, yang tidak digunakan dalam SPI, tetapi program boleh ditukar pada skrin.

  • Program pengawal mikro
    • Tutorial

    Imejan untuk uvagi - xkcd

    Untuk melihat jika anda berada di pulau terpencil. Dan anda perlu memprogramkan mikropengawal untuk hidup anda. Sekarang, adakah anda tidur? Baiklah, mari kita akui, anda boleh membetulkan suar radio kecemasan, tanpa sebarang peluang untuk menghadapi masalah.

    Radiyuchi, mereka masih belum melupakan perjalanan penghimpun, vi abiyak menulis program dengan kayu pada lagu itu. Di tengah-tengah siri ucapan, nampaknya satu keajaiban bahawa dokumen itu diedarkan kepada pengawal (baik, mereka tidak dapat membiarkannya pergi ke pengawal!), Dan program itu dipindahkan ke kod mesin. Orang bodoh itu tersekat - hantar ke pengawal. Ale dalam radio 500 kilometer dari pengaturcara yang sengsara, tidak bercakap tentang komputer. Anda hanya mempunyai jerlo liveness (bateri kartun kelapa) dan beberapa dart shmatkiv.

    Adakah mungkin untuk menjahit Yak dengan tangan kosong?

    Yak piddoslidny vistupatime MK ATtiny13 dari Atmel. Metodologi diterangkan secara praktikal untuk menjadi pengawal keluarga AVR;

    Antara muka

    Antara muka yang paling popular dan berguna untuk perisian tegar AVR є SPI(Antara Muka Periferi Bersiri). Untuk menyambung melalui SPI, anda memerlukan semua dart, kecuali untuk tanah:
    • SCK- isyarat jam, yang menyegerakkan semua operasi pertukaran data;
    • MOSI(Master Out Slave In) - garisan dari lead keluar ke lead;
    • MISO(Master In Slave Out) - barisan penghormatan, navpaki, diketuai oleh lampiran kepada ketua;
    • TETAP SEMULA- untuk membolehkan perisian tegar SPI, perlu menghantar logik "0" ke rantai.
    Dalam susunan ini, kita perlu merumuskan tiga isyarat dan (sebagai pilihan) membaca satu. Paksi adalah gambar rajah paling mudah untuk keseluruhannya:


    Kecil. 1. Skim sambungan SPI yang mudah.

    Untuk kelicinan anda, anda boleh menambah petunjuk isyarat input. Skim ini akan mempercepatkan, tetapi tidak terlalu:


    Kecil. 2. Skim petunjuk isyarat.

    Zakhist kepada kotoran

    Sayang sekali, hanya ada butang untuk membentuk isyarat SPI, keputusan yang baik tidak dapat dicapai. Sebab untuk ini adalah bahawa manifestasi yang tidak boleh diterima, seperti dipanggil kenalan kotor... Apabila kenalan mekanikal hilang, ia keluar sehala dari satu, dan bukannya satu dorongan untuk keluar. Untuk menyekat kotoran, ambil gambar rajah ringkas beberapa elemen logik:


    Kecil. 3. Pencetus RS untuk menyekat kotoran.

    Tse RS-trigger, yang beralih ke kilang "1" pada saat sentuhan bawah shifter dimatikan dan mengabaikan impuls dalam kotoran. Menggelincirkan pencetus kembali ke "0" dipaparkan apabila kenalan atas ditekan, jadi apabila butang dilepaskan.

    "Bach, rozbіgsya!" - kata pembaca, - “Saya berada di pulau terpencil sidzhu. Saya sedang mencari pencetus di sini? Bagus, anda boleh mengelilingi kotoran tanpa litar elektronik. Ia adalah perlu untuk menggantikan sentuhan "kering" dengan yang basah. Vimikachem akan menyediakan dua elektrod, yang akan turun di jalan wilayah.

    Isyarat MOSI dan RESET tidak menyekat kotoran yang mencekik, pada pandangan dari SCK: di sini maknanya hanya kecil kepada isyarat pada saat getaran, dan bukan di hadapan pertama.

    Yak pratsyuє SPI



    Kecil. 4. Gambar rajah robotik Timchasova SPI.

    SPI ialah antara muka segerak: semua operasi disegerakkan oleh tepi isyarat jam (SCK), yang diputar oleh lampiran yang disediakan. Kelajuan penghantaran maksimum disertakan dengan nilai 1/4 frekuensi jam pengawal. Pada kelajuan minimum, terdapat banyak nombor kecil: tanpa isyarat jam, pertukaran data "membeku", dan antara muka boleh hilang di stesen statik, yang sentiasa sama.

    Penghantaran SPI berfungsi dalam mod dupleks penuh, satu bit setiap jam ke bahagian kulit. Pada tepi menaik isyarat SCK, prisma membaca rentak Chergovy dari garisan MOSI, dan pada tepi jatuh - jenis rentak serangan pada garisan MISO. Wuxia uvaga dalam rajah 4.

    Protokol perisian tegar

    Semua spilkuvannya pengaturcara daripada MC disimpan daripada arahan 32-bit yang dihantar kepada pengawal. Arahan semula arahan є dalam lembaran data "e, tetapi di sini ia terlalu banyak, kerana operasi diperlukan untuk perisian tegar MK:
    1. Memindahkan pengawal ke mod program;
    2. (pilihan) Membaca pengecam untuk lampiran;
    3. Memadam;
    4. Rakaman kilat;
    5. (pilihan) Semakan rekod;
    Laporan buaya kulit yang mudah dibaca.

    Tingkatkan mod program

    Mod pengaturcaraan dihidupkan dengan menyuap "0" ke kaki RESET. Ale є deyakі nipis. Atmel mengesyorkan koleksi keterlihatan pada harga rendah RESET dan SCK, dan kemudian menyerahkannya kepada pengawal. Oleh kerana kemungkinan sedemikian tidak mencukupi, jika anda mendayakan yang hidup, anda perlu membayar "0" pada SCK, dan kemudian dorongan positif pada RESET:


    Kecil. 5. Memindahkan MK daripada mod program.


    Kecil. 6. Perintah "Program Enable".

    Pukul, bermakna yak x, anda boleh menjadi-yaky. Dari jam penghantaran bait ketiga, pengawal bersalah menghantar balik bait lain ( 01010011 ). Sebaik sahaja ia menjadi, ia bermakna semuanya baik, pasukan telah diterima, pengawal semakan adalah atas arahan. Sebaik sahaja anda melihatnya, anda perlu membuat stok semula MK dan mencubanya.

    Semakan pengecam


    Kecil. 7. Perintah "Baca Signature Byte".

    Mula-mula anda perlu menulis pada teka-teki MK, anda perlu mengubahnya, tetapi model itu sendiri diperlukan. Model kulit pengawal mempunyai pengecam kuasa tiga bait (Tandatangan). Anda boleh membacanya menggunakan arahan seperti
    00110000 000xxxxx xxxxxxbb xxxxxxxx
    Pengganti bb(bait perintah ketiga) 00 untuk bait pertama pengecam, 01 - untuk yang lain, itu 10 - Untuk yang ketiga. Bait keluaran pengecam akan dihantar oleh pengawal sebelum jam menghantar bait ke-4 arahan.

    Untuk ATtiny13, nilai pengecam pintu 00011110 10010000 00000111 (0x1E 90 07).

    Membersihkan pengawal

    Kecil. 8. Perintah "Chip Erase".

    Mari kita pergi ke pembersihan memori MK, serta kekuatan arahan "Chip Erase"
    10101100 100xxxxx xxxxxxxx xxxxxxxx
    Saya menggunakan arahan untuk memeriksa pemadaman dan bukannya Flash dan EEPROM (sepanjang masa akan ada balas dendam FF), serta pengetahuan tentang lock-beats, kerana bau busuk dipasang.

    Tulis memori kilat

    Memori program (Flash) dalam ATtiny13 disimpan dalam 512 slot dua bait (1K bait). Alamat perkataan maє razryadnist 9 bit. Memori denyar ditambah ke sisi, bahagian kulit adalah saiz ma 16 celah (semua 32 sisi disertakan). Rakaman kilat mengambil dua langkah.

    Anda perlu menambah data pada penimbal halaman, yang mana arahan Muatkan Halaman Memori Program mesti dipilih.
    01000000 000xxxxx xxxxbbbb iiiiiiii- untuk zavantazhennya bait muda perkataan, itu 01001000 000xxxxx xxxxbbbb iiiiiiii- Untuk perangkap senior.
    4 rentak termuda daripada arahan bait ke-3 bbbb- alamat perkataan di sebelah, iiiiiii- Kekeliruan bait. Bait termuda perkataan itu, dan kemudian bait paling penting bagi perkataan yang sama, adalah untuk dipersalahkan untuk sembang itu.

    Kecil. 9. Perintah "Muat Halaman Memori Program".

    Di samping itu, kerana penimbal sisi dikunci, anda perlu memilih arahan Write Program Memory Page 01001100 0000000a bbbbxxxx xxxxxxxx untuk menulis baris tanpa bahagian hadapan ke ingatan pengawal.
    Bit termuda bagi bait lain ialah 4 bit kanan bagi bait ketiga a: bbbb- nombor lima bit halaman untuk rakaman.

    Kecil. 10. Perintah "Tulis Halaman Memori Program".

    Semua tse viglyadaє untuk selesai tersesat, sama sekali bisu lipat. Alamat mana-mana bait memori program disimpan dalam 10 bit: ppppp: bbbb: w, de
    ppppp- nombor halaman (vikoristovuyutsya pada arahan "Tulis Halaman Memori Program");
    bbbb- alamat perkataan di sebelah (untuk arahan Muatkan Halaman Memori Program);
    w- bit, yang bermaksud bait kanan atau bait termuda dalam perkataan (penyulitan dalam bait pertama arahan Muatkan Halaman Memori Program).

    Chitannya kilat


    Kecil. 11. Arahan "Baca Memori Program".

    Apabila saya menulis firmware dalam MK, adalah mustahil untuk mempertimbangkan semula rakaman, beberapa penukaran semula integriti yang diberikan tidak diterbalikkan. Satu cara untuk menukar medan ialah membaca keseluruhan senarai memori kilat dan mengaitkannya dengan yang asal.

    Untuk membaca memori program adalah lebih mudah, bukan untuk menulis kepadanya. Lupakan tentang organisasi sebelah menyebelah, bacaan dipaparkan bait demi bait. Perintah View Program Memory adalah seperti ini:
    00100000 0000000a bbbbbbbb xxxxxxxx- untuk membaca bait termuda perkataan, itu 00101000 0000000a bbbbbbbb xxxxxxxx- untuk orang tua.
    Bit termuda bagi bait lain ialah keseluruhan bait ketiga a: bbbbbbbb- alamat perkataan pada ingatan. Bait bacaan diputar untuk jam penghantaran bait perintah ke-4.

    Selesai program

    Mabut, operasi mudah. Selepas menamatkan program dan menukar MK ke mod kerja, terdapat cukai yang cukup untuk MENETAPKAN semula tahap logik "1". Pengawal akan memulakan dan menjalankan program baharu.

    berlatih

    Setelah tiba saatnya, cepatlah dengan ilmu yang baik pada amalan. Mangsa percubaan - ATtiny13 - untuk membenamkan papan roti di papan roti, memesan isyarat foruch, semuanya sudah sedia:


    Kecil. 12. Skim eksperimen.

    Shitimemo kepada program dalam bentuk "nikudi yang lebih mudah":
    ldi R24, 0x02 keluar DDRB, R24 keluar PORTB, R24 L1: rjmp L1
    Segala-galanya yang anda ingin kalahkan adalah satu di kaki PB1 dan pergi ke kitaran yang tidak berkesudahan. Kod mesin yang dimenangi telah meminjam lebih sedikit perkataan chotiri:
    E082 BB87 BB88 CFFF
    Untuk mengemas kini perisian tegar daripada pengawal, anda perlu menaip arahan berikut:
    1010 1100 0101 0011 0000 0000 0000 0000 // program membolehkan 1010 1100 1000 0000 0000 0000 0000 0000 // cip memadam 0100 0000 0000 0000 0000 0000 1000 0010 // beban Almt. 0000 bait rendah 82 0100 1000 0000 0000 0000 0000 1110 0000 / / almt beban. 0000 bait tinggi E0 0100 0000 0000 0000 0000 0001 1000 0111 // beban addr.0001 bait rendah 87 0100 1000 0000 0000 0000 0001 1011 1011 // beban addr.0001 tinggi bait BB 0100 0000 0000 0000 0000 0010 1000 1000 // beban addr.0010 bait rendah 88 0100 1000 0000 0000 0000 0010 1011 1011 // beban addr.0010 tinggi bait BB 0100 0000 0000 0000 0000 0011 1111 1111 // beban addr.0011 bait rendah FF 0100 1000 0000 0000 0000 0011 1100 1111 // muat tambah 0011 bait tinggi CF 0100 1100 0000 0000 0000 0000 0000 0000 // tulis halaman
    Kunci permulaan, mari pergi!