program mikrokontroler : seven segment

Program Mikrokontroler untuk seven segment

Segmen dalam layar 7-segmen disusun untuk membentuk satu digit dari 0 sampai F. Kita dapat menampilkan multi-digit angka dengan menghubungkan menampilkan tambahan. Meskipun layar LCD lebih nyaman untuk bekerja dengan, 7-segmen display masih standar dalam industri. Ini disebabkan oleh suhu mereka Robustness, visibilitas dan lebar sudut pandang. Segmen ditandai dengan non-huruf kapital: a, b, c, d, e, f, g dan dp, di mana dp adalah titik desimal. 8 LED di dalam setiap tampilan dapat diatur dengan Common anoda katoda atau umum. Dengan layar katoda umum, katoda umum harus tersambung ke 0V pagar dan menyalakan LED dengan logika satu. Menampilkan common anoda harus memiliki Common anoda dihubungkan ke +5 V rel. Segmen yang diaktifkan dengan logika nol. Seukuran layar diukur dalam milimeter, tinggi dari angka itu sendiri (bukan perumahan, tetapi angka!). Menampilkan tersedia dengan ketinggian angka 7,10, 13.5, 20, atau 25 milimeter. Mereka datang dalam berbagai warna, termasuk: merah, oranye, dan hijau. 


Cara paling mudah untuk mengemudikan layar tampilan melalui sopir. Ini tersedia untuk sampai dengan 4 display. Atau display dapat digerakkan oleh mikrokontroler dan jika lebih dari satu tampilan yang dibutuhkan, metode mengemudi mereka disebut "multiplexing." 


Perbedaan utama antara kedua metode adalah jumlah "garis drive." Driver khusus mungkin hanya perlu satu "jam" garis dan sopir chip akan mengakses semua segmen dan peningkatan layar. Jika tampilan tunggal harus didorong dari mikrokontroler, 7 baris akan dibutuhkan ditambah satu untuk titik desimal. Untuk setiap tambahan layar, hanya satu baris tambahan yang diperlukan. Untuk menghasilkan 4, 5 atau 6 digit layar, semua display 7-segmen dihubungkan secara paralel. Baris yang umum (common-garis katoda) adalah dibawa keluar secara terpisah dan baris ini diambil rendah untuk suatu periode waktu yang singkat untuk mengaktifkan layar. Masing-masing layar dihidupkan pada kecepatan di atas 100 kali per detik, dan itu akan muncul bahwa semua yang menyalakan menampilkan pada waktu yang sama. Seperti masing-masing layar dihidupkan, informasi yang sesuai harus disampaikan untuk itu sehingga akan memberikan bacaan yang benar. Hingga 6 display dapat diakses seperti ini tanpa kecerahan tampilan masing-masing yang terpengaruh. Masing-masing layar dihidupkan sangat sulit untuk seperenam waktu dan POV (kegigihan visi) mata kita menganggap layar dihidupkan sepanjang waktu. Oleh karena itu, program ini untuk memastikan waktu yang tepat, lain yang tidak menyenangkan layar berkedip akan terjadi. 



Menampilkan digit dilakukan dalam modus multipleks yang berarti bahwa mikrokontroler yang bergantian mencetak angka dan puluhan digit. Menyela TMR0 melayani untuk menghasilkan suatu periode waktu, sehingga program memasuki menyela rutin setiap 5ms dan melakukan multiplexing. Dalam menyela rutin, langkah pertama adalah menentukan segmen yang harus diaktifkan. Dalam kasus bahwa angka puluhan sebelumnya pada, harus dimatikan, mengatur masker untuk pencetakan yang 7seg digit pada layar yang berlangsung 5ms, yaitu sampai interrupt berikutnya. 


Untuk mengekstraksi yang angka dan digit, makro digbyte digunakan. Ini menyimpan angka ratusan, digit, dan angka ke dalam variabel yang Dig1, Dig2, dan Dig3. Dalam kasus kami, pada pelaksanaan makro, Dig1 akan sama dengan 0, Dig2 akan sama dengan 2, dan Dig3 akan sama dengan 1. 


Contoh berikut menunjukkan penggunaan makro dalam sebuah program. Program sidik jari yang ditentukan 2-digit angka pada layar 7seg dalam modus multipleks. 



Link:
http://www.8051projects.net/pic_tutorial/programming-example.php

3 comments: