ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK Permulaan segmen memori tambahan dalam program untuk mikropengawal keluarga MCS-51. Ensiklopedia elektronik radio dan kejuruteraan elektrik Ensiklopedia elektronik radio dan kejuruteraan elektrik / Pengawal mikro Mikropengawal moden mempunyai memori data tidak meruap terbina dalam (EEPROM), maklumat yang kadangkala perlu dimasukkan sebelum peranti mula beroperasi. Imej (perisian tegar) memori ini mesti dihasilkan semasa membangunkan atur cara. Ini boleh dilakukan, sebagai contoh, oleh pemasang untuk mikropengawal keluarga PICmicro dan AVR. Mereka memberi peluang kepada pengaturcara untuk mengatur segmen memori tambahan dan menetapkan di dalamnya data awal untuk menulis ke EEPROM. Pemasang untuk mikropengawal dengan teras MSC-51 juga membolehkan anda membahagikan memori kepada beberapa bahagian, tetapi hanya dalam salah satu daripadanya - segmen kod boleh laku - permulaan mungkin. Dalam semua yang lain, hanya mungkin untuk menyimpan sel memori dan menulis data kepada mereka hanya semasa pelaksanaan program. Jalan keluar dari situasi ini boleh menggunakan teknik yang diterangkan di bawah. Intipatinya ialah penggunaan pemasangan bersyarat, akibatnya permulaan segmen kod berlaku secara berbeza, bergantung pada syarat terjemahan. Fail HEX yang terhasil boleh digunakan untuk memprogram bukan sahaja EEPROM dalaman mikropengawal, tetapi juga cip memori luaran. Segmen tambahan yang dibuat secara buatan (sebarang bilangan daripadanya boleh diterima) diletakkan dalam teks program sebelum segmen kod sebenar. Label yang ditakrifkan dalam salah satu daripadanya akan diketahui dalam semua yang berikutnya, termasuk segmen kod sebenar. Tetapi pautan ke arah yang bertentangan tidak dibenarkan. Tiada sekatan pada jenis dan lokasi fizikal memori tambahan. Contoh program dengan dua segmen dimulakan tambahan, secara konvensional dipanggil EEPROM dan FLASH, diberikan dalam Jadual. 1. Setelah menyimpannya dalam fail example.asm, kami akan menggunakan pemasang ASEM-51, yang boleh "dimuat turun" secara percuma di . Pertama sekali, mari jalankan pemasang pada baris arahan contoh asem.asm eeprom.hex/define:EEPROM Apabila memproses baris pertama teks program, ia akan meletakkan label idEeprom, ptrWord dan prtBufE ke dalam jadual simbolnya, dan data yang ditentukan oleh arahan DB dan DW ke dalam fail output eeprom.hex (Jadual 2). Panjang segmen kemudiannya akan diperiksa. Jika nilai pembilang program melebihi kapasiti EEPROM sedia ada secara fizikal (dalam kes ini, 640 sel), mesej ralat akan dipaparkan. Jika saiz segmen jelas kecil, cek boleh ditinggalkan. Cek serupa boleh disediakan dalam segmen lain. Seterusnya, pemasang akan menemui arahan IFNDEF EEPROM. Oleh kerana simbol dengan nama ini ditakrifkan pada baris arahan (parameter /define:EEPROM), semua baris program berikutnya, sehingga arahan ENDIF, akan diabaikan dan terjemahan akan berakhir di sana. Mari kita mulakan penyiaran semula program yang sama menggunakan baris arahan contoh asem.asm flash.hex/define:FLASH Ia berbeza daripada yang sebelumnya hanya dengan mentakrifkan simbol FLASH dan bukannya EEPROM. Peringkat pertama terjemahan akan berlaku tepat seperti yang diterangkan di atas, dan data segmen EEPROM akan ditulis ke fail output. Walau bagaimanapun, arahan IFNDEF EEPROM tidak akan mengganggu proses kali ini, dan arahan ORG 0 berikut akan menetapkan semula kaunter program. Penghimpun akan mula menulis data yang dimaksudkan untuk segmen FLASH ke dalam fail output dari alamat sifar. Siaran akan terganggu oleh arahan IFNDEF FLASH. Bentuk akhir fail flash.hex ditunjukkan dalam jadual. 3. Kami akan menetapkan terjemahan segmen sebenar kod boleh laku dengan arahan contoh asem.asm Pertama sekali, segmen tambahan akan diterjemahkan semula, dan semua label yang ditakrifkan di dalamnya akan dimasukkan ke dalam jadual simbol pemasang, yang akan membolehkannya dirujuk daripada segmen kod. Arahan ORG 0 pada mulanya sekali lagi akan menetapkan semula pembilang program kepada sifar. Kemudian siaran akan diteruskan seperti biasa. Dalam contoh fail yang terhasil.hex (Jadual 4), kod program boleh laku bermula pada baris keempat, terletak selepas baris yang sama dengan yang terkandung dalam fail HEX sebelumnya. Kehadiran maklumat yang tidak diperlukan biasanya tidak mengganggu pemuatan kod yang betul ke dalam kawasan memori yang sesuai bagi mikropengawal. Dalam penimbal program yang mengawal pengaturcaraan, data yang betul, apabila alamat sepadan, "mengalihkan" yang dimasukkan sebelum ini. Dan hanya jika segmen baharu lebih pendek daripada yang sebelumnya, "ekor"nya akan disimpan dalam penimbal. Atas sebab ini, adalah dinasihatkan untuk menerangkan segmen dalam program dalam susunan panjangnya yang semakin meningkat. Sesetengah pengaturcara tidak mempunyai penimbal perantaraan atau mengawal data input dengan ketat, mengelakkan pertindihan alamat. Dalam kes pertama, pengaturcaraan akan menjadi tidak betul, dalam yang kedua, ia tidak akan bermula sama sekali sehingga "ralat" dihapuskan. Anda boleh mengalih keluar baris tambahan daripada fail HEX secara manual menggunakan mana-mana editor teks. Anda boleh melakukan ini secara automatik dengan menjalankan dua arahan berturut-turut: contoh hex2bin.contoh hex bin2hex.bin Yang pertama akan mencipta imej binari data yang terkandung dalam fail example.hex dan meletakkannya dalam fail example.bin. Yang kedua akan melakukan penukaran terbalik dan mencipta fail example.hex baharu tanpa sebarang tambahan. Program yang diperlukan boleh "dimuat turun" dari: Dan . Pengarang: S. Chekunov, Izhevsk Lihat artikel lain bahagian Pengawal mikro. Baca dan tulis berguna komen pada artikel ini. Berita terkini sains dan teknologi, elektronik baharu: Cara Baharu untuk Mengawal dan Memanipulasi Isyarat Optik
05.05.2024 Papan kekunci Seneca Prime
05.05.2024 Balai cerap astronomi tertinggi di dunia dibuka
04.05.2024
Berita menarik lain: ▪ Bateri luaran HyperJuice untuk peralatan mudah alih ▪ Pengekstrakan sumber berguna di bulan ▪ Fon telinga Urbanista Phoenix TWS dengan bateri solar terbina dalam Suapan berita sains dan teknologi, elektronik baharu
Bahan-bahan menarik Perpustakaan Teknikal Percuma: ▪ bahagian tapak web Peranti semasa baki. Pemilihan artikel ▪ pasal Kotak panjang. Ungkapan popular ▪ Bagaimanakah Gunung Berapi Paricutin Mexico mendapat namanya? Jawapan terperinci ▪ artikel Bekerja dengan pistol pelekap omboh. Arahan standard mengenai perlindungan buruh ▪ artikel Wang kertas ditebuk dengan pensel dan kekal utuh. Fokus Rahsia
Tinggalkan komen anda pada artikel ini: Semua bahasa halaman ini Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web www.diagram.com.ua |