AVR-ChipBasic ialah komputer retro moden. Memindahkan data dari komputer ke mikropengawal melalui monitor

Hari ini, mikropengawal boleh didapati dalam hampir setiap keadaan. perkakas rumah dan elektronik. Sebagai contoh, jika ketuhar gelombang mikro mempunyai skrin LED atau LCD dan papan kekunci, maka ia semestinya dilengkapi dengan cip kawalan khas.

Kepelbagaian aplikasi

Semua kereta moden mengandungi sekurang-kurangnya satu mikropengawal dan boleh dilengkapi dengan beberapa untuk enjin, sistem brek anti kunci, kawalan pelayaran, dll. Mana-mana peranti dengan alat kawalan jauh hampir pasti mempunyai kawalan mikropengawal. Kategori ini termasuk televisyen, pemain dan sistem stereo berkualiti tinggi. Kompak digital dan kamera DSLR, telefon bimbit, kamera video, mesin penjawab, pencetak laser, talian tetap dengan kemungkinan pengenalan pemanggil dan memori untuk 20 nombor, peti sejuk pelbagai fungsi, mesin basuh pinggan mangkuk dan mesin basuh Pada dasarnya, sebarang perkakas rumah atau peranti yang berinteraksi dengan pengguna mempunyai mikropengawal terbina dalam.

Apa ini?

Mikropengawal ialah komputer. Semua komputer, sama ada komputer peribadi atau kerangka utama yang besar, mempunyai beberapa ciri-ciri umum. Mereka mempunyai satu yang melaksanakan program dengan memuatkan arahan daripada beberapa stor data. Pada PC, sebagai contoh, ini adalah cakera keras. Komputer ini juga dilengkapi dengan memori capaian rawak (RAM). Untuk berkomunikasi dengan dunia luar hendaklah disediakan cara khas. Pada PC, papan kekunci dan tetikus ialah peranti input, dan monitor serta pencetak digunakan untuk output. HDD menggabungkan kedua-duanya kefungsian, kerana ia berfungsi dengan kedua-dua data input dan output.

CPU

Jenis pemproses yang digunakan dalam mikropengawal bergantung kepada aplikasi tertentu. Pilihan terdiri daripada 4, 8 atau 16-bit mudah kepada 32- atau 64-bit yang lebih kompleks. Dari segi memori, RAM, memori flash, EPROM atau EEPROM boleh digunakan. Secara amnya, mikropengawal direka untuk digunakan tanpa komponen pengkomputeran tambahan kerana ia direka bentuk dengan memori pada cip yang mencukupi dan juga mempunyai pin I/O am untuk bersambung terus dengan penderia dan komponen lain.

Seni bina CPU boleh sama ada Harvard atau von Neumann, menawarkan pelbagai kaedah pertukaran maklumat antara pemproses dan memori. Dalam kes pertama, bas data dan arahan dipisahkan, yang membolehkan penghantaran serentak mereka. Yang biasa digunakan untuk ini.

Pengaturcaraan

Pemproses mikropengawal boleh sama ada berasaskan CISC atau set arahan terkurang (RISC). CISC biasanya termasuk kira-kira 80 arahan (RISC - kira-kira 30), dan bilangan yang lebih besar mod pengalamatan - 12-24 berbanding 3-5 untuk RISC. Walaupun set arahan lanjutan lebih mudah untuk dilaksanakan dan menggunakan memori dengan lebih cekap, prestasinya lebih rendah disebabkan oleh lebih banyak kitaran jam yang diperlukan untuk melaksanakannya. Pemproses RISC lebih memfokuskan perisian dan berprestasi lebih baik.

Pada mulanya, bahasa mikropengawal adalah pemasang. Hari ini, C ialah pilihan yang popular.

Jika anda mempunyai kabel yang sesuai, perisian dan PC, pengaturcaraan mikropengawal dengan tangan anda sendiri tidak sukar. Anda perlu menyambungkan pengawal dengan kabel ke komputer anda, melancarkan aplikasi dan memuatkan satu set arahan.

Mentakrifkan Ciri

