Các bộ định thời của 8051

Chia sẻ: Khinh Kha Kha | Ngày: | Loại File: PDF | Số trang:15

0
139
lượt xem
41
download

Các bộ định thời của 8051

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

8051 có hai bộ đếm 16 bit T0 và T1 • Các bộ định thời của 8051 có thể hoạt động theo một vài chế độ ột ài hế độ: – Chế độ của bộ định thời được điều khiển bởi thanh ghi TMOD – Các bộ định thời bị điều khiển bởi thanh ghi TCON (4 ề ể bit cao) • Nguồn clock cho bộ định thời là sys_clock/12 g ộ ị y Các thanh ghi của bộ định thời • Mỗi bộ định thời của 8051 có 2 thanh ghi 8 bit • Các thanh ghi của bộ định thời 0 –...

Chủ đề:
Lưu

Nội dung Text: Các bộ định thời của 8051

  1. Các bộ định thời của 8051 Bài 9 Bộ môn TĐ Khoa KTĐK
  2. Giới thiệu • Các bộ định thời ộ ị – Các thiết bị thời gian: Tạo thời gian giữ chậm xác định – Bộ đếm sự kiện: Đếm số lần xảy ra sự kiện (bên ngoài) • 8051 có hai bộ đếm 16 bit T0 và T1 • Các bộ định thời của 8051 có thể hoạt động theo một vài chế độ ột ài hế độ: – Chế độ của bộ định thời được điều khiển bởi thanh ghi TMOD – Các bộ định thời bị điều khiển bởi thanh ghi TCON (4 ề ể bit cao) • Nguồn clock cho bộ định thời là sys_clock/12 g ộ ị y
  3. Các thanh ghi của bộ định thời • Mỗi bộ định thời của 8051 có 2 thanh ghi 8 bit • Các thanh ghi của bộ định thời 0 – TL0 và TH0 –ĐĐược truy cập giống như các th h ghi khá t ậ iố h á thanh hi khác • Mov TL0, #55H, • Mov R1, TH0 R1 • Các thanh ghi của bộ định thời 1 – TL1 và TH1 à
  4. Bộ định thời của 8051: Thanh ghi TMOD hi • Gate-Điều khiển cổng ( g (cách khởi tạo và dừng bộ định g thời) – 0 → cổng mềm (bit TRx ở thanh ghi TCON) – 1 → cổng cứng ( g g (Chân INTx)) • C/T-Hoạt động của Counter/Timer – 0 → Hoạt động của bộ định thời (clock là sysclk/12) – 1 → Hoạt động của bộ đếm (clock là chân T0 hoặc T1) • M1:M0-Điều khiển chế độ – 00 → Mode 0 (bộ định thời 13 bit) – 01 → Mode 1(bộ đị h thời 16 bit) M d định – 10 → Mode 2 (bộ định thời 8 bit, tự động nạp lại) – 11 → Mode 3 (tách bộ định thời)
  5. Bộ định thời – Mode 1 • Bộ định thời 16 bit ộ ị – Nạp vào bộ định thời một số và thiết lập TR để bắt đầu đếm – Khi bộ đếm quay về 0x0000 nó sẽ thiết lập cờ TF và 0x0000, gây ra ngắt TF nếu được phép
  6. Bộ định thời – Mode 1 • Thuật toán ậ 1. Nạp thanh ghi TMOD để đặt chế độ 2. Nạp giá trị đếm ban đầu vào TLx và THx 3. 3 Khởi độ bộ đị h thời động định hời 4. Duy trì kiểm tra cờ TFx (jnb TFx, đích) 5. 5 Dừng bộ định thời (clr TRx) và xoá cờ TFx 6. Quay lại bước 2 để nạp lại • Thời gian t ễ ờ g a trễ – Thời gian trễ = (65536-giá trị ban đầu)*chu kỳ clock • Thay cho phương pháp dò cờ TFx, một ISR có thể đ được sử d ử dụng
  7. Bộ định thời – Ví dụ ở Mode 1 • Tạo một sóng vuông với hệ số lấp đầy 50% trên P1.5 với Timer0
  8. Các bộ định thời và các ngắt • Khi bộ định thời TF1 hoặc TF0 g tràn thì ngắt được tạo ra • Cho phép ngắt p p g và sau đó khởi động bộ định thời • ISR xoá tự động ờ TFx độ cờ TF
  9. Bộ định thời để đo thời gian • Bộ định thời được sử dụng để đo thời gian trôi qua – Hữu ích cho các nhiệm vụ thông thương h – Không chính xác như RTC (đồng hồ thời gian thực) nhưng rẻ • Clock của bộ định thời bằng 1/12 ộ ị g clock của 8051 – Chu kỳ thời gian cho một lần đếm là 1,085µs – Thời gian tiêu tốn cho việc đếm đén khi tràn (quay về 0) là • Số lần đếm x 1,085µs • Ví dụ: Bộ định thời được nạp giá trị 0xFFF2 – Số lần đếm đến khi vòng về 0 là 0XFFFF-0xFFF2+1 =14 – Thời gian tiêu tốn là: 14 x 1,085µs
  10. Bộ định thời để đo thời gian • Cách tính giá trị nạp ban đầu để có được thời g ị ạp ợ gian giữ chậm yêu cầu T? ầ – Chia T cho 1,085µs để được n (giả thiết tần số thạch anh là 11,0592 MHz) , ) – Tìm m=65536-n – Chuyển m sang số hex, m=0xUUVV – Nạp TH← 0xUU và TL ← 0xVV • Để có thời gian giữ chậm lâu hơn? – Tổ chức một vòng lặp – Thêm vào một số lệnh (nop), trước khi cho phép bộ định thời làm việc lại – Đưa ra RTC (đồng hồ thời gian thực) ( g g ự )
  11. Bộ định thời: Các chế độ khác • Chế độ 0 – Giống như chế độ 1 nhưng nó là bộ định thời 13 bit – Thứ từ đếm từ 0x0000 tới 0x1FFF • Chế độ 2 – Bộ định thời 8 bit với khả năng tự nạp lại – Nạp giá trị đếm vào TH và cho phép bộ định thời làm việc – 8051 nạp vào TL giá t ị ở TH à iá trị – Khi TL quay vòng về 0x00, bộ định thời dựng cờ TF (và ngắt) – Sau khi cờ TF bị xoá bởi ISR/lệnh, TL được nạp lại từ động giá trị ở TH và lặp lại quá trình trước – Được sử dụng trong truyền thông nối tiếp để tạo tốc độ baud
  12. Các bộ định thời là bộ đếm • Bộ định thời đếm số lần một sự kiện thực tế xuất ộ ị ộ ự ệ ự hiện – Có bao nhiêu số 1 trong luồng bit – Có bao nhiêu người đi qua của … • Các bộ đếm tăng số đếm khi chúng nhận một tín hiệu (đếm xung) • C bộ định thời của 8051 có thể làm việc như Các ủ ể các bộ đếm – Bit C/T ở thanh g TMOD p ả là 1 để bộ đếm hoạt C/ a ghi O phải à đế oạ động – 2 chân ngoài của 8051 nhận các xung đếm • P3.4 (T0, chân 14): Xung đếm bên ngoài của Timer0 ( , ) g g • P3.5 (T1, chân 15): Xung đếm bên ngoài của Timer1
  13. Ví dụ về bộ đếm • Đếm xung ở chân T1 (P3.5) và hiển thị g trị của g ( ) ị giá ị bộ đếm trên cổng P2. Bộ đếm làm việc ở chế độ 2
  14. Cổng bê Cổ bên ngoài ài • Cổng bên ngoài cung cấp khả năng điều khiển bộ định g g g p g thời cùng với một thiết bị bên ngoài – Các nut ấn có thể được sử dụng để cho phép hoặc không cho phép bộ đếm – Nút dừng trong một clock cơ sở của 8051 • Thiết lập GATE=1 ở TMOD, sau đó bộ định thời có thể được điều khiển từ bên ngoài ợ g – Chân P3.2 (INT0) cho Timer0 – Chân P3.3 (INT1) cho Timer1 • Với GATE=1 Timer được phép nếu GATE=1, – TRx được thiết lập bởi phần mềm (setb TR0) – AND, INT0 (chân P3.2) phải được kéo lên cao bởi phần cứng
Đồng bộ tài khoản