Thông tin tài liệu:
- Một bộ định thời (timer) là một chuỗi các Flip Flop(FF) với mỗi FF là một mạch chia.- Chuỗi này nhận một tín hiệu ngõ vào làm xung clock kích cho tầng đầu tiên, ngõ ra của tầng đầu lại trở thành nguồn xung clock cho tầng kế tiếp.
Nội dung trích xuất từ tài liệu:
Các chức năng của họ vi điều khiển MCS-51_chương 4Baøi giaûng VI XÖÛ LYÙ Chöông 4: Caùc chöùc naêng cuûa hoï MCS-51CHÖÔNG 4: CAÙC CHÖÙC NAÊNG CUÛA HOÏ VI ÑIEÀU KHIEÅN MCS-51I. TIMER1. Giôùi thieäu - Moät boä ñònh thôøi (timer) laø moät chuoãi caùc Flip Flop (FF) vôùi moãi FF laø moät maïch chia2. Chuoãi naøy nhaän moät tín hieäu ngoõ vaøo laøm xung clock kích cho taàng ñaàu tieân, ngoõ ra cuûa taàngñaàu laïi trôû thaønh nguoàn xung clock cho taàng keá tieáp. Ngoõ ra cuûa taàng cuoái cuøng laøm xung clockcho moät FF baùo traøn timer hay coøn goïi laø côø traøn (overflow flag). Côø traøn naøy seõ ñöôïc kieåm trabôûi phaàn meàm hay taïo ra moät ngaét (interrupt). Hình 4.1 minh hoïa moät timer ñôn giaûn 3-bit. - Giaù trò nhò phaân trong caùc FF cuûa timer ñöôïc duøng ñeå tính soá xung clock (soá chu kì) cuûatín hieäu ngoõ vaøo töø khi timer baét ñaàu ñeám. D /Q D /Q D /Q D /Q Flag Clock Q Q Q Q LSB MSB Hình 4.1 - 8051/8031 coù 2 timer 16 bit: + Timer 0: soá ñeám chöùa trong thanh ghi TH0 (byte cao) vaø TL0 (byte thaáp) + Timer 1: soá ñeám chöùa trong thanh ghi TH1 (byte cao) vaø TL1 (byte thaáp) Ngoaøi ra, caùc chip 8032/8052 coøn coù theâm timer 2. - Caùc timer chæ ñeám leân (0000H ÷ FFFFH). Khi soá ñeám traøn töø FFFFH xuoáng 0000H, côøtraøn seõ ñöôïc ñaët leân 1.2. Caùc thanh ghi cuûa timer: a. Thanh ghi cheá ñoä ñònh thôøi (TMOD): MSB LSB Gate C/T M1 M0 Gate C/T M1 M0 Timer 1 Timer 0 - Khoâng ñöôïc ñònh ñòa chæ bit. - Ñöôïc duøng ñeå ñònh cheá ñoä hoaït ñoäng cho caùc timer. - Chöùc naêng töøng bit: + M1, M0: choïn cheá ñoä hoaït ñoäng. M1 M0 Cheá ñoä (Mode) 0 0 0 0 1 1 1 0 2 1 1 3 + C / T : bit choïn chöùc naêng ñeám hoaëc ñònh thôøi cho timer. + Gate: bit ñieàu khieån coång cho boä ñònh thôøi.http://www.ebook.edu.vn 1Baøi giaûng VI XÖÛ LYÙ Chöông 4: Caùc chöùc naêng cuûa hoï MCS-51 b. Thanh ghi ñieàu khieån ñònh thôøi (TCON): MSB LSB TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Timer Interrupt - Chöùa caùc bit ñieàu khieån vaø traïng thaùi cuûa timer 0 vaø 1 ôû 4 bit cao, 4 bit thaáp ñöôïc duøngcho chöùc naêng ngaét (interrupt). - Ñöôïc ñònh ñòa chæ bit. - Chöùc naêng töøng bit: + TFx: côø traøn cuûa timer x (x laø 0 hay 1) + TRx = 0: khoâng cho pheùp timer chaïy. TRx = 1: cho pheùp timer chaïy.3. Ñieàu khieån caùc boä ñònh thôøi On-chip Osc. ÷12 TLx THx TFx 0: treân 0: treân Tx 1: döôùi 1: döôùi C/T TRx Gate 8051 INTx Hình 4.2 - C / T (Counter/Timer): + C / T = 0: timer nhaän xung clock töø boä dao ñoäng noäi (sau khi qua boä chia 12). → ÖÙng duïng: thöôøng duøng cho vieäc ñònh thôøi moät khoaûng thôøi gian (moãi soá ñeám töông öùng vôùi 1 chu kyø maùy). + C / T = 1: timer nhaän xung clock töø chaân Tx (P3.4 ñoái vôùi timer 0 vaø P3.5 ñoái vôùi timer 1). → ÖÙng duïng: thöôøng duøng ñeå ñeám söï kieän beân ngoaøi. Moãi söï kieän taïo ra moät xung kích vaøo chaân Tx (tích cöïc caïnh xuoáng). Soá caùc söï kieän ñöôïc xaùc ñònh trong phaàn meàm baèng caùch ñoïc caùc thanh ghi ñònh thôøi (THx/TLx), giaù trò 16-bit trong caùc thanh ghi naøy taê ...