Tải bản đầy đủ (.doc) (50 trang)

Bài Thi Cuối Khóa Điều Khiển Từ Xa Bằng Remote Tivi SONY Bằng Tia Hồng Ngoại

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 (582.4 KB, 50 trang )

BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

ĐAI HỌC ĐÀ NẴNG
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
CAO ĐẲNG CÔNG NGHỆ
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
KHOA ĐIỆN

BÀI THI CUỐI KHÓA
Họ và tên sinh viên
Lớp
:
Chuyên nghành :

:
02ĐT2
ĐIỆN TỬ

1. Đề tài : Điều khiển từ xa bằng remote Tivi SONY ( Bằng tia hồng ngoại )
2. Nội dung các phần thuyết minh :
- Phần lý thuyết
:
Tổng quan về lý thuyết.
- Phần thiết kế
:
Sơ đồ nguyên lý và hoạt đông của mạch.
- Phần thi công
:
Các bước tiến hành thi công và hoàn thiện


mạch.
3. Các bản vẽ :
4. Cán bộ hướng dẫn
:
NGUYỄN DUY NHẬT VIỄN
5. Ngày nhận đồ án :
Ngày .......... tháng ......... năm 2005.
6. Ngày nộp đồ án :
Ngày........... tháng.......... năm 2005.
Thông qua Khoa
Ngày .....tháng ......năm 2005.
Chủ nhiệm khoa
(ký và ghi rõ họ và tên)

Cán bộ hướng dẫn
(ký và ghi rõ họ và tên)

Đà Nẵng, ngày ...... tháng ...... năm 2004.
Chủ tịch Hội đồng

Kết quả điểm đánh giá : ______

GVHD : Nguyễn Duy Nhật Viễn

1


BÀI THI CUỐI KHÓA

ĐAI HỌC ĐÀ NẴNG

CAO ĐẲNG CÔNG NGHỆ
KHOA

REMOTE CONTROLLER

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
ĐIỆN

NHẬN XÉT & ĐÁNH GIÁ
BÀI THI CUỐI KHÓA
Họ và tên sinh viên :
Lớp
:
Chuyên nghành
:

NGUYỄN VĂN MINH
02ĐT2
ĐIỆN TỬ

Đề tài : Điều khiển từ xa bằng remote Tivi SONY ( Bằng tia hồng ngoại )
1. Họ và tên cán bộ hướng dẫn : NGUYỄN DUY NHẬT VIỄN
Nhận xét của cán bộ hướng dẫn :
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................

.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Kết quả điểm đánh giá : _____
Cán bộ hướng dẫn
(ký tên)

Nhận xét của cán bộ phản biện :
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Cán bộ phản biện
(ký tên)

GVHD : Nguyễn Duy Nhật Viễn

2


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER


Lời Nói Đầu
oOo-=o=--==--o[]\/[][][]\[][]-[]o--==-o-==-oOo
Trong thời đại ngày nay công nghệ điện tử đã và đang phát triển rất
mạnh mẻ. Sự ra đời của các vi mạch tổng hợp có khả năng lập trình cao đã
đem lại rất nhiều thuận tiện cho việc thiết kế các mạch điều khiển đòi hỏi
sự chính xác và phức tạp cao.
Ngành công nghiệp điện tử đã và đang dẫn đầu trong mọi lĩnh vực.
Tất cả các ngành như điện cơ, y khoa, cơ khí, giải trí ...đều dựa vào các
thành tựu của điện tử để ứng dụng riêng cho mỗi ngành.
Nhu cầu sinh hoạt của mọi người ngày càng cao, có những cái trước
đây tưởng chừng là không thể nhưng bây giờ với sự phát triển của công
nghệ điện tử, hầu hết những ước mơ đó đã dần trở thành hiện thực.
Một hôm đang ngồi xem phim, bổng đứa cháu gái của em nắm chiếc
điều khiển từ xa của ti vi chỉ khắp nơi vừa nhấn nút vừa nói mở cửa, đóng
cửa, bật quạt tắt quạt, bật đèn tắt đèn... sau đó xị mặt xuống nhìn em: “ cậu
ơi, ước gì mọi thứ đều có thể điều khiển từ xa thì hay biết chừng nào cậu ha!
“... và em đã tự hỏi tại sao mình lại không làm cho ước mơ của cháu mình
thành hiện thực nhỉ? Nó nằm trong khả năng của mình mà ! ... cũng vì lý do
đó mà em đã chọn đề tài tốt nghiệp lần này là điều khiển các thiết bị điện từ
xa bằng remote ti vi.
Nội dung chính của đồ án này là trình bày các bước để tiến hành thiết
kế mạch thu và giải mã tín hiệu phát từ remote tivi Sony và từ đó ứng dụng
vào điều khiển từ xa các thiết bị điện như quạt máy, đèn ngủ, máy bơm, cửa
điện,... bằng remote của tivi Sony.
Nội dung của đồ án gồm các phần
Phần I
:
Chương I :
Chương II :