Bagaimana untuk membezakan komputer daripada mikropengawal? Jika yang pertama adalah peranti tujuan am, yang boleh berjalan beribu-ribu pelbagai program, kemudian yang kedua adalah khusus, tertumpu pada satu aplikasi. Terdapat beberapa ciri lain yang membantu membezakan mikropengawal. Bagi pengguna pemula ini tidak akan menjadi masalah - cukup untuk memastikan bahawa cip mempunyai kebanyakan kualiti yang disenaraikan di bawah supaya anda boleh mengelaskannya dengan selamat ke dalam kategori ini.

  • Pengawal mikro ialah elemen beberapa peranti lain (selalunya perkakas rumah) untuk mengawal fungsi atau operasinya. Mereka juga dipanggil pengawal terbenam.
  • Peranti direka bentuk untuk melaksanakan satu tugas dan menjalankan satu program khusus yang disimpan dalam ROM, yang biasanya tidak diubah suai.

  • Mikropengawal ialah cip berkuasa rendah. Kuasa mereka apabila dikuasakan oleh bateri adalah kira-kira 50 mW. Komputer meja hampir selalu dipalamkan ke salur keluar dinding dan menggunakan 50 watt atau lebih.
  • Mikropengawal dibezakan dengan mempunyai blok input khusus dan selalunya (tetapi tidak selalu) paparan LED atau LCD kecil untuk output. Menerima input daripada peranti yang dikawalnya, menghantar isyarat kepada pelbagai komponennya. Sebagai contoh, mikropengawal TV menerima isyarat daripada alat kawalan jauh dan memaparkan output pada skrin TV. Ia mengawal pemilih saluran, pembesar suara dan beberapa tetapan gambar seperti kontras dan kecerahan. Pengawal enjin kereta pakai isyarat masukan daripada sensor oksigen dan letupan, mengawal penciptaan campuran bahan api dan menyegerakkan operasi palam pencucuh. Dalam ketuhar gelombang mikro, ia menerima input papan kekunci, memaparkan output pada LCD dan mengawal pengayun gelombang mikro hidup dan mati geganti.
  • Mikropengawal selalunya peranti kecil dan murah. Komponen dipilih sedemikian rupa untuk meminimumkan saiz dan mengurangkan kos pengeluaran sebanyak mungkin.
  • Selalunya, tetapi tidak selalu, mikropengawal beroperasi keadaan yang tidak menguntungkan. Sebagai contoh, peranti kawalan enjin kereta mesti beroperasi dalam suhu yang melampau di mana komputer konvensional tidak boleh berfungsi sama sekali. Di utara, mikropengawal kereta mesti berfungsi pada suhu -34 °C, dan di selatan - pada 49 °C. Dalam petak enjin suhu boleh mencapai 65-80 °C. Sebaliknya, mikropengawal terbina dalam Pemain Blu-ray, tidak sepatutnya tahan lama sama sekali.

Keperluan CPU

Pemproses yang digunakan dalam mikropengawal boleh berbeza-beza. Contohnya, dalam telefon bimbit Mikropemproses 8-bit Z-80, dibangunkan pada tahun 1970-an dan pada asalnya digunakan dalam komputer rumah, telah digunakan. Navigator GPS Garmin dilengkapi dengan kuasa rendah Versi Intel 80386, yang juga pada asalnya dipasang dalam PC desktop.

Kebanyakan perkakas rumah, seperti ketuhar gelombang mikro, tidak memerlukan pemproses, tetapi harganya adalah faktor penting. Dalam kes ini, pengeluar beralih kepada mikropengawal tersuai yang direka daripada CPU kos rendah, kecil dan berkuasa rendah. Motorola 6811 dan Intel 8051 adalah contoh yang baik kerepek sebegitu. Satu siri yang popular daripada Microchip juga dihasilkan. Mengikut piawaian hari ini, pemproses ini adalah sangat minimalis, tetapi ia sangat murah dan selalunya boleh memenuhi keperluan pereka bentuk sepenuhnya.

Jimat

Mikropengawal biasa ialah cip dengan 1000 bait ROM, 20 bait RAM, dan 8 pin I/O. Apabila dihasilkan dalam kuantiti yang banyak, kosnya rendah. Sudah tentu, lari Microsoft word mustahil pada cip sedemikian - ini memerlukan sekurang-kurangnya 30 MB RAM dan pemproses yang melakukan berjuta-juta operasi sesaat. Tetapi untuk kawalan gelombang mikro ini tidak perlu. Mikropengawal melakukan satu tugas tertentu, A kos rendah dan penggunaan tenaga adalah kelebihan utamanya.

Bagaimanakah ia berfungsi?

Walaupun pelbagai jenis mikropengawal dan banyak lagi Kuantiti yang besar program untuk mereka, setelah belajar mengendalikan salah satu daripada mereka, anda boleh berkenalan dengan mereka semua. Senario kerja biasa kelihatan seperti ini:

  • Apabila kuasa dimatikan, peranti tidak menunjukkan dirinya dalam apa jua cara.
  • Menyambungkan mikropengawal kepada sumber kuasa mencetuskan blok logik kawalan, yang melumpuhkan semua litar lain kecuali kristal kuarza.
  • Apabila voltan mencapai maksimum, frekuensi penjana menjadi stabil. Daftar diisi dengan bit yang mencerminkan keadaan semua litar mikropengawal. Semua kenalan dikonfigurasikan sebagai input. Elektronik mula beroperasi mengikut urutan berirama denyutan jam.
  • Kaunter arahan ditetapkan semula kepada sifar. Arahan di alamat ini dihantar ke penyahkod arahan, yang mengenalinya, selepas itu ia segera dilaksanakan.
  • Kaunter program dinaikkan sebanyak 1 dan keseluruhan proses diulang pada kadar satu juta operasi sesaat.
Pengawal mikro- komputer pada satu cip. Direka untuk mengawal pelbagai peranti elektronik dan interaksi antara mereka mengikut program yang dibenamkan dalam mikropengawal. Tidak seperti mikropemproses yang digunakan dalam komputer peribadi,pengawal mikro mengandungi peranti tambahan terbina dalam. Peranti ini melaksanakan tugas mereka di bawah kawalan teras mikropemproses mikropengawal.

