Tải bản đầy đủ (.pdf) (75 trang)

Vi điều khiển AVR.........

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.75 MB, 75 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỀ TÀI VI ĐIỀU KHIỂN AVR
????????????
Thành viên:
Võ Đình Chinh
Phạm Hoài Phước
Trần Minh Tính
Huỳnh Thanh Long

MSSV: 07520456
MSSV: 07520292
MSSV: 07520362
MSSV: 07520588

KTMT02
KTMT02
KTMT02
KTMT02

GVHD: ThS Lê Hoài Nghĩa

Tp Hồ Chí Minh 20/055/2010




LÔØI GIỚI THIỆU
Từ khi công nghệ chế tạo loại vi mạch lập trình ra đời đã đem đến các kỹ thuật
điều khiển hiện đại có nhiều ưu điểm hơn so với việc sử dụng các mạch điều khiển lắp


ráp bằng các linh kiện rời như kích thước nhỏ, giá thành rẻ, độ làm việc tin cậy, công
suất tiêu thụ nhỏ. Hàng loạt nhà sản xuất MCU ra đời như Atmel, Philip, Motorola
với hàng loạt chip với nhiều tính năng vô cùng phong phú và đa dạng.
Ngày nay, lĩnh vực điều khiển đã được ứng dụng rộng rãi trong các thiết bị, sản
phẩm phục vụ cho nhu cầu sinh hoạt hàng ngày của con người như máy giặt, đồng hồ
báo giờ….. đã giúp cho đời sống cuả chúng ta ngày càng hiện đại và tiện nghi hơn.
Trong số những nhà sản xuất MCU 8 bit thì Atmel đã trở nên quá quen thuộc
với giới sinh viên, kỹ thuật Việt Nam. Nhóm chúng em tìm hiểu đề tài về MCU AVR
– một trong những MCU được sử dụng rất rộng rãi trong kỹ thuật điều khiển. Vì kiến
thức có hạn nên trong nội dung đề tài chắc chắn không tránh khỏi thiếu sót. Nhóm
chúng em xin gửi lời cám ơn đến thầy Lê Hoài Nghĩa và sẽ cố gắng hoàn thiện trong
những lần báo cáo sau.
Thay mặt nhóm

Võ Đình Chinh




MỤC LỤC
&1 – GIỚI THIỆU AVR MCU ATMEL ……………………………01
I – Tổng quan về AVR …………………………………………………………..01
1. Giới thiệu ………………………………………………………………….01
2. Ưu thế của MCU AVR ……………………………………………………01
3. Một số dòng AVR ………………………………………………………...02
II – Một số dòng AVR phổ biến ………………………………………………..03

&2 – ATMEGA16 – KIẾN TRÚC TỔNG QUAN ……………….05
I – Ưu điểm ………………………………………………………………………05
II – Kiến trúc …………………………………………………………………….05

1. Sơ đồ chân ………………………………………………………………...05
2. Sơ đồ khối …………………………………………………………………06
3. Các port xuất nhập ………………………………………………………...06
4. Các chân khác ……………………………………………………………..07
III – Các khối chính ……………………………………………………………..07
1. CPU ……………………………………………………………………….07
2. Con trỏ ngăn xếp SP ………………………………………………………09
3. Memory …………………………………………………………………...10
4. Quá trình thực thi lệnh …………………………………………………….12

&3 – CÁC MODULE ĐIỀU KHIỂN TRONG ATMEGA16….13
I – Input & Ouput ……………………………………………………………….13
1. Giới thiệu ………………………………………………………………….13
2. Cấu tạo chân ……………………………………………………………….14




3. Thiết lập truy xuất I/O ………………………………….………………….15
II – Timer & Counter ……………………………………………………………16
1. Giới thiệu …………………………………………………………………..16
2. Cấu trúc bộ định thời 8 bit Timer 0 ………………………………………..16
3. Mô tả chi tiết các thanh ghi của bộ định thời ………………………………19
4. Sử dụng timer/counter ……………………………………………………..21
5. Các chế độ hoạt động của Timer 0 …………………………………………21
6. Các bước sử dụng Timer …………………………………………………..24
III – Interrupt …………………………………………………………………….25
1. Giới thiệu …………………………………………………………………..25
2. Ngắt ngoài ATMEGA16 …………………………………………………..26
3. Các thanh ghi phục vụ ngắt ………………………………………………..27

4. Thiết lập ngắt ngoài ………………………………………………………..28
IV – ADC …………………………………………………………………………30
1. Giới thiệu …………………………………………………………………..30
2. Cấu trúc …………………………………………………………………….30
3. Các thanh ghi điều khiển ADC …………………………………………….31
4. Quá trình chuyển đổi ADC ………………………………………………...37
5. Các bươc lập trình điều khiển ADC ……………………………………….38
V – USART ……………………………………………………………………….39
1. Giới thiệu …………………………………………………………………..39
2. Cấu trúc của một USART ………………………………………………….40
3. Tạo xung clock cho USART ……………………………………………….41
4. Một số khái niệm liên quan đến USART …………………………………..42
5. Các thanh ghi điều khiển USART ………………………………………….44
6. Sử dụng USART …………………………………………………………..49
VI – SPI …………………………………………………………………………..51
1. Giới thiệu …………………………………………………………………..51
2. Cấu trúc của một SPI ………………………………………………………54



3. Các thanh ghi điều khiển SPI ………………………………………………55
4. Sử dụng SPI ………………………………………………………………..59
VII – TWI-I2C …………………………………………………………………...61
1. Giới thiệu …………………………………………………………………..61
2. Cấu trúc của một I2C ………………………………………………………64
3. Các thanh ghi điều khiển I2C ………………………………………………65
4. Sử dụng TWI-I2C ………………………………………………………….68
Kết luận …………………………………………………………………………...70





&1. GIỚI THIỆU AVR MCU ATMEL
I. Tổng quan về AVR:
1. Giới thiệu:
− AVR là một họ vi điều khiển do hãng Atmel sản xuất. Atmel cung cấp
các vi điều khiển phổ biến như 8051, AT91 ARM7, Atmel AVR 8-bit
RISC, và mới đây là DSP dual-CPU AT57. Atmel AVR32 là một vi
điều khiển lai DSP với 7 tầng pipeline và khả năng thực thi song song..
AVR là chip vi điều khiển 8 bits với cấu trúc tập lệnh đơn giản hóaRISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể
hiện ưu thế trong các bộ xử lí.
− Hình vẽ:

2.

Ưu thế của MCU AVR:
− Kết nối phần cứng cho AVR đơn giản với những linh kiện thông dụng
như điện trở, tụ điện, thạch anh. Dòng ra điều khiển Port lớn và không
cần dùng điện trở kéo.
− Thiết kế mạch nạp cho AVR khá đơn giản giao tiếp qua cổng LPT,
COM, USB. Hỗ trợ ISP lập trình trực tiếp trên mạch.
− Hỗ trợ lập trình trên nền ngôn ngữ ASM, C với nhiều công cụ hỗ trợ
như CodeVision, AVR Studio.
− Hầu hết các chip AVR có những tính năng (features) sau:



1



• Xung External OSC lên đến 16Mhz và Internal OSC 8Mhz.
• Bộ nhớ chương trình Flash có thể lập trình lại rất nhiều lần và
dung lượng lớn có thể ghi và xóa trên 1000 lần. Bên cạnh đó bộ
nhớ EEPROM có thể lập trình được.
• 32 Port xuất nhập.
• 8 bits, 16 bits timer/counter tích hợp PWM.
• Các bộ chuyển đối Analog – Digital phân giải 10 bits
• Analog comparator.
• Giao diện nối tiếp USART (tương thích chuẩn nối tiếp RS-232).
• Giao diện nối tiếp Two –Wire –Serial (tương thích chuẩn I2C)
Master và Slaver.


Giao diện nối tiếp Serial Peripheral Interface (SPI).

3. Một số dòng AVR:
Nhìn chung AVR có các dòng chính sau:
* tinyAVR — the ATtiny series
• 1–8 kB program memory
• 6–32-pin package
• Limited peripheral set
* megaAVR — the ATmega series
• 4–256 kB program memory
• 28–100-pin package
• Extended instruction set (Multiply instructions and instructions
for handling larger program memories)


2



• Extensive peripheral set
* XMEGA — the ATxmega series
• 16–384 kB program memory
• 44–64–100-pin package (A4, A3, A1)
• Extended performance features, such as DMA, "Event System",
and cryptography support.
• Extensive peripheral set with DACs
* Application specific AVR
• megaAVRs with special features not found on the other members of
the AVR family, such as LCD controller, USB controller, advanced
PWM, CAN etc.

II. Một số dòng AVR phổ biến:
− AT90S1200
− AT90S2313
− AT90S2323 and AT90S2343
− AT90S2333 and AT90S4433
− AT90S4414 and AT90S8515
− AT90S4434 and AT90S8535
− AT90C8534
− ATtiny10, ATtiny11 and ATtiny12
− ATtiny15
− ATtiny22
− ATtiny26
− ATtiny28


3



− ATmega8/8515/8535
− ATmega16
− ATmega161
− ATmega162
− ATmega163
− ATmega169
− ATmega32
− ATmega323
− ATmega103

− ATmega64/128/2560/2561



4


&2. ATMEGA16 – KIẾN TRÚC TỔNG QUAN
I. Ưu điểm:


Tốc độ xử lý cao, tiêu thụ điện năng thấp



Kiến trúc 131 tập lệnh thưc thi hầu hết trong mỗi chu kỳ xung clock




32x8 thanh ghi đa dụng



Đạt tốc độ tối đa 16MIPS ở 16Mhz xung clock



Dung lượng bộ nhớ: 16Kb Flash, 512 EEPROM, 1kb Internal SRAm



Khả năng ghi và xóa có thể đạt đến 10000 lần, lưu trữ trong thời gian
dài trên 20 năm/85oC-100 năm 25oC.



Giao tiếp chuẩn JTAG hỗ trợ debug, Lock, Fuse bit



2 bộ Timer 16 bit, 1 bộ timer 16 bit



4 kênh PWM



8 kênh ADC 10 bit




32 port xuất nhập



Hỗ trợ gioa tiếp I2C, USART, SPI



Hoạt động tốt ở hiệu điện thế 4.5-5.5 .

II. Kiến trúc:



5


1. Sơ đồ chân:



6


2. Sơ đồ khối:

3. Các Port xuất nhập:

a.


Port A:
Port A là bên cạnh là Port xuất nhập thông thường 8 bit còn được thiết
kế cho bộ ADC chuyển đổi tương tự số. Port A thiết kế với điện trở nội
treo lên ở mức cao.

b.

c.

Port B:
Là port xuất nhập thông thường 8 bit.
Port C:



7




Là port xuất nhập thông thường 8 bit. Bên cạnh đó Port C còn có một số
chân giao tiếp JTAG PC5-TDI, PC3-TMS, PC2 –TCK.

d.

PORT D:




Là port xuất nhập thông thường 8 bit.

4. Các chân khác:


VCC, AVCC, AREF, XTAL1, XTAL2, RESET

III. Các khối chính:
1. CPU:

AVR có cấu trúc Harvard, trong đó đường truyền cho bộ nhớ dữ liệu (data
memory bus) và đường truyền cho bộ nhớ chương trình (program memory bus)
được tách riêng. Data memory bus chỉ có 8 bit và được kết nối với hầu hết các
thiết bị ngoại vi, với register file. Trong khi đó program memory bus có độ
rộng 16 bits và chỉ phục vụ cho instruction registers.
a. ALU:


8




ALU làm việc trực tiếp với các thanh ghi chức năng chung. Các phép
toán được thực hiện trong một chu kỳ xung clock. Hoạt động của ALU
được chia làm 3 loại: đại số, logic và theo bit.

b.



Thanh ghi trạng thái:
Đây là thanh ghi 8 bit lưu trữ trạng thái của ALU sau các phép tính số
học và logic.

• C: Carry Flag Æ cờ nhớ .
• Z: Zero Flag ÆCờ zero.
• N: Negative Flag Æ kết quả phép toán âm.
• V: Two’s complement overflow Æ cờ bù 2.
• S For signed tests (S=N XOR V) Æ kiểm tra 2 cờ N và V.
• H: Half Carry Flag Æ được sử dụng trong BCD cho một số toán
hạng.
• T: Transfer bit used by BLD and BST instructionsÆđược sử dụng
làm nơi trung gian trong các lệnh BLD,BST.
• I: Global Interrupt Enable/Disable Flag Æây là bit cho phép toàn cục
ngắt. Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào
được phục vụ.
c.

Thanh ghi chức năng chung:
Atmega 16 có 32 thanh ghi chức năng chung thực thi nhiều tác vụ trong
đó:



9





Một 8 bit output toán hạng và một 8 bit cho input kết quả.



Hai 8 bit output toán hạng và một 8 bit cho input kết quả.



Hai 8 bit cho output kết quả và một 16 bit cho input kết quả.



Một 16 bit cho output toán hạng và một 16 bit cho input kết quả.

2. Con trỏ ngăn xếp SP:



Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi
chức năng đặc biệt 8 bit dùng để lưu trữ biến trong quá trình tính toán.
Stack được hiểu như là 1 “tháp” dữ liệu, dữ liệu được chứa vào stack ở
đỉnh “tháp” và dữ liệu cũng được lấy ra từ đỉnh. Kiểu truy cập dữ liệu
của stack gọi là LIFO.



Khia báo SP tại một vùng nhớ trong SRAM với địa chỉ của SP thiết lập
>$60. Con trỏ giảm địa chỉ xuống 1 khi dữ liệu được đưa vào Stack với
lệnh PUSH và hai khi có Subroutine hoặc Interrupt được gọi. Con trỏ

tăng địa chỉ lên 1 khi có lệnh POP dữ liệu thực hiện và lên hai khi trả
dữ liệu về cho chương trình con.



10


3. Memory:
a.



Bộ nhớ chương trình Flash:

Bộ nhớ Flash 16KB của ATmega16 dùng để lưu trữ chương trình với độ
rộng 16 bit. Do các lệnh của AVR có độ dài 16 hoặc 32 bit nên bộ nhớ
Flash được sắp xếp theo kiểu 8KX16.



Bộ nhớ chương trình chỉ gồm 1 phần là Application Flash Section
nhưng trong các chip AVR mới chúng ta có thêm phần Boot Flash
section. Boot Section. Thực chất, application section bao gồm 2 phần:
phần chứa các instruction và phần chứa interrupt vectors. Các vector
ngắt nằm ở phần đầu của application section từ địa chỉ 0x0000 và dài
đến bao nhiêu tùy thuộc vào loại chip và phần chứa instruction nằm liền
sau đó. Các chương trình được viết sau địa chỉ đó.




11


b.

Bộ nhớ dữ liệu SRAM:



Đây là phần chứa các thanh ghi quan trọng nhất của chip, việc lập trình
cho chip phần lớn là truy cập bộ nhớ này và bộ nhớ này gồm các phần
sau:


Phần 1: là phần đầu tiên trong bộ nhớ dữ liệu bao gồm 32 thanh
General Purpose Rgegister – GPR. Tất cả các thanh ghi này đều là các
thanh ghi 8 bits. Tất cả các chip trong họ AVR đều bao gồm 32 thanh
ghi Register File có địa chỉ tuyệt đối từ 0x0000 đến 0x001F. Mỗi
thanh ghi có thể chứa giá trị dương từ 0 đến 255 hoặc các giá trị có dấu
từ -128 đến 127 hoặc mã ASCII của một ký tự nào đó…Các thanh ghi
này được đặt tên theo thứ tự là R0 đến R31. Chúng được chia thành 2
phần, phần 1 bao gồm các thanh ghi từ R0 đến R15 và phần 2 là các
thanh ghi R16 đến R31.

• Phần 2: là phần nằm ngay sau SFR bao gồm 64 thanh ghi IO hay còn
gọi là vùng nhớ IO. Vùng nhớ I/O là cửa ngõ giao tiếp giữa CPU và
thiết bị ngoại vi. Vùng nhớ I/O có thể được truy cập như S
• RAM hay như các thanh ghi I/O. Nếu sử dụng instruction truy xuất
SRAM để truy xuất vùng nhớ này thì địa chỉ của chúng được tính từ




12


0x0020 đến 0x005F. Nhưng nếu truy xuất như các thanh ghi I/O thì
địa chỉ của chúng đựơc tính từ 0x0000 đến 0x003F.
• Phần 3: internal SRAM là vùng không gian cho chứa các biến trong
lúc thực thi chương trình.
c.


Bộ nhớ dữ liệu EEPROM:
ATmega16 chứa bộ nhớ dữ liệu EEPROM dung lượng 512 byte, và
được sắp xếp theo từng byte, cho phép các thao tác đọc/ghi từng byte
một. EEPROM được tách riêng và có địa chỉ tính từ 0x0000H.

4. Quá trình thực thi lệnh:


Giản đồ xung:



Các instruction được chứa trong bộ nhớ chương trình Flash memory
dưới dạng các thanh ghi 16 bit. Bộ nhớ chương trình được truy cập
trong mỗi chu kỳ xung clock và 1 instruction chứa trong program
memory sẽ được load vào trong instruction register, instruction register
tác động và lựa chọn register file cũng như RAM cho ALU thực thi.

Trong lúc thực thi chương trình, địa chỉ của dòng lệnh đang thực thi
được quyết định bởi một bộ đếm chương trình – PC (Program counter).
Hầu hết các instruction đều được thực thi trong 1 chu kỳ xung clock.



13


&3.CÁC MODULE ĐIỀU KHIỂN TRONG ATMEGA 16
I. Input & Output:
1. Giới thiệu:
Vi điều khiểnATmega16có 32 đường vào ra chia làm bốn Port: PORTAPORTB-PORTC-PORTD mỗi Port 8bit có thể tương tác điều khiển từng bit
một. Các cổng ra có điện trở nội kéo lên nên khi dùng chức năng input ta
không cần dùng điện trở kéo lên ở bên ngoài. Các Port được điều khiển bởi
các bô thanh ghi sau: thanh ghi dữ liệu cổng PORT, thanh ghi dữ liệu điều
khiển cổng DDR và cuối cùng là địa chỉ chân vào của cổng PIN.
a. Thanh ghi DDR:
− Đây là thanh ghi 8 bit (ta có thể đọc và ghi các bit ở thanh ghi này) và có
tác dụng điều khiển hướng cổng PORT (tức là cổng ra hay cổng vào). Nếu
như một bit trong thanh ghi này được set thì bit tương ứng đó trên PORT
được định nghĩa như một cổng ra. Ngược lại nếu như bit đó không được set
thì bit tương ứng trên PORT được định nghĩa là cổng vào.
b. Thanh ghi PORT:
− Đây cũng là thanh ghi 8 bit (các bit có thể đọc và ghi được) nó là thanh ghi
dữ liệu của cổng P và trong trường hợp nếu cổng được định nghĩa là cổng
ra thì khi ta ghi một bit lên thanh ghi này thì chân tương ứng trên port đó
cũng có cùng mức logic. Trong trường hợp mà cổng được định nghĩa là
cổng vào thì thanh ghi này lại mang dữ liệu điều khiển cổng. Cụ thể nếu bit
nào đó của thanh ghi này được set (đưa lên mức 1) thì điện trở kéo lên

(pull-up) của chân tương ứng của port đó sẽ được kích hoạt. Ngược lại nó
sẽ ở trạng thái hi-Z. Thanh ghi này sau khi khởi động Vi điều khiểnsẽ có
giá trị là 000.
c. Thanh ghi PIN:


14


− Đây là thanh ghi 8 bit chứa dữ liệu vào của PORT (trong trường hợp PORT
được thiết lập là cổng vào) và nó chỉ có thể đọc mà không thể ghi vào được.
2. Cấu tạo chân:

− Cấu trúc chân của AVR có thể phân biệt rõ chức năng (vào ra) trạng thái (0
1) từ đó ta có 4 kiểu vào ra cho một chân của avr. Khác với 89 là chỉ có 2
trạng thái duy nhất (0 1) . Đặc biệt nguồn từ chân của AVR đủ khoẻ để điều
khiển Led trực tiếp (mA) còn 89 chỉ là vài uA .
− Bảng trạng thái truy xuất I/O:



15


− Giản đồ xung khi truy cập chân:

3. Thiết lập truy xuất I/O:
a. Read:
− Đưa dữ liệu ra thanh ghi điều khiển DDRxn để đặt cho PORTx (hoặc bit n
trong port) đó là đầu vào (xóa thanh ghi DDRx hoặc bit).

− Kích hoạt điện trở pull-up bằng cách set thanh ghi PORTx ( bit).
− Cuối cùng đọc dữ liệu từ địa chỉ PINxn (trong đó x: là cổng và n là bit).
b. Write:
− Đưa dữ liệu ra thanh ghi điều khiển DDRxn để đặt cho PORTx (hoặc bit n
trong port) đó là đầu ra (xóa thanh ghi DDRx hoặc bit).
− Xuất giá trị ra Port
c. Code Example:
#include <avr/io.h>


16


