Cài đặt chế độ cho bộ định thời

Một phần của tài liệu Dtcn gt lap rap lap trinh vi xu ly docx 9587 (Trang 35 - 38)

BÀI 3: SỬ DỤNG BỘ ĐỊNH THỜI TIMER

3.1. Cài đặt chế độ cho bộ định thời

- Timer trong PIC 18F4550:

Trong họ vi điều khiển PIC 18Fxx có 7 Timer khác nhau: Timer 0, Timer 1, Timer 2,..., Timer 6.

Mỗi loại Timer có đặc điểm và mục đích sử sụng khác nhau.

Các Timer đều được quản lý bời các bit và các thanh ghi chức năng khác nhau, để thiết lập các chế độ hoạt động cho các Timer cần cấu hình cho các bit và các thanh ghi điều khiển Timer đó.

- Watch dog Timer:

Watch dog timer là bộ định thời chuyên dụng để cài đặt thời gian time out cho hệ thống. Khi một lệnh của hệ thống thực thi WDT sẽ được reset, nếu hệ thống treo trong thời gian vượt quá thời gian cài đặt, WDT tự động reset lại hệ thống.

- Prescaler:

Prescaler là tham số cho bộ chia của timer. Tham số này được cài đặt bởi người dùng theo các option định trước. Tương ứng với tham số Prescaler được chọn, mỗi lần tăng của timer sẽ được quy định như sau:

- Hoạt động của Timer 0:

Timer0 có thể hoạt động ở chế độ 8 bit hoặc 16 bit, và/hoặc timer hoặc counter.

+ Timer0 chế độ 8 bit:

Nguyên lý hoạt động: timer0 ở chế độ 8 bít tức là có giá trị bộ đếm là 8 bit. Khi có một xung timer clock thì bộ đếm TMR0L tăng lên một giá trị, ví dụ hiện tại TMR0L = 122 sau khi có thêm 1 timer clock thì giá trị của nó là 123.

Đến khí giá trị của TMR0L = 255, sau khi nhận thêm một clock nữa nó sẽ trở về 0 đồng thời cờ TMR0IF được set, cờ này được xóa bởi người dùng hay chương trình. Giá trị của thanh ghi TMR0L có thể được đọc và ghi.

+ Timer0 ở chế độ 16 bit:

Về cấu tạo hoàn toàn giống chế độ 8 bit tuy nhiên có một điểm khác là thanh ghi bộ đếm lúc này là 16 bit, tức là bộ đến sẽ đếm đến 65535 rồi khi chuyển về 0 sẽ tạo set cờ TMR0IF.

+ Thanh ghi điều khiển Timer0:(T0CON)

- Bit 7 TMR0ON: là bít cho phép hoạt động hoặc không hoạt động timer0.

• TMR0ON = 1 cho phép timer 0 hoạt động

• TRM0ON = 0 không cho phép timer 0 hoạt động

- Bit 6 T08BIT: là bit cài đặt timer 0 hoạt động ở chế độ 8 bit hay 16 bit

• T08BIT = 1 Timer0 hoạt động ở chế độ 8 bit

• T08BIT = 0 Timer0 hoạt động ở chế độ 16 bit - Bit 5 T0CS: bit chọn nguồn clock cho timer 0

• T0CS = 1 Clock sử dụng là nguồn clock ngoài(chế độ counter)

• T0CS = 0 clock sử dụng là chu kỳ lệnh Fosc/4

- Bit 4 T0SE: chọn cạnh clock khi sử dụng clock ngoài

• T0SE = 1 clock cạnh xuống ở chân T0CKI

• T0SE = 0 clock cạnh lên ở chân T0CKI - Bit 3 PSA: chọn chế độ tỉ lệ cho nguồn clock

• PSA = 1 không sử dụng chế độ tỷ lệ.(nguồn clock sử dụng sẽ trở thành clock của timer0)

• PSA = 0 sử dụng chế độ tỷ lệ cho nguồn clock trước khi vào clock cho timer0, giá trị tỷ lệ được quy định trong bit T0PS

- Bit <2 – 0> T0PS: đặt giá trị tỷ lệ cho bộ tỷ lệ( 111- 1:256; 110- 1:128;

101- 1:64; 100 - 1:32; 011 - 1:16; 010 - 1:8; 001 - 1:4; 000 - 1:2

+ Các thanh ghi khác:

Thanh ghi TMR0L chứa giá trị của timer0 khi ở chế độ 8bit hoặc chứa giá trị byte thấp của timer0 khi ở chế độ 16 bit.

Thanh ghi TMR0H chứa giá trị byte cao của timer0 khi ở chế độ 16 bit.

Chú ý là khi sử dụng ở chế độ 8 bit thì thanh này không có ý nghĩa.

Thanh ghi INTCON: là thanh ghi điều khiển ngắt + GIE/GIEH: bit điều khiển cho phép ngắt toàn bộ.

+ PEIE/GIEL: cho phép ngắt ngoại vi + TMR0IE: cho phép ngắt timer0 + TMR0IF: cờ báo ngắt timer0

Thanh ghi TRISA: set TRISA4 = 1 khi sử dụng chế độ counter(clock ngoài).

- Quy trình khai báo timer như sau:

Cài đặt:

- Cài đặt chế độ hoạt động cho timer(8 bit/16 bit) - Cài đặt nguồn xung cho timer(timer/counter) - Cài đặt Prescaler cho timer

- Tính toán và cài đặt thời gian(nếu ở chế độ timer) cho timer Hoạt động:

- Kích hoạt timer - Chờ timer tràn

- Khi timer tràn – xử lý – reset cờ - Nạp lại timer

Cách tính thông số cài đặt cho timer:

3.1.2. Trình tự thực hiện

- Bước 1:Xác định thời gian tạo trễ

- Bước 2:Tính các thông số trước khi cài đặt

- Bước 3:Viết chương trình

- Bước 4:Kiểm tra và nạp chương trình qua PICKIT2 - Bước 5:Vận hành, quan sát và chỉnh sửa

3.1.3. Thực hành:

Người học thực hiện viết chương trình hiển thị theo yêu cầu kỹ thuật như trên, nạp vào vi điều khiển PIC 18F4550.

Thiết bị thực hành:

- Máy vi tính PC;

- Mạch nạp PIC KIT 2;

- Mô đun thực hành PICKIT Training.

3.1.4. Câu hỏi ôn tập:

Câu 1: IC PIC 18F4550 có bao nhiêu bộ Timer/Counter?

Câu 2: Giải thích khái niệm Watch dog timer?

Một phần của tài liệu Dtcn gt lap rap lap trinh vi xu ly docx 9587 (Trang 35 - 38)

Tải bản đầy đủ (PDF)

(66 trang)