Cara MCU Memacu Skrin LCD dan Pertimbangan Reka Bentuk

2023-07-17

Pengelasan dan penggunaan mikrokomputer cip tunggal
Mengikut jenis ingatannya, MCU boleh dibahagikan kepada dua jenis tanpa ROM pada cip dan ROM pada cip. Untuk cip tanpa ROM pada cip, ia mesti disambungkan dengan EPROM luaran (biasanya 8031); cip dengan ROM pada cip dibahagikan lagi kepada EPROM pada cip (biasanya 87C51), ROM topeng pada cip MASK (biasanya 87C51) Cip ialah 8051), jenis Flash pada cip (cip biasa ialah 89C51) dan jenis lain.
Mengikut tujuan, ia boleh dibahagikan kepada tujuan umum dan tujuan khas; mengikut lebar bas data dan panjang bait data yang boleh diproses pada satu masa, ia boleh dibahagikan kepada 8, 16, dan 32-bit MCU.
Pada masa ini, pasaran aplikasi MCU domestik adalah yang paling banyak digunakan dalam bidang elektronik pengguna, diikuti oleh bidang perindustrian dan pasaran elektronik automotif. Elektronik pengguna termasuk perkakas rumah, televisyen, konsol permainan dan sistem audio dan video, antara lain. Bidang perindustrian termasuk rumah pintar, automasi, aplikasi perubatan dan penjanaan dan pengedaran tenaga baharu. Bidang automotif termasuk rangkaian kuasa automotif dan sistem kawalan keselamatan, dsb.
Shenzhen Hongjia Technology Co., Ltd. mengkhusus dalam R&D, pengeluaran dan penjualan skrin LCD dan skrin sentuh 1.14-inci-10.1-inci, yang boleh disesuaikan, dan menyediakan paparan MCU sokongan, termasuk antara muka SPI, antara muka MCU, antara muka RGB, Antara muka MIPI, dsb. Terdapat banyak saiz dan model, Padanan skrin sentuh rintangan dan skrin sentuh kapasitif juga boleh disediakan.
Fungsi asas mikrokomputer cip tunggal

Bagi kebanyakan MCU, fungsi berikut adalah yang paling biasa dan asas. Untuk MCU yang berbeza, huraian mungkin berbeza, tetapi pada dasarnya ia adalah sama:

1. TImer (pemasa): Walaupun terdapat banyak jenis TImer, ia boleh dikelaskan kepada dua kategori: satu ialah TImer dengan selang masa tetap, iaitu pemasaan ditetapkan oleh sistem dan program pengguna tidak boleh dikawal. Hanya beberapa selang masa tetap disediakan untuk program pengguna untuk memilih, seperti 32Hz, 16Hz, 8Hz, dll. TImer jenis ini lebih biasa dalam MCU 4-bit, jadi ia boleh digunakan untuk melaksanakan fungsi berkaitan seperti jam dan pemasaan .
Jenis lain ialah Pemasa Boleh Aturcara (pemasa boleh atur cara). Seperti namanya, masa pemasaan jenis Pemasa ini boleh dikawal oleh program pengguna. Kaedah kawalan termasuk: pemilihan sumber jam, pemilihan bahagian frekuensi (Prescale) dan tetapan nombor pasang siap, dsb. Sesetengah MCU mempunyai ketiga-tiganya pada masa yang sama, manakala yang lain mungkin mempunyai satu atau dua daripadanya. Aplikasi Pemasa jenis ini sangat fleksibel, dan penggunaan sebenar juga sentiasa berubah. Salah satu aplikasi yang paling biasa ialah menggunakannya untuk merealisasikan output PWM.
Memandangkan sumber jam boleh dipilih secara bebas, Pemasa sedemikian biasanya digabungkan dengan Kaunter Acara.
2. Port IO: Mana-mana MCU mempunyai bilangan port IO tertentu. Tanpa port IO, MCU akan kehilangan saluran komunikasi dengan dunia luar. Mengikut konfigurasi port IO, ia boleh dibahagikan kepada jenis berikut:
Input tulen atau port output tulen: Jenis port IO ini ditentukan oleh reka bentuk perkakasan MCU. Ia hanya boleh menjadi input atau output, dan tidak boleh ditetapkan oleh perisian dalam masa nyata.
Baca dan tulis port IO secara langsung: Contohnya, port IO MCS-51 tergolong dalam port IO jenis ini. Apabila melaksanakan arahan port IO baca, ia adalah port input; apabila melaksanakan arahan port IO tulis, ia secara automatik adalah port output.
Pengaturcaraan program untuk menetapkan arah input dan output: input atau output jenis port IO ini ditetapkan oleh program mengikut keperluan sebenar, aplikasinya agak fleksibel, dan beberapa aplikasi peringkat bas boleh direalisasikan, seperti I2C bas, pelbagai LCD, bas kawalan Pemacu LED, dsb.
Untuk penggunaan port IO, perkara penting mesti diingat: untuk port input, mesti ada isyarat tahap yang jelas untuk memastikan ia tidak boleh terapung (ia boleh dicapai dengan menambah pull-up atau pull- perintang bawah); untuk port output, outputnya Tahap keadaan mesti mempertimbangkan sambungan luarannya, dan ia harus dipastikan bahawa tiada sumber arus atau tenggelam dalam keadaan Siap Sedia atau statik.
3. Gangguan luaran: Gangguan luaran juga merupakan fungsi asas kebanyakan MCU. Ia biasanya digunakan untuk mencetuskan isyarat masa nyata, pensampelan data dan pengesanan status. Terdapat beberapa jenis sampukan: kelebihan meningkat, pencetus tepi jatuh dan pencetus tahap. Gangguan luaran biasanya dilaksanakan melalui port input. Jika ia adalah port IO, fungsi gangguan hanya akan didayakan apabila ia ditetapkan kepada input; jika ia adalah port output, fungsi gangguan luaran akan dimatikan secara automatik (terdapat beberapa pengecualian dalam siri ATiny ATMEL, port output juga boleh mencetuskan fungsi gangguan). Penggunaan gangguan luaran adalah seperti berikut:
Pengesanan isyarat pencetus luaran: satu adalah berdasarkan keperluan masa nyata, seperti kawalan penerus terkawal silikon, pengesanan isyarat pecah, dsb., dan satu lagi ialah keperluan untuk penjimatan kuasa.
Pengukuran kekerapan isyarat: Untuk memastikan isyarat tidak terlepas, gangguan luaran adalah pilihan yang ideal.
Penyahkodan data: Dalam bidang aplikasi kawalan jauh, untuk mengurangkan kos reka bentuk, selalunya perlu menggunakan perisian untuk menyahkod pelbagai data yang dikodkan, seperti penyahkodan Manchester dan pengekodan PWM.
Pengesanan kunci dan bangun sistem: Untuk MCU yang memasuki keadaan Tidur, ia biasanya perlu dibangkitkan melalui gangguan luaran. Bentuk paling asas ialah kunci, dan perubahan tahap dijana oleh tindakan kunci.
4. Antara muka komunikasi: Antara muka komunikasi yang disediakan oleh MCU secara amnya termasuk antara muka SPI, UART, antara muka I2C, dsb., yang diterangkan seperti berikut:
Antara muka SPI: Antara muka jenis ini ialah kaedah komunikasi paling asas yang disediakan oleh kebanyakan MCU. Penghantaran datanya dikawal oleh jam segerak. Isyarat termasuk: SDI (input data bersiri), SDO (output data bersiri), SCLK (jam bersiri) dan isyarat Sedia; dalam sesetengah kes, mungkin tiada isyarat Sedia; antara muka jenis ini boleh berfungsi dalam mod Master atau mod Slave, pepatah popular adalah untuk melihat siapa yang menyediakan isyarat jam, pihak yang menyediakan jam ialah Master, dan pihak yang bertentangan Kemudian ia adalah Slaver.
UART (Universal Asynchronous Receive Transmit): Ia adalah antara muka penghantaran tak segerak yang paling asas. Garis isyaratnya hanya Rx dan Tx. Format data asas ialah: Bit Mula + Bit Data(7-bit/8-bit) + Bit Pariti (Genap, Ganjil atau Tiada) + Bit Henti(1~2Bit). Masa yang diambil oleh satu bit data dipanggil Kadar Baud (kadar baud).
Bagi kebanyakan MCU, panjang bit data, kaedah semakan data (semakan ganjil, semak genap atau tiada semakan), panjang bit henti (Bit Berhenti) dan Kadar Baud boleh ditetapkan secara fleksibel melalui pengaturcaraan. Sudah tentu. Cara yang paling biasa digunakan bagi jenis antara muka ini adalah untuk berkomunikasi dengan port bersiri PC.
Antara muka I2C: I2C ialah protokol penghantaran data yang dibangunkan oleh Philips, yang turut dilaksanakan oleh dua isyarat: SDAT (input dan output data bersiri) dan SCLK (jam bersiri). Kelebihan terbesarnya ialah berbilang peranti boleh disambungkan ke bas ini, yang boleh dikenal pasti dan diakses melalui alamat; salah satu faedah terbesar bas I2C ialah ia sangat mudah untuk menggunakan perisian untuk merealisasikannya melalui port IO, dan kadar data penghantarannya dikawal sepenuhnya oleh SCLK Untuk mengawal, ia boleh menjadi cepat atau perlahan, tidak seperti antara muka UART , yang mempunyai keperluan kelajuan yang ketat.
5. Anjing pemantau (pemasa pengawas): Anjing pemerhati juga merupakan konfigurasi asas bagi kebanyakan MCU (sesetengah MCU 4-bit mungkin tidak mempunyai fungsi ini), dan kebanyakan Anjing Pemerhati MCU hanya boleh membenarkan atur cara untuk menetapkannya semula dan tidak boleh menetapkannya semula. Ia ditutup (sesetengahnya ditetapkan apabila program dibakar, seperti Microchip PIC siri MCU), dan sesetengah MCU menentukan sama ada untuk membukanya dengan cara tertentu, seperti siri KS57 Samsung, selagi program itu mengakses daftar Watchdog , dihidupkan secara automatik dan tidak boleh dimatikan semula. Secara umumnya, masa set semula pengawas boleh ditetapkan mengikut program. Aplikasi paling asas Watchdog adalah untuk menyediakan keupayaan pemulihan diri untuk MCU ranap akibat kegagalan yang tidak dijangka.

