ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK Modul nyahpepijat untuk mikropengawal siri MCS51. Ensiklopedia elektronik radio dan kejuruteraan elektrik Ensiklopedia elektronik radio dan kejuruteraan elektrik / Pengawal mikro Pembangunan peranti pada mikropengawal (MC), sebagai peraturan, dijalankan mengikut pelan mudah: MC dalam kemasukan biasa "ditimbang" dengan peranti yang diperlukan, maka perisian itu ditulis. Dalam kes ini, anda perlu menggunakan pelbagai alat yang mengambil kerja rutin, meninggalkan pengaturcara untuk menyelesaikan masalah kreatif. Peranti yang diterangkan di bawah ialah "produk separuh siap" sistem mikropengawal, alat untuk penyahpepijatannya dan objek kajian pada masa yang sama. Ia bertujuan untuk memperoleh kemahiran pengaturcaraan dan program penyahpepijatan untuk MCS51, tetapi ia juga boleh berfungsi sebagai model sistem sebenar, membenarkan perisian aplikasi penyahpepijatan bersama-sama objek kawalan. Mempunyai modul sedemikian, pembangun akan dibebaskan daripada keperluan untuk sering menggunakan pengaturcara atau emulator ROM, yang tidak dapat diakses oleh ramai kerana kos yang tinggi. Gambarajah skematik modul nyahpepijat untuk siri MK MCS51 ditunjukkan dalam rajah. Kebanyakan nod dibuat mengikut skema standard, dan peranti antara muka dengan port bersiri komputer peribadi (PC) dipinjam daripada peranti yang diterangkan dalam artikel oleh S. Kuleshov dan Yu. Zaumenny "pengaturcara ROM" ("Radio ", 1995, No. 10, hlm. 22 -25). Anda boleh menyambungkan pelbagai peranti persisian ke pin percuma port P1 dan P3 mikropengawal DD1 (ia berakhir dengan anak panah dalam rajah). Palam XP1 disambungkan dengan kabel ke soket salah satu port bersiri PC, di mana modul akan beroperasi. Selepas voltan bekalan digunakan, kapasitor C3 dicas melalui perintang R1. Menurut isyarat set semula RES yang dijana oleh elemen DD3.4, MK DD1 masuk ke keadaan awalnya dan melakukan operasi persediaan, termasuk menetapkan tahap logik 1 pada semua pin port P3. Pencetus pada elemen DD3.1, DD3.2 berada dalam keadaan apabila isyarat outputnya menetapkan pengedaran memori sedemikian sehingga kawasan alamat memori program 0-7FFFH menduduki ROM (DD5), dan 8000H-0FFFFH menduduki RAM (DD6). Program Monitor, yang terletak dalam ROM, sedang dilaksanakan. Dengan menaip arahan Monitor pada papan kekunci PC, pengendali boleh bekerja dengan RAM dan persisian modul. Untuk memindahkan pencetus ke keadaan lain, adalah perlu untuk menghantar arahan RESET Monitor yang diterangkan di bawah dari PC kawalan, yang menetapkan isyarat MOD=0. Alamat RAM dan ROM memori program ditukar dan program, yang sebelum ini dimasukkan oleh operator dalam RAM modul, mula berfungsi. Ini membolehkan anda meniru operasi peranti sebenar dan menyemak program yang diterjemahkan ke alamat memori yang lebih rendah, contohnya, disediakan untuk menulis ke ROM. Butang SB1 digunakan untuk menetapkan semula MK kepada keadaan asalnya tanpa mengubah peruntukan memori. Monitor hanya boleh dimulakan semula dengan menekan butang SB2 atau dengan mematikan dan menghidupkan semula kuasa. Ini membolehkan program nyahpepijat beroperasi secara bebas pada keadaan port P3 (contohnya, berfungsi dengan peranti) tanpa rasa takut menukar peruntukan memori secara tidak sengaja. LED HL1 berfungsi sebagai cara paling mudah untuk memaparkan maklumat dan sangat berguna, terutamanya jika tiada sambungan dengan PC untuk satu sebab atau yang lain. Selepas kuasa digunakan, ia berkelip pada frekuensi kira-kira 1 Hz, yang menunjukkan bahawa Monitor berfungsi. Diod zener melindungi peranti daripada kekutuban terbalik atau lebihan voltan bekalan kuasa +5 V. Program Monitor (Jadual 1) menyediakan kawalan modul dan interaksinya melalui port bersiri RS-232C dengan PC, dari mana arahan dan data yang diperlukan untuk mengerjakan tugas tertentu dihantar. Melalui port yang sama, PC menerima dan memaparkan hasil operasi modul pada skrinnya. Program komunikasi "Telemax" daripada shell Norton Commander 5.0 yang digunakan secara meluas, "Hyper Terminal" daripada Windows 95 OSR2 atau yang serupa mesti dijalankan pada PC. Dalam kes yang melampau, anda boleh melakukannya tanpa program khas, hanya dengan menghantar fail arahan MS DOS dengan data yang disediakan ke port bersiri PC. Apabila mengkonfigurasi atur cara komunikasi, anda harus memadamkan baris permulaan modem, tetapkan mod "Gema setempat" dan "Siaran CR/LF", jika perlu, pilih terminal ANSI dan jadual kod ASCII. Mod operasi port bersiri hendaklah seperti berikut: kelajuan - 4800 baud, bilangan bit setiap aksara - 8, kawalan pariti dinyahdayakan, bilangan bit henti - 1. Jika semuanya betul, teks yang ditaip pada papan kekunci PC akan pergi ke modul nyahpepijat, dan responsnya - dipaparkan pada skrin. Arahan monitor boleh ditaip dalam kedua-dua papan kekunci huruf besar dan kecil. Semua aksara mestilah dalam pengekodan ASCII. Kekunci [BackSpace] mengalih keluar aksara yang terakhir dimasukkan daripada penimbal modul nyahpepijat. Setiap arahan terdiri daripada nama dan operan. Nama itu ditamatkan oleh aksara pemisah: ruang, tab, suapan baris atau pemulangan pengangkutan. Selanjutnya, kami akan menandakannya secara bersyarat dengan garis bawah (_), tetapi anda boleh memasukkan mana-mana yang dinamakan. Setelah menerima pembatas, Monitor membandingkan empat aksara pertama yang diterima sebelum ini dan terletak dalam penimbal dengan kandungan jadual arahan dalam ROM. Setelah menemui padanan, ia mengingati alamat pengendali arahan dari jadual yang sama dan mula menerima operan - satu atau lebih nombor perenambelasan. Kami akan bersetuju bahawa alamat satu dan dua bait memori dalaman dan luaran MK akan ditetapkan masing-masing XX dan XXXX, panjang blok ialah YYYY, data lain ialah ZZ atau ZZZZ. Contohnya, XXXX,YYYY ialah blok memori data luaran bermula pada alamat XXXX, dengan panjang YYYY bait. Semua sifar pendahuluan mesti dinyatakan. Operan juga mesti berakhir dengan pembatas, setelah menerimanya pengendali arahan dimulakan. Pembatas yang dimasukkan ke dalam penimbal kosong diabaikan. RESET_ ZZZZ_ - mod kedua peruntukan memori dihidupkan, MC ditetapkan semula, kawalan dipindahkan ke alamat ZZZZ. Perintah itu memerlukan RAM yang baik untuk operasi biasa. DATA_ XXXX:_ ZZ_ [ZZ_][XXXX:_ZZ_ [ZZ_]._- maklumat dimasukkan ke dalam sel berturut-turut memori data luaran, bermula dari alamat XXXX . Anda tidak perlu memasukkan kurungan segi empat sama, ia hanya menunjukkan bahawa bilangan operan ZZ_ boleh sewenang-wenangnya. Kemasukan data berakhir dengan titik. Dalam jadual. Rajah 2 menunjukkan contoh menggunakan arahan DATA dan RESET untuk memasukkan program mudah ke dalam RAM dan menjalankannya. READ_XX_ atau READ_XXXX_ - membaca perkataan (dua bait berturut-turut) daripada sel memori RAM data dalaman atau luaran. Hasilnya sebagai nombor perenambelasan (bait pada alamat tinggi dahulu) dihantar ke port bersiri. WRITE_XX,ZZ_, WRITE_XX,ZZZZ_, WRITE_XXXX,ZZ_ atau WRITE_XXXX,ZZZZ_ - menulis bait ZZ atau perkataan ZZZZ di alamat XX atau XXXX. Ambil perhatian bahawa arahan READ dan WRITE dilaksanakan menggunakan pengalamatan tidak langsung, jadi ia tidak boleh berfungsi dengan daftar fungsi khas. Untuk mengakses daftar, anda harus menulis prosedur pertukaran dengan pengalamatan langsung khusus untuk setiap daripada mereka. Contohnya ialah pengendali arahan SPEED. Jika MCU dengan RAM dalaman 256-bait dipasang dalam modul, arahan READ dan WRITE akan dapat berfungsi dengan tambahan 128 bait di alamat 80H-0FFH. LOAD_XXXX,YYYY_ - diisi dengan maklumat yang datang melalui port bersiri, blok memori data luaran. SAVE_XXXX,YYYY_ - kandungan blok memori data luaran dipindahkan ke port bersiri. CALL_ZZZZ_ - subrutin dipanggil bermula dari alamat ZZZZ. Untuk kembali ke Monitor, ia mesti berakhir dengan arahan RET. Gangguan dilumpuhkan untuk tempoh subrutin. CHECK_XXXX,YYYY_ - jumlah semak dikira - bait rendah daripada jumlah semua bait blok memori data luaran. FILL_XXXX,YYYY,ZZ_ - mengisi kawasan memori data luaran dengan bait ZZ dan mengira jumlah semaknya. COPY_XXXX,YYYY,ZZZZ_ atau COPY_PXXXX,YYYY,ZZZZ_ - blok memori data luaran disalin ke alamat ZZZZ. Simbol P menunjukkan bahawa kawasan yang hendak disalin berada dalam ingatan program. Pada masa yang sama, checksum dikira. TEST_XXXX,YYYY_ - kesihatan blok RAM luaran diperiksa. Jika tiada ralat, mesej "OK" dipaparkan, jika tidak - "XXXX: YY<>ZZ", dengan XXXX ialah alamat sel yang gagal, YY ialah nilai yang ditulis kepadanya dan ZZ ialah nilai yang dibaca. Perintah itu tidak memusnahkan kandungan RAM. SPEED_ZZ_ atau SPEED_ZZ+_ - menukar kelajuan pertukaran data melalui port bersiri. Ia lalai kepada 4800 baud (ditentukan oleh bait program Monitor di alamat 2DH). Nilai yang sama dengan operan ZZ diletakkan dalam daftar TH1 mikropengawal dan menentukan kelajuan transceivernya. Tanda tambah dalam operan menggandakan kelajuan dengan menetapkan bit PCON.7. Port bersiri PC boleh beroperasi pada 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 baud dan ke atas. Keupayaan untuk menala port bersiri mikropengawal siri MSC51 dengan tepat kepada kelajuan yang ditunjukkan bergantung pada kekerapan resonator kuarza yang digunakan. Sebagai contoh, jika ia adalah 12 MHz, port boleh ditetapkan kepada 300, 600, 1200, 2400 dan 4800 baud dengan arahan SPEED dengan operan 98, CC, E6, F3 dan F3+ masing-masing. Dengan resonator 11 MHz, 9600 baud boleh dicapai. Walau bagaimanapun, apabila memindahkan fail, MK mungkin tidak akan dapat bersaing dengan data yang tiba pada kelajuan yang terlalu tinggi. Set arahan yang diterangkan boleh dikembangkan dan ditambah tanpa penghantaran semula Monitor dan juga tanpa memadamkan ROM. Pengendali arahan baharu diletakkan di kawasan bebasnya. Nama arahan (empat aksara pertama dalam huruf besar) ditulis bermula pada alamat 5ABH, diikuti dengan alamat pengendali dua bait dan bait 0FFH. Pengendali mesti berakhir dengan lompatan ke alamat 23FH. Semua alamat sel bait tunggal yang disebut di bawah merujuk kepada RAM dalaman MCU. Monitor menggunakan bank daftar 0 dan 2, serta lokasi 20H-3FH. Timbunan berkembang dari alamat 50H. Apabila bebas daripada menerima dan memproses arahan, mikropengawal secara berterusan melaksanakan subrutin yang terletak dalam ROM pada alamat yang dinyatakan dalam sel 35H dan 36H. Secara lalai ia adalah 063H. Subrutin ini, menukar status bit P3.4 secara berkala, menghidupkan dan mematikan LED HL1. Kekerapan berkelip bergantung pada kandungan sel 3DH. Jika bit ini hendak digunakan untuk tujuan lain, arahan WRITE_35,006A_ hendaklah dikeluarkan. Dalam sel 37H dan 38H ialah alamat pengendali sampukan dari port bersiri, yang sebenarnya berfungsi sebagai tulang belakang Monitor dan menentukan tindak balasnya kepada arahan pengendali. Secara lalai, 0 ditulis di sini, yang sepadan dengan memanggil pengendali standard yang terletak dalam ROM di alamat 081H. Dengan menulis kod selain 3 untuk menangani 0BH, anda boleh mengaktifkan fungsi "Echo". Semua data yang diterima melalui port bersiri akan dihantar semula ke Monitor. Ini akan mematikan "Gema tempatan" dalam program komunikasi, dan, jika perlu, simpan dalam fail teks semua arahan yang dihantar ke modul penyahpepijatan dan responsnya kepada mereka. Nombor di alamat 3AH menetapkan jeda antara penerimaan arahan oleh Monitor dan tindak balas kepadanya, yang diperlukan untuk menukar beberapa program komunikasi daripada penghantaran ke penerimaan (ini tidak diperlukan untuk "Telemax"). Ia sama dengan tempoh jeda dalam saat didarab dengan 50. Salah satu hasil arahan yang beroperasi pada blok memori (LOAD, SAVE, CHECK, FILL, COPY) ialah block checksum yang diletakkan dalam sel 39H. Ia boleh digunakan untuk mengawal pelaksanaan yang betul bagi arahan yang disenaraikan. Monitor boleh terus menerima fail format Intel HEX yang dihasilkan oleh banyak pemasang. Ia cukup untuk menghantar fail sedemikian ke port bersiri PC menggunakan program komunikasi atau hanya dengan arahan MSDOS COPY <nama fail> COM2. Port terpakai (dalam kes ini COM2) mesti dikonfigurasikan dengan arahan MODE COM2:4800,N,8,1. Maklumat akan ditulis ke memori data luaran modul nyahpepijat, dan jika jumlah semak tidak sepadan, mesej yang sepadan akan dipaparkan. Setiap baris fail Intel HEX bermula dengan titik bertindih diikuti oleh bait yang diwakili oleh nombor perenambelasan dua digit tanpa ruang:
Fail HEX sentiasa berakhir dengan baris yang mengandungi titik bertindih dan sifar bait data dan alamat, diikuti dengan aksara baris terakhir (01) dan jumlah semak bersamaan dengan FF. Jadual 3 menunjukkan contoh fail sedemikian yang mengandungi data yang sama seperti yang dimasukkan oleh arahan DATA Monitor mengikut Jadual 2. Pengarang: V. Ogleznev, 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: ▪ Penyelesaian Telefon Mudah Alih NXP Solar ▪ Meningkatkan kadar fotosintesis ▪ Jurulatih Willpower Elektronik Suapan berita sains dan teknologi, elektronik baharu
Bahan-bahan menarik Perpustakaan Teknikal Percuma: ▪ bahagian tapak Keselamatan pekerjaan. Pemilihan artikel ▪ artikel Chalk untuk melindungi fail. Petua untuk tuan rumah ▪ artikel Di manakah kebanyakan harimau tinggal? Jawapan terperinci ▪ artikel Moulder. Arahan standard mengenai perlindungan buruh
Tinggalkan komen anda pada artikel ini: Semua bahasa halaman ini Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web www.diagram.com.ua |