Các thanh ghi

Một phần của tài liệu THIẾT KẾ BẢNG QUẢNG CÁO LED SỬ DỤNG VI ĐIỀU KHIỂN ATMEGA 16 MODULE ĐIỀU KHIỂN HIỂN THỊ (Trang 65 - 70)

1. Nội dung thiết kế tốt nghiệp:

5.1.2) Các thanh ghi

1.TCCR1A: Bit 7 6 5 4 3 2 1 0 Read/Write R/W R/W R/W R/W W W R/W R/W Khởi tạo 0 0 0 0 0 0 0 0

Bit7,6 COM1A1,2 : chọn chế độ đầu ra cho kênh A Bit5,4 COM1B1,2 : chọn chế độ đầu ra cho kênh B

Nếu cả 2 bit đều được ghi 0 thì các chân OC1A và OC1B coi như không được kết nối với bộ dịnh thời và hoạt động như các chân bình thường khác của vi điều khiển. Khi có ít nhất 1 trong 2 bit được ghi mức cao thì các chân này sẽ được điều khiển bởi bô định thời tùy theo chế độ hoạt động được chọn:

Bảng 5 - Thiết lập chế độ đầu ra cho timer

COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10

COM1A1/ COM1B1

COM1A0/ COM1B0

Mô tả

0 0 Port hoạt động thông thường.Không kết nối OC1A/OC1B.

0 1 Lật trạng thái OC1A/OC1B

1 0 Xóa OC1A/OC1B

Bit3,2 : cưỡng chế so sánh ở các chế độ không điều chế xung.

Bit1,0 : Được sử dụng kết hợp với các bít WGM12 và WGM13 để xác định chế độ của bộ định thời :

Bảng 5 - Các chế độ điều chế xung

Chế độ

WGM13 WGM12 WGM11 WGM10 Chế độ hoạt động của timer TOP Cập nhật OCR1X

Thiết lập cờ TOV1

0 0 0 0 0 Thường 0xFFFF Lập tức MAX

1 0 0 0 1 PWM, Phase Correct, 8-bit 0x00FF TOP BOTTOM

2 0 0 1 0 PWM, Phase Correct, 9-bit 0x01FF TOP BOTTOM

3 0 0 1 1 PWM, Phase Correct, 10-bit 0x03FF TOP BOTTOM

4 0 1 0 0 CTC OCR1A Lập tức MAX

5 0 1 0 1 Fast PWM, 8-bit 0x00FF TOP TOP

6 0 1 1 0 Fast PWM, 9-bit 0x01FF TOP TOP

7 0 1 1 1 Fast PWM, 10-bit 0x03FF TOP TOP

8 1 0 0 0 PWM, Phase and Frequency Correct ICR1 BOTTOM BOTTOM 9 1 0 0 1 PWM, Phase and Frequency Correct OCR1A BOTTOM BOTTOM

10 1 0 1 0 PWM, Phase Correct ICR1 TOP BOTTOM

11 1 0 1 1 PWM, Phase Correct OCR1A TOP BOTTOM

12 1 1 0 0 CTC ICR1 Lập tức MAX

13 1 1 0 1 Reserved - - -

14 1 1 1 0 Fast PWM ICR1 TOP TOP

15 1 1 1 1 Fast PWM OCR1A TOP TOP

2.TCCR1B: Bit 7 6 5 4 3 2 1 0 Read/Write R/W R/W R R/W R/W R/W R/W R/W Khởi tạo 0 0 0 0 0 0 0 0 ICNC11 ICES1 - WGM13 WGM12 CS12 CS11 CS10

Bit 7 ICNC1: Khi bit này được ghi1 thì các tín hiệu vào từ chân ICP1 sẽ được lọc nhiễu. Bộ lọc nhiễu cần 4 lần lấy mẫu liên tiếp có giá trị bằng nhau ở chân ICP1. Do đó tín hiệu vào bị trễ 4 chu kỳ giao động so với khi không lọc nhiễu.

Bit 6 ICES1 : Bit này lựa chọn sườn kích hoạt sự kiện tại chân ICP1. Khi bit này được ghi 0 thì sườn âm được sử dụng để kích hoạt Khi bit này được ghi 1 thì sườn dương được sử dụng.

Bit 5 : không dùng trong Atmega16

Bit 4,3 WGM13,2 : Cùng với WGM11,0 để để xác định chế độ của bộ định thời Bit 2,1,0 CS12,1,0 : Dùng để lựa chọn tần số cho Timer

Bảng 5 - Lựa chọn tần số cho bộ đếm

CS12 CS11 CS10 Mô tả

0 0 0 Timer không hoạt động

0 0 1 clkI/O/1 ( không chia tần ) 0 1 0 clkI/O/8 ( từ bộ chia tần ) 0 1 1 clkI/O/64 ( từ bộ chia tần ) 1 0 0 clkI/O/256 ( từ bộ chia tần ) 1 0 1 clkI/O/1024( từ bộ chia tần )

1 1 0 Nguồn ngoài từ chân T1 , sườn lên 1 1 1 Nguồn ngoài từ chân T1 , sườn xuống

3.TCNT1H/L: Bit 7 6 5 4 3 2 1 0 Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Khởi tạo 0 0 0 0 0 0 0 0 TCNT1[15:8] TCNT1[7:0]

Lưu giá trị của bộ đếm. Có khả năng truy nhập trực tiếp để ghi và đọc thông qua việc sử dụng thanh ghi tạm thời. Việc thay đổi thanh ghi này trong khi bộ đếm đang hoạt động có thể bỏ qua một lần gặp nhau giữa TCNT1 và các thanh ghi OCR1x . 4.OCR1AH/L: Bit 7 6 5 4 3 2 1 0 Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Khởi tạo 0 0 0 0 0 0 0 0 5.OCR1BH/L: Bit 7 6 5 4 3 2 1 0 Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Khởi tạo 0 0 0 0 0 0 0 0

Các thanh ghi OCR1x được liên tục so sánh với thanh ghi TCNT1 . Mỗi khi bằng nhau có thể tạo ra 1 ngắt so sánh đầu ra hay để thay đổi dạng sóng tại các chân đầu ra OC1x . 6.TIMSK: Bit 7 6 5 4 3 2 1 0 OCR1A[15:8] OCR1A[7:0] OCR1B[15:8] OCR1B[7:0]

Read/Write R/W R/W R R/W R/W R/W R/W R/W

Khởi tạo 0 0 0 0 0 0 0 0

Các bit 7,6,1,0 dùng cho các timer khác của Atmega16.

Bit 5 - TICIE1 : Khi bit này được thiết lập thành 1 và ngắt toàn cục (global interrupt) được cho phép thì ngắt bộ đếm đầu vào Timer/couter1 (Timer/Counter1 Input Capture interrupt) được cho phép. Vector ngắt tương ứng sẽ được thực thi khi cờ ICF1 trong thanh ghi TIFR được thiết lập.

Bit4 - OCIE1A : Khi bit này được thiết lập thành 1 và ngắt toàn cục (global interrupt) được cho phép thì ngắt so sánh đầu ra 1A (Timer/Counter1 Output Compare A Match Interrupt) được cho phép. Vector ngắt tương ứng sẽ được thực hiện khi cờ OCF1A trong thanh ghi TIFR được thiết lập.

Bit3 - OCIE1B : Khi bit này được set thành 1 và ngắt toàn cục (global interrupt) được cho phép thì ngắt so sánh đầu ra 1B (Timer/Counter1 Output Compare B Match Interrupt) được cho phép. Vector ngắt tương ứng sẽ được thực thi khi cờ OCF1B trong thanh ghi TIFR được thiết lập .

Bit2 – TOIE1 : Khi bit này đượcset thành 1 và ngắt toàn cục (global interrupt) được cho phép thì ngắt cờ tràn bộ định thời 1 (Timer/Counter1 overflow interrupt) được cho phép. Vector ngắt tương ứng sẽ được thực thi khi cờ TOV1 trong thanh ghi TIFR được thiết lập .

7.TIFR:

Bit 7 6 5 4 3 2 1 0

Read/Write R/W R/W R R/W R/W R/W R/W R/W

Khởi tạo 0 0 0 0 0 0 0 0

Các bit 7,6,1,0 dùng cho các timer khác của Atmega16.

Bit5 - ICF1 : Cờ này được thiết lập khi xảy ra sự kiện tại ngõ vào (Input Capture) của chân ICP1. Khi thanh ghi ICR1 (InputCapture Register) được thiết lập bởi các bit WGMn3:0 để sử dụng như một giá trị đỉnh thìcờ ICF1 sẽ được thiết lập khi bộ đếm đạt tới giá trị đỉnh. Cờ ICF1 sẽ tự động xóa khi ngắt tương ứng được thực thi, hoặc có thể xóa hay thiết lập bằng cách ghi một giá trị logic vào vị trí của nó.

Bit4 - OCF1A : Cờ này được thiết lập ngay sau khi giá trị bộ đếm (TCNT1) bằng với giá trị thanh ghi OCR1A (Output Compare Register A). Chú ý là một so sánh cưỡng bức (FOC1A) sẽ không thiết lập cờ này. Cờ OCF1A sẽ tự động xóa khi ngắt tương ứng được thực thi, hoặc có thể xóa hay thiết lập bằng cách ghi một giá trị logic vào vị trí của nó.

Bit 3 - OCF1B : Cờ này được thiết lập ngay sau khi giá trị bộ đếm (TCNT1) bằng với giá trị thanh ghi OCR1B (Output Compare Register B). Chú ý là một so sánh cưỡng bức (FOC1B) sẽ không thiết lập cờ này. Cờ OCF1B sẽ tự động xóa khi ngắt tương ứng được thực thi, hoặc có thể xóa hay thiết lập bằng cách ghi một giá trị logic vào vị trí của nó.

Bit 2 - TOV1 : Việc thiết lập cờ này phụ thuộc vào thiết lập của các bit WGMn3:0, trong chế độ bình thường và CTC cờ TOV1 được thiết lập khi bộ định thời tràn.

Một phần của tài liệu THIẾT KẾ BẢNG QUẢNG CÁO LED SỬ DỤNG VI ĐIỀU KHIỂN ATMEGA 16 MODULE ĐIỀU KHIỂN HIỂN THỊ (Trang 65 - 70)

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

(103 trang)