Peranti terbenam yang paling biasa termasuk peranti memori dan port input/output (I/O), antara muka komunikasi, pemasa, jam sistem. Peranti memori termasuk Ram(RAM), ingatan baca sahaja (ROM), ROM boleh atur cara (EPROM), ROM boleh atur cara elektrik (EEPROM). Pemasa termasuk kedua-dua jam masa nyata dan pemasa gangguan. Kemudahan I/O termasuk port bersiri komunikasi, port selari(garisan I/O), penukar analog-ke-digital(A/D), penukar digital kepada analog (D/A), pemacu paparan kristal cecair (LCD) atau pemacu paparan pendarfluor vakum (VFD). Peranti terbenam telah meningkatkan kebolehpercayaan kerana ia tidak memerlukan sebarang litar elektrik luaran.

Berbeza dengan mikropengawal, pengawal biasanya dipanggil papan yang dibina berdasarkan mikropengawal, tetapi selalunya apabila menggunakan istilah "mikropengawal" nama singkatan untuk peranti ini digunakan, membuang awalan "mikro" untuk kesederhanaan. Juga, apabila menyebut mikropengawal, anda boleh menemui perkataan "cip" atau "microchip", "kristal" (kebanyakan mikropengawal dibuat pada kristal silikon tunggal), singkatan MK atau dari mikropengawal Inggeris - MC.

Pengawal mikro boleh didapati dalam sebilangan besar industri moden dan perkakas rumah: mesin, kereta, telefon, televisyen, peti sejuk, mesin basuh... dan juga pembuat kopi. Antara pengeluar mikropengawal ialah Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Alat Texas, Infineon Technologies (dahulunya Siemens Semiconductor Group) dan banyak lagi.
Pembuatan cip moden memerlukan bilik yang sangat bersih.

Ciri klasifikasi utama mikropengawal ialah kedalaman bit data yang diproses oleh unit logik aritmetik (ALU). Berdasarkan ciri ini, ia dibahagikan kepada 4-, 8-, 16-, 32- dan 64-bit. Hari ini, bahagian terbesar pasaran mikropengawal global dimiliki oleh peranti lapan-bit (kira-kira 50% dari segi nilai). Mereka diikuti oleh mikropengawal 16-bit dan DSP (DSP - Pemproses Isyarat Digital - digital pemproses isyarat), memberi tumpuan kepada penggunaan dalam sistem pemprosesan isyarat (setiap kumpulan menduduki kira-kira 20% daripada pasaran). Dalam setiap kumpulan, mikropengawal dibahagikan kepada peranti CISC dan RISC. Kumpulan yang paling banyak ialah mikropengawal CISC, tetapi dalam tahun lepas Di antara cip baharu, terdapat aliran menaik yang jelas dalam bahagian seni bina RISC.

Kelajuan jam, atau lebih tepat lagi kelajuan bas, menentukan bilangan pengiraan yang boleh dilakukan setiap unit masa. Pada asasnya, prestasi mikropengawal dan penggunaan kuasa meningkat dengan peningkatan kekerapan jam. Prestasi mikropengawal diukur dalam MIPS (Juta Arahan sesaat - juta arahan sesaat).

Dalam artikel ini saya akan menerangkan penciptaan komputer on-board yang mudah untuk kereta atau motosikal. Peranti ini tidak mengandungi sebarang fungsi eksotik, tetapi ia mempunyai jam, termometer dan voltmeter. Asasnya ialah Pengawal mikro AVR ATmega8 dengan lapan kilobait memori kilat, ini sudah cukup untuk kami. Jam ini dilaksanakan pada cip khas (RTC) DS1307, ini membolehkan jam berjalan dengan sangat tepat masa yang lama, walaupun semasa peranti dimatikan. Tetapi sudah tentu, cip DS1307 memerlukan makanan tambahan 3 volt, contohnya bateri CR2032. Sensor untuk termometer ialah DS1820 yang beroperasi melalui antara muka 1-Wayar. Semua data dipaparkan pada penunjuk LCD pada pengawal. Jadi, untuk memasang peranti anda memerlukan komponen radio berikut:

1. Pengawal mikro Atmega8 - 1 pc.
2. Cip DS1307 - 1 pc.
3. Sensor DS1820 - 1 pc.
4. soket DIP-8 - 1 pc.
5. soket DIP-28 - 1 pc.
6. Cip LM7805 - 1 pc.
7. Cip LM7809 - 1 pc.
8. Butang kebijaksanaan - 4 pcs.
9. Butang dengan penetapan kedudukan - 2 pcs.
10. Kuarza 14.3 MHz - 1 pc.
11. Jam kuarza 32768 Hz - 1 pc.
12. Kapasitor seramik 22 pf - 2 pcs.
13. Kapasitor seramik 100 nf - 4 pcs.
14. Transistor KT315 - 2 pcs.
15. Kapasitor elektrolitik 100 uF - 1 pc.
16. Kapasitor elektrolitik 47 uF - 2 pcs.
17. Diod 1N4001 - 1 pc.
18. Perintang pemangkas 20 kOhm - 2 pcs.
19. Perintang 1 kOhm - 2 pcs.
20. Perintang 10 kOhm - 2 pcs.
21. Perintang 4.7 kOhm - 3 pcs.
22. Perintang 100 kOhm - 1 pc.
23. Perintang 20 Ohm - 1 pc.
24. Perintang 68 Ohm - 1 pc.
25. Pembesar suara 0.2 W - 1 pc.
26. Penunjuk LCD WH1602 (pada pengawal HD44780 atau serasi) - 1 pc.
27. Textolite - 1 keping.
28. Perumahan plastik - 1 pc.
29. Petak bateri 2xAA - 1 pc.
30. Bateri 1.5v AA - 2 pcs.