Chương III :
Phần II
:
Chương IV :
Chương V :

CƠ SỞ LÝ THUYẾT
Giới thiệu về vi điều khiển AT89C51
Giới thiệu về bộ thu và phát hồng ngoại
Giới thiệu về giao thức của remote Sony
TIẾN HÀNH THIẾT KẾ MẠCH THỰC TẾ
Ứng dụng cơ sơ lý thuyết vào thiết kế mạch điều
khiển từ xa
Hướng dẫn sử dụng mạch

GVHD : Nguyễn Duy Nhật Viễn

3


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Trong thời gian thực hiện đề tài, em đã nhận được sự giúp đỡ tận tình
của các bạn sinh viên, của quí thầy cô thuộc Bộ môn điện tử trường Cao
Đẳng Công Nghệ. Em muốn bày tỏ lòng biết ơn sâu săc nhất của mình đến
các bạn, đến quí thầy cô. Đặc biệt, chân thành cảm ơn thầy Nguyễn Duy
Nhật Viễn đã tận tình giải đáp các khuất mắc của em trong lúc làm đề tài
này.

Mặc dầu đã rất cố gắng trong quá trình hoàn thành bài thi nhưng do
trình độ còn hạn chế và thời gian hạn hẹp, đề tài không thể tránh khỏi
những thiếu sót. Kính mong sự thông cảm và đóng góp ý kiến của quí thầy
cô cùng các bạn sinh viên.

Đà Nẵng, ngày......tháng......năm 2005.

GVHD : Nguyễn Duy Nhật Viễn

4


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

MỤC LỤC
Lời nói đầu.................................................................................................3
PHẦN I
CHƯƠNG I

CƠ SỞ LÝ THUYẾT
GIỚI THIỆU VỀ VI ĐIỀU KHIỂN AT89C51

I.1.Mở đầu..................................................................................................9
I.2.Mô tả ....................................................................................................9
I.2.1.Thông số kỹ thuật..........................................................................9
I.2.2. Chức năng các chân của uC AT89C51........................................9
I.3.Input/Output........................................................................................13
I.4.TIMER.................................................................................................15

I.4.1.Timer modes ( TMOD ) register...................................................15
I.4.2.TCON..........................................................................................18
I.4.3.Làm thế nào để sử dụng Timer?..................................................18
I.5.Các ngắt của AT89C51.......................................................................19
I.5.1. Cách viết hàm ngắt trong C.............................................................19
I.5.2. Timer interrupt ( ngắt thời gian ).......................................................20
I.5.3. External Interrupt ( ngắt ngoài ).......................................................21
I.6. Kết thúc chương.................................................................................21
CHƯƠNG II

GIỚI THIỆU VỀ BỘ THU PHÁT HỒNG NGOẠI

II.1.Mở đầu...............................................................................................23
II.2.Hồng ngoại (InfraRED) là gì?.............................................................23
II.3.Ứng dụng của hồng ngoại trong điện tử..............................................23
II.4.Kết thúc chương.................................................................................26
CHƯƠNG III

GIỚI THIỆU VỀ GIAO THỨC CỦA REMOTE TIVI SONY

III.1.Mở đầu..............................................................................................28
III.2.Kỹ thuật điều khiển từ xa đặc biệt của SONY....................................28
III.3.Thuật toán giải mã tín hiệu hồng ngoại phát từ remote SONY............29
III.4.Kết thúc chương................................................................................31
PHẦN II
CHƯƠNG IV

