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

Đồ án kĩ THUẬT VI điều KHIỂN BKĐN GVHD PHẠM QUỐC THÁ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 (369.92 KB, 30 trang )

ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông


LỜI NÓI ĐẦU

Cho đến thời điểm hiện tại
nhân loại đã và đang trải qua những sự phát triển vượt bậc về mọi mặt.Trong đó lĩnh vực điện
- điện tử - tự động hoá đóng một vai trò rất quan trọng, giúp con người có những tiến bộ vượt
bậc trong nhiều lĩnh vực mà lĩnh vực Ô tô là một ví dụ điển hình.Trên thế giới, việc ứng dụng
điện-điện tử vào ngành sản xuất ô tô với xu hướng tối ưu hóa, hiện đại hóa nhằm đem lại tiện
ích và an toàn cho người lái cũng như những người tham gia giao thông khác đang được phát
triển mạnh. Tuy vậy ở Việt Nam việc nghiên cứu và ứng dụng các thành tựu của “vi điều
khiển” còn khá mới mẻ.
Trong xu hướng chung đó,vận dụng những kiến thức mà chúng em đã được học trong quá
trình học tập ở trường cũng như tìm hiểu thêm nhóm 5 sinh viên chúng em thực hiện đồ án

Điều khiển hiển
thị vị trí bàn đạp ga bằng LCD
(dùng cảm biến nhiệt độ
,ADC…).
môn học “Kỹ thuật vi điều khiển” với đề tài

Đồ án này được áp dụng chủ yếu dựa vào vi điều khiển, mà thực tế

là IC8051, với mục đích giúp chúng em hiểu một cách tường tận hơn các kiến thức về vi điều
khiển, cách đọc, viết và nhận biết về các chân IC, xây dựng mạch nguyên lý….
Các ứng dụng của vi điều khiển rất đa dạng và phong phú.Từ những ứng dụng đơn giản
chỉ có vài thiết bị ngoại vi cho đến những hệ thống điều khiển phức tạp. Đặc biệt là các ứng
dụng trên ô tô như hệ thóng phanh, lái, an toàn...Tuy nhiên do phạm vi trình độ của chúng em


còn hạn chế, nên việc nghiên cứu và tìm hiểu về vi điều khiển còn nhiều vướng mắc, do đây
là lần đầu tiên áp dụng vào thực tế cũng như là môn đầu mới áp dụng vào cho nghành nên
viêc học hỏi gặp nhiều khó khăn hơn. Trong quá trình làm đề tài chúng em xin chân thành
cám ơn thầy Phạm Quốc Thái đã tận tình chỉ bảo, định hướng cho chúng em hoàn thành tốt
đồ án.
Chúng em xin chân thành cảm ơn!
Đà Nẵng, ngày 10 tháng 06 năm 2011
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 1


ĐỒ ÁN VI ĐIỀU KHIỂN



Khoa Cơ Khí Giao Thông

NỘI DUNG THUYẾT MINH ĐỒ ÁN VI ĐIỀU KHIỂN
CHƯƠNG I: GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN
1.1 Khái quát chung về vi điều khiển:
Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập
trình được, dùng để điều khiển hoạt động của một hệ thống. Theo chương trình điều khiển đã
nạp sẵn bên trong chip, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, sau
đó dựa vào kết quả của quá trình xử lý để đưa ra các thông báo, tín hiệu điều khiển tiến hành
điều khiển quá trình hoạt động của các thiết bị bên ngoài. Vi điều khiển được ứng dụng trong
rất nhiều sản phẩm công nghiệp và tiêu dùng. Trong các thiết bị điện và điện tử dân dụng, các
bộ vi điều khiển điều khiển hoạt động của TV, máy giặt, điện thoại, lò vi-ba ... Trong hệ

thống sản xuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tự động. Các
hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng.
1.2. Lịch sử phát triển của vi điều khiển
Bộ vi điều khiển thực ra là một loại vi xử lí trong tập hợp
các bộ vi xử lý nói chung. Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 1970
do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-OxideSemiconductor), mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao.
Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty texas Instruments vừa là
nơi phát minh vừa là nhà sản xuất. Nhìn tổng thể thì bộ vi xử lý chỉ có chứa trên một chip
những chức năng cần thiết để xử lý chương trình theo một trình tự, còn tất cả bộ phận phụ trợ
khác cần thiết như: bộ nhớ dữ liệu, bộ nhớ chương trình, bộ chuyển đổi AD, khối điều khiển,
khối hiển thị, điều khiển máy in, nối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được
nối vào bộ vi xử lý.
Mãi đến năm 1976 công ty INTEL (Intelligen-Elictronics) mới cho ra đời bộ vi điều
khiển đơn chip đầu tiên trên thế giới với tên gọi 8048. Bên cạnh bộ xử lý trung tâm, 8048 còn
chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian, các cổng vào ra digital
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 2


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



