luận văn -...

35
ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông Luận văn Đề tài :Điều khiển hiển thị nhiệt độ trong xe bằng LCD (dùng cảm biến nhiệt độ ,ADC… GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 1

Upload: doannhan

Post on 29-Aug-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Luận vănĐề tài :Điều khiển hiển thị nhiệt độ trong xe bằng

LCD (dùng cảm biến nhiệt độ ,ADC…

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 1

Page 2: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

PHỤ LỤC

Trang

PHẦN I NỘI DUNG VÀ ĐỒ ÁN THUYẾT MINH

CHƯƠNG I: Giới thiệu chung về vi điều khiển

1.1 Giới thiệu họ vi điều khiển

1.2 Sơ đồ và chức năng các chân

1.3 Tổ chức bộ nhớ

1.4 Phần mềm lập trình vi điều khiển MCS-51 7

CHƯƠNG II: Giới thiệu chung về quy trình công nghệ hệ thống thiết kế

CHƯƠNG III: Khảo sát các linh kiện trong hệ thống

3.1. Giới thiệu về LM35 3.2. Chip ADC 0804

3.2.Giới thiệu về LCD

CHƯƠNG IV:Thiết kế và thi công mạch

CHƯƠNG V: Lưu đồ thuật toán và chương trình điều khiển

PHẦN II : CÁC BẢN VẼ

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 2

Page 3: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

LỜI NÓI ĐẦU

Ngày nay, nhân

loại đã và đang trải qua những sự phát triển vượt bật về mọi mặt.Trong đó lĩnh vực

điện- điện tử -tự động hoá đóng một vai trò không nhỏ.Điện tử góp phần rất lớn

vào quá trình tự động hoá,thực sự đã giúp con người có những tiến bộ vượt bậc.

Đặc biệt là trong nghành Oto-nghành tổng hợp của nhiều lĩnh vực tri thức. Trên

thế giới, việc ứng dụng điện-điện tử vào xe 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 đ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 thời điểm hiện tại.

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 môn học “Kỉ thuật vi điều khiển” với đề tài Điều khiển

hiển thị nhiệt độ trong xe bằng LCD (dùng cảm biến nhiệt độ ,ADC…).Đồ á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 Otto 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!

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 3

Page 4: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Đà Nẵng, ngày 13 tháng 06

năm 2011

PHẦN I: 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 chíp 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, đầu đọc laser, đ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-Oxide-Semiconductor), 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ý.

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 4

Page 5: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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 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 sµ4

2.1. Cấu trúc bên trong của 8051

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 5

Page 6: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Sơ Đồ Khối 8051

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 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

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 6

CO

UN

TE

R

INP

UT

S

OSC

INTERRUPTCONTROL

4 I/OPORTS

BUSCONTROL

SERIALPORT

EXTERNALINTERRUPTS

CPU

ON - CHIPRAM

ETC

TIMER 0

TIMER 1

ADDRESS/DATA

TXD RXDP0

P1

P2

P3

Page 7: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

+ 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.

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

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 7

C 1 3 0 p

C 2 3 0 p

U 2

8 0 5 1

3 1

1 9

1 8

9

1 21 31 41 5

12345678

3 93 83 73 63 53 43 33 2

2 12 22 32 42 52 62 72 8

1 71 62 93 01 11 0

E A / V P

X 1

X 2

R E S E T

I N T 0I N T 1T 0T 1

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

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

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

R DW R

P S E NA L E / P

T X DR X D

R S T

1 2 M H z

Page 8: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Vi điều khiển 8051 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 8051.

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 MC8051.

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 8051.

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 8051.

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 8051, được mô tả trong bảng

sau:

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 8

Page 9: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Bit Tên Chức năng chuyển đổiP3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RxD

TxD

0INT

1INT

T0

T1

ÖWR

RD

Ngõ vào dữ liệu nối tiếp.

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

Ngắt ngoài 0.

Ngắt ngoài 1.

Ngõ vào TIMER 0.

Ngõ vào của TIMER 1.

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

Đ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

e. PSEN (Program Store Enable): 8051 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 8051 để 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. 8051 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

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 9

Page 10: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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 8051.

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, 8051 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 8051.

h. RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8051. 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 8051 được

đưa vào những giá trị thích hợp để khởi động hệ thống.

i.OSC: 8051 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: 8051 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: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 10

Page 11: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ Á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

-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 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

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 11

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

Page 12: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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,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: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 12

Page 13: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 13

Page 14: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

RAM

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 14

7F

302F2E2D2C2B2A292827262524232221201F1817100F080700

RAM đa dụng

7F 7E 7D 7C 7B 7A 79 7877 76 75 74 73 72 71 70

6F 6E 6D 6C 6B 6A 69 68

67 66 65 64 63 62 61 605F 5E 5D 5C 5B 5A 59 5857 56 55 54 53 52 51 504F 4E 4D 4C 4B 4A 49 4847 46 45 44 43 42 41 403F 3E 3D 3C 3B 3A 39 3837 36 35 34 33 32 31 302F 2E 2D 2C 2B 2A 29 2827 26 25 24 23 22 21 201F 1E 1D 1C 1B 1A 19 1817 16 15 14 13 12 11 100F 0E 0D 0C 0B 0A 09 0807 06 05 04 03 02 01 00

BANK 3

BANK 2

BANK 1

Default registerBank for RO÷ R7

Page 15: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ Á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 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ã

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 15

Page 16: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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:KHÁI QUÁT QUY TRÌNH CÔNG NGHỆ HỆ THỐNG THIẾT KẾ

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 16

Nhiệt độ trong xe

Bộ cảm biến nhiệt độ LM35

Page 17: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Nguyên lý hoạt động của hệ thống:Để biết được nhiệt độ trong xe là bao nhiêu

thì trong xe ta đặt một cảm biến nhiệt độ tuy nhiên nhiệt độ trong xe là một đại

lượng vật lý mà các máy tính số lại sử dụng các giá trị nhị phân.Do vậy ta cần một

bộ chuyển đổi ADC tương tự số cao cho vi điều khiển có thể đọc được chúng một

chíp ADC được sử dụng rộng rải là ADC 804,sau khi chuyển đổi xong toàn bộ dử

liệu được đưa về bộ xử lý trung tâm ở đây dử liệu sẽ được xử lý và cho phếp hiện

thị lên màn hình LCD.

CHƯƠNG III: KHẢO SÁT CÁC LINH KIỆN DÙNG TRONG VI MẠCH

3.1.Giới thiệu về LM35 :

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 17

Bộ xử lý trung tâm 8051

Bộ chuyển đổi ADC

Màn hình hiển thị LCD

Page 18: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Để đo nhiệt độ được chính xác, tất nhiên cần có một đầu dò thích hợp. Đầu dò

là một cảm biến nhiệt độ có nhiệm vụ vận chuyển từ nhiệt độ qua tín hiệu điện. Có

rất nhiều loại cảm biến.Dựa vào lý thuyết và thực tế của mạch cần thiết kế ta dùng

phương pháp đo bằng IC cảm biến nhiệt độ. Các IC cảm biến nhiệt độ có độ chính

xác cao, dễ tìm và giá thành rẽ. Một trong số đó là IC LM35, là loại thông dụng

trên thị trường hiện nay, đồng thời nó có những đặc tính làm việc phù hợp với

thiết kế chi tiết của mạch.

-Một số tính chất cơ bản của LM35:

LM35 có độ biến thiên theo nhiệt độ: 10mV / 1oC.Độ chính xác cao, tính năng

cảm biến nhiệt độ rất nhạy, ở nhiệt độ 25oC nó có sai số không quá 1%. Với tầm

đo từ -55oC – 150oC, tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tín

hiệu ngõ vào.

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

Tiêu tán công suất thấp.

Dòng làm việc từ 450µA – 5mA.

Dòng ngược 15mA.

Dòng thuận 10mA.

Đặc tính điện:

Theo thông số của nhà sản xuất LM35, quan hệ giữa nhiệt độ và điện áp ngõ ra

như sau:Vout = 0,01× ToC (V).

Vậy ứng với tầm hoạt động từ 0oC – 150oC ta có sự biến thiên điện áp ngõ ra là:

Ở 0oC thì điện áp ngõ ra Vout = 0 (V).

Ở 150oC thì điện áp ngõ ra Vout = 1,5(V).

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

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 18

Page 19: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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 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 804 đượ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 804. Để truy cập ADC 804 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 804. 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 804 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 804 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 804.

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 804 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: RC1,1

1f =

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 19

Page 20: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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.

Chân Vin (+) và Vin (-):Đây là các đầu vào tương tự vi sai mà Vin = Vin (+) - Vin

(-). Thông thường Vin (-) được nối xuống đất và Vin (+) đượ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 Vin 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.

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 20

ADC0804 4+5

V

111

4

12

10

9

19

10k150p

F

1112131415161718

35

to LEDs

NomallyOpenSTART

D0D1D2D3D4D5D6D7

WRINT

RD

GND

RDCS

CLK in

CLK R

A GNDVref/

2

Vin(-)

Vin(+)

20

Vcc

10kPOT

Page 21: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

3.2. 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ự).

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à đồ hoạ.

