Giáo trình Vi điều khiển: Phần 2
Số trang: 81
Loại file: pdf
Dung lượng: 3.19 MB
Lượt xem: 16
Lượt tải: 0
Xem trước 9 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Giáo trình Vi điều khiển: Phần 2 có kết cấu gồm 7 bài học. Nội dung phần này trình bày về bộ định thời, cổng nối tiếp, ngắt (Interrupt), phần mềm hợp ngữ. Giáo trình dành cho sinh viên trường nghề và những ai quan tâm đến vấn đề trên.
Nội dung trích xuất từ tài liệu:
Giáo trình Vi điều khiển: Phần 2GT: Vi điều khiển Trường Cao đẳng nghề Yên Bái Bài 4: BỘ ĐỊNH THỜI1. Mở đầu Định thời là sự hoạt động để kiểm soát thời gian thực thi các câu lệnhtrong quá trình xử lý của vi điều khiển. 8051 có hai bộ định thời/ bộ đếm. Chúng có thể được dùng như các bộđịnh thời để tạo một bộ trễ thời gian hoặc như các bộ đếm để đếm các sự kiệnxảy ra bên ngoài bộ VĐK. Các timer này đều là timer 16bit, giá trị đếm đượctính từ 0 đến 0xFFFF(đếm từ 0 đến 65535). Mỗi bộ Timer có 4 chế độ hoạt động khác nhau và được dùng để: - Đếm sự kiện tại các chân T0 (chân 14) hay T1 (chân 15). - Chờ một khoảng thời gian. - Tạo tốc độ cho port nối tiếp. Quá trình điều khiển hoạt động của Timer / Counter được thực hiện thôngqua các thanh ghi sau: Bảng 4.1 : Các thanh ghi điều khiển hoạt động timer Thanh ghi Địa chỉ byte Địa chỉ bit TCON 88H 88H – 8FH TMOD 89H Không TL0 90H Không TL1 91H Không TH0 92H Không TH1 93H Không Hoạt động cơ bản của Timer / Counter gồm có các thanh ghi timer THxvà TLx (x = 0, 1) mắc liên tầng tạo thành dạng thanh ghi 16 bit. Khi set bit TRxtrong thanh ghi TCON, timer tương ứng sẽ hoạt động và giá trị trong thanh ghiTLx tăng lên 1 sau mỗi xung đếm. Khi TLx tràn (thay đổi từ 255 đến 0), giá trịcủa THx tăng lên 1. Khi THx tràn, cờ tràn tương ứng TFx (trong thanh ghiTCON) sẽ được đưa lên mức 1. Tuỳ theo nội dung của bit C/T xung đếm có thể lấy từ dao động nội (C/T= 0) hay từ các chân Tx bên ngoài (C/T = 1). Lưu ý rằng phải xoá bit TRx khithay đổi chế độ hoạt động của Timer. Khi xung đếm lấy từ dao động nội, tốc độ đếm = fOSC/12 hay fOSC/2 trongchế độ X2(nghĩa là nếu fOSC = 12 MHz thì tốc độ xung đếm là 1 MHz hay cứ 1 90GT: Vi điều khiển Trường Cao đẳng nghề Yên Báiµs thì có 1 xung đếm trong chế dộ chuẩn) hay tốc độ đếm = fPER/6 (fPER: tần sốxung ngoại vi – peripheral clock). Khi lấy xung đếm từ bên ngoài (các chân Tx), bộ đếm sẽ tăng lên 1 khingõ vào Tx ở mức 1 trong 1 chu kỳ và xuống mức 0 trong chu kỳ kế tiếp. Do đó,tần số xung tối đa tại các chân Tx là fOSC/24 trong chế độ thường hayfOSC/12 trong chế độ X2 (=fPER/12).2. Thanh ghi SFR của timer2.1. Thanh ghi chế độ TMOD Cả hai bộ định thời Timer 0 và Timer 1 đều dùng chung một thanh ghiđược gọi là TMOD để thiết lập các chế độ làm việc khác nhau của bộ địnhthời. Thanh ghi TMOD là thanh ghi 8 bít gồm có 4 bít thấp được thiết lập dànhcho bộ Timer 0 và 4 bít cao dành cho Timer 1. Trong đó hai bít thấp của chúngdùng để thiết lập chế độ của bộ định thời, còn 2 bít cao dùng để xác định phéptoán.TMOD RegisterMSB LSBGATE C/T M1 M0 GATE C/T M1 M0 Timer1 Timer0 Chức năng các bit của thanh ghi TMOD: - Các bit M1, M0 : Là các bít chế độ của các bộ Timer 0 và Timer 1. Chúng chọn chế độ củacác bộ định thời: 0, 1, 2 và 3. Chế độ 0 là một bộ định thời 13 bit, chế độ 1 làmột bộ định thời 16 bít và chế độ 2 là bộ định thời 8 bít. Chúng ta chỉ tậpchung vào các chế độ thường được sử dụng rộng rãi nhất là chế độ 1 và 2. Cácchế độ được thiết lập theo trạng thái của M1 và M0 như sau : M1 M0 Mode Chế độ hoạt động 0 0 0 Chế độ định thời 13 bit. 0 1 1 Chế độ định thời 16 bit, không định tỉ lệ trước 1 0 2 Chế độ 8 bit tự nạp lại 1 1 3 Chế độ bộ định thời chia táchVí dụ: Xác định chế độ và bộ định thời của các trường hợp sau: 91GT: Vi điều khiển Trường Cao đẳng nghề Yên Bái a) MOV TMOD, #20H b) MOV TMOD, #12H Giải: Trường hợp a: TMOD = 20H = 00100000B . Đối chiếu với thanh ghiTMOD ta thấy đây là chế độ 2 bộ định thời Timer 1 được chọn. Trường hợp b: TMOD = 12H = 00010010. Đối chiếu với thanh ghiTMOD ta thấy đây là chế độ 1 bộ định thời Timer 1 và chế độ 2 bộ định thờiTimer 0 được chọn. Bit C/T ( Counter / Timer): Bít này trong thanh ghi TMOD được dùng để quyết định xem bộ định thờiđược dùng như một máy tạo độ trễ hay bộ đếm sự kiện. + C/T = 1: Đếm xung từ bên ngoài. + C/T = 0 : Đếm xung nội bên trong. Nguồn đồng hồ cho chế độ trễ thời gian là tần số thạch anh của 8051. Bit cổng GATE : Một bít khác của thanh g ...
Nội dung trích xuất từ tài liệu:
Giáo trình Vi điều khiển: Phần 2GT: Vi điều khiển Trường Cao đẳng nghề Yên Bái Bài 4: BỘ ĐỊNH THỜI1. Mở đầu Định thời là sự hoạt động để kiểm soát thời gian thực thi các câu lệnhtrong quá trình xử lý của vi điều khiển. 8051 có hai bộ định thời/ bộ đếm. Chúng có thể được dùng như các bộđịnh thời để tạo một bộ trễ thời gian hoặc như các bộ đếm để đếm các sự kiệnxảy ra bên ngoài bộ VĐK. Các timer này đều là timer 16bit, giá trị đếm đượctính từ 0 đến 0xFFFF(đếm từ 0 đến 65535). Mỗi bộ Timer có 4 chế độ hoạt động khác nhau và được dùng để: - Đếm sự kiện tại các chân T0 (chân 14) hay T1 (chân 15). - Chờ một khoảng thời gian. - Tạo tốc độ cho port nối tiếp. Quá trình điều khiển hoạt động của Timer / Counter được thực hiện thôngqua các thanh ghi sau: Bảng 4.1 : Các thanh ghi điều khiển hoạt động timer Thanh ghi Địa chỉ byte Địa chỉ bit TCON 88H 88H – 8FH TMOD 89H Không TL0 90H Không TL1 91H Không TH0 92H Không TH1 93H Không Hoạt động cơ bản của Timer / Counter gồm có các thanh ghi timer THxvà TLx (x = 0, 1) mắc liên tầng tạo thành dạng thanh ghi 16 bit. Khi set bit TRxtrong thanh ghi TCON, timer tương ứng sẽ hoạt động và giá trị trong thanh ghiTLx tăng lên 1 sau mỗi xung đếm. Khi TLx tràn (thay đổi từ 255 đến 0), giá trịcủa THx tăng lên 1. Khi THx tràn, cờ tràn tương ứng TFx (trong thanh ghiTCON) sẽ được đưa lên mức 1. Tuỳ theo nội dung của bit C/T xung đếm có thể lấy từ dao động nội (C/T= 0) hay từ các chân Tx bên ngoài (C/T = 1). Lưu ý rằng phải xoá bit TRx khithay đổi chế độ hoạt động của Timer. Khi xung đếm lấy từ dao động nội, tốc độ đếm = fOSC/12 hay fOSC/2 trongchế độ X2(nghĩa là nếu fOSC = 12 MHz thì tốc độ xung đếm là 1 MHz hay cứ 1 90GT: Vi điều khiển Trường Cao đẳng nghề Yên Báiµs thì có 1 xung đếm trong chế dộ chuẩn) hay tốc độ đếm = fPER/6 (fPER: tần sốxung ngoại vi – peripheral clock). Khi lấy xung đếm từ bên ngoài (các chân Tx), bộ đếm sẽ tăng lên 1 khingõ vào Tx ở mức 1 trong 1 chu kỳ và xuống mức 0 trong chu kỳ kế tiếp. Do đó,tần số xung tối đa tại các chân Tx là fOSC/24 trong chế độ thường hayfOSC/12 trong chế độ X2 (=fPER/12).2. Thanh ghi SFR của timer2.1. Thanh ghi chế độ TMOD Cả hai bộ định thời Timer 0 và Timer 1 đều dùng chung một thanh ghiđược gọi là TMOD để thiết lập các chế độ làm việc khác nhau của bộ địnhthời. Thanh ghi TMOD là thanh ghi 8 bít gồm có 4 bít thấp được thiết lập dànhcho bộ Timer 0 và 4 bít cao dành cho Timer 1. Trong đó hai bít thấp của chúngdùng để thiết lập chế độ của bộ định thời, còn 2 bít cao dùng để xác định phéptoán.TMOD RegisterMSB LSBGATE C/T M1 M0 GATE C/T M1 M0 Timer1 Timer0 Chức năng các bit của thanh ghi TMOD: - Các bit M1, M0 : Là các bít chế độ của các bộ Timer 0 và Timer 1. Chúng chọn chế độ củacác bộ định thời: 0, 1, 2 và 3. Chế độ 0 là một bộ định thời 13 bit, chế độ 1 làmột bộ định thời 16 bít và chế độ 2 là bộ định thời 8 bít. Chúng ta chỉ tậpchung vào các chế độ thường được sử dụng rộng rãi nhất là chế độ 1 và 2. Cácchế độ được thiết lập theo trạng thái của M1 và M0 như sau : M1 M0 Mode Chế độ hoạt động 0 0 0 Chế độ định thời 13 bit. 0 1 1 Chế độ định thời 16 bit, không định tỉ lệ trước 1 0 2 Chế độ 8 bit tự nạp lại 1 1 3 Chế độ bộ định thời chia táchVí dụ: Xác định chế độ và bộ định thời của các trường hợp sau: 91GT: Vi điều khiển Trường Cao đẳng nghề Yên Bái a) MOV TMOD, #20H b) MOV TMOD, #12H Giải: Trường hợp a: TMOD = 20H = 00100000B . Đối chiếu với thanh ghiTMOD ta thấy đây là chế độ 2 bộ định thời Timer 1 được chọn. Trường hợp b: TMOD = 12H = 00010010. Đối chiếu với thanh ghiTMOD ta thấy đây là chế độ 1 bộ định thời Timer 1 và chế độ 2 bộ định thờiTimer 0 được chọn. Bit C/T ( Counter / Timer): Bít này trong thanh ghi TMOD được dùng để quyết định xem bộ định thờiđược dùng như một máy tạo độ trễ hay bộ đếm sự kiện. + C/T = 1: Đếm xung từ bên ngoài. + C/T = 0 : Đếm xung nội bên trong. Nguồn đồng hồ cho chế độ trễ thời gian là tần số thạch anh của 8051. Bit cổng GATE : Một bít khác của thanh g ...
Tìm kiếm theo từ khóa liên quan:
Vi điều khiển Bộ định thời Cổng nối tiếp Phần mềm hợp ngữ Giáo trình Vi điều khiểnGợi ý tà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 258 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 172 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 154 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 127 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 116 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 114 0 0 -
Giáo trình Kỹ thuật vi điều khiển
121 trang 109 0 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 95 0 0 -
Giáo trình môn kỹ thuật vi điều khiển
0 trang 91 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 90 1 0