intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Vi điều khiển 8051 - Bài 9: Các bộ định thời của 8051

Chia sẻ: _ _ | Ngày: | Loại File: PPT | Số trang:15

2
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Vi điều khiển 8051 - Bài 9: Các bộ định thời của 8051 gồm có những nội dung chính sau: Các bộ định thờ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ế độ, nguồn clock cho bộ định thời là sys_clock/12. Mời các bạn cùng tham khảo để biết thêm nội dung chi tiết!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Vi điều khiển 8051 - Bài 9: 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ế độ: – 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
  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 thanh ghi khác • Mov TL0, #55H, • Mov R1, TH0 • 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 • Gate-Điều khiển cổng (cách khởi tạo và dừng bộ định thời) – 0 → cổng mềm (bit TRx ở thanh ghi TCON) – 1 → cổng cứng (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ộ định thời 16 bit) – 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à 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. Khởi động bộ định thời 4. Duy trì kiểm tra cờ TFx (jnb TFx, đích) 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 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ụ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 tràn thì ngắt được tạo ra • Cho phép ngắt và sau đó khởi động bộ định thời • ISR xoá tự động cờ TFx
  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 – 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 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 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)
  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á trị ở TH – 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ác bộ định thời của 8051 có thể làm việc như các bộ đếm – Bit C/T ở thanh ghi TMOD phải là 1 để bộ đếm hoạt độ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 • 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ị giá trị của bộ đếm trên cổng P2. Bộ đếm làm việc ở chế độ 2
  14. Cổng bên ngoài • Cổng bên ngoài cung cấp khả năng điều khiển bộ định 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 – Chân P3.2 (INT0) cho Timer0 – Chân P3.3 (INT1) cho Timer1 • Với GATE=1, Timer được phép nếu – 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2