TIẾN HÀNH THIẾT KẾ MẠCH THỰC TẾ
ỨNG DỤNG VÀO THIẾT KẾ MẠCH ĐIỀU KHIỂN TỪ XA


IV.1.Mở đầu.............................................................................................34
IV.2.Phần cứng........................................................................................34
IV.2.1.Mạch ứng dụng của uC AT89C51..................................................34
IV.2.2.Mạch điều khiển Rơle....................................................................34
IV.2.3.Kết nối mắt nhận hồng ngoại với uC AT89C51...............................37
IV.3.Phần mềm........................................................................................37
IV.4.Kết thúc chương................................................................................42
GVHD : Nguyễn Duy Nhật Viễn

5


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

CHƯƠNG V

HƯỚNG DẪN SỬ DỤNG MẠCH

V.1.Mở đầu..............................................................................................44
V.2.Các chức năng của mạch...................................................................44
V.3.Cách sử dụng.....................................................................................44
V.4.Kết thúc chương.................................................................................44
....................................................................................................................
HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI.........................................................45
TÀI LIỆU THAM KHẢO............................................................................49

GVHD : Nguyễn Duy Nhật Viễn


6


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

PHẦN I
CƠ SỞ LÝ THUYẾT

GVHD : Nguyễn Duy Nhật Viễn

7


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

CHƯƠNG I
GIỚI THIỆU VỀ VI ĐIỀU KHIỂN AT89C51

GVHD : Nguyễn Duy Nhật Viễn

8


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER


CHƯƠNG I
GIỚI THIỆU SƠ LƯỢC VỀ VI ĐIỀU KHIỂN
AT89C51
I.1 . MỞ ĐẦU:
Trong chương này viết về các đặc trưng về phần cứng của vi điều
khiển AT89C51, để từ đó có cái nhìn khái quát về phần cứng của vi điều
khiển, từ đó làm cơ sở để lập trình các ứng dụng cho nó.
Lưu ý: Các ví dụ sử dụng trong các chương đều viết bằng ngôn ngữ C

I.2. Mô tả:
I.2.1.Thông số kỹ thuật :
- Tương thích với dòng sản phẩm MCS-51TM
- 4K byte bộ nhớ Flash lập trình lại được
(Khoảng chừng 1000 lần)
- Fully Static Operation: 0 Hz to 24MHz
- 3 mức khóa bộ nhớ chương trình
- 128 x 8bit RAM
- 32 đường xuất nhập lập trình được
- Hai bộ định thời / đếm 16 – bit,
- 5 nguồn ngắt
- Kênh nối tiếp lập trình được
- Có chế độ tiết kiệm năng lượng

I.2.2.Chức năng các chân của uC AT89C51:
VCC
Cung cấp điện áp
GND
Nối đất
Port 0

Là cổng nhập/xuất 8-bit, không có điện trở pullup. Đối với các thiết kế cỡ
lớn ( có sử dụng bộ nhớ mở rộng ) nó được kết hợp kênh giữa các bus. Các
chân của cổng được ký hiệu P0.0, P0.1... P0.7.

GVHD : Nguyễn Duy Nhật Viễn

9


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Port1
Port 1 là cổng nhập/xuất 8-bit có điện trở pullup bên trong. Các chân của
cổng được ký hiệu P1.0, P1.1, P1.2 … P1.7 có thể dùng cho các thiết bị
ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng ta chỉ được
dùng trong giao tiếp với các thiết bị ngoài.

Port2
Port 2 là một cổng nhập/xuất 8-bit có điện trở pullup bên trong, được dùng
như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết
kế có dùng bộ nhớ mở rộng.

Port3
Port 3 là một cổng xuất/nhập 8-bit.

Bảng I.1 – Một số chức năng trên các chân của Port 3

Port 3 còn có thể nhận một số tín hiệu điều khiển dành cho lập trình Flash

hoặc kiểm tra chương trình Flash.

GVHD : Nguyễn Duy Nhật Viễn

10


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

RST
Khởi động lại mạch uC89C51 bằng cách giữ mức cao ở chân này ít nhất hai
vòng máy sau đó chuyển lại mức thấp.

Hình - Mạch Reset hệ thống

