Tải bản đầy đủ (.docx) (57 trang)

Thiết kế hệ thống bộ điều khiển thiết bị điện tự động

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 (869.3 KB, 57 trang )

LỜI CAM ĐOAN

LỜI CAM ĐOAN
Kính thưa: Hội đồng bảo vệ đồ án tốt nghiệp khoa Điện Tử- Viễn Thông
trường Đại học Bách Khoa Đà Nẵng.
Em tên là: Hồ Viết Thành
Sinh viên lớp 11DT3, khoa Điện tử-Viễn thông, trường đại học Bách Khoa
ĐàNẵng.
Em xin cam đoan nội dung của đồ án này không phải là bản sao chép của bất
cứ đồ án hoặc công trình đã có từ trước.
Em xin chân thành cảm ơn.!
Đà Nẵng, tháng 5 năm 2016
Sinh viên thực hiện

Hồ Viết Thành

1


MỤC LỤC
MỤC LỤC

2


LỜI MỞ ĐẦU

LỜI MỞ ĐẦU
Hiện nay hầu hết việc giám sát và điều khiển chiếu sáng trong các phòng họp
được điều khiển bằng tay thông qua đóng mở các công tắc, các aptomat, cầu dao…
Điều này thuận lợi và rất đơn giản vì ta có thể bật tắt đèn theo nhu cầu sử dụng.


Tuy nhiên, nếu lấy bối cảnh là trong phòng họpthì việc bật tắt đèn còn phụ
thuộc vào số người trong phòng, không biết được chính xác khi nào thì có người
vào và khi nào thì mọi người đã ra hết khỏi phòng. Điều này gây lãng phí điện rất
lớn, đặt biệt trong hoàn cảnh nước ta đang thiếu điện một cách trầm trọng như hiện
nay.
Để giải quyết vấn đề trên em đã thực hiện đồ án: Thiết kế hệ thống bộ điều
khiển thiết bị điện tự động.
Hệ thống điều khiển dựa vào cảm biến hồng ngoại xác định số người ra vào
cổng và từ đó điều khiển đèn trong phòng họp cho hợp lý. Đồng thời sử dụng cảm
biến ánh sáng để xác định khi nào tắt hoặc bật đèn phù hợp vào ban ngày và ban
đêm.
Trong quá trình thực hiện đồ án còn nhiều thiếu sót, kính mong quý thầy cô
góp ý và hướng dẫn giúp em hoàn thiện hơn đề tài của mình.
Em xin chân thành cảm ơn!
Nội dung đồ án gồm 3 chương:
Chương 1: TỔNG QUAN ĐỀ TÀI
Chương 2: THIẾT KẾ HỆ THỐNG

3


LỜI MỞ ĐẦU
Chương 3: THI CÔNG HỆ THỐNG

4


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

CHƯƠNG 1


TỔNG QUAN ĐỀ TÀI

1.1 Giới thiệu chương
Trong chương này sẽ trình bày về các nội dung sau:
-

Khảo sát và phân tích các hệ thống có trong các công trình thực tế và đưa ra

-

ý tưởng về đề tài đồ án.
Lựa chọn giải pháp để đưa ra một hệ thống điều khiển thiết bị điện tự động.
Đưa ra các yêu cầu cần đạt được trong đề tài.

1.2 Khảo sát và phân tích bài toán
Trên thị trường hiệnnay đã có một số thiết bị bật tắt đèn thông minh, như
SmartLight do Hàn Quốc sản xuất. Được tích hợp sensor cảm ứng hồng ngoại thân
nhiệt, đèn sẽ tự động đượcbật khi có người đi vào vùng cảm ứng và tắt khi không có
người. SmartLight phù hợp với mọi nhu cầu chiếu sáng thông minh của bạn tại sân,
cổng, phòng khách, phòng ngủ, phòng vệ sinh, cầu thang, văn phòng… giúp bạn bật
tắt đèn hoàn toạn tự động ,mang lại sự an toàn, tiện nghi và tiếp kiệm điện…Tuy
nhiên thiết bị này tích hợp luôn bộ điều khiển với đèn trong 1 sản phẩm. Do đó giá
thành cao và không thích hợp các phòng cần chiếu sáng lớn, không thay đổi được
loại bóng đèn theo yêu cầu

5


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

Đèn thông minh Smartlight
Ngoài ra, có hệ thống giám sát điều khiển chiếu sáng sử dụng camera kết hợp
với máy tính để kiểm soát số người trong phòng, qua đó phát lệnh đóng mở các
công tắc bóng đèn. Hệ thống này có cấu tạo đơn giản, rẻ, không phải lập trình mà
chỉ dựa vào các mạch logic, nhưng tính linh động không cao, khó chỉnh định khi
điều kiện làm việc thay đổi, ít có khả năng nâng cấp hệ thống.

Hình 1.1

Hệ thống camera giám sát

Từ những hệ thống trên, với những phòng họp khi mà lưu lượng người không
lớn và có thể kiểm soát được việc đếm người qua cửa thì ta hoàn toàn có thể áp
dụng hệ thống điều khiển thiết bị điện tự động trong phòng họp. Sử dụng vi điều
khiển được lập trình để bật đèn khi có người và tắt khi không có người. Điều này

6


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
vừa tiện lợi cho mọi người: ứng dụng công nghệ tự động hóa vào cuộc sống con
người, đảm bảo ánh sáng trong quá trình làm việc.. đồng thời góp phần giải quyết
vấn đề tiết kiệm điện năng.
1.3 Lựa chọn giải pháp
1.1.1

Giải pháp công nghệ
Qua phân tích ở trên, em đưa ra giải pháp xây dựng hệ thống điều khiển thiết
bị điện tự động: điều khiển bật tắt đèn qua việc kiểm soát lượng người ra, vào
phòng. Thu nhận tín hiệu rồi xử lý tín hiệu, khi có người vào phòng, hệ thống sẽ tự

động bật đèn để cung cấp đủ ánh sáng trong phòng. Trường hợp số người đã rời
khỏi phòng thì hệ thống sẽ tắt hết đèn. Trong quá trình làm việc hệ thống luôn hiển
thị số người còn đang ở trong phòng để tiện cho việc kiểm tra, theo dõi, điều chỉnh
lượng ánh sáng cho phù hợp. Đồng thời hệ thống xác định ban ngày hoặc ban đêm
để bật đèn cho hợp lý và chính xác.

1.1.2

Giải pháp thiết kế
Để phát hiện người ra vào ta dùng 2 bộ thu phát cảm biến hồng ngoại mắc gần
nhau đặt ở cửa ra vào.
Xử lý, điều khiển dùng vi điều khiển AT89S52, để nhận tín hiệu vào từcảm
biến hồng ngoại, tính toán xử lý để đưa ra lệnh bật tắt đèn.
Hiển thị lên LCD để thông báo số người trong phòng để có thể điều khiển
bóng đèn.

1.1.3

Các yêu cầu
Hệ thống điều khiển đèn thông minh này áp dụng cho các lớp học:

7


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI









1.1.4

Số lượng người trong phòng tối đa không quá 99 người.
Phòng gồm 1 cửa vào ra chính
Ở một thời điểm có 1 người qua cửa
Cửa cao 2.5m rộng 2m
Người đi vào thì bật đèn và đi ra hết thì tắt đèn.
Làm việc với điện áp 220V/50Hz
Sensor và công nghệ tùy chọn
Có khả năng nâng cấp và cải tiến

Giới hạn hạn định





Làm việc cả ban ngày lẫn ban đêm
Thu nhận tín hiệu liên tục khi có người ra vào
Nhiệt độ môi trường: trong nhà 10 – 40 độ C
Hệ thống cấp điện mới từ đầu

1.4 Kết luận chương
Trong chương này em đã trình bày tổng quan về thiết kế hệ thống điều khiển
thiết bị điện tự động. Đưa ra được những giải pháp và các yêu cầu cần đạt được để
thiết kế hệ thống.


8


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG

CHƯƠNG 2 THIẾT KẾ HỆ THỐNG
1.5 Giới thiệu chương
Trong chương này sẽ trình bày các nội dung:
-

Xây dụng sơ đồ tổng quát của hệ thống điều khiển thiết bị điện tự động.
Lựa chọn những linh kiện cần sử dụng.
Phân tích và tính toán các module của hệ thống.
Đưa ra sơ đồ nguyên lý của mạch
Thuật toán điều khiển hệ thống.

1.6 Sơ đồ tổng quát
KHỐI NGUỒN

KHỐI CHẤP HÀNH

KHỐI CẢM BIẾN

KHỐI XỬ LÝ
AT89S52
KHỐI HIỂN THỊ

Hình 2.1

Sơ đồ tổng quát hệ thốngđiều khiển

thiết bị điện thông minh

 Khối nguồn: Cung cấp nguồn cho hệ thống.
 Khối cảm biến: Sử dụng sensor cảm biến hồng ngoại dùng để thu nhận tín
hiệu người vào ra phòng, đưa tín hiệu thu được vào AT89S52. Để nhận biết
người vào hay đi ra ta dùng 2 bộ thu phát hồng ngoại mắc gần nhau.
 Khối xử lý AT89S52: Dùng vi điều khiển AT89S52 để lấy tín hiệu từ cảm
biến, tính toán, lưu trữ và đưa ra khối hiển thị và khối chấp hành.

9


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
 Khối hiển thị: Lấy tín hiệu ra từ chân AT89S52 để hiển thị số người hiện
đang có ở trong phòng trên LCD .
 Khối chấp hành: Nhận tín hiệu từ khối xử lý để thực hiện đóng cắp tiếp điểm
mạch động lực.
1.7 Lựa chọn linh kiện
2.1.1

Vi điều khiển AT89S52
2.3.1.1Sơ đồ chân vi điều khiển AT89S52:

C 1

C 2

31

30p


19
12M H z

30p

18
9

R ST
1
1
1
1

2
3
4
5
1
2
3
4
5
6
7
8

U 2
E A /V P

X1
X2
R ESET
IN T 0
IN T 1
T0
T1
P
P
P
P
P
P
P
P

1 .0
1 .1
1 .2
1 .3
1 .4
1 .5
1 .6
1 .7

P
P
P
P
P

P
P
P

0 .0
0 .1
0 .2
0 .3
0 .4
0 .5
0 .6
0 .7

P
P
P
P
P
P
P
P

2 .0
2 .1
2 .2
2 .3
2 .4
2 .5
2 .6
2 .7


R D
W R
PSEN
A L E /P
TXD
R XD

3
3
3
3
3
3
3
3

9
8
7
6
5
4
3
2

2
2
2
2

2
2
2
2

1
2
3
4
5
6
7
8

1
1
2
3
1
1

7
6
9
0
1
0

8051


Hình 2.2

Kiến trúc của vi điều khiển AT89S52

IC vi điều khiển 89S52 thuộc họ MCS51 có các đặc điểm sau :
-

Bộ nhớ chương trình bên trong 4kbyte ROM.
RAM dữ liệu trên chip 128 byte.
I/O hai chiều 4 port (mỗi port 8 bit) 32 đường và có thể định địa chỉ riêng rẽ.
Hai bộ định thời 16 bits.
UART full duplex.
64KB không gian bộ nhớ chương trình ngoài

10


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
-

64 KB không gian bộ nhớ dữ liệu ngoài.
210 bit được địa chỉ hóa.
Bộ nhân chia 4us

2.3.1.2Cấu trúc bên trong của AT89S52

Hình 2.3

Sơ đồ khối bộ vi điều khiểnAT89S52


Phần chính của vi điều khiển 8051 là bộ xử lý trung tâm (CPU: Central
Processing Unit) bao gồm:
-

Thanh ghi tích lũy A
Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia
Đơn vị logic số học (ALU: Arithmetic Logical Unit )
Từ trạng thái chương trình (PSW : Prorgam Status Word)
Bốn băng thanh ghi
Con trỏ ngăn xếp
Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời
gian và logic.

11


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.3.1.3 Hoạt động của bộ xử lý trung tâm
Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có
khả năng đưa một tín hiệu giữ nhịp từ bên ngoài.Chương trình đang chạy có thể cho
dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là giao
diện nối tiếp.
Hai bộ định thời 16 bit hoạt động. Các cổng (port0,1,2,3), sử dụng vào mục
đích điều khiển. Ở cổng 3 có thêm các đường dẫn điều khiển dùng để trao đổi với
bộ nhớ bên ngoài, hoặc để giao tiếp nối tiếp, hoặc ngắt dẫn bên ngoài.
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm
việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong dãi rộng và
được ấn định bằng một bộ định thời.
Vi điều khiển AT89S52 có 2 thành phần quan trọng khác đó là bộ nhớ và các
thanh ghi.

-

Bộ nhớ gồm bộ nhớ RAM và bộ nhớ ROM dùng để lưu trữ dữ liệu và mã

-

lệnh.
Các thanh ghi sử dụng để lưu trử thông tin trong quá trình xử lý. Khi làm
việc nó làm thay đổi nội dung của các thanh ghi.

2.3.1.4 Chức năng các chân của vi điều khiển AT89S52
Vi điều khiển AT89S52 có 32 trong 40 chân có chức năng như là các cổng
I/O, trong đó 24 chân được sử dụng với hai mục đích. Nghĩa là ngoài chức năng
cổng I/O, mỗi chân có công dụng kép này, có thể là một đường điều khiển của bus
địa chỉ hay bus dữ liệu hoặc là mỗi chân hoạt động một cách độc lập để giao tiếp
với các thiết bị đơn bit như công tắc, LED, transistor…

12


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
 Port 0
Là port có 2 chức năng, ở trên chân từ 32 đến 39 của AT89S52. Trong các
thiết kế cỡ nhỏ không dung bộ nhớ ngoài, port 0 được sử dụng như là những cổng
I/O. Còn trong các thiết kế lớn có yêu cầu một số lượng đáng kể bộ nhớ ngoài thì
port 0 trở thành các đường truyền dữ liệu và 8 bits thấp của bus địa chỉ.
 Port 1
Là một port I/O chuyên dụng, trên chân 1-8 của AT89S52. Chúng được sử
dụng với mục đích duy nhất là giao tiếp với thiết bị ngoài khi cần thiết.
 Port 2

Là một cổng có công dụng kép trên chân 21-28 của AT89S52. Ngoài chức
năng I/O, các chân này dung làm 8 bit cao của bus địa chỉ cho những mô hình thiết
kế có bộ nhớ chương trình ROM ngoài hoặc bộ nhớ dữ liệu RAM có dung lượng
lớn hơn 256 bytes.
 Port 3
Là một cổng có công dụng kép trên chân 10-17 của AT89S52. Ngoài chức
năng là cổng I/O những chân này kiêm luôn nhiều chức năng khác nữa liên quan
đến nhiều tính năng đặc biệt của AT89S52, và được mô tả trong bảng sau
Bit
P3.0

Tên
RxD

Chức năng chuyển đổi
Ngõ vào dữ liệu nối tiếp.

P3.1

TxD

Ngõ xuất dữ liệu nối tiếp.

P3.2

INT0

Ngắt ngoài 0.

P3.3

P3.4

Ngắt ngoài 1.

INT1

Ngõ vào TIMER 0.

13


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
P3.5

T0

Ngõ vào của TIMER 1.

P3.6

T1

Điều khiển ghi dữ liệu lên bộ nhớ

P3.7

ÖWR

Điều chỉnh đọc bộ nhớ dữ liệu ngoài


RD

Bảng 2.1 Chức năng của các chân trên port3
 PSEN (Program Store Enable)
AT89S52 có 4 tín hiệu điều khiển, 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 truy xuất 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 byte mã
lệnh của chương trình. Tín hiệu PSEN ở mức thấp trong suốt phạm vi quá trình của
một 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 AT89S52 để giải mã lệnh. Khi thi hành chương trình
trong ROM nội PSEN sẽ ở mức cao.
 ALE (Address Latch Enable )
Tín hiệu ra ALE trên chân 30 tương ứng hợp với các thiệt bị xử lý 8585, 8085,
8951 dùng ALE để giải đa hợp bus địa chỉ dữ liệu, khi port 0 được dùng làm bus địa
chỉ/dữ liệu đa hợp: vừa là bus dữ liệu vừa là byte thấp của địa chỉ 16 bit. ALE là tín
hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầu của chu kỳ bộ nhớ.
Sau đó, các đường port 0 dùng để xuất nhập dữ liệu trong nữa sau chu kỳ của chu
kỳ bộ nhớ.
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 AT89S52 là

14


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
12MHz thì ALE có tần số là 2MHz. Chân này cũng được làm ngõ vào cho xung lập
trình cho EPROM trong AT89S52
 EA (External Access)
Tín hiệu vào EA trên chân 31 thường được nối lên mức cao (+5V) hoặc mức
thấp (GND). Nếu ở mức cao, AT89S52 thi hành chương trình từ ROM nội trong

khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ
nhớ mở rộng. Người ta còn dung chân EA làm chân cấp điện áp 21V khi lập trình
cho EPROM trong AT89S52.

 RST (Reset)
Ngõ vào RST trên chân 9 là ngõ reset của AT89S52. Khi tín hiệu này được
đưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong AT89S52 được
đưa vào những giá trị thích hợp để khởi động hệ thống.

15


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG

Hình 2.4

Sơ đồ mạch reset ngoài của AT89S52

 OSC
AT89S51 có một bộ dao động trên chip, nó thường được nối với thạch anh
giữa chân 18 và 19. Tần số thạch anh thông thường là 12 MHz.
 POWER
AT89S52 vận hành với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss
(GND) được nối vào chân 20.

16


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.3.1.5 Tổ chức bộ nhớ

Trên vi điều khiển AT89S52 đều có cả bộ nhớ chương trình (ROM) và bộ nhớ
dữ liệu (RAM). Tuy nhiên dung lượng của các bộ nhớ trên chip là hạn chế. Khi thiết
kế các ứng dụng đòi hỏi bộ nhớ lớn người ta có thể dùng bộ nhớ ngoài
2.3.1.6 Bộ nhớ chương trình
Bộ nhớ chương trình là bộ nhớ chỉ đọc, là nơi lưu trữ chương trình của vi điều
khiển. Bộ nhớ chương trình của họ 8051 có thể thuộc một trong các loại sau ROM,
EPROM, FLASH hoặc không có bộ nhớ chương trình trên chip. Với họ vi điều
khiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong chip có kích thước nhỏ
nhất là 4kByte. Với các vi điều khiển không tích hợp sẵn bộ nhớ chương trình trên
chip, buộc phải thiết kế bộ nhớ chương trình bên ngoài.
Địa chỉ đầu tiên của bộ nhớ chương trình là 0000H, chính là địa chỉ reset của
vi điều khiển. Ngay khi bật nguồn hoặc reset vi điều khiển, thì CPU sẽ nhảy đến
thực hiện lệnh ở địa chỉ 0000H này.
Khi sử dụng bộ nhớ trên chip thì chân EA phải được nối lên mức logic cao
(+5V). Nếu bạn muốn mở rộng bộ nhớ chương trình thì chúng ta phải dùng bộ nhớ
ngoài với dung lượng tối đa là 64Kbyte.
2.3.1.7Bộ nhớ dữ liệu
Bộ nhớ dữ liệu tồn tại độc lập so với bộ nhớ chương trình. Họ vi điều khiển
8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng
với bộ nhớ dữ liệu ngoài lên tới 64kByte.
Bộ nhớ dữ liệu được phân chia như sau:

17


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
* Các băng thanh ghi có địa chỉ từ 00H đến 1FH 32 byte thấp của bộ nhớ nội
được dùng cho các băng thanh ghi (dãy thanh ghi). Bộ lệnh 8051 hỗ trợ 8
thanh ghi R0 đến R7 và theo mặc định sau khi reset hệ thống, các thanh ghi
này có các địa chỉ từ 00H đến 07H. Do có 4 băng thanh ghi nên tại một thời

điểm chỉ có duy nhất 1 băng thanh ghi được truy suất bới các thanh ghi R0 R7, để thay đổi các băng thanh ghi thì ta thay đổi các bit chọn băng trong
thanh ghi trạng thái PSW.
* Vùng RAM địa chỉ hóa từng bit có địa chỉ từ 20h đến 2Fh 8051 chứa 210 vị
trí bit được định địa chỉ trong đó 128 bit chứa trong các byte ở địa chỉ từ 20H
đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các thanh ghi
đặc biệt. Ngoài ra 8051 còn có các cổng xuất/nhập có thể định địa chỉ từng bit,
điều này làm đơn giản việc giao tiếp bằng phần mềm với các thiết bị xuất/nhập
đơn bit.
* Vùng RAM đa dụng có địa chỉ từ 30h đến 7Fh Bất kỳ vị trí nhớ nào trong
vùng RAM đa mục đích đều có thể được truy xuất tự do bằng cách sử dụng
các kiểu định địa chỉ trực tiếp hoặc gián tiếp
* Các thanh ghi chức năng đặc biệt có địa chỉ từ 80h đến FFh Cũng như các
thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt SFR chiếm
phần trên của Ram nội từ địa chỉ 80H đến FFH. Cần lưu ý là không phải tất cả
128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có 21 địa chỉ được
định nghĩa.

18


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG

Hình 2.5

Cấu trúc bộ nhớ dữ liệu của AT89S52

2.3.1.8 Giới thiệu về lập trình hợp ngữ 8051
Trong phần này chúng ta bàn về dạng thức của hợp ngữ và định nghĩa một số
thuật ngữ sử dụng rộng rãi gắn liền với lập trình hợp ngữ. CPU chỉ có thể làm việc
với các số nhị phân và có thể chạy với tốc độ rất cao. Tuy nhiên, thật là ngán ngậm

và chậm chạp đối với con người phải làm việc với các số 0 và 1 để lập trình cho
máy tính. Một chương trình chứa các số 0 và 1 được gọi là ngôn ngữ máy. Trong
những ngày đầu của máy tính, các lập trình viên phải viết mã chương trình dưới
dạng ngôn ngữ máy. Mặc dù hệ thống thập lục phân (số Hex) đã được sử dụng như
một cách hiệu quả hơn để biểu diễn các số nhị phân thì quá trình làm việc với mã
máy vẫn còn là công việc cồng kềnh đối với con người. Cuối cùng, hợp ngữ cũng
được xây dựng, trong đó có sử dụng các từ gợi nhớ cho các lệnh mã máy cộng với
những đặc tính khác giúp cho việc lập trình nhanh hơn và ít mắc lỗi hơn. Thuật ngữ
từ gợi nhớ (mnemonic) thường được sử dụng trong tài liệu khoa học và kỹ thuật

19


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
máy tính để tham chiếu cho các mã lệnh và từ viết tắt tương đối dễ nhớ. Các chương
trình hợp ngữ phải được dịch ra thanh mã máy bằng một chương trình được gọi là
trình hợp ngữ (hợp dịch). Hợp ngữ được coi như là một ngôn ngữ bậc thấp vì nó
giao tiếp trực tiếp với cấu trúc bên trong của CPU. Để lập trình trong hợp ngữ, lập
trình viên phải biết tất cả các thanh ghi của CPU và kích thước của chúng cũng như
các chi tiết khác. Ngày nay, ta có thể sử dụng nhiều ngôn ngữ lập trình khác nhau,
chẳng hạn như Basic, Pascal, C, C ++, Java và vô số ngôn ngữ khác. Các ngôn ngữ
này được coi là những ngôn ngữ bậc cao vì lập trình viên không cần phải tương tác
với các chi tiết bên trong của CPU. Một trình hợp dịch được dùng để dịch chương
trình hợp ngữ ra mã máy còn (còn đôi khi cũng còn được gọi mà đối tượng (Object
Code) hay mã lệnh (Opcode), còn các ngôn ngữ bậc cao được dịch thành các ngôn
ngữ mã máy bằng một chương trình gọi là trình biên dịch.
Một chương trình hợp ngữ bao gồm một chuỗi các dòng lệnh hợp ngữ. Một
lệnh hợp ngữ có chứa một từ gợi nhớ và tùy theo từng lệnh và sau nó có một hoặc
hai toán hạng. Các toán hạng là các dữ liệu cần được thao tác và các từ gợi nhớ là
các lệnh đối với CPU nói nó làm gì với các dữ liệu. Dưới đây là ví dụ về một

chương trình hợp ngữ.
ORG 0H ; Bắt đầu (origin) tại ngăn nhớ 0
MOV R5, #25H ; Nạp 25H vào R5
MOV R7, #34H ; Nạp 34H vào R7
MOV A, #0 ; Nạp 0 vào thanh ghi A
ADD A, R5 ; Cộng nội dụng R5 vào A (A = A + R5)

20


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7)
ADD A, #121H ; Cộng giá trị 12H vào A (A = A + 12H)
HERE: SJMP HERE ; ở lại trong vòng lặp này
END ; Kết thúc tệp nguồn hợp ngữ
Như vậy cấu trúc của một chương trình hợp ngữ ta đã được biết, câu hỏi đặt ra
là chương trình sẽ được tạo ra và hợp dịch như thế nào và làm thế nào để có thể
chạy được? Các bước để tạo ra một chương trình hợp ngữ có thể chạy được là:
1. Trước hết ta sử dụng một trình soạn thảo để viết được chương trình giống
như chương trình ở ví dụ trên. Có nhiều trình soạn thảo tuyệt vời để soạn thảo
chương trình như trình soạn thảo EDIT của MS-DOS hoặc Notepad. Lưu ý rằng,
trình soạn thảo phải có khả năng tạo ra tệp mã ASCII. Đối với nhiều trình hợp ngữ
thì các tên tệp tuân theo các quy ước thường lệ của DOS, nhưng phần mở rộng của
các tệp nguồn phải là .asm hay .src (source - tệp nguồn) tuỳ theo trình hợp ngữ mà
ta sử dụng.
2. Tệp nguồn có phần mở rộng .asm được tạo ra ở bước 1 sẽ được nạp vào
trình hợp dịch của 8051. Trình hợp dịch chuyển các lệnh ra mã máy. Trình hợp dịch
sẽ tạo ra một tệp đối tượng và một tệp liệt kê với các thành phần mở rộng .obj và .lst
tương ứng.
3. Các trình hợp dịch yêu cầu một bước thứ ba gọi là liên kết. Chương trình

liên kết lấy một hoặc nhiều tệp đối tượng và tạo ra một tệp đối tượng tuyệt đối với
thành phần mở rộng .abs.

21


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
4. Kế sau đó tệp .abs được nạp vào một chương trình chuyển đổi tệp đối tượng
về dạng số HEX được gọi là “OH”. Tệp này đuôi mở rộng Hex và có thể nạp tốt
vào trong ROM.
Hiện nay các phần mềm thường kết hợp các bước 2 đến 4 vào thành một bước
để tạo được tệp .Hex. Điển hình như phần mềm KEIL C, đây là chương trình hỗ trợ
khá đầy đủ trong việc lập trình cho vi điều khiển họ 8051 ngoài việc biên dịch bằng
ngôn ngữ C bạn cũng có thể biên dịch dưới dạng ASM.
Trong phần mềm này, ta có thể soạn thảo chương trình bằng ngôn ngữ C hoặc
hợp ngữ Assembly, sau đó sẽ dùng phần mềm này để biên dịch chương trình thành
tệp Hex để nạp vào Chip
2.1.2

Led hồng ngoại
Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được
bằng mắt thường, có bước sóng khoảng từ 0.86µm đến 0.98µm. Tia hồng ngoại có
vận tốc truyền bằng vận tốc ánh sáng.
2.3.2.1Led phát
Led phát là một diode quang thường được chế tạp bằng gecmani và
silic.
Led hồng ngoại có thể làm việc ở hai chế độ: chế độ biến đổi quang điện và
chế độ nguồn quang điện.
Nguyên lý trong chế độ biến đổi quang điện: Lớp p được mắc vào cực âm của
nguồn điện, lớp n mắc vào cực dương. Phân cực ngược nên khi chưa chiếu sáng thì


22


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
có dòng điện nhỏ bé chạy qua ứng với dòng điện ngược (còn gọi là dòng điện tối).
Khi có quang thông dòng điện qua mối nối p-n tăng lên gọi là dòng điện sáng.
Nguyên lý làm việc của diode trong chế độ nguồn phát quang điện (pin mặt
trời): Khi quang thông, các điện tích trên mối nối p-n được giải phóng tạo ra sức
điện động trên 2 cực của diode, do đó làm xuất hiện dòng điện chảy trong mạch. Trị
số sức điện động xuất hiện trong nguồn quang điện phụ thuộc vào loại nguồn phát
và trị số của quang thông
2.3.2.2Led thu
Tia hồng ngoại từ phần phát được tiếp nhận bởi LED thu hồng ngoại.
Nguyên lý hoạt động: Khi led thu nhận được tín hiệu từ led phát , điện trở của
led thu giảm xuống mạnh. Khi ngăn ánh sáng chiều vào thì ngược lại không hoạt
động dẫn dòng của led thu.
2.1.3

Quang trở

Hình 2.6

Hình ảnh quang trở

Quang trở là điện trở mà hoạt động của nó dựa trên hiệu ứng quang dẫn.

23



CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
Cấu tạo: Quang trở được làm từ chất bán dẫn nhạy quang (có thể là Cadmium
Sulfide-CdS, Cadmium Selenide – CdSe).
Nguyên lý làm việc: Khi có bức xạ chiếu vào, chất bán dẫn hấp thụ năng
lượng làm phát sinh các điện tử tự do và lỗ trống, tức sự dẫn điện tăng lên và làm
giảm điện trở của chất bán dẫn. Các đặc tính điện và độ nhạy của quang trở tùy
thuộc vào chất liệu dùng trong chế tạo.
2.1.4

Bộ so sánh LM393N

Hình 2.7

IC LM393N

Bộ so sánh là 1 opamp (bộ khuếch đại thuật toán) chuyên dùng. So sánh điện
áp ở 2 ngõ vào và cho kết quả ở ngõ ra. Bộ so sánh có 2 ngõ vào, ngõ vào đảo và
ngõ vào không đảo. Nếu điện áp ở ngõ vào đảo lớn hơn ngõ vào không đảo thì ngõ
ra ở mức thấp. Ngược lại, nếu điện áp ngõ vào đảo nhỏ hơn điện áp ngõ vào không
đảo thì ngõ ra ở mức cao.
LM393N gồm có 2 bộ khuếch đại thuật toán.
• Bộ khuếch đại thứ 1: Chân 2, 3 vào, chân 1 ra.
• Bộ khuếch đại thứ 2: Chân 5, 6 vào, chân 7 ra.

24


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG

Hình 2.8

2.1.5

Sơ đồ chân LM393N

IC tích hợp 2 bộ khuếch đại thuật toán.
Điện áp cung cấp từ 3volts đến 36volts.
Dòng cung cấp 0.4mA.
Nhiệt độ làm việc 0ºC đến 70ºC.

LCD
LCD là từ viết tắt của Liquid Crystal Display, LCD là một thiết bị ngoại vi
dùng đểgiao tiếp với người dùng, so với led 7 thanh thì LCD có ưu điểm là hiển thị
được tất cả các kí tự trong bảng mã ASCCI. Có nhiều loại màn hình LCD với các
kích cỡ khác nhau, ví dụ như LCD 16x1 (16 cột và 1 hàng), LCD 16x2 (16 cột và 2
hàng), LCD 20x2 (20 cột và 2 hàng)…

25


×