trên một chip. Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8 bit tương tự
như 8048 và hình thành họ vi điều khiển MCS-48.

Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn chip với
tên gọi 8951. Và sau đó hàng loạt các vi điều khiển cùng loại với 8951 ra đời và hình thành
họ vi điều khiển MCS-51 .
Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công ty
hàng dẫn đầu thế giới chế tạo. Đứng đầu là công ty INTEL và rất nhiều công ty khác như :
AMD, SIEMENS, PHILIPS, DALLAS, OKI …
1.3. Sơ đồ khối của một bộ vi điều khiển
Sơ đồ khối chung của hầu hết các bộ vi điều khiển bao gồm CPU, bộ nhớ ROM hay
EPROM và RAM, mạch giao tiếp, mạch giao tiếp song song, bộ định thời gian, hệ thống ngắt
và các BUS được tích hợp trên cùng một chip.
2. Kiến trúc của vi điều khiển 8951
IC vi điều khiển 8951 thuộc họ MCS51 có các đặc điểm sau :
+ 4 kbyte ROM
+ 128 byte RAM
+ 4 port I/0 8 bit
+ Hai bộ định thời 16 bits
+ Giao tiếp nối tiếp
+ Quản lý được 64K bộ nhớ chương trình bên ngoài
+ Quản lý được 64K bộ nhớ dữ liệu bên ngoài
+ 210 vị trí nhớ được định địa chỉ bit
+Thực hiện phép nhân/chia trong 4 µs

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 3


ĐỒ ÁN VI ĐIỀU KHIỂN


Khoa Cơ Khí Giao Thông



2.1. Cấu trúc bên trong của AT89C51:
EXTERNAL
INTERRUPTS

ETC
ON - CHIP
RAM

TIMER 0
TIMER 1

COUNTER
INPUTS

INTERRUPT
CONTROL

CPU

OSC

BUS
CONTROL

4 I/O

PORTS

SERIAL
PORT

P P P P
0 1 2 3

TXD RXD

ADDRESS/DATA

Sơ Đồ Khối 8951
Phần chính của vi điều khiển 8951 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 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.
Đơ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.

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04


Trang 4


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



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à: các biến cố ở bên ngoài, sự tràn bộ đếm định thời hoặc cũng có thể
là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động như một bộ đếm.
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 một bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp,
cũng như các đường 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.
Trong vi điều khiển 8951 có hai thành phần quan trọng khác đó là bộ nhớ và các thanh
ghi :
+ Bộ nhớ gồm có 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 CPU làm việc nó
làm thay đổi nội dung của các thanh ghi.
1.2 Sơ đồ và chức năng các chân:
Sơ đồ các chân ra trên vỏ của các vi mạch MCS-51 như hình dướ đây

C 1

31


30p

19

U 2
E A /V P
X1

12M H z
C 2

30p

R ST

18
9
12
13
14
15

1
2
3
4
5
6
7
GVHD: Th.S:Phạm Quốc Thái8


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
Nhóm đồ án: 04R X D

8051

39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
17
16
29
30

11
10

Trang 5


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Vi điều khiển 8951 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 đơn bit như là công tắc, LED,
transistor…
a.Port0: là port có 2 chức năng, ở trên chân từ 32 đến 39 của MC 8951. Trong các thiết
kế cỡ nhỏ không dùng bộ nhớ ngoài, P0 đượ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ì P0 trở
thành các đường truyền dữ liệu và 8 bit thấp của bus địa chỉ.
b. Port1: là một port I/O chuyên dụng, trên các chân 1-8 của MC8951. Chúng được sử
dụng với một múc đích duy nhất là giao tiếp với các thiết bị ngoài khi cần thiết.
c. Port2: là một cổng có công dụng kép trên các chân 21 – 28 của MC 8951. Ngoài
chức năng I/O, các chân này dùng 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 byte.
d. Port3: là một cổng có công dụng kép trên các chân 10 – 17 của MC 8951. 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 MC 8951, được mô tả trong bảng sau:


Bit

Tên

Chức năng chuyển đổi

P3.0

RxD

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

INT1

Ngắt ngoài 1.


P3.4

T0

Ngõ vào TIMER 0.

P3.5

T1

Ngõ vào của TIMER 1.

P3.6

ÖWR

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

P3.7

RD

Điều khiển đọc bộ nhớ dữ liệu ngoài.

Chức năng của các chân trên port3
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 6



ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



e. PSEN (Program Store Enable): 8951 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 8951 để giải mã lệnh. Khi thi hành chương trình trong ROM nội PSEN sẽ ở mức
cao.
f. ALE (Address Latch Enable ): Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm
việc với các xử lý 8585, 8088. 8951 dùng ALE để giải đa hợp bus địa chỉ và 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 hoặc 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 8951 là 12MHz thì ALE có tần số
2MHz. Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8951.
g. 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, 8951 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 dùng chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM trong 8951.
h. RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8951. 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 8951 được đưa vào những giá

trị thích hợp để khởi động hệ thống.
i.OSC: 8951 có một bộ dao động trên chip, nó thường được nối với thạch anh giữa hai chân
18 và 19. Tần số thạch anh thông thường là 12MHz.
j. POWER: 8951 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.
1.3 Tổ chức bộ nhớ:
Bộ nhớ của MCS-51 bao gồm :bộ nhớ trong và bộ nhớ ngoài.
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 7


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Bộ nhớ trong

ROM4KB
0000h-0FFFh

RAM 128byte
00h-7Fh

SFR
80h-0FFh


Bộ nhớ ngoài
Bộ nhớ chương trình 64 KB
0000h-FFFFh
Điều khiển bằng PSEN

Bộ nhớ dữ liệu 64 KB
0000h-FFFFh
Điều khiển bằng RD và WR

-Khi /EA được nối với +5V thì bộ nhớ ngoài không được dùng, MCS-51 chỉ truy
nhập EEPROM trong để đọc mã chương trình và cất số liệu vào RAM trong. Khi /EA được
nối đất thì bộ nhớ chương trình ROM trong không được dùng, MCS-51 đọc mã chương trình

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 8


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



từ bộ nhớ chương trình ngoài bằng tín hiệu /PSEN, còn bộ nhớ số liệu ngoài được truy nhập
bằng các tín hiệu /WR và /RD, do có bộ nhớ chương trình và bộ nhớ số
liệu ngoài có thể dùng chung bus địa chỉ A0 A15.Bộ nhớ số liệu trong của họ MCS-51 có

địa chỉ từ 00h đến FFh, trong đó nhóm 8052 có đủ 256 byte RAM, nhóm 8051 chỉ có 128
byte RAM ở các địa chỉ thấp từ 00h đến 7fh, vùng địa chỉ cao từ 80h đến FFh được dành cho
các thanh ghi chức năng đặc biệt SFR. Tổ chức vùng 128 byte thấp bộ nhớ số liệu RAM trong
của họ MCS-51như trên hình 3, nó được chia thành ba miền.
-Miền các băng thanh ghi chiếm địa chỉ từ 00h đến 1fh có 32 byte chia thành băng, mỗi
băng có 8 thanh ghi được đánh số từ R0 đến R7.
-Tại mỗi thời điểm chỉ có một băng thanh ghi có thể truy nhập và được gọi là băng
tích cực. Để chọn băng tích cực cần nạp giá trị thích hợp cho các bít RS0 và RS1 của thanh
ghi từ trạng thái PSW, mặc định bằng 0 là tích cực. Miền RAM được định địa chỉ bít có 16
byte 8 bít = 128 bít, chiếm địa chỉ từ 20h đến 1fh. Mỗi bít ở miền này được định địa chỉ riêng
từ 00h đến 7fh nên có thể truy nhập đến từng bít riêng rẽ bằng các lệnh xử lý bít. Vùng RAM
được định địa chỉ bít và các lệnh xử lý bít là một trong những đặc tính nổi bật đem lại
sứcmạnh cho họ bộ vi điều khiển MCS-51.
-Miền RAM thông thường có 80 byte chiếm địa chỉ từ 30h đến 7fh. Các thanh ghi chức
năng đặc biệt (viết tắt theo tiếng Anh là SFR) là tập các thanh ghi bên trong của bộ vi điều
khiển. Họ MCS-51 định địa chỉ cho tất cả các SFR ở vùng 128 byte cao của bộ nhớ số liệu
trong (xem hình 2), mỗi SFR có tên gọi và địa chỉ riêng, một số SFR có định địa chỉ cho từng
bít. Khi bật nguồn hoặc RESET, tất cả các SFR đều được nạp giá trị đầu, sau đó chương trình
cần nạp lại giá trị cho các SFR cần dùng theo yêu cầu sử dụng.
-Việc truy nhập đến các SFR chỉ có thể thực hiện bằng phương pháp địa chỉ
trực tiếp với tên gọi hoặc địa chỉ của SFR là toán hạng của lệnh. Với các SFR có
định địa chỉ bít, có thể truy nhập và thay đổi trực tiếp từng bít.của nó bằng các lệnh xừ lý bít.
Bảng 2 cho biết thông tin chủ yếu về các SFR.
-Ở nhóm 8051vùng 128 byte cao của bộ nhớ số liệu trong chỉ có các SFR,
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 9



ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



không tồn tại các ô nhớ khác ở vùng nhớ này. Ở nhóm 8052 bộ nhớ số liệu trong
có 256 byte RAM, các ô nhớ của vùng RAM 128 byte cao chỉ có thể truy nhập được bằng
phương pháp địa chỉ gián tiếp, còn các SFR cũng có địa chỉ nằm trong
vùng đó nhưng chỉ truy nhập được bằng phương pháp địa chỉ trực tiếp, vì thế việc
truy nhập chúng không bị xung đột và nhầm lẫn.

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 10


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông


RAM

7F
RAM đa dụng


30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
18
17
10
0F
08
07
00

7F
77
6F
67

5F
57
4F
47
3F
37
2F
27
1F
17
0F
07

7E
76
6E
66
5E
56
4E
46
3E
36
2E
26
1E
16
0E
06


7D
75
6D
65
5D
55
4D
45
3D
35
2D
25
1D
15
0D
05

7C
74
6C
64
5C
54
4C
44
3C
34
2C
24
1C

14
0C
04

7B
73
6B
63
5B
53
4B
43
3B
33
2B
23
1B
13
0B
03

7A
72
6A
62
5A
52
4A
42
3A

32
2A
22
1A
12
0A
02

79
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01

78
70
68
60
58

50
48
40
38
30
28
20
18
10
08
00

BANK 3
BANK 2
BANK 1
Default register
Bank for RO÷R7

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 11


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông




1.4 Phần mềm lập trình vi điều khiển MCS-51
-Có thể viết trên ngôn ngữ Assembler hoặc các ngôn ngữ bậc cao khác như C, Basic,
Forth... Tập lệnh Assembler của họ MCS-51 có 83 lệnh, được chia thành 5 nhóm là các lệnh
số học, các lệnh logic, các lệnh chuyển số liệu, các lệnh xử lý bít và các lệnh rẽ nhánh. Các
lệnh xứ lý bít là điểm mạnh cơ bản của họ MCS-51, vì chúng làm cho chương trình ngắn gọn
hơn và chạy nhanh hơn. Chương trình Assembler được viết trên máy tính, sau đó phải dịch ra
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 12


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



mã máy của họ MCS-51 bằng trình biên dịch ASM51, rồi mới nạp. Chương trình mã máy vào
bộ nhớ cho trình EEPROM (hoặc EPROM) ở bên trong hoặc bên ngoài MCS-51. Khi lập
trình bằng ngôn ngữ bậc cao như C, Basic, Forth.... cũng phải dịch chúng ra mã máy của họ
MCS-51 bằng các trình biên dịch tương ứng, sau đó nạp chương trình mã máy vào bộ nhớ
chương trình. Nói chung, chương trình viết trên ngôn ngữ Assembler khó hơn viết trên ngôn
ngữ bậc cao, nhưng khi dịch ra mã máy sẽ ngắn gọn hơn và chạy nhanh hơn các chương trình
viết trên ngôn ngữ bậc cao. Để viết và nạp phần mềm cho MCS-51, bạn phải có các công cụ
là máy vi tính, trình biên dịch ngôn ngữ sử dụng ra mã máy của họ MCS-51 và bộ nạp
chương trình mã máy từ máy tính vào bộ nhớ chương trình EEPROM trong Mcs-51 hoặc bộ
nhớ EPROM ngoài.