ALE/PROG ( Address Latch Enable/Program pulse input)
Tạo xung ra để chốt địa chỉ byte thấp của địa chỉ trong suốt quá trình truy
cập bộ nhớ ngoài. Chân này cũng là chân nhận xung lập trình trong quá
trình lập trình Flash.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và
có thể được dùng là nguồn xung nhịp cho các hệ thống. Nếu xung trên
8951 là 12MHz thì ALE có tần số 2MHz. Chỉ ngoại trừ khi thi hành lệnh
MOVX, một xung ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho
xung lập trình cho EPROM trong 89C51.

PSEN ( Program Store Enable)
PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép bộ
nhớ chương trình mở rộng và thường được nối đến chân OE (Output

Enable) của một EPROM để cho phép đọc các bytes mã lệnh.

GVHD : Nguyễn Duy Nhật Viễn

11


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của
chương trình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh
của 8951 để giải mã lệnh. Khi thi hành chương trình trong ROM nội (8951)
PSEN sẽ ở mức thụ động (mức cao).

EA/V PP ( External Access Enable)
Tín hiệu vào EA trên chân 31 thường được mắc lên mức cao (+5V) hoặc
mức thấp (GND). Nếu ở mức cao, 89C51 thi hành chương trình từ ROM nội
trong khoảng địa chỉ thấp (4K/8K). Nếu ở mức thấp, chương trình chỉ được
thi hành từ bộ nhớ mở rộng. Nếu EA được nối mức thấp bộ nhớ bên trong
chương trình 89C51 sẽ bị cấm và chương trình thi hành từ EPROM mở
rộng. Người ta còn dùng chân EA làm chân cấp điện áp 12V khi lập trình
cho EPROM trong 89C51.

XTAL1
Ngõ vào đảo của bộ dao động thạch anh đến bộ định thời bên trong để
mạch hoạt động.
XTAL2
Ngõ ra đảo của bộ khuếch đại dao động thạch anh.

Cách kết nối bộ dao động thạch anh với uC 89C51

Ghi chú: C1, C2

GVHD : Nguyễn Duy Nhật Viễn

= 30 pF ± 10 pF

12


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

I.3. Input / Output:

Để điều khiển các cổng của uC89C51 bạn cần phải xem xét các mức
logic TTL. Logic TTL có 2 mức : Mức cao (1) và mức thấp (0). Áp và dòng ở
hai mức như sau:
Mức
Cao
Thấp

Áp
Trên 2,4 V
Dưới 0,9V

Dòng
Thực tế hầu như không có dòng chảy qua

1,6mA chảy về mass (tùy thuộc vào cách mắc)

Input:

Một số mạch để duy trì dòng và áp để các Pin của cổng ở chế độ INPUT
làm việc được:

Luôn luôn tốt nhất là mắc công tắc với mass và một điện trở hạn dòng như
mạch “Good”(tốt). Khi công tắt hở, điện trở 10K sẽ cung cấp một dòng rất
nhỏ đủ cho duy trì mức logic 1. Khi đóng công tắc, pin (chân) của cổng sẽ
nối tắt với mass, điện áp ở pin lúc này sẽ là 0V  chuyển sang mức logic 0.
Ở mạch “Fair” (tạm được), cần đến một điện trở rất bé dập mass. Nếu
không thì pin sẽ tăng lên hơn 0,9V . Khi đóng công tắt, mạch sẽ lãng phí
một lượng dòng rất lớn cho đến khi không còn dòng qua pin nữa. Mạch chỉ
mang lại thuận lợi duy nhất đó là khi đóng công tắc thì sẽ mang lại mức
logic 1.

GVHD : Nguyễn Duy Nhật Viễn

13


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Ở mạch “Poor” (kém), mức logic 1 sẽ ổn định khi đóng công tắc. Nhưng khi
công tắc hở, mạch vào sẽ bị nhiễu và sẽ lơ lững ở trạng thái mức cao hơn là
mức thấp. Một chân TTL hở thường ở mức logic 1 nhưng sẽ dễ bị nhiễu.
Kết luận, để điều khiển một đầu vào TTL thì nên luôn cân nhắc xem xét

dòng chảy vào (ghim đầu vào ở 0V)

