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.
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.
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