Pemasa dan Pembilang pada 8051 Mikrokontroler dan aplikasinya

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Sebilangan besar aplikasi mikrokontroler memerlukan pengiraan kejadian luaran seperti kekerapan kereta nadi dan penjanaan kelewatan masa dalaman yang tepat antara tindakan komputer. Kedua tugas ini dapat dilaksanakan dengan teknik perisian, tetapi gelung perisian untuk dihitung, dan penentuan waktu tidak akan memberikan hasil yang tepat sebaliknya fungsi yang lebih penting tidak dilakukan. Untuk mengelakkan masalah ini, pemasa dan pembilang dalam pengawal mikro adalah pilihan yang lebih baik untuk aplikasi sederhana dan kos rendah. Pemasa dan pembilang ini digunakan sebagai mengganggu dalam mikrokontroler 8051 .

Terdapat dua pemasa dan pembilang 16-bit di 8051 mikrokontroler : pemasa 0 dan pemasa 1. Kedua-dua pemasa terdiri daripada daftar 16-bit di mana bait yang lebih rendah disimpan dalam TL dan bait yang lebih tinggi disimpan dalam TH. Pemasa boleh digunakan sebagai pembilang dan juga untuk operasi pemasaan yang bergantung pada sumber denyutan jam ke kaunter.




Pemasa dan pembilang

Pemasa dan pembilang

Kaunter dan Pemasa dalam 8051 mikrokontroler mengandungi dua daftar fungsi khas: TMOD (Timer Mode Register) dan TCON (Timer Control Register), yang digunakan untuk mengaktifkan dan mengkonfigurasi pemasa dan pembilang .



Kawalan Mod Pemasa (TMOD): TMOD adalah daftar 8-bit yang digunakan untuk memilih pemasa atau pembilang dan mod pemasa. 4-bit yang lebih rendah digunakan untuk pengendalian operasi pemasa 0 atau pembilang0, dan selebihnya 4-bit digunakan untuk pengendalian operasi pemasa1 atau kaunter1. Daftar ini terdapat dalam daftar SFR, alamat untuk daftar SFR adalah ke-89.

Kawalan Mod Pemasa (TMOD)

Kawalan Mod Pemasa (TMOD)

Pintu gerbang: Sekiranya bit gerbang ditetapkan ke '0', maka kita dapat memulakan dan menghentikan pemasa 'perisian' dengan cara yang sama. Sekiranya gerbang ditetapkan ke '1', maka kita dapat melakukan pemasa perkakasan.

C / T: Sekiranya bit C / T adalah '1', maka ia berfungsi sebagai mod pembilang, dan serupa ketika diatur C +
= / T bit adalah '0' ia bertindak sebagai mod pemasa.


Mod pilih bit: M1 dan M0 adalah bit pilihan mod, yang digunakan untuk memilih operasi pemasa. Terdapat empat mod untuk mengendalikan pemasa.

Mod 0: Ini adalah mod 13-bit yang bermaksud operasi pemasa selesai dengan denyutan '8192'.

Mod 1: Ini adalah mod 16-bit, yang bermaksud operasi pemasa selesai dengan denyutan jam maksimum yang '65535'.

Mod 2: Mod ini adalah mod tambah semula automatik 8-bit, yang bermaksud operasi pemasa selesai dengan hanya denyutan jam '256'.

Mod 3: Mod ini adalah mod pemisah masa, yang bermaksud nilai pemuatan dalam T0 dan secara automatik memulakan T1.

Bit Pemilihan Mod

Bit Pemilihan Mod

Pemilihan mod Nilai pemasa dan pembilang pada tahun 8051

Nilai pemilihan mod pemasa dan pembilang

Nilai pemilihan mod pemasa dan pembilang

Timer Control Register (TCON): TCON adalah register lain yang digunakan untuk mengawal operasi pembilang dan pemasa dalam mikrokontroler. Ini adalah daftar 8-bit di mana empat bit atas bertanggungjawab untuk pemasa dan pembilang dan bit bawah bertanggungjawab untuk gangguan.

Daftar Kawalan Pemasa (TCON)

Daftar Kawalan Pemasa (TCON)

TF1: TF1 bermaksud bit bendera ‘timer1’. Setiap kali mengira kelewatan masa dalam pemasa1, TH1 dan TL1 mencapai nilai maksimum iaitu 'FFFF' secara automatik.

EX: sementara (TF1 == 1)

Bila-bila masa TF1 = 1, kosongkan bit bendera dan hentikan pemasa.

TR1: TR1 bermaksud timer1 start atau stop bit. Permulaan pemasa ini boleh dilakukan melalui arahan perisian atau melalui kaedah perkakasan.

EX: gate = 0 (pemasa permulaan 1 melalui arahan perisian)
TR1 = 1 (Pemasa permulaan)

TF0: TF0 bermaksud ‘timer0’ flag-bit. Setiap kali mengira kelewatan masa dalam pemasa1, TH0 dan TL0 mencapai nilai maksimum iaitu 'FFFF', secara automatik.

EX: sementara (TF0 == 1)
Bila-bila masa TF0 = 1, kosongkan bit bendera dan hentikan pemasa.

TR0: TR0 bermaksud ‘timer0’ start atau stop bit pemasa ini bermula melalui arahan perisian atau melalui kaedah perkakasan.

EX: gate = 0 (pemasa permulaan 1 melalui arahan perisian)
TR0 = 1 (Pemasa permulaan)

Pengiraan Kelewatan Masa untuk Mikrokontroler 8051

Mikrokontroler 8051 berfungsi dengan frekuensi 11.0592 MHz.

Frekuensi 11.0592MHz = 12 denyutan

Nadi 1 jam = 11.0592MHz / 12

F = 0.921 MHz

Kelewatan masa = 1 / F

T = 1 / 0.92MHz

T = 1.080506 kami (untuk kitaran ‘1’)

1000us = 1MS

1000ms = 1sec

Prosedur untuk Mengira Program Kelewatan

1. Mula-mula kita harus memuatkan nilai pendaftaran TMOD untuk ‘Timer0’ dan ‘Timer1’ dalam mod yang berbeza. Sebagai contoh, jika kita ingin mengoperasikan pemasa1 dalam modus1, ia mesti dikonfigurasikan sebagai “TMOD = 0x10”.

2. Setiap kali kita mengoperasikan pemasa dalam mod 1, pemasa mengambil denyutan maksimum 65535. Kemudian denyutan kelewatan masa yang dikira mesti dikurangkan dari denyutan maksimum, dan kemudian ditukar menjadi nilai heksadesimal. Nilai ini mesti dimuat dalam timer1 bit yang lebih tinggi dan bit yang lebih rendah. Operasi pemasa ini diprogramkan menggunakan tertanam C dalam mikrokontroler .

Contoh: Kelewatan masa 500us

500us / 1.080806us

461 denyutan

P = 65535-461

P = 65074

65074 didefinisikan oleh perpuluhan heksa = FE32

TH1 = 0xFE

TL1 = 0x32

3. Mulakan pemasa1 'TR1 = 1'

4. Pantau bit bendera 'sambil (TF1 == 1)'

5. Kosongkan bit bendera “TF1 = 0”

6. Kosongkan pemasa 'TR1 = 0'

Contoh Program:

Program- 1

Program- 1

Program- 2

Program- 2

Program- 3

Program- 3

Kaunter pada tahun 8051

Kita boleh menggunakan pembilang dengan menyimpan C / T sedikit tinggi, iaitu logik ‘1’ dalam daftar TMOD. Untuk pemahaman yang lebih baik, kami telah memberikan satu program yang menggunakan pemasa 1 sebagai pembilang. Di sini LED disambungkan ke 8051 Port 2, dan beralih ke timer1 pin P3.5 dan oleh itu, jika suis ditekan, nilainya akan dihitung. Jika tidak, sensor yang disambungkan secara luaran ke pin kaunter ini sebagai input melakukan operasi penghitungan ini.

Program Kaunter

Program Kaunter

Aplikasi Pemasa dan Pembilang pada tahun 8051

Kaunter Digital dengan 8051

Kaunter Digital dengan 8051 dicapai dengan memprogram mikrokontroler seperti yang dibincangkan di atas dan dengan melampirkan sistem sensor padanya. Kaunter objek ini menggunakan sensor IR yang mengesan halangan yang berdekatan dengannya dan juga membolehkannya pin pengawal mikro 06. Apabila suatu objek melewati sensor, maka mikrokontroler mendapat isyarat gangguan dari sensor IR dan meningkatkan jumlah yang ditunjukkan dalam paparan 7-segmen.

Kaunter Digital dengan 8051

Kaunter Digital dengan 8051

Litar kelewatan masa Menggunakan mikrokontroler 8051

Gambar di bawah menunjukkan bagaimana operasi pemasa dapat dilaksanakan untuk menukar LED dengan cara yang berkesan. Operasi penangguhan masa untuk set LED diprogramkan dalam mikrokontroler dengan cara yang dibincangkan di atas. Di sini, satu set LED disambungkan ke port 2 dengan sistem bekalan biasa. Apabila litar ini dihidupkan berdasarkan kelewatan masa program dalam mikrokontroler dengan betul, LED ini dihidupkan.

Litar kelewatan masa

Litar kelewatan masa

Ini semua berkaitan dengan pemasa mikrokontroler 8051 dan kaunter dengan litar pengaturcaraan dan aplikasi asas. Kami berharap maklumat artikel ini dapat memberi anda data yang mencukupi untuk memahami konsep dengan lebih baik. Selanjutnya, jika terdapat keraguan teknikal mengenai pengaturcaraan 8051 dan litarnya, anda boleh menghubungi kami dengan memberi komen di bawah.

Kredit Foto: