Bộ định thời TIMER

Một phần của tài liệu [Khóa luận]thiết kế điều khiển động cơ môtơ bước (Trang 25 - 31)

KHOA ĐIỆN TỬ VIỄN THễNG - TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHềNG

================================================================================• Bộ định thời / bộ đếm 8 bit • Bộ định thời / bộ đếm 8 bit

• Cho phộp đọc và ghi

• Bộ chia 8 bit lập trỡnh được bằng phần mềm

• Chọn xung clock nội hoặc ngoại

• Ngắt khi cú sự tràn từ FFh đến 00h

• Chọn sườn cho xung clock ngoài

Sơ đồ khối của bộ định thời Timer0 và bộ chia dựng chung với WDT được đưa ra trong hỡnh 14.

Hỡnh 14.Sơ đồ khối của bộ định thời Timer0 và bộ chia dựng chung với WDT

Chế độ định thời (Timer) được chọn bằng cỏch xoỏ bit T0CS (OPTION_REG<5>). Trong chế độ định thời, bộ định thời Timer0 sẽ tăng dần

sau mồi chu kỡ lệnh (khụng cú bộ chia). Nếu thanh ghi TmR0 được ghi thỡ sự tăng sẽ bị ngăn lại sau hai chu kỡ lệnh.

Chế độ đếm (Counter) được chọn bằng cỏch xoỏ bit T0CS (OPTION_REG<5>). Trong chế độ đếm, Timer0 sẽ tăng dần ở mỗi cạnh lờn xuống của chõn RA4/T0CKI. Sự tăng sườn được xỏc định bởi bit Timer0 Source Edge Select, T0SE (OPTION_RE<4>). Bộ chia chỉ được dựng chung qua lại giữa bộ định thời Timer0 và bộ định thời Watchdog. Bộ chia khụng cho phộp đọc hoặc ghi

Ngắt Timer0

Ngắt TMR0 được phỏt ra khi thanh ghi TMR0 tràn từ FFh đến 00h. Sự tràn này sẽ đặt bit T0IF (INTCON<2>). Ngắt này cú thể được giấu đi bằng cỏch xúa bit T0IE (INTCON<5>) . Bit T0IF cần phải được xúa trong chương trỡnh bởi thủ tục phục vụ ngắt của bộ định thời Timer0 trước khi ngắt này được cho phộp lại.

Sử dụng Timer0 với xung clock ngoại

Khi bộ chia khụng được sử dụng, clock ngoài đặt vào thỡ giống như bộ chia ở ngừ ra. Sự đồng bộ của chõn T0CKI với clock ngoài được thực hiện bằng cỏch lấy mẫu bộ chia ở ngừ ra trờn chõn Q2 và Q4. Vỡ vậy thực sự cần thiết để chõn T0CKI ở mức cao trong ớt nhất 2 chu kỳ mỏy và ở mức thấp trong ớt nhất 2 chu kỳ mỏy.

Bộ chia

Thiết bị PIC16F87X chỉ cú một bộ chia mà được dựng chung bởi bộ định thời TIMER0 và bộ định thời Watchdog. Một khi bộ chia được ấn định cho bộ định thời 0 thỡ khụng

1.1.4.2. Bộ định thời TIMER1

Bộ định thời TIMER1 là một bộ định thời/bộ đếm 16 bit gồm hai thanh ghi TMR1H (Byte cao) và TMR1L (byte thấp) mà cú thể đọc hoặc ghi. Cặp thanh ghi này tăng số đếm từ 0000h đến FFFFh và bỏo tràn sẽ xuất hiện khi cú sự chuyến số đếm từ FFFFh xuống 0000h. Ngắt, nếu được phộp cú thể phỏt ra khi cú số đếm

KHOA ĐIỆN TỬ VIỄN THễNG - TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHềNG

================================================================================

tràn và được đặt ở bit cờ ngắt TMR1IF. Ngắt cú thể được phộp hoặc cấm bằng cỏch đặt hoặc xoỏ bit cho phộp ngắt TMR1IE.

Bộ định thời Timer1 cú thể được cấu hỡnh để hoạt động một trong hai chế độ sau:

• Định thời một khoảng thời gian (timer)

• Đếm sự kiện (Counter)

Việc lựa chọn một trong hai chế độ được xỏc định bằng cỏch đặt hoặc xoỏ bit điều khiển TMR1ON.

---- ---- T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON Bit7 Bit0

Bit 7-6 Khụng được định nghĩa

Bit 5-4 bit chọn bộ chia clock cho timer1 (adsbygoogle = window.adsbygoogle || []).push({});

Bit 3 bit điều khiển cho phộp bộ dao động Timer1 Bit 2 bit điều khiển clock ngoài Timer

Bit 1 bit chọn nguồn clock cho Timer1 Bit 0 bit điều khiển hoạt động của Timer1

Chế độ Timer

Chế độ Timer được chọn bằng cỏch xoỏ TMR1CS. Trong chế độ này, Nguồn clock đặt vào Timer là mạch dao động FOSC/4. Bit điều khiển đồng bộ khụng bị tỏc động vỡ clock ngoài luụn luụn đồng bộ.

Hỡnh 15.Cạnh tăng timer1

Chế độ counter

Trong chế độ này, bộ định thời tăng số đếm qua clock ngoài. Việc tăng xảy ra sau mỗi sườn lờn của xung clock ngoài. Bộ định thời phải cú một sườn lờn trước khi việc đếm bắt đầu.

Hỡnh 16.Sơ đồ khối bộ định thời timer1 1.1.4.3. Bộ định thời TIMER2

Bộ định thời TIMER2 là bộ định thời 8 bit với một chia và một bộ potscaler. Nú thường dựng chung với bộ CCP trong chế độ PWM (sẽ được đề cõp ở phần sau). Thanh ghi TMR2 cú thể đọc hoặc ghi và được xoỏ khi cú bất kỡ tớn hiệu reset nào của thiết bị

Bộ định thời TIMER2 cú một thanh ghi chu kỳ 8 bit, PR2. Bộ định thời tăng số đếm lờn từ 00h đến giỏ trị được ghi trong thanh ghi TR2 và sau đú reset lại giỏ trị 00h trong chu kỳ kế tiếp. PR2 là thanh ghi cú thể đọc hoặc ghi.

Giỏ trị trựng hợp trong thanh ghi TMR2 được đi qua bộ postscaler 4 bit để phỏt ra một ngắt TMR2 (được đặt ở bit cờ ngắt TMR2IF). Bộ định thời TIMER2 cú thể được tắt (khụng hoạt động) bằng cỏch xoỏ bớt điều khiển TMR2ON để giản thiểu cụng suất tiờu tỏn nguồn.

KHOA ĐIỆN TỬ VIỄN THễNG - TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHềNG

================================================================================

Hỡnh 18.T2CON: Thanh ghi điều khiển Timer2 (địa chỉ 12h)

Một đặc điểm khỏc của vi điều khiển Pic16F877A là cú bộ dao động chủ trờn chip điều, nú sẽ giỳp trỏnh được những sai số khụng cần thiết trong việc tạo xung dao động, vi điều khiển Pic16F877A cú khả năng tự Reset bằng bộ WDT, và cú thờm 256 byte EEPROM. Nhưng giỏ thành của Pic đắt hơn so với 8051.

Một phần của tài liệu [Khóa luận]thiết kế điều khiển động cơ môtơ bước (Trang 25 - 31)