3.2.1 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

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 21

Page 22: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

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.

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 Ký hiệu I/O Mô tả1 VSS - Đất2 VCC - Dương nguồn 5v3 VEE - Cấp nguồn điều khiển phản4 RS I RS = 0 chọn thanh ghi lệnh. RS = 1 chọn

thanh dữ liệu5 R/W I R/W = 1 đọc dữ liệu. R/W = 0 ghi6 E I/O Cho phép

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 22

Page 23: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

7 DB0 I/O Các bít dữ liệu8 DB1 I/O Các bít dữ liệu9 DB2 I/O Các bít dữ liệu10 DB3 I/O Các bít dữ liệu11 DB4 I/O Các bít dữ liệu12 DB5 I/O Các bít dữ liệu13 DB6 I/O Các bít dữ liệu14 DB7 I/O 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 LCD1 Xoá màn hình hiển thị2 Trở về đầu dòng4 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ải7 Dịch hiển thị sang trái8 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ỏ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ái14 Dịch vị trí con trỏ sang phải18 Dịch toàn bộ hiển thị sang trái1C Dịch toàn bộ hiển thị sang phải80 ép con trỏ Vũ đầu dòng thứ nhấtC0 ép con trỏ Vũ đầu dòng thứ hai38 Hai dòng và ma trận 5 × 7

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 23

12 14

14 13

21

14 21 DMC20261DMC24227DMC24138DMC32132DMC32239DMC40131DMC40218

DMC1610ADMC1606CDMC16117DMC16128DMC16129DMC1616433DMC20434

DMC16106BDMC16207DMC16230DMC20215DMC32216

Page 24: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

CHƯƠNG IV:THIẾT KẾ VÀ THI CÔNG MẠCH

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 sản phẩm hoàn hảo.Quá trình thiết kế bao

gồm:

+Hỏi và mua các thiết bị và linh kiện cần thiết.

+Thiết kế bản vẽ mạch in trên Orcad và in mạch.

+Ủi mạch và rửa mạch bằng dung dịch FeCl3.

+Quét một lớp nhựa thông mỏng để bảo vệ lớp đồng không bị oxy

hóa.

+Khoan mạch.

+Gắn và hàn các chân linh kiện vào bản mạch.(quét lại một lớp nhựa

thông).

+Hoàn thành mạch chính.

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 24

Page 25: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

DPTR=550H

DPTR=600H

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

CHƯƠNG V:LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

1:Lưu đồ thuật toán:

Đ

A=’8’ S

Đ R0=15 Đ R0=16

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 25

START

ĐỌC CẢM BIẾN VÀ CHUYỂN DỰ LIỆU VÀO THANH GHI R0

ĐẶT CÁC LỆNH HIỂN THỊ CHO LCD

ĐỊNH NGHĨA BIT

A=0C0HGọi hàm gửi lệnh

Gọi hàm trễChuyển con trọ về đầu dòng thứ

2

A=00HA=@A+DPTRGọi hàm gửi dự liệuGọi hàm trệDPTR=DPTR+1

Page 26: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

A R0 SUBB A,#35

DPTR=1900H

DPTR=…

DPTR=1550H

A=00HA=@A+DPTRGọi hàm dử liệu

Gọi hàm trễDPTR=DPTR+1

DPTR=1850H

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

Đ

R0=... Đ

Đ S A=’.’

R0=35

Đ

CY =1

S

2.Chương trình nạp cho chíp:

; CONG P2 DUOC NOI VOI DU LIEU D0..D7

; xxxxxxxxxxxDINH NGHIA CAC BITxxxxxxx

RSLCD BIT P0.0

RWLCD BIT P0.1

ELCD BIT P0.2

RDCB BIT P3.7

WRCB BIT P3.6

INTR BIT P3.5

; XXXXXXX CHUONG TRINH CHINH XXXXXX

ORG 0000H

MAIN: CALL DOCCAMBIEN

CALL HIENTHI

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 26

Page 27: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

LJMP MAIN

;CHUONG TRINH DOC CAM BIEN

DOCCAMBIEN:

CLR WRCB ;bat dau cho phep chuyen doi

NOP

SETB WRCB ;BAT DAU GHI

HERE: JB INTR,HERE ;khi ghi xong thi INTR=1 ket thuc chuyen doi

CLR RDCB ; gui data ra port 1 cho phep doc du lieu

NOP

MOV R0,P1 ;GUI DU LIEU VAO A

SETB RDCB ;ngat gui data

RET

; HAM HIEN THI LCD

HIENTHI: MOV A, #38H ; LCD hien thi 2 dong