#include <avr/interrupt.h>
#include <util/delay.h>
int main(void){
DDRB=0xFF;

//PORTB la output PORT

PORTB=0x00;
DDRD=0x00;

//PORTD la input PORT

PORTB=0xFF;
while (1){

//vòng lặp vô tận


//do nothing
}
return 0;
}

II. Timer&Counter:
1. Giới thiệu:
Bộ định thời (timer/counter0) là một module định thời/đếm 8 bit/16 bit,
Atmega 16 có 4 bộ định thời là Timer 0-Timer 2 8 bit và Timer 1 16 bit dùng
để định thời gian và đếm sự kiện với các đặc điểm sau:
• Bộ đếm một kênh
• Xóa bộ định thời khi trong mode so sánh (tự động nạp)
• PWM
• Tạo tần số
• Bộ đếm sự kiện ngoài
• Bộ chia tần 10 bit
• Nguồn ngắt tràn bộ đếm và so sánh
2. Cấu trúc bộ định thời 8 bit Timer 0:



17


a. Sơ đồ khối:

b. Các thanh ghi:
− TCNT0 và OCR0 là các thanh ghi 8 bit. Các tín hiệu yêu cầu ngắt đều nằm
trong thanh ghi TIFR. Các ngắt có thể được che bởi thanh ghi TIMSK. Bộ
định thời có thể sử dụng xung clock nội thông qua bộ chia hoặc xung

clock ngoài trên chân T0. Khối chọn xung clock điều khiển việc bộ định
thời/bộ đếm sẽ dùng nguồn xung nào để tăng giá trị của nó.
− Ngõ ra của khối chọn xung clock được xem là xung clock của bộ định thời
(clkT0). Thanh ghi OCR0 luôn được so sánh với giá trị của bộ định thời/bộ
đếm. Kết quả so sánh có thể được sử dụng để tạo ra PWM hoặc biến đổi tần
số ngõ ra tại chân OC0.
c. Đơn vị đếm:
− Phần chính của bộ định thời 8 bit là một đơn vị đếm song hướng có thể lập
trình
được. Cấu trúc của nó như hình dưới đây:



18


• count: tăng hay giảm TCNT0 1
• direction: lựa chọn giữa đếm lên và đếm xuống
• clear: xóa thanh ghi TCNT0
• clkT0: xung clock của bộ định thời
• TOP: báo hiệu bộ định thời đã tăng đến giá trị lớn nhất
• BOTTOM: báo hiệu bộ định thời đã giảm đến giá trị nhỏ nhất (0)
d.

Đơn vị so sánh ngõ ra:

− Bộ so sánh 8 bit liên tục so sánh giá trị TCNT0 với giá trị trong thanh ghi
so sánh ngõ ra (OCR0). Khi giá trị TCNT0 bằng với OCR0, bộ so sánh sẽ
tạo một báo hiệu. Báo hiệu này sẽ đặt giá trị cờ so sánh ngõ ra (OCF0) lên 1
vào chu kỳ xung clock tiếp theo. Nếu được kích hoạt (OCIE0=1), cờ OCF0

sẽ tạo ra một ngắt so sánh ngõ ra và sẽ tự động được xóa khi ngắt được thực
thi. Cờ OCF0 cũng có thể được xóa bằng phần mềm.


19


3. Mô tả chi tiết các thanh ghi của bộ định thời:
Có 4 thanh ghi được thiết kế riêng cho hoạt động và điều khiển T/C0, đó là:
a. Thanh ghi điều khiển bộ định thời/bộ đếm TCCR0:

− Bit 7-FOC0: So sánh ngõ ra bắt buộc. Bit này chỉ tích cực khi bit
WGM00 chỉ định chế độ làm việc không có PWM. Khi đặt bit này lên 1,
một báo hiệu so sánh bắt buộc xuất hiện tại đơn vị tạo dạng sóng.
− Bit 6, 3-WGM01:0: Chế độ tạo dạng sóng. Các bit này điều khiển đếm
thứ tự của bộ đếm, nguồn cho giá trị lớn nhất của bộ đếm (TOP) và kiểu
tạo dạng sóng sẽ được sử dụng.

− Bit 5:4-COM01:0: Chế độ báo hiệu so sánh ngõ ra. Các bit này điều khiển
hoạt động của chân OC0. Nếu một hoặc cả hai bit COM01:0 được đặt lên
1, ngõ ra OC0 sẽ hoạt động.
− Bit 2:0: CS02:0: Chọn xung đồng hồ



20


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×