Gambarajah skematik peranti:

Perintang pemangkas R4 menetapkan kontras penunjuk LCD, dan R12 melaraskan voltmeter kepada nilai sebenar. Kuarza Z2 pada 14.3 MHz, ia boleh didapati pada yang lebih lama papan induk. Butang S1 - "Batal", S2 - "Bawah", S3 - "Ok", S4 - "Naik". Perintang R3 menarik Set Semula mikropengawal kepada bekalan kuasa positif untuk mengelakkan penetapan semula secara tidak sengaja. Perintang R1, R2 dan R7 juga menarik port mikropengawal ke bekalan kuasa positif. Kapasitor seramik C1 dan C2 diperlukan untuk operasi yang stabil kuarza Z2. Saya memasang peranti menggunakan dua papan litar bercetak, satu mengandungi cip LM7805 dan LM7809, satu lagi mengandungi semua yang lain. Saya melukis papan dalam program dan membuatnya menggunakan . Berikut ialah papan siap ditutup dengan aloi mawar:

Papan dengan bahagian yang dipateri di atasnya:

Di bahagian belakang:

Saya mengumpul semua giblets ke dalam badan, dan hasil akhirnya adalah bagus dan padat.

Foto komputer atas kapal yang telah siap (pandangan hadapan):

Foto komputer atas kapal yang telah siap (pandangan belakang):

Untuk kemudahan, di bahagian hadapan saya hanya meletakkan penunjuk LCD dan butang kawalan S1, S2, S3 dan S4. Penyambung, butang hidup dan mati peranti, trim perintang Saya meletakkan R12 di belakang kes itu. Saya menulis perisian tegar untuk mikropengawal dalam persekitaran (sumbernya dilampirkan), mikropengawal telah dipancarkan dengan pengaturcara USBtiny menggunakan program SinaProg. Selepas memancarkan perisian tegar mikropengawal, anda perlu menetapkan bit fius berikut:

Peranti yang dipasang dengan betul dan perisian tegar dimulakan serta-merta dan tidak memerlukan konfigurasi, kecuali mungkin menala halus voltmeter dan menetapkan jam. daripada fungsi tambahan Terdapat pelarasan kecerahan LCD dan bip satu jam (jam berbunyi bip pada awal setiap jam). Apabila anda menghidupkan peranti, skrin percikan muncul pada LCD dan lampu latar penunjuk menyala secara beransur-ansur, kemudian muncul skrin utama, di mana masa, tarikh, suhu dan voltan dipaparkan. Jika anda menekan butang S3 pada masa ini, anda akan memasuki menu tetapan masa, S2 - ke dalam tab maklumat, di mana maklumat tentang versi peranti dan pengarangnya ditulis, S4 - ke dalam menu untuk menetapkan kecerahan LCD dan mengawal bip jam. Butang S1 kembali ke skrin utama. Anda boleh melihat dengan jelas cara mengawal peranti dalam video:

Fail untuk artikel mengandungi kod sumber program, perisian tegar dan projek dalam program.

Senarai unsur radio

Jawatan taip Denominasi Kuantiti CatatanKedaipad nota saya
IC1 Jam Masa Nyata (RTC)

DS1307

1 Ke pad nota
IC2 MK AVR 8-bit

ATmega8

1 Ke pad nota
VR1 Pengatur linear

LM7805CT

1 Ke pad nota
VR2 Pengatur linear

LM78L09

1 Ke pad nota
VT1, VT2 Transistor bipolar

KT315B

2 Ke pad nota
VD1 Diod penerus

1N4001

1 Ke pad nota
Z1 Kuarza32768 Hz1 Ke pad nota
Z2 Kuarza14.3 MHz1 Ke pad nota
C1, C2 Kapasitor22 pF2 Seramik Ke pad nota
C3-C5, C8 Kapasitor100 nF4 Seramik Ke pad nota
C6, C7 47uF 16V2 Ke pad nota
C9 Kapasitor elektrolitik100uF 35V1 Ke pad nota
R1, R2, R7 Perintang

4.7 kOhm

3 Ke pad nota
R3, R10 Perintang

10 kOhm

2 Ke pad nota
R4, R12 Perintang pemangkas20 kOhm2 Ke pad nota
R5 Perintang

20 ohm

1 Ke pad nota
R6, R9 Perintang

1 kOhm

2 Ke pad nota
R8 Perintang

Masa berlalu, dan semakin sedikit komputer yang jarang ditemui. Ada yang pecah, ada yang dibongkar untuk alat ganti, dan ada yang dibuang begitu saja. Malangnya, proses ini tidak boleh dihentikan - tiada yang kekal selama-lamanya.
Tetapi jika anda mengambil dan menghasilkan komputer yang dalam semua aspek akan serupa dengan komputer retro, tetapi dibuat berdasarkan asas moden? Dan terdapat komputer sedemikian - ia adalah AVR ChipBasic.
1. Mukadimah
AVR ChipBasic – siri komputer radio amatur, dibangunkan oleh jurutera Jerman Joerg Wolfram. Kesemuanya adalah komputer yang dipasang pada hanya satu cip - mikropengawal Atmel AVR. Dalam komputer ini, mikropengawal menjalankan fungsi pengawal video, pengawal papan kekunci, penjana bunyi, jurubahasa ASAS dan peranti lain yang komputer biasa terdiri daripada banyak litar mikro. Siri AVR-ChipBasic terdiri daripada empat model.
1. Muda. Berdasarkan mikropengawal AtMega8, mengandungi 1 KB RAM, 8 KB ROM. Mempunyai penterjemah bahasa TinyBasic terbina dalam, menjana gambar hitam putih dengan resolusi 180*230, bersambung ke input komposit TV (tulip).

2. Pertengahan pertama. Berdasarkan mikropengawal AtMega16, mengandungi 2 KB RAM, 16 KB ROM. Mempunyai penterjemah ASAS lanjutan. Keluaran imej berwarna(8 warna) dengan resolusi 180*230. Mempunyai penjana aksara tanpa huruf kecil.

3. Purata kedua. Sama seperti purata pertama, hanya pada mikropengawal AtMega32 dan dengan penjana aksara penuh.
4. Kanan. Model yang paling berkuasa.
Berdasarkan mikropengawal AtMega644, mengandungi 8 KB RAM, 64 KB ROM. Mempunyai penterjemah ASAS terbina dalam yang berkuasa. Menghasilkan imej berwarna (16 warna) dengan resolusi 180*230. Satu-satunya model yang menyokong fungsi trigonometri Dan mod grafik. Semua komputer ini diedarkan secara bebas lesen GNU GPL, laman web rasmi mengandungi gambar rajah litar, perisian tegar dan kod sumber.

Sekarang kita akan melihat dengan lebih dekat model junior komputer AVR ChipBasic.
2. Penerangan umum
Model junior komputer AVRChipBasic, seperti yang dinyatakan sebelum ini, hanya terdiri daripada satu cip - mikropengawal AtMega8 dari Atmel, dan oleh itu keupayaan komputer ini akan ditentukan oleh keupayaan mikropengawal. Komputer ini mempunyai 1 KB RAM, 8 KB memori FLASH, yang menyimpan penterjemah BASIC, dan 512 bait EEPROM, yang menyimpan program yang akan dilancarkan. Satu-satunya mod video komputer ialah teks 30*23 aksara, dengan setiap aksara bersaiz 6*10 piksel, dan oleh itu resolusi umum skrin 180*230 piksel. Imej dipaparkan seperti biasa TV isi rumah, yang menyambung ke komputer melalui input komposit.
Juga, komputer AVR?ChipBasic menyediakan untuk menyambung modul cakera luaran pada cip 24c16, yang boleh memuatkan empat program. Komputer juga boleh memainkan bunyi melalui bunyi bip, menyambung ke PC melalui port bersiri untuk bertukar-tukar program dan kawalan peranti luaran melalui 4 talian I/O.
Ciri-ciri komputer ini hampir sama dengan komputer tahun 70-an dan 80-an. Inilah jadualnya ciri perbandingan Komputer AVR-ChipBasic dan komputer retro lain.

Seperti yang dapat dilihat dari jadual, mikrokomputer ini paling mirip dengan komputer ZX80; seperti AVR ChipBasic, ia mempunyai 1 KB RAM, 8 KB ROM, skrin hitam putih dan yang paling penting, video juga dihasilkan pemproses pusat, dan bukan litar penjana video yang berasingan. Selain itu, pengiraan dilakukan dalam masa yang bebas daripada penjanaan video, dan bukan sebaliknya, seperti dalam ZX80.
Komputer juga boleh mengeluarkan semula bunyi. Terdapat dua jenis bunyi: yang pertama serupa dengan bunyi "bim", dan yang kedua serupa dengan bunyi "pshsh", dan bunyi pertama boleh mempunyai nada yang berbeza.
3.Ciri-ciri reka bentuk
Litar komputer adalah semudah tukul: ia terdiri daripada mikropengawal dan rentetan kecil perintang dan kapasitor.
Untuk menyambungkan komputer ke PC, analog litar mikro MAX232 dengan dua transistor digunakan.
Litar komputer

Satu-satunya perkara yang boleh ditambah pada litar ialah perintang 330 Ohm, yang berada di hadapan output video, harus diganti dengan 800 Ohm, maka imej akan menjadi lebih jelas.