Pengaturcaraan mikropengawal
Terdapat perbezaan besar antara pengaturcaraan program MCU dan pengaturcaraan program PC. Walaupun alat pembangunan MCU berasaskan C menjadi semakin popular, untuk kod program yang cekap dan pereka yang suka menggunakan pemasangan, bahasa pemasangan Masih merupakan bahasa pengaturcaraan yang paling ringkas dan cekap.

Untuk pengaturcaraan MCU, rangka kerja asasnya boleh dikatakan hampir sama, secara amnya dibahagikan kepada tiga bahagian: bahagian permulaan (ini adalah perbezaan terbesar antara pengaturcaraan MCU dan pengaturcaraan PC), badan gelung program utama dan program pemprosesan gangguan, yang masing-masing adalah dijelaskan seperti berikut:
1. Permulaan: Untuk reka bentuk semua program MCU, permulaan ialah langkah paling asas dan penting, secara amnya termasuk yang berikut:
Tutup semua gangguan dan mulakan penuding tindanan: Bahagian permulaan biasanya tidak mahu sebarang gangguan berlaku.
Kosongkan kawasan RAM sistem dan paparkan Memori: Walaupun kadangkala ia mungkin tidak diperlukan sepenuhnya, dari sudut kebolehpercayaan dan konsistensi, terutamanya untuk mengelakkan ralat tidak disengajakan, adalah disyorkan untuk membangunkan tabiat pengaturcaraan yang baik.
Permulaan port IO: Mengikut keperluan aplikasi projek, tetapkan mod input dan output port IO yang berkaitan. Untuk port input, anda perlu menetapkan rintangan tarik-ke atas atau tarik-turunnya; untuk port output, anda mesti menetapkan output tahap awalnya, untuk mengelakkan ralat yang tidak perlu.
Tetapan sampukan: Untuk semua sumber sampukan yang perlu digunakan dalam projek, ia hendaklah didayakan dan syarat pencetus sampukan hendaklah ditetapkan, manakala bagi sampukan berlebihan yang tidak digunakan, ia mesti dimatikan.
Permulaan modul fungsi lain: Untuk semua modul fungsi persisian MCU yang perlu digunakan, tetapan yang sepadan mesti dibuat mengikut keperluan aplikasi projek, seperti komunikasi UART, Kadar Baud, panjang data, kaedah pengesahan dan Henti Bit perlu ditetapkan Panjang, dsb., dan untuk Pemasa Pengaturcara, anda mesti menetapkan sumber jamnya, pembahagian frekuensi dan Muat Semula Data, dsb.
Permulaan parameter: Selepas melengkapkan permulaan perkakasan dan sumber MCU, langkah seterusnya adalah untuk memulakan beberapa pembolehubah dan data yang digunakan dalam program. Permulaan bahagian ini perlu direka bentuk mengikut projek khusus dan susunan keseluruhan program. Bagi sesetengah aplikasi yang menggunakan EEPROM untuk menyimpan data pasang siap projek, adalah disyorkan untuk menyalin data yang berkaitan ke RAM MCU semasa pemulaan untuk meningkatkan kelajuan akses program kepada data dan mengurangkan penggunaan kuasa sistem (pada dasarnya , akses kepada EEPROM luaran akan meningkatkan penggunaan kuasa bekalan kuasa).
2. Badan gelung program utama: Kebanyakan MCU berjalan secara berterusan untuk masa yang lama, jadi badan program utama pada asasnya direka bentuk secara kitaran. Untuk aplikasi dengan berbilang mod kerja, mungkin terdapat berbilang badan gelung A ditukar antara satu sama lain melalui bendera negeri. Untuk badan program utama, modul berikut biasanya disusun:
Program pengiraan: Program pengiraan biasanya memakan masa, jadi ia sangat menentang sebarang pemprosesan gangguan, terutamanya operasi pendaraban dan pembahagian.
Memproses program dengan keperluan masa nyata yang rendah atau tiada keperluan masa nyata;