CHƯƠNG II: GIỚI THIỆU KHÁI QUÁT QUY TRÌNH CÔNG NGHỆ HỆ THỐNG
THIẾT KẾ MÔ PHỎNG

Hiển thị ra LCD
LM032L

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 13


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông


Qua chip AT89C51

Khối ADC0804

Khối cảm biến

Lực tác dụng tính
bằng %

Bắt đầu


CHƯƠNG III: KHẢO SÁT CÁC LINH KIỆN DÙNG TRONG MÔ PHỎNG
3.1.Giới thiệu về cảm biến:
- Trong sơ đồ mô phỏng đối với các mạch mô phỏng bằng phần mềm

Proteus ta có thể

thay thế các cảm biến bằng các biến trở tượng trưng cho chức năng hoạt động như cảm biến
vì vậy trong đồ án này chúng em đã sử dụng biến trở để thay thế cho cảm biến như trong phần
mềm mô phỏng.
3.2. Chip ADC 0804.
Chíp ADC 0804 là bộ chuyển đổi tương tự sang số trong họ các loạt ADC 0800 từ hãng
National Semiconductor. Nó cũng được nhiều hãng khác sản xuất, làm việc với +5V và có độ
phân giải là 8 bít. Ngoài độ phân giải thì thời gian chuyển đổi cũng là một yếu tố quan trọng
khác khi đánh giá một bộ ADC. Thời gian chuyển đổi được định nghĩa như 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. Trong ADC 0804 thời gian

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 14


ĐỒ ÁN VI ĐIỀU KHIỂN



Khoa Cơ Khí Giao Thông

chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK và CLK IN nhưng

không thể nhanh hơn 110µs. Các chân của ADC 0804 được mô tả như sau:
Chân CS - chọn chíp: Là một đầu vào tích cực mức thấp được sử dụng để kích hoạt chíp ADC
0804. Để truy cập ADC 0804 thì chân này phải ở mức thấp.
Chân RD (đọc): Đây là một tín hiệu đầu vào được tích cực mức thấp. Các bộ ADC chuyển đổi
đầu vào tương tự thành số nhị phân tương đương với nó và giữ nó trong một thanh ghi trong.
RD được sử dụng để nhận dữ liệu được chuyển đổi ở đầu ra của ADC 0804. Khi CS = 0 nếu

một xung cao - xuống - thấp được áp đến chân RD thì đầu ra số 8 bít được hiển diện ở các
chân dữ liệu D0 - D7. Chân RD cũng được coi như cho phép đầu ra.
Chân ghi WR (thực ra tên chính xác là “Bắt đầu chuyển đổi”). Đây là chân đầu vào tích cực
mức thấp được dùng để báo cho ADC 0804 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ộ ADC 0804 bắt đầu chuyển đổi giá trị đầu vào tương

tự Vin về số nhị phân 8 bít. Lượng thời gian cần thiết để chuyển đổi thay đổi phụ thuộc vào
tần số đưa đến chân CLK IN và CLK R. Khi việc chuyển đổi dữ liệu được hoàn tất thì chân
INTR được ép xuống thấp bởi ADC 0804.
Chân CLK IN và CLK R:Chân CLK IN là một chân đầu vào được nối tới một nguồn đồng hồ
ngoài khi đồng hồ ngoài được sử dụng để tạo ra thời gian. Tuy nhiên ADC 0804 cũng có một
bộ tạo xung đồng hồ. Để sử dụng bộ tạo xung đồng hồ trong (cũng còn được gọi là bộ tạo
đồng hồ riêng) của 804 thì các chân CLK IN và CLK R được nối tới một tụ điện và một điện
trở như chỉ ra trên hình 3.6.1. Trong trường hợp này tần số đồng hồ được xác định bằng biểu
thức: f =

1
1,1RC

Giá trị tiêu biểu của các đại lượng trên là R = 10kΩ và C= 150pF và tần
số nhận được là f = 606kHz và thời gian chuyển đổi sẽ mất là 110µs.
Chân ngắt INTR (ngắt hay gọi chính xác hơn là “kết thúc chuyển đổi’).Đây là chân đầu ra tích
cực mức thấp. Bình thường nó ở trạng thái cao và khi việc chuyển đổi hoàn tất thì nó xuống

thấp để báo cho CPU biết là dữ liệu được chuyển đổi sẵn sàng để lấy đi. Sau khi INTR xuống
thấp, ta đặt CS = 0 và gửi một xung cao 0 xuống - thấp tới chân RD lấy dữ liệu ra của 804.

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 15


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Chân Vin (+) và Vin (-):Đây là các đầu vào tương tự vi sai mà V in = Vin (+) - Vin (-). Thông
thường Vin (-) được nối xuống đất và V in (+) được dùng như đầu vào tương tự được chuyển
đổi về dạng số.
Chân VCC:Đây là chân nguồn nuôi +5v, nó cũng được dùng như điện áp tham chiếu khi đầu
vào Vref/2 (chân 9) để hở.
Chân Vref/2:Chân 9 là một điện áp đầu vào được dùng cho điện áp tham chiếu. Nếu chân này
hở (không được nối) thì điện áp đầu vào tương tự cho ADC 804 nằm trong dải 0 đến +5v
(giống như chân VCC). Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến V in cần phải
khác ngoài dải 0 đến 5v. Chân Vref/2 đượcdùng để thực thi các điện áp đầu vào khác ngoài dải
0 - 5v. Ví dụ, nếu dải đầu vào tương tự cần phải là 0 đến 4v thì Vref/2 được nối với +2v.
ADC0804

+5
V

10k

PO
T

1
1
1
9
19

10k

150p
F

4
1
2
10

20
Vin(+
)
Vin(A)
GND
Vref/
2
CLK
R

CLK
in
CS
RD
D
GND

Vc
c

D0
D1
D2
D3
D4
D5
D6
D7
W
R
INT
R

18
17
16
15
14
13
12

11
3
5

to

LED
s

Noma
lly

Open
STAR
T

3.3.Giới thiệu về LCD:
Trong những năm gần đây LCD đang ngày càng được sử dụng rộng rãi thay thế
dần cho các đèn LED (các đèn LED 7 đoạn hay nhiều đoạn). Đó là vì các nguyên nhân sau:
Các LCD có giá thành hạ.
Khả năng hiển thị các số, các ký tự và đồ hoạ tốt hơn nhiều so với các đèn LED (vì các đèn
LED chỉ hiển thị được các số và một số ký tự).

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 16



ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Nhờ kết hợp một bộ điều khiển làm tươi vào LCD làm giải phóng cho CPU công việc làm
tươi LCD. Trong khi đèn LED phải được làm tươi bằng CPU (hoặc bằng cách nào đó) để duy
trì việc hiển thị dữ liệu.
Dễ dàng lập trình cho các ký tự và đồ họa.
*)Mô tả các chân của LCD.
LCD được nói trong mục này có 14 chân, chức năng của các chân
được cho trong bảng 12.1. Vị trí của các chân được mô tả trên hình 12.1 cho nhiều LCD khác
nhau.
Chân VCC, VSS và VEE: Các chân VCC, VSS và VEE: Cấp dương nguồn - 5v và đất tương ứng thì
VEE được dùng để điều khiển độ tương phản của LCD.
Chân chọn thanh ghi RS (Register Select).
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi
này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một
lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi
dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD.
Chân đọc/ ghi (R/W).
Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc đọc thông tin
từ nó khi R/W = 1.
Chân cho phép E (Enable).
Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân dữ liệu của nó.
Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống
thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu. Xung này phải
rộng tối thiểu là 450ns.
Chân D0 - D7.

Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các
thanh ghi trong LCD.
Để hiển thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ cái từ A đến Z,
a đến f và các con số từ 0 - 9 đến các chân này khi bật RS = 1.
Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu
dòng hoặc nhấp nháy con trỏ. Bảng 12.2 liệt kê các mã lênh.
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 17


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn sàng nhân thông
tin. Cờ bận là D7 và có thể được đọc khi R/W = 1 và RS = 0 như sau:
Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công việc bên trong và sẽ
không nhận bất kỳ thông tin mới nào. Khi D7 = 0 thì LCD sẵn sàng nhận thông tin mới. Lưu
ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào lên LCD.
Bảng 12.1: Mô tả các chân của LCD.
Chân
1
2
3
4

5
6
7
8
9
10
11
12
13
14

Ký hiệu
VSS
VCC
VEE
RS
R/W
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7

I/O
I


Mô tả
Đất
Dương nguồn 5v
Cấp nguồn điều khiển phản
RS = 0 chọn thanh ghi lệnh. RS =

I
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O

1 chọn thanh dữ liệu
R/W = 1 đọc dữ liệu. R/W = 0 ghi
Cho phép
Các bít dữ liệu
Các bít dữ liệu
Các bít dữ liệu
Các bít dữ liệu
Các bít dữ liệu
Các bít dữ liệu
Các bít dữ liệu
Các bít dữ liệu

Bảng 12.2: Các mã lệnh LCD.

Mã (Hex)

Lệnh đến thanh ghi của LCD

1

Xoá màn hình hiển thị

2

Trở về đầu dòng

4

Giả con trỏ (dịch con trỏ sang trái)

6

Tăng con trỏ (dịch con trỏ sang phải)

5

Dịch hiển thị sang phải

7

Dịch hiển thị sang trái

8


Tắt con trỏ, tắt hiển thị

A

Tắt hiển thị, bật con trỏ

C

Bật hiển thị, tắt con trỏ

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 18


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



E

Bật hiển thị, nhấp nháy con trỏ

F

Tắt con trỏ, nhấp nháy con trỏ


10

Dịch vị trí con trỏ sang trái

14

Dịch vị trí con trỏ sang phải

18

Dịch toàn bộ hiển thị sang trái

1C

Dịch toàn bộ hiển thị sang phải

80

Đưa con trỏ về đầu dòng thứ nhất

C0

Đưa con trỏ về đầu dòng thứ hai

38

Hai dòng và ma trận 5 × 7
12


14
13

14

2
DMC1610A
DMC1606C
DMC16117
DMC16128
DMC16129
DMC1616433
DMC20434

14

DMC16106
B
DMC16207
DMC16230
DMC20215
DMC32216

1

21

DMC20261
DMC24227
DMC24138

DMC32132
DMC32239
DMC40131
DMC40218

CHƯƠNG IV:THIẾT KẾ CHƯƠNG TRÌNH MÔ PHỎNG
Quá trình thiết kế và thi công mạch được xem là phần mấu chốt của đồ án. Bởi vì nó là
điều kiện để cho ra một chương trình mô phỏng theo yêu cầu đồ án.Quá trình thiết kế mạch
mô phỏng bao gồm:
+Tìm hiểu các linh kiện cần thiết phục vụ cho đồ án.
+Lấy các linh kiện ra từ phần mềm Proteus.
+Lắp đặt các vào các vị trí thích hợp và vẽ đường dây.
+Viết chương trình điều khiển.
+Nạp chương trình và hoàn thành.

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 19


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



*)Mạch mô phỏng tượng trưng:


CHƯƠNG V:LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
1)TÍNH MÃ HEX:
kích thước bước=19.53

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 20


%LUC
T/D
% Ri
Vout
1
50
0.05
2
100
ĐỒ ÁN VI ĐIỀU KHIỂN0.1
3
150
0.15
4
200
0.2
5
250
0.25

6
300
0.3
7
350
0.35
8
400
0.4
9
450
0.45
10
500
0.5
11
550
0.55
12
600
0.6
13
650
0.65
14
700
0.7
15
750
0.75

16
800
0.8
17
850
0.85
18
900
0.9
19
950
0.95
20
1000
1
21
1050
1.05
22
1100
1.1
23
1150
1.15
24
1200
1.2
25
1250
1.25

26
1300
1.3
27
1350
1.35
28
1400
1.4
29
1450
1.45
30
1500
1.5
31
1550
1.55
32
1600
1.6
33
1650
1.65
34
1700
1.7
35
1750
1.75

36
1800
1.8
37
1850
1.85
38
1900
1.9
39
1950
1.95
40
2000
2
41
2050
2.05
42
2100
2.1
43
2150
2.15
44
2200
2.2
45
2250
2.25

46
2300
2.3
47
2350
2.35
48
2400
2.4
49
2450
2.45
50
2500
2.5
51
2550
2.55
52
2600
2.6
53
2650
2.65
54
2700
2.7
55
2750
2.75

56
2800
2.8
57
2850
2.85
58
2900
2.9
59
2950
2.95
60
3000
3
GVHD: 61
Th.S:Phạm
Thái
3050 Quốc3.05
62
3100
3.1
63
3150
3.15

Dout
2.560164
5.120328


7.680492
10.24066
12.80082
15.36098
17.92115
20.48131
23.04147
25.60164
28.1618
30.72197
33.28213
35.84229
38.40246
40.96262
43.52279
46.08295
48.64311
51.20328
53.76344
56.3236
58.88377
61.44393
64.0041
66.56426
69.12442
71.68459
74.24475
76.80492
79.36508
81.92524