Saya ingin mengatakan perkataan istimewa mengenai perisian tegar mikropengawal. Arkib mengandungi beberapa perisian tegar, kita perlu memilih cb8_050_mega8_kbd?en_pal.hex, yang terletak dalam folder mega8
Komputer dipasang pada cetakan atau papan roti. Ia memerlukan sumber kuasa 5 volt, untuk ini anda boleh mengambil bekalan kuasa dari borang PC faktor ATX, tetapi pengecasan telefon dan penstabil 7805 lebih sesuai untuk tujuan ini.
4.Ciri-ciri kerja
Selepas memasang dan menghidupkan komputer, logo komputer muncul pada skrin selama beberapa saat. Semasa ia berada di skrin, anda perlu menekan beberapa butang, kemudian editor program bermula, jika tidak program autostart dari EEPROM.


Selepas membuka editor, anda boleh mula menulis program dengan segera. Pada bila-bila masa, keseluruhan program berada pada skrin; tiada tatal skrin. Juga tiada fungsi balut baris, iaitu apabila anda menekan Masukkan kekunci baris digerakkan ke bawah satu, dan kursor hanya bergerak ke permulaan baris seterusnya.
Terdapat beberapa kekunci pintas semasa mengedit:
F1– Muatkan program daripada EEPROM
F2– Tukar nama program
F3– Buka dialog untuk bekerja dengan modul cakera
F4– Mulakan program – Hentikan pelaksanaan program
CLRL+P– Menghantar tangkapan skrin melalui port bersiri
Sekarang kita akan melihat satu ciri menarik komputer ini: cari sendiri, kawasan skrin menduduki 690 bait memori (30*23) dan program 500 bait (20 baris 25 aksara). Ini bersama-sama ternyata menjadi 1190 bait, tetapi bagaimana ini boleh berlaku, kerana mikropengawal hanya mempunyai 1024 bait memori. Di samping itu, beberapa bait lagi diperlukan untuk pembolehubah sistem. Dan segala-galanya dilakukan dengan cara yang bijak: semasa penyuntingan, program itu berada dalam memori video dan tidak menduduki ruang tambahan. Selepas menekan butang F4, program disalin dari memori video ke EEPROM, dan memori video dikosongkan. Selanjutnya, program ini tidak lagi ditafsirkan daripada RAM, tetapi daripada EEPROM.
Setelah program selesai, ia disalin semula ke memori video dan anda boleh meneruskan penyuntingan.
Keadaan ini membolehkan anda menjimatkan ingatan, tetapi membawa kepada kesulitan lain.
Hakikatnya ialah EEPROM hanya menyokong 100,000 kitaran penulisan semula. Ini bermakna jika anda membuat 100 pelancaran setiap hari, maka selepas tiga tahun cip akan hangus. Nasib baik, komputer mempunyai sedikit perlindungan: sebelum menulis semula program ke dalam PROM, ia dibandingkan dengan yang sudah ada, dan jika mereka sama, maka program itu tidak ditulis semula.
Selepas program selesai berjalan, ia muncul di sudut kanan bawah tulisan AKHBAR ESC!. Jika program dilancarkan dengan kekunci F4, editor akan dibuka, dan jika program dilancarkan oleh autorun, ia akan dimulakan semula.
5. ASAS
Komputer AVR?ChipBasic mempunyai penterjemah bahasa BASIC terbina dalam. Untuk menjimatkan memori, dialek Asas Tiny digunakan, yang tidak begitu berbeza dengan BASIC biasa. Sekarang kita akan melihat ciri utama bahasa ini.
Perkara pertama yang segera menarik perhatian anda ialah arahan yang disingkatkan. GO digunakan bukannya GOTO, SUB digunakan bukannya GOSUB, NXT digunakan bukannya NEXT. Sesetengah arahan digantikan sepenuhnya dengan simbol. Contohnya, arahan?@2,2;%17 bermaksud memaparkan simbol nombor 17 (bulatan) dalam koordinat 2, 2. Ini menjadikan program dalam BASIC ini sedikit tidak boleh dibaca, tetapi jika anda melihatnya, semuanya jelas.
Tiny Basic menyokong 26 pembolehubah jenis bait, setiap satu ditetapkan dengan satu huruf (A-Z). Tatasusunan dan rentetan tidak disokong.
Ia juga perlu diperhatikan nombor peluang menarik bahasa ini. Contohnya, pelbagai cara untuk mengakses papan kekunci. Menggunakan salah satu kaedah, anda boleh melakukan apa bila? menekan butang “kanan” akan memaparkan nilai 1, dan menekan butang “kiri” akan memaparkan 255 (-1). Menggunakan kaedah lain, anda boleh menangkap tekanan Ctrl, Shift dan butang lain, dan mereka akan mengambil nilai 1 dan 255. Ini dilakukan untuk memudahkan menulis permainan, kerana mereka sering menggunakan anak panah dan butang lain yang perlu mengawal pergerakan pelbagai objek.
Yang lagi satu pasukan yang menarik– LIM. Ia menetapkan sempadan untuk nilai pembolehubah.
Sebagai contoh, arahan LIM D, 10, 20. Selepas pelaksanaannya, nilai pembolehubah D akan berada dalam julat 10..20. Jika sebelum perintah itu dilaksanakan nilai pembolehubah adalah kurang daripada sepuluh, maka ia akan menjadi 10, dan jika lebih daripada 20, ia akan menjadi 20.
Selain itu, BASIC ini menyokong pseudo-grafik dengan resolusi 60*46. Anda boleh melukis mata, garisan dan petak.
Mari kita tulis sedikit program yang mudah dalam bahasa ini. Biarkan ia menjadi permainan "teka nombor" yang mudah. Inilah kod penuhnya:
1 a=rv(100)+1:?”Vvedi chis”
2 inp b
3 jika b>a:pergi 6
4 jika b 5 “Molodec!”:no 255:go 0
6 “Vvedi menshe”:no 5:go 2

