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

Thiết kế mạch đo nhiệt độ sử dụng vi điều khiển

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.48 MB, 44 trang )

Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA VẬT LÝ

KHÓA LUẬN TỐT NGHIỆP
ĐỀ TÀI: THIẾT KẾ MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG
VI ĐIỀU KHIỂN

Người thực hiện
: LÊ THỊ THU HIỀN
Lớp
: 09CVL
Khoá
: 2009 - 2013
Ngành
: CỬ NHÂN VẬT LÝ
Giáo viên hướng dẫn: T.S LÊ HỒNG SƠN

Đà Nẵng - 2013

SVTH: Lê Thị Thu Hiền -09CVL

1


Khóa luận tốt nghiệp



Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

MỤC LỤC
LỜI CẢM ƠN ................................................................................................................4
DANH MỤC BẢNG VÀ HÌNH ẢNH ..........................................................................5
PHẦN I: LỜI MỞ ĐẦU ................................................................................................7
1. Lý do chọn đề tài ......................................................................................................7
2. Mục đích của đề tài ..................................................................................................7
PHẦN II: CẤU TRÚC LUẬN VĂN ............................................................................8
PHẦN III: ĐỐI TƯỢNG, NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU .......8
1. Các đối tượng và phạm vi nghiên cứu .....................................................................8
2. Nhiệm vụ nghiên cứu ...............................................................................................8
3. Phương pháp nghiên cứu lý thuyết ..........................................................................8
NỘI DUNG .....................................................................................................................9
CHƯƠNG I: TÌM HIỂU VỀ AT89C51 VÀ CÁC LINH KIỆN ................................9
1.1Vi điều khiển AT89C51 ..........................................................................................9
1.1.1Ưu nhược điểm của việc chọn vi điều khiển làm bộ xử lý trung tâm ..............9
1.1.2Sơ đồ của vi điều khiển AT89C51....................................................................9
1.1.3 Chức năng của từng khối ...............................................................................10
1.1.4. Sơ đồ và chức năng các chân của IC AT89C51 ...........................................11
1.1.4.1. Sơ đồ chân của AT89C51 ..........................................................................11
1.1.4.2. Chức năng của các chân.............................................................................12
1.1.5. Tập lệnh trong 89C51 ..................................................................................14
1.2. IC giải mã 74LS47 ..............................................................................................18
1.3. Cảm biến nhiệt LM35 .........................................................................................21
1.4. Bộ chuyển đổi ADC 0804 ...................................................................................22
1.5. LED 7 đoạn .........................................................................................................25
1.6. IC ổn áp 7805 ......................................................................................................28

CHƯƠNG II: THIẾT KẾ MẠCH ĐO NHIÊT ĐỘ DÙNG VI ĐIỀU KHIỂN......29
2.1 Sơ đồ khối ............................................................................................................29
2.2. Nguyên lý hoạt động chung của mạch ................................................................29
2.3. Chức năng của từng khối ....................................................................................29

SVTH: Lê Thị Thu Hiền -09CVL

2


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

2.3.1. Khối xử lý trung tâm AT89C51....................................................................29
2.3.2. Khối cảm biến nhiệt LM35 ...........................................................................30
2.3.3. Khối giải mã và hiển thị led 7 đoạn ..............................................................31
2.3.4. Khối ADC0804 .............................................................................................32
2.3.5. Khối nguồn ...................................................................................................33
2.4. Sơ đồ nguyên lý...................................................................................................34
2.5. Mạch layout .........................................................................................................35
CHƯƠNG III: CHƯƠNG TRÌNH ............................................................................37
3.1. Lưu đồ thuật tốn ................................................................................................37
3.1.1. Chương trình chính .......................................................................................37
3.1.2. Chương trình con Delay ...............................................................................38
3.1.3. Chương trình con chuyển đổi .......................................................................38
3.1.4. Chương trình con Hiển thị ............................................................................39
3.2. Chương trình .......................................................................................................39
PHẦN IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. .............................................42

1. Ưu điểm ..................................................................................................................42
2. Nhược điểm ............................................................................................................42
3. Hướng cải tiến, phát triển .......................................................................................42
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN........................................................43
TÀI LIỆU THAM KHẢO...........................................................................................44

SVTH: Lê Thị Thu Hiền -09CVL

3


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

LỜI CẢM ƠN
Lời đầu tiên em xin gởi lời cảm ơn chân thành đến quý Thầy Cô khoa Vật lý,
trường Đại học Sư phạm, Đại học Đà Nẵng đã nhiệt tình giảng dạy và truyền đạt
những kiến thức, kinh nghiệm quý báu cho em trong suốt bốn năm học đại học làm
nền tảng và tạo điều kiện cho em thực hiện được đề tài này.
Em cũng xin được bày tỏ lòng biết ơn đến TS. Lê Hồng Sơn và cơ Nguyễn Thị
Bảo Trâm đã tận tình hướng dẫn và cung cấp tài liệu trong suốt quá trình thực hiện đề
tài khóa luận.
Mặc dù đã cố gắng và nỗ lực hết mình, song khóa luận này có thể cịn nhiều
thiếu sót. Em rất mong nhận được sự thơng cảm và chỉ bảo tận tình của q Thầy Cơ
và các bạn.
Lê Thị Thu Hiền

SVTH: Lê Thị Thu Hiền -09CVL


4


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

DANH MỤC BẢNG VÀ HÌNH ẢNH
- Hình 1.1.1: Sơ đồ của vi điều khiển AT89C51.
- Hình 1.1.2: Sơ đồ chân của AT89C51.
- Hình 1.2.1: Sơ đồ chân của IC 74LS47.
- Hình 1.2.2: Sơ đồ nguyên lý mạch hiển thị số trên LED 7 đoạn
- Hình 1.2.3: Giá trị hiển thị trên LED 7 đoạn.
- Hình 1.3.1: Cảm biến nhiệt LM35.
- Hình 1.4.1: Hình dạng thực tế ADC0804.
- Hình 1.4.2: Sơ đồ chân ADC0804.
- Hình 1.5.1: Led 7 đoạn.
- Hình 1.5.2: Sơ đồ cấu tạo của LED 7 đoạn.
- Hình 1.6.1: IC ổn áp 7805.
- Hình 2.1.1: Sơ đồ khối
- Hình 2.3.1: Sơ đồ nguyên lý khối vi điều khiển
- Hình 2.3.2: Khối cảm biến LM35.
- Hình 2.3.3: Sơ đồ nguyên lý khối giải mã hiển thị
- Hình 2.3.4: Sơ đồ nguyên lý khối chuyển đổi ADC0804
- Hình 2.3.5: Sơ đồ khối nguồn.
- Hình 2.4.1: Sơ đồ nguyên lý.
- Hình 2.5.1: Mạch layout.
- Hình 2.5.2: Hình ảnh mạch thực tế.

- Hình 3.1.1: Lưu đồ thuật tốn của chương trình chính.
- Hình 3.1.2: Lưu đồ thuật tốn của chương trình con Delay.
- Hình 3.1.3: Lưu đồ thuật tốn của chương trình con chuyển đổi.
- Hình 3.1.4: Lưu đồ thuật tốn của chương trình con hiển thị.
- Bảng 1.1.1: Chức năng một số chân đặc biệt của Port 3
- Bảng 1.2.1: Bảng giá trị LOGIC giải mã của 7447 với đầu vào từ 0-15 đầu ra
tương ứng hiển thị số 0-9 và kí tự đặc biệt – dùng cho mạch số không dùng vi xử lý.
- Bảng 1.5.1: Bảng mã hiển thị LED 7 đoạn dành cho LED 7 đoạn có anode
chung (các LED đơn sáng ở mức 0):
SVTH: Lê Thị Thu Hiền -09CVL

5


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

- Bảng 1.5.2: Bảng mã hiển thị LED 7 đoạn dành cho LED 7 đoạn co cathode
chung (các LED đơn sáng ở mức 1):

SVTH: Lê Thị Thu Hiền -09CVL

6


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng

GVHD: T.S Lê Hồng Sơn

PHẦN I: LỜI MỞ ĐẦU
1. Lý do chọn đề tài:
Ngày nay kỹ thuật vi điều khiển được sử dụng rộng rãi trong các dây chuyền
sản xuất lớn cũng như các thiết bị gia dụng quen thuộc. Với khả năng lập trình điều
khiển linh hoạt, các chip vi điều khiển đã tạo nên những bước phát triển nhảy vọt trong
lĩnh vực điều khiển tự động.
Trong nghiên cứu khoa học, trong sản xuất cũng như trong đời sống sinh hoạt
hằng ngày, luôn luôn cần xác định nhiệt độ của môi trường hay của một vật nào đó. Vì
vậy, việc đo nhiệt độ đã trở thành một việc làm rất cần thiết. Nhận thức được tầm quan
trọng của vấn đề này, em đã tiến hành nghiên cứu và thực hiện đề tài “Thiết kế mạch
đo nhiệt độ sử dụng vi điều khiển” cho khóa luận của mình.
Đề tài này tuy khơng mới nhưng giúp em có thể hiểu rõ hơn về cấu trúc bên
trong, nguyên lý hoạt động và cách lập trình cho vi xử lý. Đây cũng là một cơ hội để
em nắm vững kiến thức hơn, đồng thời ứng dụng được những nội dung lý thuyết đã
học để tạo ra sản phẩm có ích cho cuộc sống xã hội.
2. Mục đích của đề tài:
Nhiệt độ là một đại lượng vật lý được quan tâm rất nhiều bởi nhiệt độ có vai trị
quyết định một số tính chất của vật chất. Một trong những đặc điểm tác động của nhiệt
độ là làm thay đổi một cách liên tục các đại lượng chịu sự ảnh hưởng của nó, chẳng
hạn như áp suất, thể tích của một chất khí. Vì vậy trong các nghiên cứu khoa học,
trong công nghiệp và trong đời sống hằng ngày, việc đo nhiệt độ là một điều rất cần
thiết.
Đề tài khóa luận này bước đầu nghiên cứu một ứng dụng đơn giản vi điều khiển
trong thực tế để rồi từ đó thiết kế, phát triển những ứng dụng lớn hơn và hữu ích trong
cuộc sống hằng ngày.

SVTH: Lê Thị Thu Hiền -09CVL


7


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

PHẦN II: CẤU TRÚC LUẬN VĂN
Ngoài những phần mở đầu, kết luận và tài liệu tham thảo luận văn gồm có:
CHƯƠNG I: Tìm hiểu về AT89C51 và các linh kiện.
CHƯƠNG II: Thiết kế mạch đo nhiệt độ ứng dụng vi điều khiển.
CHƯƠNG III: Chương trình

PHẦN III: ĐỐI TƯỢNG, NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
1. Các đối tượng và phạm vi nghiên cứu:
1.1. Đối tượng:
- Các tài liệu về linh kiện và các IC liên quan.
- Các tài liệu liên quan đến thiết kế mạch và lắp ráp mạch.
1.2. Phạm vi:
Phạm vi nghiên cứu của đề tài này là lý thuyết về các linh kiện được sử dụng
trong mạch, nguyên lý hoạt động của “Mạch đo nhiệt độ” và xây dựng mơ hình mạch
thực tế.
2. Nhiệm vụ nghiên cứu:
Để đạt được các mục đích đề ra thì đề tài cần thực hiện các nhiệm vụ sau:
- Nghiên cứu cơ sở lý thuyết về vi điều khiển và các linh kiện liên quan để
phục vụ cho quá trình thiết kế mạch.
- Xây dựng một mơ hình “Mạch đo nhiệt độ” có tính thực tế cao đúng với mục
đích đề ra.
- Thiết kế mạch đo nhiệt độ trong dải từ 0oC đến 99oC hiển thị số.

- Viết chương trình (phần mềm) và thiết lập phần cứng cho mạch đo nhiệt độ.
3. Phương pháp nghiên cứu lý thuyết:
- Nghiên cứu về việc ứng dụng mạch đo nhiệt độ trong thực tế.
- Nghiên cứu về các linh kiện, dụng cụ lắp ráp mạch, sơ đồ nguyên lý và
nguyên lý hoạt động của mạch.
- Nghiên cứu về các phương pháp đo nhiệt độ.
SVTH: Lê Thị Thu Hiền -09CVL

8


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

NỘI DUNG
CHƯƠNG I: TÌM HIỂU VỀ AT89C51 VÀ CÁC LINH KIỆN
1.1 Vi điều khiển AT89C51:
1.1.1 Ưu nhược điểm của việc chọn vi điều khiển làm bộ xử lý trung tâm:
 Ưu điểm:
- Vi điều khiển có khả năng điều khiển linh hoạt theo mong muốn của người
sử dụng dựa vào phần mềm được viết
- Có thể thay đổi thêm chức năng bằng cách thay đổi phần mềm
- Hệ thống đơn giản, kích thước nhỏ
- Giá thành phù hợp với khả năng tài chính
 Nhược điểm:
- Chất lượng của hệ thống phụ thuộc vào chất lượng chương trình được nạp
cho vi điều khiển
1.1.2 Sơ đồ của vi điều khiển AT89C51:


Hình 1.1.1: Sơ đồ của vi điều khiển AT89C51
SVTH: Lê Thị Thu Hiền -09CVL

9


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

1.1.3 Chức năng của từng khối:
 Khối xử lý trung tâm CPU:
Phần chính của bộ vi xử lý là khối xử lý trung tâm khối này có chứa các thành
phần chính:
- Thanh chứa ACC (ký hiệu là A)
- Thanh ghi chứa phụ (ký hiệu là B) thường được dùng cho phép nhân và phép
chia.
- Khối logic số học (ALU-Arithmetic Logical Unit).
- Từ trạng thái chương trình (PSW-Program Status Word).
- Bốn băng thanh ghi (Blank).
- Con trỏ ngăn xếp SP cũng như con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ
liệu ở bên ngoài.
- Ngoài ra, khối xử lý trung tâm còn chứa:
- Thanh ghi đếm chương trình (PC- Program Counter).
- Bộ giải mã lệnh.
- Bộ điều khiển thời gian và logic
- Sau khi được reset, CPU bắt đầu làm việc tại địa chỉ 0000h, là địa chỉ đầu
được ghi trong thanh ghi chứa chương trình (PC) và sau đó, thanh ghi này sẽ

tăng lên 1 đơn vị và chỉ đến các lệnh tiếp theo của chương trình.
 Bộ tạo dao động:
Khối xử lý trung tâm nhận trực tiếp xung nhịp từ bộ tạo dao động được lắp thêm
vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ gốm hoặc thạch anh.
Ngồi ra, cịn có thể đưa 1 tín hiệu giữ nhịp từ bên ngồi vào.
 Khối điều khiển ngắt:
Chương trình đang chạy có thể cho dừng lại nhờ 1 khối logic ngắt ở bên trong. Các
nguồn ngắt có thể là các biến cố ở bên ngoài, sự tràn bộ đếm, bộ định thời hay có thể
là giao diện nối tiếp. Tất cả các ngắt đều có thể thiết lập chế độ làm việc thông qua hai
thanh ghi IE (Iterrupt Enable) và IP (Iterrupt Priority).
 Khối điều khiển và quản lý Bus:

SVTH: Lê Thị Thu Hiền -09CVL

10


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

Các khối trong vi điều khiển liên lạc với nhau thông qua hệ thống bus nội bộ được
điều khiển bởi khối điều khiển quản lý bus.
 Các bộ đếm/ định thời:
Vi điều khiển 8051 có chứa hai bộ đếm tiền 16 bit có thể hoạt động như là bộ định
thời hay bộ đếm sự kiện bên ngoài hoặc như bộ phát tốc độ Baud dùng cho giao diện
nối tiếp. Trạng thái tràn bộ đếm có thể được kiểm tra trực tiếp hoặc được xóa đi bằng 1
ngắt.
 Các cổng vào/ ra:

Vi điều khiển 8051 có 4 cổng vào/ ra (P0, P1, P2, P3), mỗi cổng chứa 8 bit, độc lập
với nhau. Các cổng này có thể được sử dụng cho những mục đích điều khiển rất đa
dạng. Ngồi chức năng chung, một số cổng còn đảm nhận thêm một số chức năng đặc
biệt khác.
 Giao diện nối tiếp:
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. Bằng cách đấu nối các bộ đệm thích hợp ta có thể hình thành 1 cổng
nối tiếp RS-232 đơn giản. Tốc độ truyền qua cổng nối tiếp có thể đặt được trong 1
vùng rộng phụ thuộc vào 1 bộ định thời và tần số dao động riêng của thạch anh.
 Bộ nhớ chương trình:
Bộ nhớ chương trình thường là bộ nhớ ROM (Read Only Memory), bộ nhớ chương
trình được sử dụng để cất giữ chương trình điều khiển hoạt động của vi điều khiển.
 Bộ nhớ số liệu:
Bộ nhớ số liệu thường là bộ nhớ RAM (Ramdom Acces Memory), bộ nhớ số liệu
dùng để cất giữ các thông tin tạm thời trong quá trình vi điều khiển làm việc.
1.1.4. Sơ đồ và chức năng các chân của IC AT89C51:
1.1.4.1. Sơ đồ chân của AT89C51:
IC AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong
đó, có 24 chân có tác dụng kép (có nghĩa một chân có hai chức năng), mỗi đường có
thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của

SVTH: Lê Thị Thu Hiền -09CVL

11


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn


các bus dữ liệu và bus địa chỉ. Mặt khác, khối này được lập trình để điều khiển các
khối con của mạch.

Hình 1.1.2: Sơ đồ chân của AT89C51
1.1.4.2. Chức năng của các chân:
- Port 0 (P0.0 – P0.7 hay chân 32 – 39): ngoài chức năng xuất nhập (I/O) ra thì
Port 0 cịn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ
được sử dụng khi AT89C51 giao tiếp với thiết bị ngồi có kiến trúc bus.
- Port 1 (P1.0 – P1.7 hay chân 1 – 8): chỉ có chức năng xuất nhập theo bit và
byte, khơng dùng cho mục đích khác.
- Port 2 (P2.0 – P2.7 hay chân 21 – 28): đây là port có 2 chức năng. Đó là chức
năng xuất nhập và chức năng địa chỉ. Đối với chức năng địa chỉ: dùng làm 8
bit địa chỉ cao khi cần bộ nhớ ngồi có địa chỉ 16 bit. Khi đó, port 2 khơng
được dùng cho mục đích I/O.

SVTH: Lê Thị Thu Hiền -09CVL

12


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

- Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức năng
xuất nhập ra cịn có một số chân đặc biệt sau:
Bảng 1.1.1: Chức năng một số chân đặc biệt của Port 3
Chức năng chuyển đổi


Bit

Tên

P3.0

RXD

Dữ liệu nhận cho port nối tiếp

P3.1

TXD

Dữ liệu truyền cho port nối tiếp

P3.2

INT0

Ngắt bên ngoài 0

P3.3

INT1

Ngắt bên ngoài 1

P3.4


T0

Ngõ vào của Timer Counter 0

P3.5

T1

Ngõ vào của Timer Counter 1

P3.6

WR

Xung ghi bộ nhớ dữ liệu ngoài

P3.7

RD

Xung đọc bộ nhớ dữ liệu ngoài

- RST (Reset – chân 9): là ngõ vào Reset dùng để thiết lập thông số ban đầu
cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ
này ở mức 1 tối thiểu 2 chu kỳ máy.
- XTAL 1, XTAL 2: AT89C51 có một bộ dao động trên chip, nó thường nối
với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thơng thường là
12MHz.
Chu kì máy : Tck ≈ 12.T

Với T: chu kỳ của nguồn xung dao động cấp cho vi điều khiển.
Tck: chu kỳ máy.
Nếu tần số mạch là 12MHz thì chu kỳ máy là 1µs.
- EA (External Access): thường được mắc lên mức cao (5V) hoặc mức thấp
(GND). Nếu ở mức cao bộ vi điều khiển thi hành chương trình từ ROM nội.
Nếu ở mức thấp thì chương trình được thi hành từ bộ nhớ mở rộng.
- ALE (Address Latch Enable): là tín hiệu để chốt địa chỉ vào một thanh ghi
bên ngoài trong nửa chu kỳ đầ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 chu kỳ sau của bộ nhớ.

SVTH: Lê Thị Thu Hiền -09CVL

13


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

- PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ
chương trình mở rộng và thường được nối với chân OE (Output Enable) của
một EPROM để cho phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời
gian đọc 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 bộ vi điều khiển để giải mã lệnh.
Khi thi hành chương trình trong ROM nội thì PSEN sẽ ở mức cao.
- VCC, GND : AT89C51 dùng nguồn một chiều có dải điện áp từ 4V – 5,5V
được cấp qua chân 40 (VCC) và chân 20 (GND).
1.1.5. Tập lệnh trong 89C51 :
 Nhóm lệnh xử lý toán học: “(số byte, chu kỳ máy)”:

Vd: ADD A,data (2,1) :

Cộng trực tiếp vào thanh ghi A.

ADD A,Rn

(1,1) :

Cộng thanh ghi Rn vào thanh ghi A.

ADD A,@Ri

(1,1) : Cộng gián tiếp nội dung RAM chứa tại địa chỉ được
khai báo trong Ri vào thanh ghi A.

ADD A,#data

(2,1) : Cộng dữ liệu tức thời vào A.

ADD A,Rn

(1,1) : Cộng thanh ghi và cờ nhớ vào A.

ADD A,data