84.48541
87.04557
89.60573
92.1659
94.72606
97.28623
99.84639
102.4066
104.9667
107.5269
110.087
112.6472
115.2074
117.7675
120.3277
122.8879
125.448
128.0082
130.5684
133.1285
135.6887
138.2488
140.809
143.3692
145.9293
148.4895
151.0497
153.6098
156.17Nhóm
158.7302

161.2903

Khoa Cơ Khí Giao Thông

đồ án: 04

Trang 21


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



2)SƠ ĐỒ THUẬT TOÁN:
*)Chương trình chính:
Begin

Đọc cảm biến
Hiển thị

*)Chương trình đọc cảm biến:
Begin

CS=0
WR=0
WR=1

INTR=0


CHO
INTR=1

RD=0

R0<=P3
RD=1

END
*)Chương trình hiển thị LCD:
GVHD: Th.S:Phạm Quốc Thái

Begin
Nhóm đồ án: 04

Trang 22


ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Tùy chọn màn hình
A<=R0
CY=1
CY=1
A=A25

CY =0

CY =0

A=A50

CY=1

A=A75

CY=1

A=A100

CY=1

CY=0

CY=0

A=A126

CY=1

CY=0

A=A152
CY=0
A=A178


CY=1

CY=1

CY=0

A=ACY=0 203
A=A230

CY=1

CY=1

CY = 0

A=A256

CY=1

HIỂN THỊ

END
3)CHƯƠNG TRÌNH ĐIỀU KHIỂN:
GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04

Trang 23



ĐỒ ÁN VI ĐIỀU KHIỂN

Khoa Cơ Khí Giao Thông



Chương trình nạp cho chíp:
;chuong trinh dieu khien hien thi vi tri ban dap ga bang LCD
;ta chia vi tri ban dap ga thanh tung khoang ung voi 1....9%,10.....19%,...,90.....100%.
; cong P2 duoc noi voi du lieu D0..D7
; XXXXXXX CHUONG TRINH CHINH XXXXXX
ORG
MAIN:

0000H

CALL
CALL

DOCCAMBIEN

HIENTHI

LJMP MAIN
;CHUONG TRINH DOC CAM BIEN
DOCCAMBIEN:
MOV

MOV
P1,#0FFH


A,#00H

; Xoa noi dung thanh ghi A

; P1 lam cong ra

CLR

P3.4

;CS=0

CLR

P3.6

;bat dau cho phep chuyen doi

NOP
SETB P3.6
HERE:

JB
CLR

P3.5,HERE
P3.7

;BAT DAU GHI

;khi ghi xong thi INTR=1 ket thuc chuyen doi
; gui data ra port 1 cho phep doc du lieu

NOP
MOV

R0,P1

SETB P3.7

;GUI DU LIEU VAO R0
;ngat gui data

RET
;

HAM HIEN THI LCD

HIENTHI:
MOV A, #38H

; LCD hien thi 2 dong

ACALL SEND_COMMAND
ACALL DELAY

GVHD: Th.S:Phạm Quốc Thái

; Truyen lenh den LCD


; Tao tre

Nhóm đồ án: 04

Trang 24


ĐỒ ÁN VI ĐIỀU KHIỂN
MOV A, #0CH

Khoa Cơ Khí Giao Thông


; Hien thi man hinh,tat con tro

ACALL SEND_COMMAND
ACALL DELAY
MOV A, #01H

;XOA MAN HINH LCD

ACALL SEND_COMMAND
ACALL DELAY
MOV

A, #06H

; Dich con tro sang phai

ACALL SEND_COMMAND

ACALL DELAY
MOV A,R0
SUBB A,#25

;DUA GIA TRI R0 VAO A
;THUC HIEN TINH TRU,neu am thi CY=1,duong thi CY=0

JB CY,HIENTHI1DEN9

;neu CY=1 thi hien thi 1 den 9

MOV A,R0
SUBB A,#50
JB CY,HIENTHI10DEN19
MOV A,R0
SUBB A,#75
JB CY,HIENTHI20DEN29
MOV A,R0
SUBB A,#100
JB CY,HIENTHI30DEN39
MOV A,R0
SUBB A,#126
JB CY,HIENTHI40DEN49
MOV A,R0
SUBB A,#152
JB CY,HIENTHI50DEN59

GVHD: Th.S:Phạm Quốc Thái

Nhóm đồ án: 04


Trang 25


×