7 “Vvedi bolshe”:no 8:go 2

Mari kita lihat program ini dengan lebih terperinci.
Dalam baris pertama program ini, nombor rawak dari 1 hingga 100 diteka dan inskripsi dipaparkan.
Pada yang kedua, nombor dimasukkan dari papan kekunci.
Dalam ketiga dan keempat, nombor yang dimasukkan disemak terhadap nombor yang tersembunyi, dan program dihantar ke tempat yang diperlukan.

6. Kesimpulan
Ini adalah komputer sedemikian, AVRChipBasic.
Walaupun kesederhanaannya, ia mempunyai banyak keupayaan.
Sudah tentu, terdapat beberapa kekurangan/kekurangan, tetapi kita mesti ingat bahawa dalam 8 kilobait memori yang kecil, di mana walaupun BASIC hampir tidak muat, kita berjaya menjejalkan BASIC, penjana video dan pengawal papan kekunci, dan supaya semuanya bekerja bersama-sama, dan agak cepat.
Oleh itu, komputer ARV-ChipBasic dengan mudah boleh dipanggil karya seni. Bekerja dengannya adalah satu keseronokan. :?)
Pautan:
Halaman komputer rasmi:
http://jcwolfram.de/projekte/avr/chipbasic8/main.php
Dalam baris kelima hingga ketujuh, mesej yang dikehendaki dipaparkan, bunyi dimainkan, dan program dihantar sama ada ke input atau keluar.

Alexander Zavgorodniy (Kakos_Nonos)
http://kabardcomp.narod.ru/

Pengawal mikro dari Parallax yang dipanggil Propeller, berbanding dengan "klasik" genre seperti PIC atau AVR, menduduki niche yang agak pelik. Mengenai dua yang pertama kita boleh mengatakan bahawa ini adalah seni bina tujuan umum. Pencipta Propeller menghampiri isu "dari sayap".