Paparan program penghantaran: terutamanya untuk aplikasi dengan LED luaran dan Pemacu LCD.
3. Program pemprosesan sampukan: Program sampukan digunakan terutamanya untuk memproses tugas dan acara dengan keperluan masa nyata yang tinggi, seperti pengesanan isyarat mengejut luaran, pengesanan dan pemprosesan kunci, pengiraan masa, pengimbasan paparan LED, dsb.
Secara amnya, atur cara sampukan harus memastikan kod itu ringkas dan sesingkat mungkin. Untuk fungsi yang tidak perlu diproses dalam masa nyata, anda boleh menetapkan bendera pencetus dalam gangguan, dan kemudian program utama akan melaksanakan transaksi tertentu-ini sangat penting. Terutama untuk kuasa rendah, MCU berkelajuan rendah, adalah perlu untuk memastikan tindak balas tepat pada masanya kepada semua gangguan.
4. Untuk susunan badan tugas yang berbeza, MCU yang berbeza mempunyai kaedah pemprosesan yang berbeza:
Contohnya, untuk aplikasi MCU (Fosc=32768Hz) berkelajuan rendah dan berkuasa rendah, memandangkan projek sedemikian adalah semua peranti pegang tangan dan menggunakan paparan LCD biasa, tindak balas kepada butang dan paparan memerlukan prestasi masa nyata yang tinggi, jadi secara amnya gangguan Bermasa. digunakan untuk memproses tindakan butang dan paparan data; dan untuk MCU berkelajuan tinggi, seperti aplikasi Fosc>1MHz, memandangkan MCU mempunyai masa yang mencukupi untuk melaksanakan badan gelung program utama pada masa ini, ia hanya boleh diganggu dalam Set yang sepadan dengan pelbagai bendera pencetus dalam , dan meletakkan semua tugas dalam badan program utama untuk dilaksanakan.
5. Dalam reka bentuk pengaturcaraan MCU, satu lagi perkara yang memerlukan perhatian khusus ialah:

Untuk menghalang akses serentak atau tetapan pembolehubah atau data yang sama dalam gangguan dan badan program utama. Kaedah pencegahan yang berkesan adalah untuk mengatur pemprosesan data sedemikian dalam modul, dan menentukan sama ada untuk melaksanakan operasi data yang berkaitan dengan menilai bendera pencetus; manakala dalam badan program lain (terutamanya mengganggu), data yang perlu diproses Tempat pemprosesan hanya menetapkan bendera yang dicetuskan. - Ini memastikan bahawa pelaksanaan data boleh diramal dan unik.

Kemahiran Pembangunan Mikropengawal

1. Bagaimana untuk mengurangkan pepijat dalam program
Untuk cara mengurangkan pepijat program, anda harus terlebih dahulu mempertimbangkan parameter pengurusan jarak jauh berikut yang harus dipertimbangkan semasa operasi sistem.
Parameter fizikal: Parameter ini terutamanya parameter input sistem, termasuk parameter pengujaan, parameter operasi semasa pemerolehan dan pemprosesan, dan parameter hasil pada akhir pemprosesan.

Resource parameters: These parameters are mainly the resources of circuits, devices, and functional units in the system, such as memory capacity, storage unit length, and stacking depth.
Parameter aplikasi: Parameter aplikasi ini selalunya mewakili keadaan aplikasi beberapa mikrokomputer cip tunggal dan unit berfungsi. Parameter proses: Merujuk kepada parameter yang berubah secara teratur semasa operasi sistem.


2. Bagaimana untuk meningkatkan kecekapan kod pengaturcaraan bahasa C
Ia merupakan trend yang tidak dapat dielakkan dalam pembangunan dan aplikasi mikrokomputer cip tunggal untuk menggunakan bahasa C untuk mereka bentuk program mikrokomputer cip tunggal. Jika anda ingin mencapai kecekapan tertinggi semasa pengaturcaraan dalam C, sebaiknya anda membiasakan diri dengan pengkompil C yang anda gunakan. Mula-mula menguji bilangan baris pernyataan dalam bahasa himpunan yang sepadan dengan setiap bahasa C yang disusun, supaya anda dapat mengetahui dengan jelas kecekapannya. Apabila pengaturcaraan pada masa hadapan, gunakan pernyataan dengan kecekapan penyusunan tertinggi. Setiap pengkompil C akan mempunyai perbezaan tertentu, jadi kecekapan kompilasi juga berbeza. Panjang kod dan masa pelaksanaan pengkompil sistem C terbenam yang sangat baik hanya 5-20% lebih lama daripada tahap fungsi yang sama yang ditulis dalam bahasa himpunan.

Untuk projek kompleks dengan masa pembangunan yang ketat, bahasa C boleh digunakan, tetapi premisnya ialah anda sangat biasa dengan bahasa C dan pengkompil C sistem MCU, dan memberi perhatian khusus kepada jenis data dan algoritma yang digunakan oleh sistem pengkompil C. boleh sokong. Walaupun bahasa C ialah bahasa peringkat tinggi yang paling biasa, sistem kompilasi bahasa C bagi pengeluar MCU yang berbeza adalah berbeza, terutamanya dalam pengendalian beberapa modul fungsi khas. Jadi jika anda tidak memahami ciri ini, akan terdapat banyak masalah dalam penyahpepijatan, yang akan membawa kepada kecekapan pelaksanaan yang lebih rendah daripada bahasa himpunan.

3. Bagaimana untuk menyelesaikan masalah anti-gangguan mikrokomputer cip tunggal Cara paling berkesan untuk mencegah gangguan adalah dengan membuang sumber gangguan dan memotong laluan gangguan, tetapi selalunya sukar untuk melakukannya, jadi ia hanya bergantung kepada sama ada keupayaan anti-gangguan mikrokomputer cip tunggal itu cukup kuat. Semasa meningkatkan keupayaan anti-jamming sistem perkakasan, perisian anti-jamming dicirikan oleh reka bentuk yang fleksibel,
X
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. By using this site, you agree to our use of cookies. Privacy Policy