- 1-
LỜI NÓI ðẦU
Trong thời gian qua tình hình trộm tài sản cá nhân, gia ñình hay doanh
nghiệp diễn biến hết sức phức tạp. Việc phát hiện kẻ trộm ñột nhập vào nhà, kho
hàng, các ngân hàng, những nơi cất tài sản quý hiếm, những tài liệu mật là rất
quan trọng. Thủ ñoạn của bọn kẻ trộm là thường lợi dụng sơ hở của bảo vệ hay
chủ nhà ñể trộm tài sản. Thủ ñoạn của chúng ngày càng tinh vi, xảo quyệt. Nếu ta
chỉ sử dụng các hệ thống báo ñộng tại chỗ thì kẻ trộm có thể dễ dàng khống chế
tắt tất cả hệ thống ñó làm cho việc phát hiện trộm khó khăn, hoặc khi chúng ta
ñang ñi xa thì hệ thống báo ñộng tại chỗ cũng không có tác dụng, gây thiệt hại.
Ngày nay, với sự phát triển như vũ bão của ðiện tử viễn thông và Công
nghệ thông tin. ðiện thoại di ñộng ngày nay ñã không còn là thứ xa xỉ nữa mà
ngược lại còn rất phổ biến, luôn luôn bên cạnh con người ở bất cứ ñâu. Nếu ta sử
dụng ñiện thoại di ñộng ñể dùng vào việc báo trộm thì rất là hiệu quả, nó có thể
khắc phục ñược các nhược ñiểm của hệ thống báo ñộng tại chỗ. Và nếu kết hợp
luôn cả hai hệ thống này thì hiệu quả sẽ càng cao hơn, giúp phát hiện sớm mọi sự
ñột nhập, giảm thiểu thiệt hại.
Trong ñời sống chúng ta luôn tồn tại những khu vực dễ cháy, một khi có
cháy xảy ra thì hậu quả thật khôn lường, gây thiệt hại rất lớn về người và của.
Ngày nay việc phòng cháy chữa cháy trở thành mối quan tâm hàng ñầu của nước
ta và nhiều nước trên thế giới, nó trở thành nghĩa vụ của mọi người dân. Trên các
phương tiện thông tin ñại chúng luôn tuyên truyền sâu rộng cho mọi người tầm
quan trọng của việc phòng cháy chữa cháy, nhằm hạn chế mức thấp nhất hậu quả
do các vụ cháy gây ra. Các vụ cháy thường hay xảy ra vào ban ñêm, tại những
nơi có nhiều vật liệu dễ cháy, nổ, những khu dân cư ñông ñúc, khu chung cư cao
tầng lúc ta lơ là, mất cảnh giác, bất cẩn, nên không khống chế kịp ñể ñám cháy
lan rộng gây thiệt hại. Vì vậy, việc lắp ñặt hệ thống báo cháy tại các khu vực này
là ñiều rất quan trọng và cần thiết.
Xuất phát từ những yêu cầu thực tế trên em quyết ñịnh chọn ñề tài:
“Thiết kế, chế tạo hệ thống cảnh báo trộm, cháy”. ðề tài gồm có 4 chương:
- Chương 1: Tổng hợp những nghiên cứu Hệ thống chống trộm, cháy
- Chương 2: Phương pháp và nội dung nghiên cứu
- Chương 3: Thực nghiệm, phân tích kết quả
- Chương 4: Kết luận – ðề xuất
- 2Với mục ñích sau khi thực hiện xong ñề tài có thể ñem ra ứng dụng trong
thực tế, nhằm phục vụ việc cảnh báo trộm, cháy hiệu quả, kịp thời cho các hộ gia
ñình, cơ quan, xí nghiệp, nhà xưởng, giảm thiểu hậu quả ñáng tiếc xảy ra. Do
thời gian thực hiện ñề tài và kiến thức hiểu biết có hạn nên ñề tài của em không
thể tránh khỏi những sai sót, rất mong sự góp ý chân thành của các quý thầy cô
ñể ñề tài của em ñược hoàn thiện hơn.
Em xin chân thành cảm ơn!
- 3-
Chương 1:
TỔNG HỢP NHỮNG NGHIÊN CỨU HỆ THỐNG
CHỐNG TRỘM, CHÁY
- 41.1. Cơ sở lý luận
Ngày nay, với sự phát triển như vũ báo của khoa học kỹ thuật, ñặc biệt là
sự phát triển của Công nghệ vi ñiều khiển, vi xử lý, những ứng dụng của nó ngày
càng ñược con người khai thác và vận dụng hiệu quả, tạo ra những sản phẩm
thông minh, hiện ñại, góp phần giảm thiểu sức lao ñộng chân tay của con người,
tiết kiệm ñược thời gian. Kỹ thuật ứng dụng vi ñiều khiển ngày nay ñã thâm nhập
và có mặt trên khắp tất cả các lĩnh vực khoa học kỹ thuật của con người, từ
những hệ thống lớn mang tính công nghiệp ñến những hệ thống nhỏ dân dụng.
Trong các ứng dụng dân dụng không thể không kể ñến lĩnh vực an ninh, tiêu biểu
là hệ thống cảnh báo trộm, cháy là ñang ñược toàn thể xã hội quan tâm.
Thông thường, một hệ thống chống trộm, cháy sẽ bao gồm một thiết bị
trung tâm có thể kết nối với những loại thiết bị báo, bao gồm: khói, xì gas, cảm
biến phát hiện kính vỡ, cảm biến hồng ngoại phát hiện chuyển ñộng, cảm biến từ,
cảm biến laser, loa-còi-nút khẩn thông báo, v.v. .
Ứng với mỗi cảm biến là một thiết bị ñược kết nối với trung tâm xử lý, tùy
theo nhu cầu sử dụng mà thiết bị trung tâm có khả năng kết nối ña dạng như kết
nối với máy tính, ñiện thoại bàn, ñiện thoại di ñộng hoặc trung tâm cảnh báo ñể
thông báo cho người sử dụng biết tình trạng, nguy cơ xảy ra sự cố. Trung tâm xử
lý càng cao cấp thì khả năng hoạt ñộng của hệ thống càng thông minh.
ðể có thể thiết kế ñược một hệ thống cảnh báo trộm, cháy hiệu quả và tối
ưu nhất thì ñòi hỏi ta phải có ñược những kiến thức cơ bản về vi xử lý, vi ñiều
khiển, kỹ thuật cảm biến, kỹ thuật lập trình cho vi xử lý, kỹ thuật ñiện tử và một
phần kiến thức bên lĩnh vực ðiện tử Viễn thông.
1.2. Tình hình nghiên cứu trong và ngoài nước
Hệ thống cảnh báo trộm, cháy ngày nay ñã ngày càng trở nên phổ biến và
không thể thiếu ñược ñối với các hộ gia ñình, cơ quan xí nghiệp…Ở các nước
tiên tiến thì hệ thống này ñã có từ lâu và trở nên rất thông dụng. Như tại các công
ty, nhà xưởng, nhà riêng, nhà kho, nhà chứa các vật liệu dễ cháy nổ, nơi chứa các
tài liệu mật của Chính phủ hay các Viện bảo tàng.
Tại Nga, có những nhà máy ñiện, những kho lưu trữ tài liệu quý ñã ứng
dụng hệ thống cảnh báo cháy, trộm kết hợp với ñiều khiển thiết bị từ xa và tự
ñộng báo ñộng qua ñường dây ñiện thoại ñể tự ñộng ñóng ngắt những nơi cao áp,
tự ñộng quay số báo ñộng khi có sự cố, tự ñộng xả bình chữa cháy, mang lại hiệu
- 5quả rất cao, và cũng tại Nga ñã có hệ thống báo ñộng và ñiều khiển thiết bị thông
qua mạng Internet.
Ở Mỹ, tại những Cơ quan ñã cho lắp ñặt hệ thống cảnh báo trộm, cháy
theo mô hình nhà thông minh tại các văn phòng chứa các tài liệu mật, quan trọng
hệ thống ñược lắp ñặt bảo mật và ñược ñiều khiển thông qua một tổng ñài nội bộ.
Các hãng sản xuất hệ thống cảnh báo trộm cháy Nhật Bản như Nittan,
Nohmi ñã cho ra mắt Hệ thống báo ñộng, báo trộm ña năng với các ñặc tính hiện
ñại như:
- Màn hình LCD hiển thị ngày, giờ, trạng thái hệ thống, vùng báo ñộng
- Có thể ñiều khiển bằng Remote.
- Khả năng kết hợp cả ñầu báo không dây và có dây.
- Khi có báo ñộng hệ thống sẽ hú còi, gọi ñiện thoại, gửi tin nhắn, chỉ rõ
vùng báo ñộng cho gia chủ.
- Khi có kẻ gian cắt ñường dây hoặc cúp ñiện hệ thống sẽ tự ñộng gửi tin
nhắn báo cho gia chủ biết.
- …
Hình 1.1. Hệ thống cảnh báo trộm không dây của hãng SOAN (ðài Loan)
- 6Trên ñây là những thành tựu ñạt ñược ở các nước tiên tiến. Ở Việt Nam:
- Cũng có một số ñề tài nghiên cứu sử dụng mạng ñiện thoại ñể ñiều khiển
làm hệ thống cảnh báo cháy nhưng chưa thực sự hoàn chỉnh và tối ưu. Các ñề tài
này chỉ mới là ứng dụng cho hệ thống ñiện thoại cố ñịnh mà chưa làm ñược ñối
với thuê bao di ñộng, trong khi ñiện thoại di ñộng bây giờ lại quá thông dụng.
Phương án phản hồi không chính xác do chỉ phản hồi bằng tiếng nhạc nên hiệu
quả báo ñộng không cao, dễ báo ñộng nhầm.
- Có một số ñề tài nghiên cứu sử dụng mạng ñiện thoại di ñộng ñể cảnh
báo cháy nhưng chỉ là trên lý thuyết, chưa áp dụng vào thực tế.
- Phòng cảnh sát hình sự Công an Hà Nội vừa nghiên cứu thành công thiết
bị an ninh chống cướp tiệm vàng có thể áp dụng hữu hiệu cho các cơ sở kinh
doanh vàng nhưng chỉ áp dụng với những doanh nghiệp kinh doanh nhỏ.
Hình 1.2. Thiết bị an ninh chống cướp tiệm vàng của Công an Hà Nội.
Trên thị trường Việt Nam Hệ thống cảnh báo trộm cháy bây giờ cũng rất
ña dạng và phong phú, phù hợp với tình hình, ñiều kiện hoàn cảnh, nhu cầu và
mục ñích riêng của từng ñối tượng sử dụng. Nhưng chủ yếu là hàng nhập khẩu từ
nước ngoài. Một số thương hiệu có thể kể ñến như Nohmi, Nittan (Nhật),
Hochiki, Horing, Hongchang, Woosung, Horing Lih (ðài Loan), Caddx (Mỹ). . .
có xuất xứ từ nhiều nước: Trung Quốc, ðài Loan, Hàn Quốc, Nhật, Mỹ…
- 7-
Hình 1.3. Hệ thống chống trộm không dây ñiều khiển cho nhiều khu vực.
Hình 1.4 Hệ thống chống trộm không dây của hãng Guardsman
Giá cả của những loại thiết bị này dao ñộng khá lớn và tùy thuộc vào công
dụng, chức năng và tầm hoạt ñộng (số vùng và thiết bị quản lý, diện tích quản
lý…). Vì vậy việc lắp ñặt hệ thống cảnh báo hiện ñại cho hộ gia ñình, các công ty
nhỏ là vấn ñề còn xa xỉ, chưa ñược phổ biến, chúng chỉ ñược áp dụng cho những
công trình tầm cỡ, các hệ thống này chưa trở thành là sản phẩm dân phổ biến do
giá thành sản phẩm còn cao.
- 8-
Chương 2:
PHƯƠNG PHÁP VÀ NỘI DUNG NGHIÊN CỨU
- 92.1. Mục ñích yêu cầu ñề tài
Nhằm phục vụ việc cảnh báo trộm, cháy tự ñộng cho các hộ gia ñình, khu
chung cư cao tầng, các nhà máy xí nghiệp và những nơi cần thiết khác.
Từ mục ñích trên thì Hệ thống cảnh báo trộm, cháy cần ñảm bảo ñuợc các
yêu cầu sau:
- Sử dụng tiện lợi và phạm vi áp dụng rộng mà không cần thay ñổi phần
cứng.
- Báo ñộng kịp thời nhằm giảm nhẹ thiệt hại do các vụ ñột nhập và các vụ
hỏa hoạn gây ra.
- Có thể báo ñộng ñến nhiều số ñiện thoại khác nhau kịp thời và chính
xác.
- Hiển thị các thông số cần thiết cho người dùng.
- Hoạt ñộng ổn ñịnh và ít sai số, hạn chế báo ñộng giả.
- Giá thành sản phẩm hạ.
2.2. Sơ ñồ khối tổng thể
Một hệ thống cảnh báo trộm, cháy thông thường có ba bộ phận chính hoạt
ñộng ñộc lập ñó là: một bộ ñiều khiển trung tâm (kiểm soát trung tâm); các thiết
bị ñầu dò ngoại vi khác (các sensor) như ñầu báo nhiệt, ñầu báo trộm, ñầu báo
khói. . ; các ñầu báo hiệu như loa, ñèn nháy, còi hú. . .
Xuất phát từ mục ñích và yêu cầu trên, em thiết kế hệ thống tự ñộng với
các thành phần thể hiện rõ trên sơ ñồ khối hình 2.1:
- 10-
HỘP ðIỀU KHIỂN
TRUNG TÂM
THIẾT BỊ ðẦU VÀO
KHỐI
CẢNH
BÁO
CHÁY
HẸN GIỜ
HỆ THỐNG
KHỐI
CẢNH
BÁO
TRỘM
THIẾT BỊ
BÁO ðỘNG
CÒI HỤ
ðIỆN
THOẠI
Hình 2.1. Sơ ñồ khối tổng thể
2.3. Chức năng nhiệm vụ các khối
2.3.1. Bộ ñiều khiển trung tâm hay hộp ñiều khiển trung tâm
Là cơ quan ñầu não quan trọng, có nhiệm vụ thu nhận tín hiệu từ các thiết
bị ngoại vi, xử lý và phát tín hiệu báo ñộng. Có thể báo ñộng tại chỗ qua hệ thống
còi hụ, hệ thống ñèn hoặc báo ñộng (speaker) qua ñiện thoại di ñộng (mobile).
Trên hộp ñiều khiển trung tâm có chứa vi ñiều khiển (ATmega32) là cơ quan ñầu
não, chứa tất cả trình ñiều khiển, ñiều khiển mọi hoạt ñộng của hệ thống. Màn
hình LCD ñể hiển thị các thông số và hệ thống phím nhấn ñể thiết lập các thông
số cần thiết.
Sau ñây em xin trình bày cụ thể các khối trong hộp ñiều khiển trung tâm:
- 112.3.1.1. Giới thiệu họ Vi ñiều khiển AVR và sơ lược các chân của ATmega32
Vi ñiều khiển AVR do hãng Atmel (Hoa Kỳ) sản xuất ñược giới thiệu lần
ñầu năm 1996. AVR có rất nhiều dòng khác nhau, bao gồm Tiny AVR (như AT
tiny13, AT tiny 22. .) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi. Tiếp ñến
dòng AVR (chẳng hạn AT90S8535) có kích thước bộ nhớ vào loại trung bình.
Mạnh hơn là dòng Mega (nhưATmega32, Atmega128. .) với bộ nhớ có kích
thước vài Kbyte ñến vài trăm Kbyte cùng với các bộ ngoại vi ña dạng, ñược tích
hợp trên Chip. Tốc ñộ của dòng Mega cũng cao hơn các dòng khác.
IC ATmega32 là IC tiêu biểu trong họ AVR. Sự khác nhau cơ bản giữa
các dòng chính là cấu trúc ngoại vi, còn nhân thì vẫn như nhau.
Những tính năng chính của AVR:
- ROM: 32 Kbytes
- SRAM: 2 Kbytes
- EEPROM: 1024 bytes
- 32 thanh ghi I/O
- 4 PORT I/O 8 bits
- 8 Bits Timer/Counter 0
- 16 bits Timer/Counter 1
- 8 bits Timer/Counter 2
- Bộ ñinh thời Watchdog
- ADC 8 kênh với ñộ phân giải 10 bits
- 4 kênh PWM
- Khối truyền thông USART
- Chế ñộ tiết kiệm năng lượng
- Tần số tối ña 16 MHz
- ðiện áp hoạt ñộng: 2.7V-5.5V
- ðóng gói 40 chân.
Cấu trúc cơ bản của AVR ñược thể hiện trên hình 2.2
- 12-
Hình 2.2 Cấu trúc cơ bản của AVR
ATmega 32 có ñầy ñủ tính năng của họ AVR. ðược ñóng vỏ 40 chân
trong ñó 32 chân vào ra dữ liệu ñược chia làm bốn.
Sơ ñồ chân ñược thể hiện trên hình 2.3
- 13-
Hình 2.3. Sơ ñồ chân của ATmega32
a. Các cổng (PORT) vào ra I/O
Cổng vào ra là một trong số các phương tiện ñể vi ñiều khiển giao tiếp với
các thiết bị ngoại vi. ATmega32 có cả thảy 4 cổng (PORT) vào ra 8 bits:
PORTA, PORTB, PORTC, PORTD tương ứng với 32 ñường vào ra. Các cổng
vào ra của AVR là các cổng vào ra hai chiều có thể ñịnh hướng, tức có thể ñịnh
hướng cho cổng là vào hay ra. Tất cả các cổng vào ra của AVR ñều có chức năng
ñọc, chỉnh sửa, ghi khi sử dụng chúng như là các cổng vào ra số thông thường.
ðiều này có nghĩa là, khi thay ñổi hướng của một chân nào ñó thì nó cũng không
ảnh hưởng ñến hướng của các chân khác. Khi khảo sát các cổng như là cổng vào
ra số thông thường thì tính chất của các PORT (PORTA, PORTB, PORTC,
PORTD) là tương tự nhau. Do ñó, ta chỉ cần khảo sát một trong 4 PORT của vi
ñiều khiển là ñủ.
Mỗi một cổng vào ra của vi ñiều khiển ñều ñược liên kết với 3 thanh ghi:
PORTx, DDRx, PINx (ở ñây x là thay thế cho các chữ A, B, C, D). Ba thanh ghi
này sẽ ñược phối hợp với nhau ñể ñiều khiển hoạt ñộng của cổng.
a.1. Thanh ghi DDRx
ðây là thanh ghi 8 bits (có thể ñọc ghi) có chức năng ñiều khiển hướng
của các cổng (lối ra hay là lối vào). Khi một bits của thanh ghi này ñược set lên 1
thì chân tương ứng với nó ñược cấu hình thành ngõ ra. Ngược lại nếu bits của
thanh ghi DDRx là 0 thì chân tương ứng với nó ñược thiết lập thành ngõ vào.
- 14Ví dụ: Khi ta set tất cả các bits của thanh ghi DDRA ñều là 1 thì 8 chân
tương ứng của PORTA là PA1, PA2. . PA7 (ñược thiết lập thành ngõ ra)
Hình 2.4. Thanh ghi DDRA
a.2. Thanh ghi PORTx:
PORTx là thanh ghi 8 bits có thể ñọc ghi. ðây là thanh ghi dữ liệu của
DDRx. Nếu thanh ghi DDRx thiết lập là cổng lối ra, khi ñó giá trị của thanh ghi
PORTx cũng là giá trị của các chân tương ứng của DDRx, nói cách khác khi ta
cho một giá trị logic lên 1 bits của thanh ghi này thì chân tương ứng với bits ñó
cũng có cùng mức logic. Khi thanh ghi DDRx thiết lập cổng thành lối vào thì
thanh ghi PORTx ñóng vai trò như một thanh ghi ñiều khiển cổng.
Hình 2.5 Thanh ghi PORTA
a.3. Thanh ghi PINx
PINx không phải là một thanh ghi thực sự, ñây là ñịa chỉ trong bộ nhớ I/O
kết nối trực tiếp tới các chân của cổng. Khi ta ñọc PORTx, tức là ñọc dữ liệu
ñược chốt trong PORTx, còn khi ñọc PINx thì giá trị logic hiện thời của chân của
cổng tương ứng ñược ñọc. Vì thế ñối với thanh ghi PINx ta chỉ có thể ñọc mà
không thể ghi.
Hình 2.6 Thanh ghi PINA
Ngoài chức năng là cổng vào ra bình thường trên thì các cổng còn ñược
tích hợp với các chức năng khác như:
- 15- PORTA: chứa bộ ADC là bộ chuyển ñổi tín hiệu tương tự sang tín hiệu
số. ATmega32 có tích hợp bộ ADC 8 kênh với ñộ phân giải 10 bits, tích hợp trên
PORTA tương ứng từ PA0 ñến PA7.
- PORTB: Kết nối LCD.
- PORTC: Chỉ là các chân vào ra bình thường.
- PORTD:
+ PD0 và PD1 là 2 chân dùng ñể truyền thông USART.
+ PD2 và PD3 là hai chân ngắt ngoài.
+ PD4 và PD5 là hai kênh PWM.
b. Các bộ ñịnh thời
b.1. Tổng quan về các bộ Timer/Counter trên Chip ATmega32
Timer/Counter là các module ñộc lập với CPU. Chức năng chính của các
bộ Timer/Counter như tên gọi của chúng là các bộ ñịnh thời (tạo ra một khoảng
thời gian, ñếm thời gian..) và ñếm sự kiện. Trên các chip của AVR các bộ
Timer/Counter còn có thêm chức năng là các bộ ñiều chế ñộ rộng xung
PWM(Pulse Width Modulation). Ở một số dòng AVR, Timer/Counter còn ñược
dùng như các bộ canh chỉnh thời gian trong các ứng dụng thời gian thực. Các bộ
Timer/Counter ñược chia theo ñộ rộng thanh ghi chứa giá trị ñịnh thời hay giá trị
ñếm của chúng. Cụ thể trên Chip ATmega32, có hai bộ Timer/Counter 8 bits
(Timer/Counter 0 và Timer/Counter 2) và một bộ 16 bits (Timer/Counter 1). Chế
ñộ hoạt ñộng và phương pháp ñiều khiển từng loại Timer/Counter không hoàn
toàn giống nhau, ở ATmega32 thì:
- Timer/Counter 0: là một bộ ñịnh thì 8 bits. Chế ñộ hoạt ñộng của
Timer/Counter 0 thực chất có thể xem như hai chế ñộ nhỏ, ñó là tạo ra một
khoảng thời gian và ñếm sự kiện.
- Timer/Counter 1: là bộ ñịnh thời ñếm ña năng 16 bits. Bộ
Timer/Counter này có 5 chức năng hoạt ñộng chính. Ngoài các chức năng bình
thường, Timer/Counter1 còn ñược dùng ñể tạo PMW cho các mục ñích ñiều
khiển. Có thể tạo hai PWM ñộc lập trên các chân OC1A (chân 19) và OC1B
(chân18) bằng Timer/Counter 1.
- Timer/Counter 2: Tuy là module 8 bits nhưng nó có ñến 4 chế ñộ hoạt
ñộng như Timer/Counter 1, ngoài ra nó còn ñược sử dụng như một module canh
chỉnh thời gian cho các ứng dụng thời gian thực.
- 16Trong ñề tài này em chủ yếu chỉ sử dụng Bộ Timer/Counter0 nên em xin
trình bày cụ thể về bộ Timer/Counter 0.
b.2. Bộ ñịnh thời 0 (Timer / Counter 0)
* Sơ ñồ khối bộ ñịnh thời 0:
Hình 2.7 Sơ ñồ khối Timer / Counter 0
Timer / Counter 0 là bộ ñịnh thời 8 bits, nó liên quan ñến 7 thanh ghi với
nhiều chế ñộ thực thi khác nhau.
* Các ñịnh nghĩa
Các ñịnh nghĩa sau ñây sẽ ñược sử dụng cho bộ ñịnh thời 0 và 2:
BOTTOM: Bộ ñếm ñạt ñến giá trị BOTTOM khi bộ ñếm ñạt ñến giá trị
00h
MAX: Bộ ñếm ñạt ñến giá trị MAX khi nó ñạt ñến giá trị FFh
TOP: Bộ ñếm ñạt ñến giá trị TOP khi nó bằng với giá trị cao nhất trong
chuỗi ñếm, giá trị cao nhất trong chuỗi ñếm không nhất thiết bằng FFh mà có thể
là bất kỳ giá trị nào ñược quy ñịnh trong thanh ghi OCRn (n=0.2), tùy theo chế
ñộ thực thi. Chức năng của các thanh ghi liên quan ñến bộ ñịnh thời 0:
- 17* Thanh ghi Timer/Counter Control Register - TCCR0
Hình 2.8. Thanh ghi TCCR0
- Bits 7 - FOC0 (Force Output Compare), bits này chỉ hoạt ñộng khi các
bits WGM chỉ ñịnh chế ñộ Non - PWM (chẳng hạn chế ñộ CTC) khi ở chế ñộ
PWM bits này bằng 0. Ở chế ñộ Non-PWM, khi bits FOC0 ñược ghi thành 1 thì
lập tức một sự kiện (“so sánh khớp cưỡng bức”) (Force Compare Match) xảy ra ở
bộ tạo sóng tức là sự kiện so sánh khớp bắt buộc xảy ra mặc dù giá trị của bộ
ñịnh thời không bằng với giá trị sẵn trong thanh ghi OCR0. Lúc này ngõ ra sẽ
thay ñổi tùy theo thiết lập của những bits COM01, COM02 tương ứng với nó.
Bits FOC0 sẽ tự ñộng bị xóa khỏi phần cứng sau một chu kỳ clock. Bits này
không thể ñọc.
- Bits 6 - WGM00, bits 3 - WGM01 (Wareform Generation Mode), những
bits này ñiều khiển các chế ñộ thực thi của bộ ñếm, theo ñó dạng sóng tương ứng
ñược tạo ra từ bộ tạo sóng. Các chế ñộ thực thi hỗ trợ là: Nomal, CTC, PWM.
- Bits 5 - COM01, bits 4 - COM00: Compare Match Output Mode, hai bits
này ñiều khiển trạng thái của các chân OC0. Nếu một trong 2 bits này ñược set
thành 1 thì ngõ ra OC0 ñược ưu tiên hơn chức năng I/O thông thường. Chú ý là
các bits tương ứng của OC0 trong thanh ghi DDR phải ñược set ñể cho phép ngõ
ra.
- Bits 2 - CS02, bits 1- CS01: Clock Select
ðây là 3 bits dùng ñể lựa chọn xung clock cho bộ ñịnh thời. Bảng 2.1 lựa
chọn tốc ñộ xung clock cho bộ ñịnh thời:
- 18Bảng 2. 1: Bảng lựa chọn tốc ñộ xung Clock cho bộ ñịnh thời
* Thanh ghi Timer/Counter Registor TCNT0
Hình 2.9. Thanh ghi TCNT0
ðây là thanh ghi ñếm 8 bits của bộ ñịnh thời 0. Giá trị thanh ghi này tăng
hoặc giảm 1 ñơn vị sau mỗi chu kỳ Clock. Không nên ghi vào thanh ghi này khi
nó ñang ñếm.
* Thanh ghi Output Compare Register – OCR0
Hình 2.10 Thanh ghi OCR0
OCR0 là thanh ghi 8 bits, giá trị của nó ñược liên tục so sánh với giá trị
của thanh ghi TCNT0. Khi giá trị của hai thanh ghi này bằng nhau thì xảy ra sự
kiện so sánh khớp (compare match). Sự kiện so sánh khớp sẽ tạo ra một ngắt, nếu
ngắt ñược cho phép.
* Thanh ghi Timer/Counter interrupt Mask Register TIMSK
- 19-
Hình 2.11 Thanh ghi TIMSK
- Bits 1 - OCIE0 Timer/Counter 0 (Output Compare Match Interrupt
Enable). Khi bits OCIE0 ghi giá trị là 1 và bits 1 của thanh ghi trạng thái SREG
ñược set thành 1 thì ngắt so sánh ñược cho phép.
- Bits 0 - TOIE0 (Timer/Counter0 Overflow Interrupt Enable). Khi bits
này ñược ghi là 1 và ngắt toàn cục ñược cho phép thì ngắt tràn bộ ñịnh thời
(Timer/Counter0 Overflow Interrupt) ñược cho phép. Khi ñó, một ngắt tương
ứng sẽ ñược thực thi khi bộ ñịnh thời tràn.
* Thanh ghi Timer/Counter Interrupt Flag Register - TIFR
Hình 2.12 Thanh ghi TIFR
- Bits 1 - OCF0 (Output Compare Flag 0): Bits này ñược set lên 1 khi xảy
ra “so sánh khớp” (Compare match) giữa bộ ñịnh thời (tức thanh ghi TCCN0)
với thanh ghi OCR0. Cờ OCF0 sẽ tự ñộng xóa khi ngắt tương ứng ñược thực thi.
Ngoài ra, cũng có thể xóa cờ OCFO bằng cách ghi một giá trị logic lên nó.
- Bits 0 - TOV0 (Timer/Counter0 Overlow Flag): Bits TOV0 ñược set
thành 1 khi bộ ñịnh thời tràn và nó ñược xóa khi ngắt tương ứng ñược thực thi.
Ngoài ra cũng có thể xóa bằng cách ghi một giá trị logic vào nó.
* Thanh ghi Special Funcion IO Register-SFIOR
Hình 2.13 Thanh ghi SFIOR
- 20- Bits 7 - TSM (Timer/Counter Synchronization Mode): Ghi bits này
thành 1 sẽ kích hoạt chế ñộ ñồng bộ bộ ñịnh thời. Trong chế ñộ này, một giá trị
ñược ghi vào các bits PSR0 và PSR321 sẽ ñược giữ lại, vì thế nó giữ cho tín hiệu
reset của bộ chia trước (prescaler) tương ứng ñược xác nhận (do ñó bộ chia trước
vẫn ở trạng thái reset). Khi bits này ñược ghi thành 0 thì các bộ ñịnh thời sẽ bắt
ñầu ñếm ñồng thời.
- Bits 1- PSR0 (Prescaler Reset Timer/Counter0): Khi bits này là 1 thì bộ
chia trước của bộ ñịnh thời 0 sẽ ñược ñặt lại. Bits này thường ñược xóa tức thời
bằng phần cứng.
* Thanh ghi Asynchronous Status Register - ASSR
Hình 2.14 Thanh ghi ASSR
- Bits 3 - AS0 (Asynchronous Timer/Counter 0): Khi bits AS0 là 0 thì bộ
ñịnh thời ñược ñếm từ nguồn xung clock I/O. Khi AS0 ñược ghi thành 1, bộ ñịnh
thời ñược ñếm từ xung thạch anh ở chân TOSC1. Khi giá trị của AS0 bị thay ñổi
thì nội dung của các thanh ghi TCNT0, OCR0, TCCR0 có thể bị hỏng.
- Bits 2 - TCN0UB (Timer/Counter 0 Update Busy): Khi bộ ñịnh thời 0
thực thi quá trình không ñồng bộ và thanh ghi TCNT0 ñang ñược ghi thì bits
TCN0UB sẽ set lên 1. Khi thanh ghi TCNT0 vừa ñược cập nhật từ thanh ghi lưu
trữ tạm thì bits này bị xóa bởi phần cứng. Mức logic 0 trong trường hợp này là ñể
chỉ ra rằng thanh ghi TCNT0 ñã sẵn sàng ñể cập nhật một giá trị mới.
- Bits 1 - OCR0UB (Output Compare Register 0 Update Busy): Khi bộ
ñịnh thời 0 thực thi quá trình không ñồng bộ và thanh ghi OCR0 ñang ñược ghi
thì bits OCR0UB sẽ set lên 1. Khi thanh ghi OCR0 vừa ñược cập nhật từ thanh
ghi lưu trữ tạm thì bits này bị xóa bởi phần cứng. Mức logic 0 trong trường hợp
này là ñể chỉ ra rằng thanh ghi OCR0 ñã sẵn sàng ñể cập nhật một giá trị mới.
- Bits 0 - TCR0UB (Timer/Counter Control Register 0 Update Busy): Khi
bộ ñịnh thời 0 thực thi quá trình không ñồng bộ và thanh ghi TCCR0 ñang ñược
ghi thì bits TCR0UB sẽ set lên 1. Khi thanh ghi TCCR0 vừa ñược cập nhật từ
thanh ghi lưu trữ tạm thì bits này bị xóa bởi phần cứng. Mức logic 0 trong trường
- Xem thêm -