Ciri khas utama Propeller:

  • 8 teras bebas berfungsi secara selari. Sebarang perkongsian masa yang diperlukan untuk sumber yang dikongsi seperti memori atau port I/O tidak dikawal oleh pengaturcara dan disambungkan ke dalam cip. Ini memberikan kebolehramalan dalam masa pelaksanaan kod. Setiap teras (cog) mempunyai 4KB RAM terpencilnya sendiri. Selain itu, setiap teras mempunyai modul perkakasan terbina dalam untuk menjana (perhatian!) isyarat video TV atau VGA.
  • Tiada konsep gangguan. Sebaliknya, adalah dicadangkan untuk menjalankan tugas yang bersaing pada teras yang berbeza (cog's).
  • Anda boleh memprogram sama ada dalam bahasa himpunan atau dalam bahasa peringkat tinggi khas yang dipanggil Spin, yang sangat memudahkan pengaturcaraan berbilang teras dan selari. Jurubahasa Spin disambungkan ke dalam kristal.
  • Hampir tiada konsep pengaturcaraan atau perisian tegar kristal. Separuh atas ruang alamat (ROM) 32KB dijahit dengan penterjemah Spin dan pelbagai jadual sistem. Dalam kes ini, setiap kali anda menghidupkannya, anda perlu memuatkan program dari luar (contohnya, dari persekitaran pembangunan) ke kawasan 32KB (RAM) yang lebih rendah. Tetapi biasanya dalam penggunaan sebenar cip memori I2C EEPROM luaran disambungkan, kandungannya secara automatik disalin ke RAM apabila kristal dihidupkan.
  • Pemproses diisytiharkan sebagai 32-bit, kerana ia beroperasi dengan data saiz ini, tetapi ruang alamat ialah 16-bit (64KB).
Bahasa Spin direka untuk pengaturcaraan berbilang pemproses yang mudah, dan kelihatan seperti persilangan antara bahasa prosedur dan berorientasikan objek.

Berikut ialah contoh kod Spin yang menjalankan fungsi untuk berputar pada berbilang teras. Kod ini sangat mudah dan boleh difahami.

CON _clkmode = xtal1 + pll16x "Tetapkan kelajuan _xinfreq = 5_000_000 "80Mhz OBJ led: "E555_LEDEngine.spin" "Sertakan objek kaedah LED VAR byte Counter "Tubuhkan Counter Variable long stack "Bestablish counter 6 ruang kerja panjang "Btwin Counter" 50), @stack) "mulakan Twinkle cog 1 cognew(Twinkle(19,clkfreq/150), @stack) "mula Twinkle cog 2 cognew(Twinkle(22,clkfreq/100), @stack) "mula Twinkle cog 3 PUB Twinkle(PIN,RATE) "Kaedah pengisytiharan ulangan "Mulakan ulangan gelung induk Pembilang dari 0 hingga 100 "Ulang gelung Pembilang dipimpin.LEDBrightness(Pebilang, PIN) "Laraskan kecerahan LED waitcnt(RATE + cnt) "Tunggu sebentar ulangi Pembilang dari 100 hingga 0 "Pembilang gelung ulang dipimpin.LEDBrightness(Counter,PIN) "Laraskan kecerahan LED waitcnt(RATE + cnt) "Tunggu sebentar
Fungsi cognew menjalankan tugas pada tiga teras, menentukan parameter setiap satu dengan kekerapan dan timbunannya.

Dipermudahkan, kipas direka bentuk seperti berikut:

Nama "Propeller" berasal daripada model pemindahan keutamaan kepada akses kepada sumber yang dikongsi. Modul Hub, yang mengawal pembahagian masa, melakukan ini dalam bulatan, seperti kipas berputar.

Saya tidak mahu mendalami Propeller itu sendiri dalam artikel ini, kerana ini adalah topik yang besar. Bagi yang berminat, di penghujungnya terdapat pautan ke buku di mana anda boleh mendapatkan maklumat menyeluruh tentang mikropengawal ini.

Tetapi saya ingin bercakap tentang satu projek menarik yang dipanggil "Komputer Mini Poket". Ini ialah komputer mini berasaskan Propeller (P8X32A) menggunakan papan penilaian "P8X32A QuickStart" sebagai asas.

Perkara ini kelihatan seperti ini (foto dari laman web rasmi):

Malah, penulis ada menjual papan penilaian ditambah dengan papan pengembangan yang mempunyai VGA, microSD, PS/2, bunyi dan Wii Gameport. Secara pilihan, anda boleh memasang cip RAM SRAM 32KB.

Helah projek ini ialah penulis telah membangunkan penterjemah ASAS yang menjadikan semua ini sebagai komputer mikro ala tahun 80-an. BASIC ditulis dalam Spin"e (kod sumber dibuka). Dialeknya sangat terhad, contohnya, tiada tatasusunan, rentetan atau pembolehubah sebenar, nama pembolehubah hanya huruf tunggal, dsb. Namun begitu, akses kepada semua persisian diberikan, termasuk kad SD, dan juga membolehkan anda menjalankan fail binari semata-mata, yang boleh ditulis sama ada dalam Spin, atau dalam C (Parallax mempunyai versi GCC untuk Propeller), atau dalam pemasang.

Hampir semuanya dimeteraikan.

Sandwic dipasang.

Berikut ialah demo kecil untuk menilai keupayaan grafik.

Tanggapan umum

baling-baling

Tidak mustahil untuk memanggilnya pemproses tujuan umum. Pada pendapat subjektif saya, untuk menggunakan Propeller dengan berkesan anda perlu memahami aplikasi anda dengan baik. Sebagai contoh, Propeller tidak mempunyai PWM, DAC/ADC, memori denyar terbina dalam, pencetus, atau konsep gangguan, dan pencipta mencadangkan sama ada melaksanakan perisian yang diperlukan, menggunakan kuasa beberapa teras atau menggunakan litar mikro luaran khusus. . Buku yang diberikan pada akhir menerangkan banyak contoh bekerja dengan litar mikro tambahan.

Satu lagi perkara yang menarik. Pencipta Propeller tidak takut untuk beralih daripada pendekatan tradisional dan cuba membenamkan keupayaan aplikasi khusus, tugas yang hampir siap, ke dalam kristal. Mungkin ini berguna untuk beberapa projek. Seperti yang saya faham, Propeller sangat mudah untuk mencipta pelbagai jenis mesin slot dan konsol, contohnya, kerana keupayaan terbina dalam untuk menjana isyarat televisyen dan VGA berkualiti tinggi.

Kesimpulan: seni bina yang menarik, pasti berbaloi untuk dilihat.

Pembina PMC

Sekali lagi, perasaan berganda. Nampaknya berfungsi, tetapi BASIC jelas kekurangan sumber, terutamanya ingatan. Sebagai contoh, Maximite berasaskan PIC32 berada di atasnya. Anda boleh menjalankan sama ada RetroBSD atau Radio-86RK padanya. Dan MMBasic terbina dalam adalah lebih berkuasa.

Walaupun, untuk $39 USD, ini adalah mainan yang hebat untuk mereka yang ingin menyentuh Propeller dengan peranti yang telah dipasang.

Untuk snek

Buku mengenai Propeller yang pernah saya baca berkenaan dengan seni bina dan terlepas pandang (berkenaan projek). Saya mengesyorkan segala-galanya.

Buku kecil dan sangat jelas untuk pemula. Projek menarik diterangkan (dengan gambar). Salah seorang pengarang bersama ialah pereka PMC.

Bermula Dengan Kipas

Sebuah buku yang sangat kompeten dari segi seni bina dan pemahaman tentang intipati Propeller. Ia merangkumi hanya pengaturcaraan Spin, tetapi dengan penjelasan penuh tentang pendekatan dan ciri mikropengawal. Selepas membaca bab pertama, anda akan mempunyai pemahaman yang hampir lengkap tentang seni bina. Beberapa projek diterangkan di bawah (anda boleh melangkau ini).