Pengatur Waktu dan Penghitung pada Mikrokontroler 8051 dan Aplikasinya

Coba Instrumen Kami Untuk Menghilangkan Masalah





Banyak dari aplikasi mikrokontroler memerlukan penghitungan peristiwa eksternal seperti frekuensi rangkaian denyut nadi dan pembangkitan penundaan waktu internal yang tepat antara tindakan komputer. Kedua tugas ini dapat diimplementasikan dengan teknik perangkat lunak, tetapi perulangan perangkat lunak untuk menghitung, dan waktu tidak akan memberikan hasil yang tepat, fungsi yang lebih penting tidak dilakukan. Untuk menghindari masalah ini, pengatur waktu dan penghitung di pengontrol mikro adalah opsi yang lebih baik untuk aplikasi sederhana dan berbiaya rendah. Pengatur waktu dan penghitung ini digunakan sebagai menyela di 8.051 mikrokontroler .

Ada dua pengatur waktu 16-bit dan penghitung masuk 8051 mikrokontroler : timer 0 dan timer 1. Kedua timer terdiri dari register 16-bit di mana byte yang lebih rendah disimpan dalam TL dan byte yang lebih tinggi disimpan dalam TH. Timer dapat digunakan sebagai penghitung serta untuk operasi pengaturan waktu yang bergantung pada sumber pulsa clock ke penghitung.




Pengatur waktu dan penghitung

Pengatur waktu dan penghitung

Penghitung dan Pengatur Waktu pada mikrokontroler 8051 berisi dua register fungsi khusus: TMOD (Timer Mode Register) dan TCON (Timer Control Register), yang digunakan untuk mengaktifkan dan mengkonfigurasi pengatur waktu dan penghitung .



Kontrol Mode Pengatur Waktu (TMOD): TMOD adalah register 8-bit yang digunakan untuk memilih timer atau counter dan mode timer. 4-bit yang lebih rendah digunakan untuk operasi kontrol timer 0 atau counter0, dan sisa 4-bit digunakan untuk operasi kontrol timer1 atau counter1. Register ini ada dalam register SFR, alamat register SFR adalah 89.

Kontrol Mode Timer (TMOD)

Kontrol Mode Timer (TMOD)

Gerbang: Jika bit gerbang diatur ke '0', maka kita dapat memulai dan menghentikan timer 'perangkat lunak' dengan cara yang sama. Jika gate diset ke '1', maka kita bisa melakukan timer hardware.

C / T: Jika bit C / T adalah '1', maka bit tersebut bertindak sebagai mode penghitung, dan sama seperti saat menetapkan C +
= / T bit adalah '0' itu bertindak sebagai mode timer.


Mode pilih bit: M1 dan M0 adalah bit pemilihan mode, yang digunakan untuk memilih operasi pengatur waktu. Ada empat mode untuk mengoperasikan pengatur waktu.

Mode 0: Ini adalah mode 13-bit yang berarti operasi pengatur waktu selesai dengan pulsa '8192'.

Mode 1: Ini adalah mode a16-bit, yang berarti operasi pengatur waktu selesai dengan pulsa clock maksimum yang '65535'.

Mode 2: Mode ini adalah mode reload otomatis 8-bit, yang berarti operasi pengatur waktu selesai hanya dengan pulsa clock “256”.

Mode 3: Mode ini adalah mode split-timer, yang berarti nilai pemuatan di T0 dan secara otomatis memulai T1.

Mode Pilihan Bit

Mode Pilihan Bit

Pemilihan mode Nilai timer dan penghitung di 8051

Nilai pemilihan mode pengatur waktu dan penghitung

Nilai pemilihan mode pengatur waktu dan penghitung

Timer Control Register (TCON): TCON adalah register lain yang digunakan untuk mengontrol operasi penghitung dan pengatur waktu di mikrokontroler. Ini adalah register 8-bit dimana empat bit atas bertanggung jawab untuk timer dan counter dan bit bawah bertanggung jawab untuk interupsi.

Register Kontrol Pengatur Waktu (TCON)

Register Kontrol Pengatur Waktu (TCON)

TF1: TF1 adalah singkatan dari bit flag 'timer1'. Setiap kali menghitung waktu tunda di timer1, TH1 dan TL1 mencapai nilai maksimum yaitu 'FFFF' secara otomatis.

EX: sementara (TF1 == 1)

Kapanpun TF1 = 1, hapus bit flag dan hentikan timer.

TR1: TR1 adalah singkatan dari timer1 start atau stop bit. Pengatur waktu ini dapat dimulai melalui instruksi perangkat lunak atau melalui metode perangkat keras.

EX: gate = 0 (mulai timer 1 melalui instruksi perangkat lunak)
TR1 = 1 (Pengatur waktu mulai)