ACALL SEND_COMMAND ; Truyen lenh den LCD

ACALL DELAY ; Tao tre

MOV A, #0CH ; Hien thi man hinh,tat con tro

ACALL SEND_COMMAND

ACALL DELAY

MOV A, #80H ;DUA CON TRO VE DAU DONG THU NHAT

ACALL SEND_COMMAND

ACALL DELAY

MOV A, #06H ; Dich con tro sang phai

ACALL SEND_COMMAND

ACALL DELAY

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 27

Page 28: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

HIENTHI15DO: CJNE R0,#15,HIENTHI16D0

MOV DPTR,#550H

LJMP DISPLAY

HIENTHI16D0: CJNE R0,#16,HIENTHI17DO

MOV DPTR,#600H

LJMP DISPLAY

HIENTHI17DO: CJNE R0,#17,HIENTHI18D0

MOV DPTR,#650H

LJMP DISPLAY

HIENTHI18D0: CJNE R0,#18,HIENTHI19DO

MOV DPTR,#700H

LJMP DISPLAY

HIENTHI19DO: CJNE R0,#19,HIENTHI20DO

MOV DPTR,#750H

LJMP DISPLAY

HIENTHI20DO: CJNE R0,#20,HIENTHI21DO

MOV DPTR,#800H

LJMP DISPLAY

HIENTHI21DO: CJNE R0,#21,HIENTHI22D0

MOV DPTR,#850H

LJMP DISPLAY

HIENTHI22D0: CJNE R0,#22,HIENTHI23DO

MOV DPTR,#900H

LJMP DISPLAY

HIENTHI23DO: CJNE R0,#23,HIENTHI24D0

MOV DPTR,#950H

LJMP DISPLAY

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 28

Page 29: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

HIENTHI24D0: CJNE R0,#24,HIENTHI25DO

MOV DPTR,#1000H

LJMP DISPLAY

HIENTHI25DO: CJNE R0,#25,HIENTHI26D0

MOV DPTR,#1050H

LJMP DISPLAY

HIENTHI26D0: CJNE R0,#26,HIENTHI27DO

MOV DPTR,#1100H

LJMP DISPLAY

HIENTHI27DO: CJNE R0,#27,HIENTHI28DO

MOV DPTR,#1150H

LJMP DISPLAY

HIENTHI28DO: CJNE R0,#28,HIENTHI29D0

MOV DPTR,#1200H

LJMP DISPLAY

HIENTHI29D0: CJNE R0,#29,HIENTHI30DO

MOV DPTR,#1250H

LJMP DISPLAY

HIENTHI30DO: CJNE R0,#30,HIENTHI31D0

MOV DPTR,#1300H

LJMP DISPLAY

HIENTHI31D0: CJNE R0,#31,HIENTHI32DO

MOV DPTR,#1350H

LJMP DISPLAY

HIENTHI32DO: CJNE R0,#32,HIENTHI33DO

MOV DPTR,#1400H

LJMP DISPLAY

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 29

Page 30: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

HIENTHI33DO: CJNE R0,#33,HIENTHI34D0

MOV DPTR,#1450H

LJMP DISPLAY

HIENTHI34D0: CJNE R0,#34,HIENTHI35DO

MOV DPTR,#1500H

LJMP DISPLAY

HIENTHI35DO: CJNE R0,#35,HIENTHICANHBAO

MOV DPTR,#1550H

LJMP DISPLAY

HIENTHICANHBAO: MOV A,R0

SUBB A,#35

JB CY,NHIETDOTHAP

NHIETDOCAO: MOV DPTR,#1850H

LJMP DISPLAY

NHIETDOTHAP: MOV DPTR,#1900H

DISPLAY: MOV A,#00H

MOVC A,@A+DPTR

ACALL SEND_DATA

ACALL DELAY

INC DPTR

CJNE A,#'.',DISPLAY

MOV A,#0C0H ;DUA CON TRO VE DAU DONG THU 2

ACALL SEND_COMMAND

ACALL DELAY

DISPLAY2: MOV A,#00H

MOVC A,@A+DPTR

ACALL SEND_DATA

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 30

Page 31: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

CALL DELAY

INC DPTR

CJNE A,#'8',DISPLAY2

RET

; xxxxxxxx--------SEND_COMMAND ROUTINE----------------xxxxxxxxxxx

SEND_COMMAND: ACALL DELAY

MOV P2,A

CLR RSLCD ; RS = 0: Cho phep gui lenh(ma)den LCD

CLR RWLCD ; R/W = 0: Cho phep ghi lenh den LCD

SETB ELCD ; Tao xung Enable

CLR ELCD

RET

; xxxxxxxx--------SEND_COMMAND ROUTINE----------------xxxxxxxxxxx

SEND_DATA: ACALL DELAY

MOV P2,A

SETB RSLCD ; RS = 0: Cho phep gui lenh den LCD

CLR RWLCD ; R/W = 0: Cho phep ghi du lieu den LCD

SETB ELCD ; Tao xung Enable

CLR ELCD

RET

; xxxxxxxx--------DELAY ROUTINE----------------xxxxxxxxxxxxxxxxxx

DELAY: MOV R6, #5

LOOP2: MOV R7, #250

WAIT: DJNZ R7, WAIT

DJNZ R6,LOOP2

RET

;------LAP BANG-----------------

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 31

Page 32: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

ORG 550H

DATA15: DB 'NHIETDOTRONGXE: 15*C. DO AN VDK: NHOM 08'

ORG 600H

DATA16: DB 'NHIETDOTRONGXE: 16*C. DO AN VDK: NHOM 08'

ORG 650H

DATA17: DB 'NHIETDOTRONGXE: 17*C. DO AN VDK: NHOM 08'

ORG 700H

DATA18: DB 'NHIETDOTRONGXE: 18*C. DO AN VDK: NHOM 08'

ORG 750H

DATA19: DB 'NHIETDOTRONGXE: 19*C. DO AN VDK: NHOM 08'

ORG 800H

DATA20: DB 'NHIETDOTRONGXE: 20*C. DO AN VDK: NHOM 08'

ORG 850H

DATA21: DB 'NHIETDOTRONGXE: 21*C. DO AN VDK: NHOM 08'

ORG 900H

DATA22: DB 'NHIETDOTRONGXE: 22*C. DO AN VDK: NHOM 08'

ORG 950H

DATA23: DB 'NHIETDOTRONGXE: 23*C. DO AN VDK: NHOM 08'

ORG 1000H

DATA24: DB 'NHIETDOTRONGXE: 24*C. DO AN VDK: NHOM 08'

ORG 1050H

DATA25: DB 'NHIETDOTRONGXE: 25*C. DO AN VDK: NHOM 08'

ORG 1100H

DATA26: DB 'NHIETDOTRONGXE: 26*C. DO AN VDK: NHOM 08'

ORG 1150H

DATA27: DB 'NHIETDOTRONGXE: 27*C. DO AN VDK: NHOM 08'

ORG 1200H

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 32

Page 33: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

DATA28: DB 'NHIETDOTRONGXE: 28*C. DO AN VDK: NHOM 08'

ORG 1250H

DATA29: DB 'NHIETDOTRONGXE: 29*C. DO AN VDK: NHOM 08'

ORG 1300H

DATA30: DB 'NHIETDOTRONGXE: 30*C. DO AN VDK: NHOM 08'

ORG 1350H

DATA31: DB 'NHIETDOTRONGXE: 31*C. DO AN VDK: NHOM 08'

ORG 1400H

DATA32: DB 'NHIETDOTRONGXE: 32*C. DO AN VDK: NHOM 08'

ORG 1450H

DATA33: DB 'NHIETDOTRONGXE: 33*C. DO AN VDK: NHOM 08'

ORG 1500H

DATA34: DB 'NHIETDOTRONGXE: 34*C. DO AN VDK: NHOM 08'

ORG 1550H

DATA35: DB 'NHIETDOTRONGXE: 35*C. DO AN VDK: NHOM 08'

ORG 1850H

CANHBAO1: DB 'WANNING: NHIETDOCAO. DO AN VDK: NHOM 08'

ORG 1900H

CANHBAO2: DB 'WANNING:NHIETDOTHAP. DO AN VDK: NHOM 08'

END

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 33

Page 34: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

TÀI LIỆU THAM KHẢO

1.Tống Văn On :Họ vi điều khiển 8051, NXB Lao động- Xã hội, Hà Nội_2001

2. Nguyễn Đình Phú:Giáo trình Vi Điều Khiển,lí thuyết và thực hành

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 34

Page 35: Luận văn - dulieu.tailieuhoctap.vndulieu.tailieuhoctap.vn/books/khoa-hoc-ky-thuat/co-khi-che-tao-may/file_goc_779295.pdf · thể lập trình được, dùng để điều khiển

ĐỒ ÁN VI ĐIỀU KHIỂN Khoa Cơ Khí Giao Thông

3.Nguyễn Tăng Cường,Phan QuốcThắng:cấu trúc và lập trình họ vi điều khiển

8051

GVHD: GVC.Phạm Quốc Thái Nhóm đồ án: 08 Trang 35