(2,1) : Cộng trực tiếp byte dữ lệu và cờ nhớ vào A.

ADDC A,@Ri (1,1) : Cộng gián tiếp nội dung RAM và cờ nhớ vào A.
ADDC A,#data (2,1) : Cộng dữ liệu tức thời và cờ nhớ vào A.
SUBB A,Rn


(1,1) : Trừ nội dung thanh ghi A cho nội dung thanh ghi Rn và
cờ nhớ.

SUBB A,data

(2,1) : Trừ trực tiếp A cho một số và cờ nhớ.

SUBB A,@Ri (1,1) : Trừ gián tiếp A cho một số và cờ nhớ.
SUBB A,data

(2,1) : Trừ nội dung A cho một số tức thời và cờ nhớ.

INC A

(1,1) : Tăng nội dung thanh ghi A lên 1.

INC Rn

(1,1) : Tăng nội dung thanh ghi Rn lên 1.

INC data

(2,1) : Tăng dữ liệu trực tiếp lên 1.

INC @Ri

(1,1) : Tăng gián tiếp vùng RAM lên 1.

DEC A


(1,1) : Giảm nội dung thanh ghi A xuống 1.

SVTH: Lê Thị Thu Hiền -09CVL

14


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

DEC Rn

(1,1) : Giảm nội dung thanh ghi Rn xuống 1.

DEC data

(2,1) : Giảm dữ liệu trực tiếp xuống 1.

DEC @Ri

(1,1) : Giảm gián tiếp nội dung vùng RAM xuống 1.

INC DPTR

(1,2) : Tăng nội dung con trỏ dữ liệu lên 1.

MUL AB


(1,4) : Nhân nội dung thanh ghi A cho nội dung thanh ghi B.

DIV AB

(1,4) : Chia nội dung thanh ghi A cho nội dung thanh ghi B.

 Nhóm lệnh chân lý:
ANL A,Rn

(1,1) : AND nội dung thanh ghi A với nội dung thanh ghi Rn.

ANL A,data

(1,1) : AND nội dung thanh ghi A với dữ liệu trực tiếp.

ANL A,@Ri

(1,1) : AND nội dung thanh ghi A với nội dung gián tiếp trong
RAM.

ANL A,#data

(2,1) : AND nội dung thanh ghi với dữ liệu tức thời.

ANL data,A

(2,1) : AND một dữ liệu trực tiếp với A.

ANL data,#data (3,2) : AND một dữ liệu trực tiếp với A một dữ liệu tức thời.

ANL C,bit

(2,2) : AND cờ nhớ với một bit trực tiếp

ANL C,/bit

(2,2) : AND cờ nhớ với bù 1 bit trực tiếp

ORL A,Rn

(1,1) : OR thanh ghi A với thanh ghi Rn.

ORL A,data

(2,1) : OR thanh ghi A với một dữ liệu trực tiếp

ORL A,@Ri

(1,1) : OR thanh ghi A với một dữ liệu gián tiếp

ORL A,#data

(2,1) : OR thanh ghi A với một dữ liệu tức thời.

ORL data,A

(2,1) : OR một dữ liệu trực tiếp với thanh ghi A

ORL data,#data (2,1) : OR một dữ liệu trực tiếp với một dữ liệu tức thời.
ORL C,bit


(2,2) : OR cờ nhớ với một bit trực tiếp.

ORL C,/bit

(2,2) : OR cờ nhớ với bù của một bit trực tiếp.

XRL A,Rn

(1,1) : XOR thanh ghi A với thanh ghi Rn.

XRL A,data

(2,1) : XOR thanh ghi A với một dữ liệu trực tiếp.

XRL A,@Ri

(1,1) : XOR thanh ghi A với một dữ liệu gián tiếp.

XRL A,#data

(2,1) : XOR thanh ghi A với một dữ liệu tức thời.

XRL data,A

(2,1) : XOR một dữ liệu trực tiếp với thanh ghi A.

XRL data,#data (3,1) : XOR một dữ liệu trực tiếp với một dữ liệu tức thời.
SVTH: Lê Thị Thu Hiền -09CVL


15


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

SETB C

(1,1) : Đặt cờ nhớ.

SETB bit

(2,1) : Đặt một bit trực tiếp.

CLR A

(1,1) : Xóa thanh ghi A.

CLR C

(1,1) : Xóa cờ nhớ.

CPL A

(1,1) : Bù nội dung thanh ghi A.

CPL C


(1,1) : Bù cờ nhớ.

CPL bit

(2,1) : Bù một bit trực tiếp.

RL A

(1,1) : Quay nội dung thanh ghi A.

RLCA

(1,1) : Quay trái thanh ghi A qua cờ nhớ.

RR A

(1,1) : Quay phải nội dung thanh ghi A.

RRC A

(1,1) : Quay trái nội dung thanh ghi A có cờ nhớ.

SWAP

(1,1) : Quay trái nội dung thanh ghi A 1 nibble(1/2 byte).

 Nhóm lệnh chuyển dữ liệu:
MOV A,Rn

(1,1) : Chuyển nội dung thanh ghi Rn vào thanh ghi A.


MOV A,data

(2,1) : Chuyển dữ liệu trực tiếp vào thanh ghi A.

MOV A,@Ri

(1,1) : Chuyển dữ liệu gián tiếp vào thanh ghi A.

MOV A,#data

(2,1) : Chuyển dữ liệu tức thời vào thanh ghi A.

MOV Rn,data

(2,2) : Chuyển dữ liệu trực tiếp vào thanh ghi Rn.

MOV Rn,#data (2,2) : Chuyển dữ liệu tức thời vào thanh ghi Rn.
MOV data,A

(2,1) : Chuyển nội dung thanh ghi A vào một dữ liệu trực tiếp.

MOV data,Rn

(2,2) : Chuyển nội dung thanh ghi Rn vào một dữ liệu trực
tiếp.

MOV data,data (2,2) : Chuyển một dữ liệu trực tiếp vào một dữ liệu trực tiếp.
MOV data,@Ri (2,2) : Chuyển một dữ liệu gián tiếp vào một dữ liệu gián tiếp.
MOV data,#data(3,2)

MOV @Ri,A

: Chuyển một dữ liệu tức thời vào một dữ liệu trực tiếp.

(1,1) : Chuyển nội dung thanh ghi A vào một dữ liệu gián tiếp.

MOV @Ri,data (1,1) : Chuyển một dữ liệu trực tiếp vào một dữ liệu gián tiếp.
MOV @Ri,#data(1,1) : Chuyển một dữ liệu tức thời vào một dữ liệu gián tiếp.
MOV DPTR,#data(3,2):
MOV C,bit

Chuyển một hằng 16 bit vào thanh ghi con trỏ dữ liệu.

(2,1) : Chuyển một bit trực tiếp vào cờ nhớ.

SVTH: Lê Thị Thu Hiền -09CVL

16


Khóa luận tốt nghiệp

MOV bit,C

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

(2,2) : Chuyển cờ nhớ vào một bit trực tiếp.

MOV A,@A+DPTR(1,2): Chuyển byte bộ nhớ chương trình có địa chỉ là

@A+DPTR vào thanh ghi A.
MOVC A,@A+PC(1,2) : Chuyển byte bộ nhớ chương trình có địa chỉ là @A+PC
vào thanh ghi A.
MOV A,@Ri

(1,2) : Chuyển dữ liệu ngoài (8 bit địa chỉ) vào thanh ghi A.

MOVX A,@DPTR(1,2):

Chuyển dữ liệu ngoài (16 bit địa chỉ) vào thanh ghi A.

MOVX @Ri,A (1,2) : Chuyển nội dung A ra dữ liệu ngoài (8 bit địa chỉ).
MOVX @DPTR,A (1,2): Chuyển nội dung A ra dữ liệu bên ngoài (16 bit địa chỉ).
PUSH data

(2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và tăng SP.

POP data

(2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và giảm SP.

XCH A,Rn

(1,1) : Trao đổi dữ liệu giữa thanh ghi Rn Và thanh ghi A.

XCH A,data

(2,1) : Trao đổi giữa thanh ghi A với dữ liệu trực tiếp.

XCH A,@Ri


(1,1) : Trao đổi giữa thanh ghi A với dữ liệu gián tiếp.

XCHD,@R

(1,1) : Trao đổi giữa nibble thấp (LSN) của thanh ghi A và
LSN của dữ liệu gián tiếp.

 Nhóm lệnh chuyền điều khiển:
ACALL addr11 (2,2) : Gọi chương trình con dùng địa chỉ tuyệt đối
LCALL addr16 (3,2) : Gọi chương trình con dùng địa chỉ dài
RET

(1,2) : Trở về từ lệnh gọi chương trình con

RET1

(1,2) : Trở về từ lệnh gọi ngắt

AJMP addr11

(2,2) : Nhảy tuyệt đối

LJMP addr16

(3,2) : Nhảy dài

SJMP rel

(2,2) : Nhảy ngắn


JMP @A+DPTR (1,2) : Nhảy gián tiếp từ con trỏ dữ liệu
JZ rel

(2,2) : Nhảy nếu A=0

JNZ rel

(2,2) : Nhảy nếu A không bằng 0

JC rel

(2,2) : Nhảy nếu cờ nhớ được đặt

JNC rel

(2,2) : Nhảy nếu cờ nhớ không được đặt

JB bit, rel

(3,2) : Nhảy tương đối nếu bit trực tiếp được đặt

SVTH: Lê Thị Thu Hiền -09CVL

17


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng

GVHD: T.S Lê Hồng Sơn

JNB bit,rel

(3,2) : Nhảy tương đối nếu bit trực tiếp không được đặt

JBC bit,rel

(3,2) : Nhảy tương đối nếu bit trực tiếp được đặt rồi xóa bit

CJNE A,data,rel (3,2) : So sánh dự liệu trực tiếp với A và nhảy nếu không bằng
CJNE A,#data,rel(3,2) : So sánh dữ liệu tức thời với A và nhảy nếu không bằng
CJNE Rn,#data,rel(3,2):

So sánh dữ liệu tức thời với nội dung thanh ghi Rn và
nhảy nếu không bằng.

CJNE @Ri,#data,rel(3,2): So sánh dữ liệu tức thời với dữ liệu gián tiếp và nhảy
nếu không bằng.
DJNZ Rn,rel

(3,2) : Giảm thanh ghi Rn và nhảy nếu không bằng

DJNZ data,rel

(3,2) : Giảm dữ liệu trực tiếp và nhảy nếu khơng bằng.

1.2. IC giải mã 74LS47:

Hình 1.2.1: Sơ đồ chân của IC 74LS47

IC 74LS47 là IC có chức năng giải mã được sử dụng phổ biến trong điện tử số.
IC này được ứng dụng khi cần hiển thị số trên LED 7 đoạn trong mạch số mà khơng
cần dùng vi xử lí hoặc muốn tiết kiệm chân.
Bên trong IC là các cổng NAND, các bộ đệm ngõ vào, và 7 cổng chuyển đổi
AND-OR . 7 cổng NAND kết hợp với một bộ lái để tạo ra mã BCD cho việc giải mã 7
cổng chuyển đổi AND-OR . Ngồi ra cịn có thêm 3 cổng đệm ngõ vào dùng cho việc
thử đèn , ngõ vào xóa/ngõ ra xóa dợn sóng và ngõ vào xóa dợn sóng . IC này chỉ dành
cho việc giải mã BCD, nếu không phải thì khơng giải mã và số sẽ hiển thị khơng đúng.

SVTH: Lê Thị Thu Hiền -09CVL

18


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

Dữ liệu lần lượt được đưa vào các chân A,B,C,D của IC và tín hiệu ra là các
đầu a,b,c,d,e,f,g.
 RBI là ngõ xóa gợn sóng.
 LT là ngõ thử đèn.
 BI/RBO là ngõ vào xóa.

Hình 1.2.2: Sơ đồ nguyên lý mạch hiển thị số trên LED 7 đoạn
Khi các ngõ ra mạch giải mã tác động ở mức thấp (0) thì LED tương ứng sáng.
Ngồi 10 số từ 0 đến 9 được giải mã, mạch cũng còn giải mã được 6 trạng thái
khác nhưng ở đây không dùng đến.
Để hoạt động giải mã diễn ra bình thường thì chân LT và BI/RBO phải được

thiết lập ở mức cao.
Muốn thử đèn led để các LED đều sáng hết thì kéo chân LT xuống thấp.
Muốn xóa các số (tắt hết LED) thì kéo chân BI xuống thấp.

SVTH: Lê Thị Thu Hiền -09CVL

19


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

Bảng 1.2.1: Bảng giá trị LOGIC giải mã của 7447 với đầu vào từ 0-15 đầu ra tương
ứng hiển thị số 0-9 và kí tự đặc biệt – dùng cho mạch số không dùng vi xử lý.

Chức năng :
- Một trong những IC phổ biến trong điện tử số. Có rất nhiều kí hiệu khác
nhau tùy thuộc vào hãng và khả năng đáp ứng như: 74HC47, 74HCT47,
74LS47.
- Mô tả cách thức hoạt động như sau:
+ Port A, B, C, D : đầu vào của 7447, nhận các giá trị theo nhị phân (BCD) từ 0
tới 15, tương ứng với mỗi giá trị nhận được sẽ giải mã ra đầu ra Q tương ứng.
+ Port QA-QG : Nối trực tiếp led 7 đoạn với QA=a, QB=b, QC=c, QD=d,
QE=e, QF=f, QG=g, giá trị hiển thị trên led 7 đoạn phụ thuộc vào giá trị đầu vào Port
A, B, C, D theo bảng sau :

Hình 1.2.3: Giá trị hiển thị trên LED 7 đoạn
SVTH: Lê Thị Thu Hiền -09CVL


20


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

1.3. Cảm biến nhiệt LM35:

Hình 1.3.1: Cảm biến nhiệt LM35.
Các đặc điểm chung của cảm biến nhiệt độ LM35 như sau:
- Chân 1: Chân nguồn đầu vào Vcc
- Chân 2: Chân đầu ra Vout
-

Chân 3: Chân nối GND

Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp
đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng khơng
u cầu cân chỉnh ngồi vì vốn chúng đã được cân chỉnh.
- Đặc điểm chính của LM35:
+ Điện áp đầu vào từ 4V đến 30V.
+ Độ phân giải điện áp đầu ra là 10mV /0 C.
+ Độ chính xác cao: ở 25 0C, sai số không quá 0.50 C.
+ Trở kháng đầu ra thấp
+ LM35 có độ biến thiên điện áp đầu ra là 10mV/10 C.
Dải nhiệt độ đo được của LM35 là từ -55 ̊ C đến 1500 C với các mức điện áp ra
khác nhau.

- Xét một số mức điện áp sau:
+ Nhiệt độ -550C điện áp đầu ra là -550mV.
+ Nhiệt độ 250C điện áp đầu ra là 250mV.
+ Nhiệt độ 1500C điện áp đầu ra là 1500mV.

SVTH: Lê Thị Thu Hiền -09CVL

21


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

Tùy theo cách mắc của LM35 để ta đo các dải nhiệt độ phù hợp. Đối với hệ
thống này thì đo từ 00C đến 990C.
- Thơng số kỹ thuật:
+ Tiêu tán cơng suất thấp.
+ Dịng làm việc 138μA đến 141μA.
+ Khoảng điện áp làm việc là 4 – 30V.
+ Sai số dòng tĩnh là 3μA.
+ Sự thay đổi dòng theo nhiệt độ là 0.7μA/ 0C.
1.4. Bộ chuyển đổi ADC 0804:
Chip ADC0804 là bộ chuyển đổi tương tự sang số thuộc họ ADC800 của hãng
National Semiconductor. Chip này cũng được nhiều hãng khác sản xuất. Chip có điện
áp ni +5V và độ phân giải 8 bit.
Để kết nối giữa nguồn tín hiệu tương tự với các hệ thống xử lý số người ta dùng
các mạch chuyển đổi tương tự số (ADC) nhằm biến đổi tín hiệu tương tự sang tín hiệu
số. Chip ADC được sử dụng rộng rãi trong thực tế là ADC0804.


Hình 1.4.1: Hình dạng thực tế ADC0804
Ngồi độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi
đánh giá bộ ADC. Thời gian chuyển đổi được định nghĩa là thời gian mà bộ ADC cần
để chuyển một đầu vào tương tự thành một số nhị phân. Đối với ADC0804 thì thời
gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK R và CLK IN
và không bé hơn 110µs.

SVTH: Lê Thị Thu Hiền -09CVL

22


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

Hình 1.4.2: Sơ đồ chân ADC0804
Các chân của ADC0804 có chức năng như sau:
1. CS (Chip select): Chân số 1, là chân chọn chip, đầu vào tích cực mức thấp
được sử dụng để kích hoạt Chip ADC0804. Để truy cập tới ADC0804 thì chân này
phải được đặt ở mức thấp, tích cực mức 0.
2. RD (Read): Chân số 2, là chân nhận tín hiệu vào tích cực ở mức thấp. Các bộ
chuyển đổi của 0804 sẽ chuyển đổi đầu vào tương tự thành số nhị phân và giữ nó ở
một thanh ghi trong. Chân RD được sử dụng để cho phép đưa dữ liệu đã được chyển
đổi tới đầu ra của ADC0804. Khi CS = 0 nếu có một xung cao xuống thấp áp đến chân
RD thì dữ liệu ra dạng số 8 bit được đưa tới các chân dữ liệu (DB0 – DB7).
3. WR (Write): Chân số 3, đây là chân vào tích cực mức thấp được dùng báo
cho ADC biết để bắt đầu quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung cao

xuống thấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá trị đầu vào tương tự Vin
SVTH: Lê Thị Thu Hiền -09CVL

23


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

thành số nhị phân 8 bit. Khi việc chuyển đổi hồn tất thì chân INTR được ADC hạ
xuống mức thấp.
Chú ý: lượng thời gian cần thiết để chuyển đổi phụ thuộc vào tần số đưa đến
chân CLK IN và CLK R.
4. CLK IN và CLK R: CLK IN (chân số 4), là chân vào nối tới đồng hồ ngoài
được sử dụng để tạo thời gian. Tuy nhiên ADC0804 cũng có một bộ tạo xung đồng hồ
riêng. Để dùng đồng hồ riêng thì các chân CLK IN và CLK R (chân số 19) được nối
với một tụ điện và một điện trở.
5. Ngắt INTR (Interupt): Chân số 5, là chân ra tích cực mức thấp. Bình thường
chân này ở trạng thái cao và khi việc chuyển đổi tương tự số hồn tất thì nó chuyển
xuống mức thấp để báo cho CPU biết là dữ liệu chuyển đổi sẵn sàng để lấy đi. Sau khi
INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân RD để đưa
dữ liệu ra.
6. Vin (+) và Vin (-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự vi sai,
trong đó Vin = Vin (+) – Vin (-). Thông thường Vin (-) được nối tới đất và Vin (+) được
dùng làm đầu vào tín hiệu tương tự và sẽ được chuyển đổi về dạng số.
7. Vcc: Chân số 20, là chân nguồn nuôi +5V. Chân này còn được dùng làm điện
áp tham chiếu khi đầu vào Vref/2 để hở.
8. Vref /2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp tham

chiếu. Nếu chân này hở thì điện áp đầu vào tương tự cho ADC0804 nằm trong dải 0
đến +5V. Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác với dải
0 đến +5V. Chân Vref /2 được dùng để thực hiện các điện áp đầu ra khác 0 đến +5V.
9. D0 – D7, chân số 18 – 11, là các chân ra dữ liệu số (D7 là bit cao nhất MSB
và D0 là bit thấp nhất LSB). Các chân này được đệm ba trạng thái và dữ liệu đã được
chuyển đổi chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp.
Để tính điện áp đầu ra ta tính theo cơng thức sau:
Dout =

Vin
d

Trong đó: d là kích thước bước

SVTH: Lê Thị Thu Hiền -09CVL

24


Khóa luận tốt nghiệp

Trường ĐH Sư Phạm-ĐH Đà Nẵng
GVHD: T.S Lê Hồng Sơn

1.5. LED 7 đoạn:
Khái niệm cơ bản:

Hình 1.5.1: LED 7 đoạn.
- LED 7 đoạn có cấu tạo bao gồm 7 LED đơn có dạng thanh xếp theo hình
dưới và có thêm một LED đơn hình trịn nhỏ thể hiện dấu chấm trịn ở góc

dưới, bên phải của LED 7 đoạn. 8 LED đơn trên LED 7 đoạn có Anode (cực
dương) hoặc Cathode (cực âm) được nối chung với nhau vào một điểm, được
đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại trên mỗi LED đơn
được đưa thành 8 chân riêng.
- Nếu LED 7 đoạn có Anode (cực dương) chung, đầu chung này được nối với
+Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các LED
đơn, LED chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.
- Nếu LED 7 đoạn có Cathode (cực âm) chung, đầu chung này được nối xuống
đất (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của
các LED đơn, LED chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.
- Vì LED 7 đoạn chứa bên trong nó là các LED đơn nên khi kết nối cần đảm
bảo dòng qua mỗi LED đơn nằm trong khoảng 10mA - 20mA để bảo vệ
LED.
Ta chọn dịng qua led cỡ 15mA với nguồn 5V thì ta có thể hạn dịng bằng điện
trở được tính tốn như sau:
Rtd=VCC/15mA =5V/15mA =0,333 K
SVTH: Lê Thị Thu Hiền -09CVL

25


×