TF0: TF0 adalah singkatan dari 'timer0' flag-bit. Setiap kali menghitung waktu tunda di timer1, TH0 dan TL0 mencapai nilai maksimum yaitu 'FFFF', secara otomatis.

EX: sementara (TF0 == 1)
Setiap kali TF0 = 1, hapus bit flag dan hentikan timer.

TR0: TR0 adalah singkatan dari 'timer0' start atau stop bit timer ini mulai dapat melalui instruksi perangkat lunak atau melalui metode perangkat keras.

EX: gate = 0 (mulai timer 1 melalui instruksi perangkat lunak)
TR0 = 1 (Pengatur waktu mulai)

Perhitungan Waktu Tunda Mikrokontroler 8.051

Mikrokontroler 8.051 bekerja dengan frekuensi 11.0592 MHz.

Frekuensi 11.0592MHz = 12 pulsa

1 clock pulsa = 11.0592MHz / 12

F = 0,921 MHz

Penundaan waktu = 1 / F

T = 1 / 0,92MHz

T = 1.080506 us (untuk siklus '1')

1000us = 1MS

1000ms = 1sec

Prosedur untuk Menghitung Delay Program

1. Pertama kita harus memuat nilai register TMOD untuk 'Timer0' dan 'Timer1' dalam mode yang berbeda. Misalnya, jika kita ingin mengoperasikan timer1 dalam mode1 maka harus dikonfigurasi sebagai “TMOD = 0x10”.

2. Setiap kali kita mengoperasikan pengatur waktu dalam mode 1, pengatur waktu mengambil pulsa maksimum 65535. Kemudian pulsa waktu tunda yang dihitung harus dikurangi dari pulsa maksimum, dan kemudian diubah menjadi nilai heksadesimal. Nilai ini harus dimuat dalam timer1 bit yang lebih tinggi dan bit yang lebih rendah. Operasi pengatur waktu ini diprogram menggunakan C tertanam di mikrokontroler .

Contoh: waktu tunda 500us

500us / 1.080806us

461 pulsa

P = 65535-461

P = 65074

65074 ditentukan oleh desimal heksa = FE32

TH1 = 0xFE

TL1 = 0x32

3. Mulai pengatur waktu1 'TR1 = 1'

4. Pantau bit flag 'sementara (TF1 == 1)'

5. Hapus bit bendera 'TF1 = 0'

6. Bersihkan pengatur waktu 'TR1 = 0'

Contoh Program:

Program- 1

Program- 1

Program- 2

Program- 2

Program- 3

Program- 3

Penghitung di 8051

Kita dapat menggunakan penghitung dengan menjaga bit C / T tinggi, yaitu logika '1' di register TMOD. Untuk pemahaman yang lebih baik, kami telah memberikan satu program yang menggunakan timer 1 sebagai penghitung. Di sini LED dihubungkan ke 8051 Port 2, dan sakelar ke pin timer1 P3.5 dan oleh karena itu, jika sakelar ditekan, nilainya akan dihitung. Jika tidak, sensor yang terhubung secara eksternal ke pin penghitung ini sebagai input melakukan operasi penghitungan ini.

Program Penghitung

Program Penghitung

Aplikasi Pengatur Waktu dan Penghitung di 8051

Penghitung Digital dengan 8051

Penghitung digital dengan 8051 dicapai dengan memprogram mikrokontroler seperti yang dibahas di atas dan dengan memasang sistem sensor padanya. Penghitung objek ini menggunakan sensor IR yang mendeteksi rintangan di dekatnya dan juga mengaktifkan pin dari mikrokontroler 06. Ketika suatu benda melewati sensor, maka mikrokontroler mendapat sinyal interupsi dari sensor IR dan menambah hitungan yang ditampilkan pada tampilan 7-segmen.

Penghitung Digital dengan 8051

Penghitung Digital dengan 8051

Rangkaian Tunda Waktu Menggunakan Mikrokontroler 8051

Gambar di bawah ini menunjukkan bagaimana operasi pengatur waktu dapat diimplementasikan untuk mengganti LED secara efektif. Operasi waktu tunda untuk set LED diprogram dalam mikrokontroler dengan cara yang dibahas di atas. Di sini, satu set LED dihubungkan ke port 2 dengan sistem suplai umum. Saat sirkuit ini dihidupkan berdasarkan waktu tunda program di mikrokontroler dengan benar, LED ini dinyalakan.

Sirkuit waktu tunda

Sirkuit waktu tunda

Ini semua tentang pengatur waktu mikrokontroler 8.051 dan penghitung dengan pemrograman dasar dan rangkaian aplikasi. Kami berharap informasi dari artikel ini dapat memberi Anda data yang cukup untuk memahami konsep dengan lebih baik. Selanjutnya, keraguan teknis tentang pemrograman 8051 dan sirkuitnya, Anda dapat menghubungi kami dengan memberi komentar di bawah ini.

Kredit Foto: