Giáo trình Lập trình vi điều khiển (Nghề: Cơ điện tử): Phần 2 - Trường CĐ Nghề Kỹ thuật Công nghệ
Số trang: 60
Loại file: pdf
Dung lượng: 1.81 MB
Lượt xem: 14
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
(NB) Tiếp nội dung phần 1, Giáo trình Lập trình vi điều khiển (Nghề: Cơ điện tử): Phần 2 cung cấp cho người học những kiến thức như: Bộ định thời; cổng nối tiếp; ngắt. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình vi điều khiển (Nghề: Cơ điện tử): Phần 2 - Trường CĐ Nghề Kỹ thuật Công nghệ 86 BÀI 4: BỘ ĐỊNH THỜI Mã bài: MĐ CĐT32-04 Giới thiệu: Trong quá trình viết chương trình dùng vi điều khiển để vận hành một hệ thống thì việc khởi tạo và đọc đúng bộ định thời là một vấn đề quan trọng. Việc hiểu và sử dụng đúng chức năng của bộ timer là một yêu cầu cấp thiết trong việc lập trình cho vi điều khiển. Trong bài 4, chúng ta đi vào tìm hiểu cách thức khởi tạo và sử dụng bộ đinh thời của vi điều khiển. Mục tiêu: - Trình bày cấu tạo và các chế độ làm việc của bộ định thời 8051 theo nội dung đã học; - Thực hiện khởi tạo bộ nhớ đúng yêu cầu kỹ thuật; - Thực hiện đọc bộ định thời trong khi hoạt động đúng yêu cầu kỹ thuật; - Thực hiện lập trình điều khiển dùng bộ định thời đúng yêu cầu kỹ thuật; - Chủ động, sáng tạo và an toàn trong quá trình học tập. Nội dung chính: 1. Mở đầu Một bộ định thời là một chuỗi các flipflop với mỗi flipflop là một mạch chia hai,chuỗi này nhận một tín hiệu ngõ vào làm nguồn xung clock.Xung clock đặt vào flipflop thứ nhất flipflop này chia đơi tần số xung clock. Ngõ ra của flipflop thứ nhất trở thành nguồn xung clock cho flipflop thứ hai,nguồn xung clock này cũng được chia cho 2,v.v..Vì mỗi một tần kế tiếp nhau đều chia cho 2 nên bộ định thời có n tầng sẽ chia tần số xung clock ở ngõ vào của bộ này cho 2. Ngõ ra của tần cuối cùng làm xung clock cho một flipflop báo tràn bộ định thời hay còngọi là cờ tràn (overflow flag),cờ tràn này được kiểm tra bởi phần mềm hoặc tạo ra một bộ ngắt.Giá trị nhị phân trong các flipflop của bộ định thời là số đếm của các xung clock từ bộ định thời bắt đầu đếm. Ví dụ một bộ định thời 16bit sẽ đếm từ 0000H đến FFFH.Cờ tràn được set bằng 1 khi xảy ra tràn số đếm từ FFFFH xuống 0000H. Hoạt động của Timer 3 bit đơn giản được minh họa như sau: 87 Hình 4.1. Hoạt động của Timer 3 bit Hoạt động của một bộ định thời đơn giản được minh họa trong hình bên trên (hình 4.1),bộ định thời 3 bit. Mỗi một tầng là một D-FF kích khởi cạnh âm hoạt động như một mạch chia cho 2 do ta nối ngõ ra Q đảo với ngõ vào D. Flipflop cờ đơn giản là một mạch chốt D được set bằng 1 bởi tầng cuối của bộ định thời. Giản đồ thời gian ở hình trên cho thấy tầng thứ nhất (Q0 ) chia hai tần số xung clock, tầng thứ hai chia 4 tần số xung clock và v.v… Số đếm (count) được ghi ở dạng thập phân và được kiểm tra dễ dàng bằng cách khảo sát trạng thái của 3 flipflop.Ví dụ: Số đếm là 4 xuất hiện khi Q2=1, Q1=0 và Q0=0(410=1002). Các flip flop ở hình trên là các flipflop tác động cạnh âm (nghĩa là ngõ ra Q của các flip flop đổi trạng thái theo cạnh âm của xung clock). Khi số đếm tràn từ 1112 xuống 0002,ngõ ra Q2 có cạnh âm (1 hay 0) làm cho trạng thái của flip flop cờ đổi từ 0 lên 1(ngõ vào D của flipflop này luôn luôn ở logic 1). Bộ định thời được sử dụng trong hầu hết các ứng dụng hướng điều khiển và 8051 với các bộ định thời trên chip không phải là trường hợp ngoại lệ. 8051 có hai bộ 88 định thời 16 bit, mỗi bộ có 4 chế độ hoạt động. Bộ định thời thứ 3 với ba chế độ hoạt động được thêm vào đối với chip 8051.Các bộ định thời được dùng để: Định thời trong một khoảng thời gian. Đếm sự kiện. Tạo tốc độ baud cho port nối tiếp của chip 8051. Với bộ định thời 16 bit, tầng cuối cùng (tầng thứ 16)chia tần số xung clock của ngõ vào của bộ định thời cho 216=65536. Trong các ứng dụng định thời trong một khoảng thời gian, bộ định thời được lập trình sao cho sẽ tràn sau một khoảng thời gian quy định và set cờ tràn của bộ định thời bằng 1. Cờ tràn được sử dụng để đồng bộ chương trình nhằm thực hiện một công việc như là kiểm tra trạng thái của các ngõ nhập hoặc gửi dữ liệu đến các ngõ xuất. Các ứng dụng khác có thể sử dụng xung clock của bộ định thời để đo khoảng thời gian giữa hai sự kiện (Ví dụ: đo độ rộng xung). Việc đếm sự kiện được dùng để xác định số lần xuất hiện của một sự kiện hơn là đo thời gian của các sự kiện.Từ “sự kiện” là một kích thích bên ngoài cung cấp một chuyển trạng thái từ 1 xuống 0 tới một chân của chip 8051. Các bộ định thời cũng có thể cung cấp xung clock tốc độ baud cho port nối tiếp bên trong 8051. Các bộ định thời 8051 được truy xuất bằng cách sử dụng 6 thanh ghi chức năng đặc biệt.Với bộ định thời thứ 3 của chip 8052, ta có thêm 5 thanh ghi chức năng đặc biệt nữa để truy xuất bộ định thời này. SFR của bộ Mục đích Địa chỉ Định địa định thời chỉ TCON Điều khiển 88H Có TMOD Chọn chế độ 89H Không TL0 Byte thấp của bộ định thời 0 8AH Không TL1 Byte thấp của bộ định thời 1 8BH Không TH0 Byte cao của bộ định thời 0 8CH Không TH1 Byte cao của bộ định thời 1 8DH Không T2CON Điều khiển bộ định thời 2 C8H Có RCAP2H Nhận byte thấp của bộ định thời 2 CAH Không RCAP2L Nhận byte cao của bộ định thời 2 CBH Không TL2 Byte thấp của bộ định thời 2 CCH Không TH2 Byte cao của bộ định thời 2 CDH Không 89 2. Thanh ghi SFR của timer - Thanh ghi chế độ định thời (TMOD). Thanh ghi TMOD (timer mode register) chứa hai nhóm 4 bit dùng để thiết lập chế độ hoạt động cho bộ định thời 0 và bộ định thời 1.TMOD không đư ...
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình vi điều khiển (Nghề: Cơ điện tử): Phần 2 - Trường CĐ Nghề Kỹ thuật Công nghệ 86 BÀI 4: BỘ ĐỊNH THỜI Mã bài: MĐ CĐT32-04 Giới thiệu: Trong quá trình viết chương trình dùng vi điều khiển để vận hành một hệ thống thì việc khởi tạo và đọc đúng bộ định thời là một vấn đề quan trọng. Việc hiểu và sử dụng đúng chức năng của bộ timer là một yêu cầu cấp thiết trong việc lập trình cho vi điều khiển. Trong bài 4, chúng ta đi vào tìm hiểu cách thức khởi tạo và sử dụng bộ đinh thời của vi điều khiển. Mục tiêu: - Trình bày cấu tạo và các chế độ làm việc của bộ định thời 8051 theo nội dung đã học; - Thực hiện khởi tạo bộ nhớ đúng yêu cầu kỹ thuật; - Thực hiện đọc bộ định thời trong khi hoạt động đúng yêu cầu kỹ thuật; - Thực hiện lập trình điều khiển dùng bộ định thời đúng yêu cầu kỹ thuật; - Chủ động, sáng tạo và an toàn trong quá trình học tập. Nội dung chính: 1. Mở đầu Một bộ định thời là một chuỗi các flipflop với mỗi flipflop là một mạch chia hai,chuỗi này nhận một tín hiệu ngõ vào làm nguồn xung clock.Xung clock đặt vào flipflop thứ nhất flipflop này chia đơi tần số xung clock. Ngõ ra của flipflop thứ nhất trở thành nguồn xung clock cho flipflop thứ hai,nguồn xung clock này cũng được chia cho 2,v.v..Vì mỗi một tần kế tiếp nhau đều chia cho 2 nên bộ định thời có n tầng sẽ chia tần số xung clock ở ngõ vào của bộ này cho 2. Ngõ ra của tần cuối cùng làm xung clock cho một flipflop báo tràn bộ định thời hay còngọi là cờ tràn (overflow flag),cờ tràn này được kiểm tra bởi phần mềm hoặc tạo ra một bộ ngắt.Giá trị nhị phân trong các flipflop của bộ định thời là số đếm của các xung clock từ bộ định thời bắt đầu đếm. Ví dụ một bộ định thời 16bit sẽ đếm từ 0000H đến FFFH.Cờ tràn được set bằng 1 khi xảy ra tràn số đếm từ FFFFH xuống 0000H. Hoạt động của Timer 3 bit đơn giản được minh họa như sau: 87 Hình 4.1. Hoạt động của Timer 3 bit Hoạt động của một bộ định thời đơn giản được minh họa trong hình bên trên (hình 4.1),bộ định thời 3 bit. Mỗi một tầng là một D-FF kích khởi cạnh âm hoạt động như một mạch chia cho 2 do ta nối ngõ ra Q đảo với ngõ vào D. Flipflop cờ đơn giản là một mạch chốt D được set bằng 1 bởi tầng cuối của bộ định thời. Giản đồ thời gian ở hình trên cho thấy tầng thứ nhất (Q0 ) chia hai tần số xung clock, tầng thứ hai chia 4 tần số xung clock và v.v… Số đếm (count) được ghi ở dạng thập phân và được kiểm tra dễ dàng bằng cách khảo sát trạng thái của 3 flipflop.Ví dụ: Số đếm là 4 xuất hiện khi Q2=1, Q1=0 và Q0=0(410=1002). Các flip flop ở hình trên là các flipflop tác động cạnh âm (nghĩa là ngõ ra Q của các flip flop đổi trạng thái theo cạnh âm của xung clock). Khi số đếm tràn từ 1112 xuống 0002,ngõ ra Q2 có cạnh âm (1 hay 0) làm cho trạng thái của flip flop cờ đổi từ 0 lên 1(ngõ vào D của flipflop này luôn luôn ở logic 1). Bộ định thời được sử dụng trong hầu hết các ứng dụng hướng điều khiển và 8051 với các bộ định thời trên chip không phải là trường hợp ngoại lệ. 8051 có hai bộ 88 định thời 16 bit, mỗi bộ có 4 chế độ hoạt động. Bộ định thời thứ 3 với ba chế độ hoạt động được thêm vào đối với chip 8051.Các bộ định thời được dùng để: Định thời trong một khoảng thời gian. Đếm sự kiện. Tạo tốc độ baud cho port nối tiếp của chip 8051. Với bộ định thời 16 bit, tầng cuối cùng (tầng thứ 16)chia tần số xung clock của ngõ vào của bộ định thời cho 216=65536. Trong các ứng dụng định thời trong một khoảng thời gian, bộ định thời được lập trình sao cho sẽ tràn sau một khoảng thời gian quy định và set cờ tràn của bộ định thời bằng 1. Cờ tràn được sử dụng để đồng bộ chương trình nhằm thực hiện một công việc như là kiểm tra trạng thái của các ngõ nhập hoặc gửi dữ liệu đến các ngõ xuất. Các ứng dụng khác có thể sử dụng xung clock của bộ định thời để đo khoảng thời gian giữa hai sự kiện (Ví dụ: đo độ rộng xung). Việc đếm sự kiện được dùng để xác định số lần xuất hiện của một sự kiện hơn là đo thời gian của các sự kiện.Từ “sự kiện” là một kích thích bên ngoài cung cấp một chuyển trạng thái từ 1 xuống 0 tới một chân của chip 8051. Các bộ định thời cũng có thể cung cấp xung clock tốc độ baud cho port nối tiếp bên trong 8051. Các bộ định thời 8051 được truy xuất bằng cách sử dụng 6 thanh ghi chức năng đặc biệt.Với bộ định thời thứ 3 của chip 8052, ta có thêm 5 thanh ghi chức năng đặc biệt nữa để truy xuất bộ định thời này. SFR của bộ Mục đích Địa chỉ Định địa định thời chỉ TCON Điều khiển 88H Có TMOD Chọn chế độ 89H Không TL0 Byte thấp của bộ định thời 0 8AH Không TL1 Byte thấp của bộ định thời 1 8BH Không TH0 Byte cao của bộ định thời 0 8CH Không TH1 Byte cao của bộ định thời 1 8DH Không T2CON Điều khiển bộ định thời 2 C8H Có RCAP2H Nhận byte thấp của bộ định thời 2 CAH Không RCAP2L Nhận byte cao của bộ định thời 2 CBH Không TL2 Byte thấp của bộ định thời 2 CCH Không TH2 Byte cao của bộ định thời 2 CDH Không 89 2. Thanh ghi SFR của timer - Thanh ghi chế độ định thời (TMOD). Thanh ghi TMOD (timer mode register) chứa hai nhóm 4 bit dùng để thiết lập chế độ hoạt động cho bộ định thời 0 và bộ định thời 1.TMOD không đư ...
Tìm kiếm theo từ khóa liên quan:
Cơ điện tử Giáo trình Lập trình vi điều khiển Lập trình vi điều khiển Bộ định thời Cổng nối tiếp Vi điều khiển 8051Gợi ý tài liệu liên quan:
-
103 trang 284 1 0
-
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 258 0 0 -
8 trang 249 0 0
-
11 trang 240 0 0
-
Thiết kế, lắp ráp 57 mạch điện thông minh khuếch đại thuật toán: Phần 2
88 trang 207 0 0 -
61 trang 203 1 0
-
125 trang 129 2 0
-
0 trang 115 2 0
-
Giáo trình Lập trình vi điều khiển (Nghề: Điện công nghiệp - CĐLT) - Trường Cao đẳng Cơ giới (2019)
169 trang 94 0 0 -
Tài liệu thực hành Vi điều khiển 8051
55 trang 87 0 0