ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK Jam penggera ringkas pada PIC16F84. Ensiklopedia elektronik radio dan kejuruteraan elektrik Ensiklopedia elektronik radio dan kejuruteraan elektrik / Jam, pemasa, geganti, suis beban Tidak lama dahulu, jam tangan elektronik telah dibina pada apa yang dipanggil cip jam siri K176 dan cip khusus siri K145 (K145IK1901) dan KR1016 (KR1016VI1). Kelemahan utama mereka ialah keupayaan peningkatan terhad mereka (sebarang perubahan memerlukan pengubahsuaian perkakasan). Jam tangan yang dipasang berdasarkan mikropengawal berbanding dengan baik. Litar ini sangat dipermudahkan, dan "naik taraf" boleh dijalankan tanpa sebarang perubahan pada perkakasan. Malah menetapkan kadar jam boleh menjadi perisian semata-mata. Ini adalah jam tangan yang diterangkan dalam artikel yang diterbitkan di bawah. Jam penggera yang dicadangkan dengan penunjuk LED empat digit adalah berdasarkan mikropengawal (MK) dan menunjukkan masa dalam format 24 jam dengan sifar tidak ketara dalam digit berpuluh-puluh jam kosong. Terdapat mod untuk memaparkan minit dan saat, isyarat bunyi pendek (tempoh 1 saat) pada permulaan setiap jam (fungsi ini boleh dimatikan jika perlu), dua jam penggera boleh tukar dan tetapan perisian pekali pembetulan masa, di mana ketepatan jam bergantung. Nilai pekali dan tetapan penggera direkodkan dalam memori tidak meruap (EEPROM) MK. Status penggera dan isyarat "Setiap jam" ditunjukkan oleh LED. Gambarajah skematik peranti ditunjukkan dalam Rajah. 1. Asasnya ialah mikropengawal PIC16F84 (DD1), yang frekuensi operasinya ditetapkan oleh penjana dengan resonator luaran ZQ1 pada 4 MHz. Input tetapan semula MK (MCLR) disambungkan terus ke bas kuasa +5 V. Port A lima bit, semua baris dikonfigurasikan untuk output, mengawal LED HL1 dan menukar digit penunjuk HG1. Empat digit paling ketara bagi port B (RB4-RB7) dikonfigurasikan untuk input dan menerima isyarat kawalan daripada butang SB1-SB4, yang disambungkan kepada pin tanpa perintang "tarik naik", kerana MK mempunyainya. Bit RB0 dan RB1 port B digunakan untuk memuatkan kod tujuh elemen yang sepadan dengan digit yang dipaparkan ke dalam daftar DD2. Nyahcas RB2 ialah output isyarat atau penggera 3H (bergantung pada versi program), yang boleh disambungkan terus ke pemancar piezo (ZP-1, ZP-3 dan seumpamanya), ke input penguat 3H atau ke penggerak, sebagai contoh, geganti, yang apabila penggera berbunyi, ia akan menghidupkan radio, TV atau peranti lain. LED HL1 dan HL2 masing-masing menunjukkan status isyarat "Setiap jam" dan penggera: HL1 menyala jika isyarat "Setiap jam" dihidupkan, dan HL2 - jika sekurang-kurangnya satu daripada penggera dihidupkan atau jika kedua-duanya dihidupkan. Peranti ini menggunakan penunjuk LED jam khusus daripada Kingbright, yang mengandungi empat digit tujuh elemen dengan anod biasa dan titik petunjuk dua saat di antara digit tengah. Memandangkan pin unsur a-g adalah biasa kepada semua digit, kawalan penunjuk hanya boleh dilakukan dalam mod dinamik. Untuk reka bentuk ini, penunjuk sesuai dengan sempurna: bilangan garisan input/output tujuan umum pada P1C16F84 MCU tidak membenarkan petunjuk statik, dan dengan petunjuk dinamik, adalah perlu untuk menggabungkan output elemen yang sama berbeza. kategori di papan tulis dengan penunjuk lain. Perintang R3-R10 mengehadkan arus melalui LED penunjuk. Daftar anjakan DD2 diperkenalkan untuk menyimpan pin MK - ia menukar kod bersiri kepada selari semasa paparan dinamik. Kapasitor C4 menapis riak dalam litar kuasa MK. Tiada tempat untuknya di papan; ia dipateri terus ke terminal soket MK dari sisi konduktor bercetak. Program kawalan untuk MK ditulis dalam pemasang MPASM standard daripada Microchip dan disusun dalam persekitaran MPLAB syarikat yang sama. Daripada 1024 sel memori program MK, kira-kira lapan ratus telah digunakan, jadi terdapat sumber untuk penambahbaikan. Sejurus selepas menghidupkan kuasa, program kawalan dimulakan: bit port dikonfigurasikan untuk input dan output, mod pengendalian pemasa ditetapkan kepada 0, dan tetapan penggera dan faktor pembetulan masa dibaca daripada memori tidak meruap. Tugas utama program - pembentukan selang masa yang tepat selama 1 s - diselesaikan menggunakan gangguan dari pemasa 0. Pra-pemanasnya disambungkan ke pengayun kuarza MK dan diselaraskan kepada faktor pembahagian 16. Nombor dari 0h hingga OFh ditulis kepada pemasa 00 daftar untuk setiap pemprosesan gangguan (ini terdapat faktor pembetulan masa, dalam kod sumber program ia dipanggil TIME_SET), jadi pemasa melimpah bukan dalam 256, tetapi, sebagai contoh, dalam 250 kitaran jam (dengan TIME_SET = 5). Dalam kes ini, apabila menggunakan resonator kuarza dengan frekuensi 4 MHz, gangguan dari pemasa 0 berlaku dengan frekuensi 1 Hz/000/000 = 250 Hz. Selepas pemulaan, program masuk ke dalam gelung menunggu gangguan ini dan mengiranya. Apabila bilangan sampukan mencapai 16, masa semasa meningkat sesaat. Gangguan pemasa 0 juga memberikan petunjuk dinamik. Semasa pemprosesannya, MK menetapkan paras sifar pada pin RA0-RA3 dan dengan itu memadamkan penunjuk. Seterusnya, kod tujuh elemen yang sepadan dengan simbol yang perlu dipaparkan dimuatkan ke dalam daftar DD2 melalui pin MK RB0 dan RB1. Kemudian tahap logik yang tinggi ditetapkan pada salah satu pin RAO-RA3, kerana salah satu daripada terminal biasa menyala. Semua ini berlaku 250 kali sesaat, dan terima kasih kepada inersia penglihatan, pengguna melihat semua pelepasan dihidupkan sekaligus. Bit yang paling ketara bagi kod yang dimuatkan ke dalam daftar DD2 digunakan untuk mengawal titik kedua penunjuk, yang berkelip pada frekuensi 1 Hz. Oleh itu, dengan bantuan gangguan dari pemasa 0, dua tugas diselesaikan sekaligus. Di samping itu, dalam subrutin pemprosesan sampukan, MK menyemak sama ada digit keluaran adalah sifar tidak ketara dalam digit kiri, dan jika ya, maka bukannya kod tujuh elemen digit O, MK memuatkan nombor binari 11111111 ke dalam daftar (penunjuk dengan anod biasa, jadi satu sepadan dengan segmen yang dipadamkan). Papan kekunci ditinjau kira-kira 10 kali sesaat, tetapi selepas menekan pertama beberapa butang dan gabungannya, program tidak bertindak balas kepada tekanan berulang selama 1 saat (contohnya, jika butang ditekan). Ini adalah perlu untuk memudahkan kawalan jam. Apabila jam penggera dicetuskan, isyarat 2H terputus-putus muncul pada pin RB1 selama 3 minit atau, bergantung pada versi program, tahap tinggi (lebih tepat, berdenyut dengan kekerapan pengulangan 1 Hz). LED HL1 dan HL2 berkelip. Selepas seminit, subrutin khas dipanggil yang memulihkan pencahayaan LED yang betul. Peranti dikawal oleh butang SB1-SB4, setiap satunya menggabungkan beberapa fungsi (lihat rajah mnemonik ditunjukkan dalam Rajah 2). Jam tangan beroperasi dalam tiga mod: utama (petunjuk masa semasa), dengan faktor pembetulan masa dan mod tetapan penggera. Dalam mod utama, penunjuk HG1 memaparkan jam dan minit, manakala titik kedua berkelip pada frekuensi 1 Hz. Masa semasa ditetapkan menggunakan butang SB1 (jam) dan SB2 (minit): setiap tekan daripadanya menambah satu bacaan, dan jika ini dilakukan semasa SB4 ditekan, ia berkurangan. Apabila digit minit mencapai sifar, tiada pemindahan ke digit jam berlaku. Jika anda menahan butang SB4 selama tiga saat, penunjuk memaparkan minit dan saat masa semasa dan bukannya jam dan minit. Isyarat "Setiap jam" dihidupkan dan dimatikan oleh butang SB3 sambil menahan SB4 (LED HL1 menyala atau padam dengan sewajarnya). Untuk beralih kepada mod tetapan penggera, tekan butang SB3. Bacaan penggera pertama muncul pada penunjuk, titik kedua bersinar secara berterusan. Jam dan minit ditetapkan menggunakan butang yang sama SB1 dan SB2 (dalam kes ini, hanya meningkatkan bacaan). Menekan butang SB4 mematikan penggera, dan hanya sengkang kekal pada penunjuk (elemen G menyala). Apabila anda seterusnya menghidupkan jam penggera menggunakan butang yang sama, sifar (dan bukan nilai sebelumnya) muncul pada penunjuk dan ditulis pada daftar jam penggera. Jika anda menekan butang SB3 sekali lagi, penggera kedua akan muncul pada penunjuk, tetapi titik kedua akan padam. Kedua-dua penggera disediakan dengan cara yang sama. Tekan ketiga butang SB3 meletakkan jam tangan ke dalam mod operasi dengan pekali pembetulan masa: simbol "EE X" dipaparkan pada penunjuk, di mana EE bermaksud EEPROM, dan X ialah nilai semasa pekali dalam bentuk perenambelasan; Titik kedua terus berkelip. Menggunakan butang SB1 anda boleh meningkatkan, dan menggunakan butang SB2 anda boleh mengurangkan nilai pekali dalam julat dari Oh hingga Fh. Nombor yang ditetapkan akan ditulis kepada pemasa 0 dalam rutin gangguan apabila ia melimpah. Apabila butang SB3 ditekan untuk kali keempat, tetapan penggera dan nilai pekali ditulis ke EEPROM: penggera pertama - pada alamat 02h-05h (masing-masing minit, puluhan minit, jam dan puluhan jam), kedua - pada alamat 06h-09h (dalam susunan yang sama), pekali - pada 01 h. Peranti dipasang pada papan litar bercetak yang dibuat mengikut lukisan yang ditunjukkan dalam Rajah. 3 (garis putus-putus menunjukkan wayar pelompat yang menyambungkan konduktor litar bercetak pada bahagian bertentangan papan). Tanpa sebarang perubahan dalam litar dan program MK, anda boleh menggunakan PIC16C84 - analog boleh atur cara sekali sahaja bagi PIC16F84. Kita boleh menggantikan penunjuk yang ditunjukkan dalam rajah dengan mana-mana penunjuk empat digit lain dengan anod biasa (adalah wajar bahawa terminal unsur nyahcas yang sama disambungkan di dalam penunjuk). Ia boleh diterima untuk menggunakan empat penunjuk satu digit; dalam kes ini, dua LED berasingan boleh digunakan sebagai titik kedua, disambungkan oleh katod ke kanan (mengikut gambar rajah) keluaran perintang R10 (jika perlu, melalui suis pada a transistor). Perintang, kapasitor, LED, butang - mana-mana yang kecil. Tiga versi program kawalan telah dibangunkan untuk jam tangan. Versi 1.10 ialah yang utama (fail HEXnya ditunjukkan dalam jadual). Apabila penggera dicetuskan, isyarat (gelombang persegi) dengan frekuensi 2 Hz muncul pada pin RB1. Ia boleh digunakan untuk mengawal pelbagai penggerak dan penjana isyarat 3H: daripada yang paling mudah dengan dua atau tiga elemen logik kepada sistem sintesis bunyi digital yang kompleks [1, 2]. Paparan dinamik dalam versi ini berfungsi secara berterusan. Dalam versi 1.11, petunjuk juga berfungsi secara berterusan, tetapi apabila penggera berbunyi dan pada masa ini isyarat "Setiap jam" dijana, letusan nadi dengan frekuensi pengulangan 2 Hz muncul pada output RB1 (frekuensi ayunan mengisi pecah sepadan dengan kekerapan gangguan dari pemasa 0 - 250 Hz). Isyarat ini boleh digunakan terus kepada pemancar atau pada input penguat 3CH. Versi 1.20 berbeza daripada 1.11 sahaja kerana secara lalai paparan dinamik dimatikan (sementara semua fungsi jam tangan lain berfungsi seperti biasa). Ia mula berfungsi apabila anda menekan butang SB4 dan dimatikan secara automatik selepas 10 saat. Apabila anda menekan butang dan penggera berbunyi, kira detik selang ini bermula semula. Jika jam penggera berbunyi apabila penunjuk dimatikan, ia tidak dihidupkan: anda perlu menekan butang SB4 dua kali untuk mematikan jam penggera dan menghidupkan penunjuk. Program ini dinasihatkan untuk digunakan jika jam tangan dikuasakan oleh bateri yang terdiri daripada sel galvanik atau bateri boleh dicas semula: mematikan petunjuk menjimatkan tenaga bateri. Apabila memprogramkan MK, perkataan konfigurasi menunjukkan jenis penjana - XT, Pemasa kuasa - hidup, pemasa pengawas dan perlindungan kod - dimatikan. Di samping itu, dalam sel 01h memori data tidak meruap anda perlu memasukkan nombor dari Oh hingga Fh (faktor pembetulan masa), dan pada alamat 02h-09h - tetapan penggera. Jika pelarasan perisian ketepatan jam ternyata kasar (yang berkemungkinan besar), anda harus memasang kapasitor penalaan C3 yang ditunjukkan dalam rajah dengan garis putus-putus (terdapat tempat untuknya pada papan litar bercetak). Fail HEX versi program 1.11 dan 1.20, serta teks sumber semua versi Kesusasteraan
Pengarang: A. Vakulenko, Tyumen Lihat artikel lain bahagian Jam, pemasa, geganti, suis beban. Baca dan tulis berguna komen pada artikel ini. Berita terkini sains dan teknologi, elektronik baharu: Perangkap udara untuk serangga
01.05.2024 Ancaman serpihan angkasa kepada medan magnet Bumi
01.05.2024 Pemejalan bahan pukal
30.04.2024
Berita menarik lain: ▪ Bekalan Kuasa Aliran Redoks Miniatur ▪ Kehidupan perlahan menyelamatkan daripada mutasi yang mematikan ▪ Mencipta skala paling tepat di dunia Suapan berita sains dan teknologi, elektronik baharu
Bahan-bahan menarik Perpustakaan Teknikal Percuma: ▪ bahagian laman web Fakta menarik. Pemilihan artikel ▪ artikel Kelengkapan, perincian dan ketepatan peta. Asas kehidupan selamat ▪ artikel Bahasa manakah yang tidak mempunyai konsep kiri dan kanan? Jawapan terperinci ▪ Perkara Strychnos beracun. Legenda, penanaman, kaedah aplikasi ▪ artikel Tukar-understudy daripada biasa. Ensiklopedia elektronik radio dan kejuruteraan elektrik
Tinggalkan komen anda pada artikel ini: Semua bahasa halaman ini Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web www.diagram.com.ua |