Bài giảng Vi điều khiển: Phần 2 - ĐH Phạm Văn Đồng
Số trang: 48
Loại file: pdf
Dung lượng: 1.87 MB
Lượt xem: 18
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
(NB) Bài giảng Vi điều khiển: Phần 2 cung cấp cho người học các kiến thức: khảo sát timer-counter của vi điều khiển, khảo sát ngắt của vi điều khiển, lập trình hợp ngữ cho vi điều khiển MCS51.
Nội dung trích xuất từ tài liệu:
Bài giảng Vi điều khiển: Phần 2 - ĐH Phạm Văn Đồng Chương 5: KHẢO SÁT TIMER - COUNTER CỦA VI ĐIỀU KHIỂN5.1 Giới thiệu5.1.1 Cấu tạo của Bộ đếm/định thời 8051 có 02 Bộ đếm/Bộ định thời là Timer/Counter0 và Timer/Counter1, tagọi chung là Timer/Counterx. Bộ Timer/Counterx là một loại ngoại vi của 8051được thiết kế để thực hiện một nhiệm vụ đơn giản: đếm các xung nhịp (Pulse Input).Mỗi khi có thêm một xung nhịp tại đầu vào đếm thì giá trị của Bộ đếm sẽ được tănglên 01 đơn vị (trong chế độ đếm tiến/đếm lên) hay giảm đi 01 đơn vị (trong chế độđếm lùi/đếm xuống). Hình 5.1 - Sơ đồ khối tổng quan của Bộ đếm/ định thời Xung nhịp đưa vào đếm có thể là một trong hai loại: - Xung nhịp bên trong IC: Đó là xung nhịp được tạo ra nhờ kết hợp mạch dao động bên trong IC và thạch anh bên ngoài nối với IC. Trong trường hợp sử dụng xung nhịp loại này, người ta gọi là các Bộ định thời (Timers). Do xung nhịp bên loại này thường đều đặn nên ta có thể dùng để đếm thời gian một cách khá chính xác. - Xung nhịp bên ngoài IC: Đó là các tín hiệu logic thay đổi giữa hai mức tín hiệu 0 - 1 và không nhất thiết phải là đều đặn từ các sự kiện bên ngoài vi điều khiển. Trong trường hợp này người ta gọi là các Bộ đếm (Counters). 705.1.2 Hoạt động của Bộ đếm/định thời Hoạt động của Bộ đếm/định thời như sau: mỗi một xung đưa vào (PulseInput), thanh ghi 16 bit THxTLx (ghép từ hai thanh ghi 8 bit THx, TLx) sẽ tăng(hoặc giảm) một giá trị cho đến khi xảy ra hiện tượng tràn, khi đó cờ TFx sẽ đượcbật lên. Sự kiện “tràn” (overflow) được hiểu là sự kiện Bộ đếm đếm vượt quá giá trịtối đa mà nó có thể biểu diễn và quay trở về giá trị 0 (Hình 5.2). Với Bộ đếm 8 bit,giá trị tối đa là 255 (tương đương với FF trong hệ Hexa) với Bộ đếm 16 bit là 65535(FFFFH). Trong phần mềm, căn cứ vào cờ TFx được bật lên, có thể biết được Bộđếm đã đếm hết một chu kỳ (một khoảng thời gian). Hình 5.2 - Một chu trình đếm của Timer0 Các giá trị đếm được của Timer/Counter T0 thì lưu trong 2 thanh ghi TH0 vàTL0 – mỗi thanh ghi 8 bit kết hợp lại thành 16 bit. Tương tự, các giá trị đếm được của Timer/Counter T1 thì lưu trong 2 thanhghi TH1 và TL1 – mỗi thanh ghi 8 bit kết hợp lại thành 16 bit. Bộ đếm/định thời được lựa chọn hay hoạt động ở chế độ nào là do việc thiếtđặt trong các thanh ghi chức năng đặc biệt SFR (Special Function Registers) TCONvà TMOD mà ta sẽ xét trong phần 5.2 và 5.3.5.1.3 Ứng dụng của Bộ đếm/định thời Ứng dụng phổ biến của các Bộ đếm là dùng để thiết kế các ứng dụng đếm sựkiện xảy ra bên ngoài vi điều khiển như đếm các sản phẩm chạy trên băng chuyền,đếm xe ra/vào kho bãi, đếm khách ra vào siêu thị, trung tâm thương mại… (a) (b) 71 Cảm biến Bảng Led (c) Hình 5.3 - Các ứng dụng tiêu biểu của Bộ đếm (a) - Máy đếm sản phẩm c hạy trên băng chuyền; (b) - Bộ đếm khách ra vào trung tâm thương mại; (c) – Bảng Led kết hợp với bộ đếm hiển thị số lượng chỗ đậu xe còn trống trong bãi. Bộ định thời được sử dụng trong hầu hết các ứng dụng của Vi điều khiển, từviệc tạo ra các hàm trễ (delay), cho đến việc tạo ra các giá trị baudrate cho truyềnthông nối tiếp (Serial Communication). Tuy nhiên, ứng dụng phổ biến nhất của Bộđịnh thời là điều chế độ rộng xung PWM (Pulse Width Modulation). Đây là mộtchức năng quan trọng của Vi điều khiển trong rất nhiều ứng dụng: điều khiển tốc độđộng cơ, điều khiển góc quay động cơ Servo, thiết kế các bộ nguồn ổn áp xung… (a) (b) Hình 5.4 - Các ứng dụng tiêu biểu của Bộ định thời (a) - Bộ định thời đếm ngược trong đèn giao thông; (b) - Chỉnh góc quay servo theo PWM 725.2 Thanh ghi chọn chế kiểu làm việc cho Timer Thanh ghi TMOD (TIMER MODE) là thanh ghi 8 bit, chỉ có thể truy xuấtBYTE dùng để xác định chế độ hoạt động của Timer. Nó gồm hai nhóm 4 bit: 4 bitthấp (0 - 3) dùng để thiết lập các chế độ hoạt động cho Timer 0 và 4 bit cao (4 – 7)thiết lập các chế độ hoạt động cho Timer 1. Hình 5.5 - Thanh ghi TMOD Bảng 5.1 - Bảng tóm tắt các bit trong thanh ghi TMODBit Kí hiệu Timer Chức năng Nếu GATE = 1 thì Timer 1 chỉ làm việc khi chân INT1 hay 7 GATE 1 P3.3 ở mức cao Bit lựa chọn Counter hay Timer: 6 C/T 1 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Vi điều khiển: Phần 2 - ĐH Phạm Văn Đồng Chương 5: KHẢO SÁT TIMER - COUNTER CỦA VI ĐIỀU KHIỂN5.1 Giới thiệu5.1.1 Cấu tạo của Bộ đếm/định thời 8051 có 02 Bộ đếm/Bộ định thời là Timer/Counter0 và Timer/Counter1, tagọi chung là Timer/Counterx. Bộ Timer/Counterx là một loại ngoại vi của 8051được thiết kế để thực hiện một nhiệm vụ đơn giản: đếm các xung nhịp (Pulse Input).Mỗi khi có thêm một xung nhịp tại đầu vào đếm thì giá trị của Bộ đếm sẽ được tănglên 01 đơn vị (trong chế độ đếm tiến/đếm lên) hay giảm đi 01 đơn vị (trong chế độđếm lùi/đếm xuống). Hình 5.1 - Sơ đồ khối tổng quan của Bộ đếm/ định thời Xung nhịp đưa vào đếm có thể là một trong hai loại: - Xung nhịp bên trong IC: Đó là xung nhịp được tạo ra nhờ kết hợp mạch dao động bên trong IC và thạch anh bên ngoài nối với IC. Trong trường hợp sử dụng xung nhịp loại này, người ta gọi là các Bộ định thời (Timers). Do xung nhịp bên loại này thường đều đặn nên ta có thể dùng để đếm thời gian một cách khá chính xác. - Xung nhịp bên ngoài IC: Đó là các tín hiệu logic thay đổi giữa hai mức tín hiệu 0 - 1 và không nhất thiết phải là đều đặn từ các sự kiện bên ngoài vi điều khiển. Trong trường hợp này người ta gọi là các Bộ đếm (Counters). 705.1.2 Hoạt động của Bộ đếm/định thời Hoạt động của Bộ đếm/định thời như sau: mỗi một xung đưa vào (PulseInput), thanh ghi 16 bit THxTLx (ghép từ hai thanh ghi 8 bit THx, TLx) sẽ tăng(hoặc giảm) một giá trị cho đến khi xảy ra hiện tượng tràn, khi đó cờ TFx sẽ đượcbật lên. Sự kiện “tràn” (overflow) được hiểu là sự kiện Bộ đếm đếm vượt quá giá trịtối đa mà nó có thể biểu diễn và quay trở về giá trị 0 (Hình 5.2). Với Bộ đếm 8 bit,giá trị tối đa là 255 (tương đương với FF trong hệ Hexa) với Bộ đếm 16 bit là 65535(FFFFH). Trong phần mềm, căn cứ vào cờ TFx được bật lên, có thể biết được Bộđếm đã đếm hết một chu kỳ (một khoảng thời gian). Hình 5.2 - Một chu trình đếm của Timer0 Các giá trị đếm được của Timer/Counter T0 thì lưu trong 2 thanh ghi TH0 vàTL0 – mỗi thanh ghi 8 bit kết hợp lại thành 16 bit. Tương tự, các giá trị đếm được của Timer/Counter T1 thì lưu trong 2 thanhghi TH1 và TL1 – mỗi thanh ghi 8 bit kết hợp lại thành 16 bit. Bộ đếm/định thời được lựa chọn hay hoạt động ở chế độ nào là do việc thiếtđặt trong các thanh ghi chức năng đặc biệt SFR (Special Function Registers) TCONvà TMOD mà ta sẽ xét trong phần 5.2 và 5.3.5.1.3 Ứng dụng của Bộ đếm/định thời Ứng dụng phổ biến của các Bộ đếm là dùng để thiết kế các ứng dụng đếm sựkiện xảy ra bên ngoài vi điều khiển như đếm các sản phẩm chạy trên băng chuyền,đếm xe ra/vào kho bãi, đếm khách ra vào siêu thị, trung tâm thương mại… (a) (b) 71 Cảm biến Bảng Led (c) Hình 5.3 - Các ứng dụng tiêu biểu của Bộ đếm (a) - Máy đếm sản phẩm c hạy trên băng chuyền; (b) - Bộ đếm khách ra vào trung tâm thương mại; (c) – Bảng Led kết hợp với bộ đếm hiển thị số lượng chỗ đậu xe còn trống trong bãi. Bộ định thời được sử dụng trong hầu hết các ứng dụng của Vi điều khiển, từviệc tạo ra các hàm trễ (delay), cho đến việc tạo ra các giá trị baudrate cho truyềnthông nối tiếp (Serial Communication). Tuy nhiên, ứng dụng phổ biến nhất của Bộđịnh thời là điều chế độ rộng xung PWM (Pulse Width Modulation). Đây là mộtchức năng quan trọng của Vi điều khiển trong rất nhiều ứng dụng: điều khiển tốc độđộng cơ, điều khiển góc quay động cơ Servo, thiết kế các bộ nguồn ổn áp xung… (a) (b) Hình 5.4 - Các ứng dụng tiêu biểu của Bộ định thời (a) - Bộ định thời đếm ngược trong đèn giao thông; (b) - Chỉnh góc quay servo theo PWM 725.2 Thanh ghi chọn chế kiểu làm việc cho Timer Thanh ghi TMOD (TIMER MODE) là thanh ghi 8 bit, chỉ có thể truy xuấtBYTE dùng để xác định chế độ hoạt động của Timer. Nó gồm hai nhóm 4 bit: 4 bitthấp (0 - 3) dùng để thiết lập các chế độ hoạt động cho Timer 0 và 4 bit cao (4 – 7)thiết lập các chế độ hoạt động cho Timer 1. Hình 5.5 - Thanh ghi TMOD Bảng 5.1 - Bảng tóm tắt các bit trong thanh ghi TMODBit Kí hiệu Timer Chức năng Nếu GATE = 1 thì Timer 1 chỉ làm việc khi chân INT1 hay 7 GATE 1 P3.3 ở mức cao Bit lựa chọn Counter hay Timer: 6 C/T 1 ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Vi điều khiển Vi điều khiển Cấu trúc của chương trình hợp ngữ Các chỉ dẫn cho Assembler Điều khiển các Timer đếmTài liệu liên quan:
-
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 283 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 185 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 155 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 142 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 120 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 118 0 0 -
Giáo trình Kỹ thuật vi điều khiển
121 trang 113 0 0 -
Tài liệu thực hành Vi điều khiển 8051
55 trang 106 0 0 -
Đồ án vi xử lý đề tài : nghiên cứu thiết kế mạch đo khoảng cách sử dụng vi điều khiển Pic 16F887
45 trang 97 1 0 -
Luận văn: Xây dựng mô hình điều khiển động cơ DC servo bằng vi điều khiển
85 trang 96 0 0