Output
Đối với đầu ra TTL thì chúng rất tốt cho việc hạn dòng, nhưng kém về việc
thực hiện chức năng cung cấp nguồn. Một TTL thông thường có thể dâng
lên 1,6mA khi đầu ra ở mức thấp và khi thực hiện chức năng là nguồn cung
cấp (đầu ra ở mức cao) thì chỉ 250uA. Pin của các cổng trong uC89C51 có
thể dâng lên 1,6mA (3,2mA đối với Port 0) khi đầu ra ở mức thấp và khi đầu
ra ở mức cao thì chỉ 60uA. Vì vậy, khi điều khiển bạn nên chọn mức tích cực
của đầu ra là mức thấp.
Để rõ ràng hơn vì sao ta nên chọn mức logic 0 làm mức tích cực ta xem các
ví dụ sau:

LED
Không như diode, Led (diode quang) từ lâu điện áp sử dụng đã phân thành
các loại từ 1,7 đến 2,5 Volts và hầu hết chúng đều hoạt động ở dòng 20mA.

GVHD : Nguyễn Duy Nhật Viễn

14


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Trong mạch “Poor” (kém), thì đầu ra TTL không thể tạo dòng ra trên 1mA,
vì vậy LED sẽ sáng rất mờ.
Trong mạch “Fair” (tạm được), thì điện áp trên Led khoảng 2V còn lại 3V sẽ
rơi vào mạch TTL, điều này dẫn đến lượng lớn nguồn bị hao phí trong TTL

hoặc Led sẽ hỏng.
Trong mạch “Good” (tốt), thì mạch có điện trở hạn dòng. Điện trở hạn dòng
này có thể tính dựa vào điện áp rơi trên Led là 2,5V và ngõ ra TTL là 0,9V.
Điện trở hạn dòng không nên bé hơn 100 Ohm nếu không thì Led có thể sẽ
hỏng.

I.4.TIMER(

Bộ định thời

)

Trong uC89C51 được trang bị 2 bộ định thời 16 bit, cả hai đều có thể được
điều khiển, thiết lập, đọc, đặt chế độ riêng lẽ. Các giá trị nhị phân của bộ
định thời được lưu trữ trong 2 thanh ghi THx và TLx , x có thể là 0 hoặc một
tương ứng với bộ định thời 0 ( Timer 0 ) hoặc bộ định thời 1 ( Timer 1 ), THx
chứa giá trị của 8 bit cao, TLx chứa giá trị của 8 bit thấp, ví dụ giá trị của bộ
định thời hiện tại là 0x1234 thì THx giữ giá trị 0x12 và TLx giữ giá trị 0x34.
Timer đếm như thế nào?
Rất đơn giản, câu trả lời đó là timer luôn luôn được đếm lên mà
không cần biết timer đang được dùng như bộ đo thời gian, đếm sự kiện, hay
để tạo tốc độ baud: Timer thì luôn luôn được tăng lên bởi vi điều khiển.

I.4.1.Timer modes ( TMOD ) register (
định thời )

Thanh ghi chế độ của bộ

Bộ định thời có 3 ứng dụng chung đó là:
1. Đo thời gian

2. Đếm sự kiện trong khoảng thời gian đó
3. Tạo tốc độ Baud cho cổng nối tiếp
Thiết lập chế độ làm việc của bộ định thời:
Tùy theo giá trị của thanh ghi TMOD mà bộ định thời sẽ hoạt động ở
những chế độ khác nhau. Cụ thể, để thiết lập chế độ làm việc của bộ định
thời ta dựa vào bảng sau.

GVHD : Nguyễn Duy Nhật Viễn

15


BÀI THI CUỐI KHÓA

Bit
7

Name
Gate

6

C/T

5
4
3
2
1
0


M1
M0
Gate
C/T
M1
M0

REMOTE CONTROLLER

Timer
Mô tả
1
Gate Bit
0 : Timer chạy khi biến TR0 (TR1) được thiết lập
bằng 1
1 : Timer chỉ chạy khi INTx ở mức cao và TRx
được thiết lập bằng 1
1
0 : Chế độ đồng hồ. Đếm lên bằng xung nhịp
thạch anh
1 : Chế độ đếm. Đếm lên bằng xung vào ở chân
TXx. Chú ý mức thấp hay cao của xung vào phải
ít nhất là 1ms, tần số lớn nhất là 500KHz
1
Mode bit 1 (xem bảng tiếp theo)
1
Mode bit 0 (xem bảng tiếp theo)
0
Bit Gate của Timer 0

0
Bit C/T của Timer 0
0
Bit M1 của Timer 0
0
Bit M0 của Timer 0

Sau đây là sơ đồ khối thể hiện hoạt động của Bit Gate và Bit C/T

GVHD : Nguyễn Duy Nhật Viễn

16


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Ngoài ra chế độ của bộ định thời hay bộ đếm được định rõ
bằng Bit C/T như bảng sau:
M0
0
0
1
1

M1
0
1
0

1

Mode
0
1
2
3

Mô tả
Chế độ Timer 13 bit
Chế độ Timer 16 bit
Chế độ Timer 8 bit tự động nạp lại
Chế độ tách thời gian
Timer 0 : TL0 là một timer 8 bit được điều khiển bởi
TR0 và TH0
Timer 1 : Dừng

GVHD : Nguyễn Duy Nhật Viễn

17


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

I.4.2.TCON thanh ghi chứa đựng các biến tình trạng của
Timer x :
Symb
ol

TF1
TR1
TF0
TR0

Mô tả
Cờ tràn của timer 1. Thiết lập bởi phần cứng khi tràn.
Được xóa bởi phần cứng hoặc phần mềm khi vi điều
khiển nhảy đến ngắt.
Bit điều khiển cho Timer 1 chạy. Thiết lập (=1) hoặc
xóa(=0) để điều khiển timer 1 chạy hoặc ngưng.
Cờ tràn của timer 0.
Bit điều khiển cho Timer 0 chạy.

Khi nào bộ đếm của Timer sẽ đầy?
Bộ đếm của bộ định thời sẽ đầy sau một số lượng vòng máy nhất
định tùy thuộc vào chế độ làm việc của timer
Mode 0
: Timer sẽ đầy sau 213 = 8192 vòng lệnh
Mode 1
: Timer sẽ đầy sau 216 = 65536 vòng lệnh
Mode 2
: Timer sẽ đầy sau 28 = 256 vòng lệnh
Chú ý : Thực tế 1 vòng lệnh thực hiện trong 12 xung của thạch anh

I.4.3.Làm thế nào để sử dụng Timer?
Các bước như sau:
1. Thiết lập chế độ làm việc của bộ định thời (TMOD)
2. Thiết lập số đếm ban đầu (THx và TLx)
3. Thiết lập Bit điều khiển bộ định thời chạy(TRx). Sau khi thiết lập

( gán TRx = 1) bộ định thời sẽ chạy và đếm lên cho đến khi nó tràn
4. Sau khi bộ định thời bị tràn, biến TFx sẽ được thiết lập (TFx =1). Nó
nên được xóa ( gán TFx = 0 ) cho lần sử dụng tiếp theo.

GVHD : Nguyễn Duy Nhật Viễn

18


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Ví dụ: Chương trình đèn nháy mỗi 5ms như sau (ứng với thạch anh
12MHz)
#include <at89x51.h>
#define LED P0_1
main() {
TMOD = 0x00;

// TIMER0 ở Mode 0

while (1) {
TH0 = (8192 - 5000) / 32; // 5ms
TL0 = (8192 - 5000) % 32;
TR0 = 1;

// Khởi động bộ định thời

while (!TF0) ; // Chờ cho đến khi bộ định thời tràn

TR0 = 0;
TF0 = 0;

// stop timer
// clear timer overlow flag

LED = !LED;
}
}

I.5.Các ngắt của AT89C51:
AT89C51 có 5 ngắt:
- Serial interrupt
- Timer 1 interrupt
- External 1 interrupt
- Timer 0 interrupt
- External 0 interrupt

I.5.1. Cách viết hàm ngắt trong C :
Void function_name () interrupt <interrupt number> [using register bank]
{
...
}
// Hàm này sẽ được gọi khi có ngắt số <interrupt number>
GVHD : Nguyễn Duy Nhật Viễn

19


BÀI THI CUỐI KHÓA


REMOTE CONTROLLER

Interrupt
Number

Mô tả ngắt

Name

0
1
2
3
4

EXTERNAL INT 0
TIMER/COUNTER 0
EXTERNAL INT 1
TIMER/COUNTER 1
SERIAL PORT

EX0
ET0
EX1
ET1
ES

Lưu ý: Để hàm ngắt được gọi thì trong hàm main phải gán biến cho
phép ngắt bằng 1 ( EA = 1) đồng thời gán biến có tên của ngắt tương

ứng bằng 1. Ví dụ để cho phép ngắt timer0 thì phải gán EA = 1 và
ET0 = 1.

I.5.2. Timer interrupt (

ngắt thời gian

)

Ngắt thời gian xảy ra khi cờ tràn được thiết lập (biến TFx=1). Sau khi
thực hiện ngắt cờ tràn sẽ tự động được xóa (TFx = 0).
Ví dụ : Chương trình sử dụng ngắt thời gian như sau sẽ làm đảo bit 0
của Port 1 mỗi khi bộ đếm thời gian của timer 0 đầy.
#include <regx51.h>
void timer0_interrupt() interrupt 1
{
P1_0 = ! P1_0;
}
void main()
{
EA

= 1;

ET0 = 1;
while(1)
{
}
}


GVHD : Nguyễn Duy Nhật Viễn

20


BÀI THI CUỐI KHÓA

I.5.3. External Interrupt (

REMOTE CONTROLLER
ngắt ngoài

)

Ngắt ngoài xảy ra khi đặt vào một mức thấp hoặc một sườn xuống
trên chân INT0(P3.2) hoặc INT1(P3.3) của vi điều khiển.
Chế độ ngắt bằng sườn xuống hoặc ngắt bằng mức thấp được thiết
lập bằng cách gán biến ITx bằng 0 hay bằng 1
ITx = 0
ITx = 1

: Ngắt ngoài được tác động bằng mức thấp ở chân INTx
: Ngắt ngoài được tác động bằng sườn xuống ở chân INTx
(x = 0 hoặc 1 tương ứng chỉ định INT0 hay INT 1)

Nếu ngắt ngoài được tác động bằng mức thấp thì chỉ nên đặt mức
thấp trong khoảng thời gian đủ để thực hiện các lệnh khi ngắt thôi và thôi
tác động mức thấp trước khi vi điều khiển thực hiện hết các lệnh trong hàm
ngắt, nếu sau khi thực hiện hết các lệnh của ngắt mà mức thấp vẫn còn đặt
ở chân INTx thì một ngắt khác sẽ tiếp tục thực hiện.

Nếu ngắt ngoài bằng sườn xuống thì chân INTx phải giữ ở chu kỳ cao
ít nhất một chu kỳ máy rồi mới chuyển sang mức thấp một chu kỳ máy nữa
để đảm bảo rằng vi điều khiển phát hiện được sườn xuống.

I.6. Kết thúc chương:
Kết thúc chương này, ta đã có cái nhìn khái quát về phần cứng của vi
điều khiển AT89C51.

GVHD : Nguyễn Duy Nhật Viễn

21


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

CHƯƠNG II
GIỚI THIỆU VỀ
BỘ THU - PHÁT HỒNG NGOẠI

GVHD : Nguyễn Duy Nhật Viễn

22


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER


CHƯƠNG II
GIỚI THIỆU VỀ BỘ THU – PHÁT HỒNG NGOẠI
II.1.Mở đầu:
Trong chương này viết về nguyên lý hoạt động của bộ thu và phát
hồng ngoại sẽ cho ta biết mắt nhận hồng ngoại chọn lọc tín hiệu hồng
ngoại thu được dựa trên cơ sở nào. Từ đó làm cơ sở để ứng dụng vào thiết
kế mạch nhận và giải mã hồng ngoại phát ra từ remote.

II.2. Hồng ngoại (InfraRED) là gì?

Vùng có thể nhìn thấy được

Hồng ngoại là một sự bức xạ năng lượng với tần số mà mắt người không thể
cảm nhận được, vì vậy chúng ta không thể nhìn thấy được hồng ngoại. Tuy
nhiên chúng ta vẫn có thể nhìn thấy được nó bằng cách dùng camera để
quay lại, trong hình ảnh quay được chúng ta sẽ thấy được sự có mặt của
hồng ngoại.

Hình chụp từ máy điện thoại di động NOKIA 7610

II.3.Ứng dụng của hồng ngoại trong điện tử
Hồng ngoại rất thú vị, bởi nó được tạo ra rất dễ dàng mà không hề chịu ảnh
hưởng nhiễu của một tín hiệu điện từ nào cả. Vì vậy nó rất được ưa dùng
trong việc truyền đạt thông tin và điều khiển. Nhưng bên cạnh ưu điểm đó
GVHD : Nguyễn Duy Nhật Viễn

23


BÀI THI CUỐI KHÓA


REMOTE CONTROLLER

lại có một nhược điểm đó là một số nguồn sáng khác cũng có bao gồm
hồng ngoại trong đó và các nguồn sáng đó có thể gây trở ngại rất lớn trong
việc truyền tin. Mặt trời là ví dụ điển hình, từ lâu, nó đã tỏa ra bức xạ với
phổ rất rộng.
Có rất nhiều thứ có thể tạo ra hồng ngoại, vật gì tỏa ra nhiệt, bao gồm cả cơ
thể của chúng ta, đèn bàn, cái lò, sự ma sát giữa hai bàn tay với nhau, cũng
như nước nóng từ vòi... đều có thể tạo ra hồng ngoại.
Để việc truyền tín hiệu bằng hồng ngoại được tốt hơn và loại trừ những tín
hiệu “giả” đó, một nhu cầu cấp thiết được đề ra đó là cần có một “chìa
khóa” để cho bộ thu hồng ngoại biết tín hiệu nào là tín hiệu thực sự cần
nhận và cái gì là “tín hiệu giả”. Giống như sử dụng phép loại suy, vào ban
đêm, khi nhìn lên trời cao chúng ta nhìn thấy hàng trăm ngôi sao nhưng
chúng ta vẫn có thể nhận ra ánh sáng của một chiếc máy bay từ xa một
cách dễ dàng bởi vì ánh sáng phát ra từ máy bay có nhấp nháy. Sự nhấp
nháy của ánh sáng nơi máy bay chính là chiếc “chìa khóa”, là “mã” báo cho
ta biết.
Tương tự như chiếc máy bay trong một bầu trời đêm đầy sao đó, trong
phòng xem TIVI của chúng ta có lẽ cũng có rất nhiều nguồn phát hồng
ngoại như cơ thể của chúng ta, tách trà nóng, cũng như những bóng đèn
xung quanh phòng. Một cách để tránh tất cả những nguồn phát hồng ngoại
“giả” đó chính là tạo ra một “chìa khóa” giống như sự nhấp nháy của ánh
đèn máy bay, đó chính là dùng sự nhấp nháy của hồng ngoại với một tần
số nhất định. Ở bộ thu hồng ngoại trong TV hay máy nghe nhạc... sẽ chỉ có
tác động tích cực đối với những ánh sáng hồng ngoại nhấp nháy với tần số
nhất định đó. Tần số tốt nhất để dùng cho việc này là khoảng từ 30kHz đến
60kHz, thông thường hay dùng ở tần số gần 36kHz.


GVHD : Nguyễn Duy Nhật Viễn

24


BÀI THI CUỐI KHÓA

REMOTE CONTROLLER

Do vậy, remote sẽ dùng
xung phát hồng ngoại với
tần số khoảng 36kHz
hoặc lân cận để truyền
thông tin. Tia hồng ngoại
sẽ được phát bởi Led
hồng ngoại 36000 lần
một giây. Ở mắt nhận
hồng ngoại, khi nhận
được hồng ngoại phát từ
Led hồng ngoại với tần số 36kHz thì chân ra Vout sẽ chuyển sang mức tích
cực.(Thông thường mức tích cực ở chân ra Vout của mắt thu là mức thấp).
Khi không còn nhận được hồng ngoại với tần số 36kHz hoặc có nhận được
nhưng với tần số quá thấp hoặc quá cao so với 36kHz thì chân Vout của
mắt nhận luôn bằng Vcc.
Sơ đồ chân của mắt thu hồng ngoại series TSOP17xx

Thông số kỹ thuật:
-

Mức ra tích cực ở mức thấp


-

Vs = - 0,3 .. 6 V

-

Is = 5 mA

-

Vo = -0,3 .. 6 V

-

Io = 5 mA

GVHD : Nguyễn Duy Nhật Viễn

25


×