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

QUANG báo GIAO TIẾP với máy TÍNH DÙNG 8051 (có code và sơ đồ mạch)

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

QUANG BÁO GIAO TIẾP VỚI MÁY
TÍNH DÙNG 8051


MỤC LỤC

DANH MỤC CÁC HÌNH VẼ


DANH MỤC CÁC BẢNG BIỂU


DANH MỤC CÁC TỪ VIẾT TẮT
VĐK: vi điều khiển.
Trans: transistor.


ĐỒ ÁN 3
Trang 5/40

CHƯƠNG 1.

TÌM HIỂU LINH KIỆN CHO MẠCH QUANG BÁO

1.1 Giới thiệu
1.1.1

Mô tả mạch quang báo

Mạch quang báo giao tiếp với máy tính dùng vi xử lý 8051 để xử lý các tín hiệu.
Sau khi nhận được nội dung nhập từ máy tính, vi xử lý sẽ giải mã, xuất ra tín hiệu,


và hiện nội dung lên 4 led matrix 8x8.
1.1.2

Mục tiêu

• Hiển thị đúng nội dung nhập từ máy tính lên 4 led matrix 8x8.
• Dễ dàng nhập nội dung trên máy tính.
1.2 Tìm hiểu các linh kiện chính
Mạch quang báo sử dụng các linh kiện chính: vi xử lý 8051, IC dịch 74HC595, IC
đệm dòng ULN2803, Led matrix 8x8.
1.2.1

Vi điều khiển 8051

Hình 1-1: Vi điều khiển 8051 [4]

VĐK 8051 có tất cả bao gồm 40 chân. Trong đó có 24 chân có công dụng kép (1
chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập điều khiển
I/O hoặc là thành phần của các bus chứa dữ liệu và bus chứa địa chỉ để tải địa chỉ và
dữ liệu khi giao tiếp với bộ nhớ ngoài.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 6/40


Bảng 1-1: Bảng đặc tính kỹ thuật của vi điều khiển 89C51

a.

Đặc tính

Số lượng

ROM

4K byte

RAM

128 byte

Bộ định thời

2

Các chân vào ra

32

Cổng nối tiếp

1

Nguồn ngắt


6

Sơ đồ chân

Hình 1-2: Sơ đồ chân VĐK 8051 [5]

b.

Sơ đồ khối và chức năng

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 7/40

Hình 1-3: Sơ đồ khối của VĐK 8051 [6]

Chức năng các port:
Port 0: Là port có 2 chức năng với số thứ tự chân bắt đầu từ 32 đến 39.
• Trong các hệ thống không dùng bộ nhớ mở rộng thì port 0 được dùng làm
các đường điều khiển I/O.
• Trong các hệ thống có sử dụng bộ nhớ mở rộng thì port 0 có chức năng là
bus chứa địa chỉ và bus chứa dữ liệu AD7 – AD0 (A : Address, D: Data).
Port 1: Gồm các chân có số thứ tự từ 1 đến 8. Port 1 chỉ có 1 chức năng là dùng làm
các đường điều khiển xuất nhập I/O.
Port 2 : Là port có 2 chức năng gồm các chân có số thứ tự chân từ 21 đến 28.

• Trong các hệ thống không dùng bộ nhớ mở rộng thì port 2 được dùng làm
các đường điều khiển I/O.
• Trong các hệ thống điều khiển có sử dụng bộ nhớ mở rộng bên ngoài thì port
2 có chức năng là bus chứa địa chỉ cao A8 – A15.
Port 3 : Gồm các chân có số thứ tự chân 10 – 17.
Các chân của port 3 có nhiều chức năng, các công dụng chuyển đổi có liên hệ với
các đặc tính đặc biệt của 8051 như :
Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 8/40

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

Tên
RxD
TxD
INT0

INT1
T0
T1
WR
RD

Chức năng chuyển đổi
Ngõ đi vào nhận dữ liệu nối tiếp
Ngõ xuất ra dữ liệu nối tiếp
Ngõ đi vào ngắt cứng thứ 0
Ngõ đi vào ngắt cứng thứ 1
Ngõ đi vào của timer/counter thứ 0
Ngõ đi vào của timer/counter thứ 1
Tín hiệu điều khiển ghi dữ liệu lên bộ nhớ bên ngoài
Tín hiệu điều khiển đọc dữ liệu từ bộ nhớ bên ngoài

Bảng 1-2: Bảng tính năng các chân port 3 của VĐK 8051

Các ngõ tín hiệu điều khiển:
Ngõ tín hiệu (PSEN)’ (Program store enable) : Chân 29
• Cho phép đọc bộ nhớ mở rộng.
• Kết nối với chân ((OE)’ hoặc (RD)’) của EPROM để điều khiển đọc mã lệnh.
• Khi giao tiếp với bộ nhớ mở rộng thì sử dụng (PSEN)’, nếu không có giao
tiếp thì chân (PSEN)’ sẽ bỏ trống.
• Các mã lệnh của chương trình đọc được từ EPROM qua bus chứa dữ liệu và
được chốt vào thanh ghi lệnh bên trong VĐK 8051 để giải mã.
Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
• Khi dùng bộ nhớ bên ngoài, ALE sẽ điều khiển mạch giải đa hợp để tách các
đường chứa địa chỉ (A7-A0) và chứa dữ liệu (D7 – D0).
• Là một xung nếu port 0 tải địa chỉ

• Xung ALE có f = 1/6 f thạch anh.
• Có thể dùng làm xung clock cung cấp cho các IC khác.
Ngõ tín hiệu (EA)’ (External Access):
• Nếu (EA)’ = 1(+5V) thì VĐK sẽ thực hiện chương trình ở bộ nhớ nội.
• Nếu (EA)’ = 0(0V) thì VĐK sẽ thực hiện chương trình ở bộ nhớ ngoại.
• Nhận điện áp lập trình VPP(Program) khi ghi dữ liệu vào bộ nhớ Flash Rom.
Ngõ tín hiệu RST (Reset) :
• Khi cấp điện hoặc nhấn chân RESET sẽ reset lại VĐK.
• Tín hiệu Reset phải ở mức cao và bằng ít nhất là 2 chu kỳ máy.
Các ngõ vào bộ dao động XTALT1, XTAL2:
VĐK 8051 có một bộ dao động trên chip nhưng nó yêu cầu có một xung đồng hồ
ngoài để chạy nó. Một bộ dao động thạch anh sẽ được nối tới các chân đầu
vào XTAL1 (chân số 19) và XTAL2 (chân số 18).
Chân 40 (VCC) được nối lên nguồn có điện áp 5V.
Chân 20 GND nối với MASS.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 9/40

1.2.2

IC dịch 74HC595

IC dịch 74HC595 là một thanh ghi dịch 8 bit có đầu vào nối tiếp và các đầu ra song

song hoặc nối tiếp, ngõ ra có bộ đệm 3 trạng thái.

Hình 1-4: Sơ đồ chân của IC 74HC595 [5]

Hình 1-5: Sơ đồ logic của IC 74HC595 [6]
Bảng 1-3: Bảng chức năng các chân của 74HC595

Chân

Ký hiệu

Chức năng

1

Q1

Ngõ ra dữ liệu song song

2

Q2

Ngõ ra dữ liệu song song

3

Q3

Ngõ ra dữ liệu song song


4

Q4

Ngõ ra dữ liệu song song

5

Q5

Ngõ ra dữ liệu song song

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 10/40

6

Q6

Ngõ ra dữ liệu song song

7


Q7

Ngõ ra dữ liệu song song

8

GND

Mass (0V)

9

Q7’

Ngõ ra dữ liệu nối tiếp

10

MR

Đưa về trạng thái ban đầu (tích cực ở mức thấp)
Ngõ đi vào xung clock. Một quá trình chuyển từ mức

11

SH_CP

LOW đến mức HIGH ở chân này sẽ dịch dữ liệu trong
thanh ghi dịch một nhịp.
Ngõ vào. Quá trình chuyển từ mức LOW sang mức


12

ST_CP

HIGH ở Latch clock sẽ chốt dữ liệu được dịch trong
thanh ghi dịch vào bộ chốt.
Ngõ ra cho phép (tích cực ở mức thấp). Khi chân này ở
mức LOW thì tín hiệu từ bộ chốt sẽ được xuất ra đầu ra.

13

OE

Khi chân này ở mức HIGH thì các đầu ra song song ở
trạng thái trở kháng cao. Còn đầu ra nối tiếp thì không bị

14

DS

ảnh hưởng bởi chân này.
Dữ liệu vào nối tiếp

15

Q0

Dữ liệu ra song song


16

Vcc

Nguồn

Hình 1-6: IC 74HC595 [4]

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 11/40

1.2.3

IC đệm dòng ULN2803

Đây là IC gồm 8 transistor NPN ghép theo kiểu Darlington, gắn mạch điện tử trong
dãy này của chuỗi là một bộ lý tưởng dùng để giao tiếp với mạch điện dạng số mức
logic thấp như là: TTL, CMOS hoặc PMOS/NMOS. ULN2803 được thiết kế dùng
phù hợp với chuẩn TTL.

Hình 1-7: Sơ đồ khối của ULN2803 [6]

Thông số kĩ thuật của IC ULN2803:







Dòng điện ngõ vào: 25mA.
Điện áp ngõ vào: 0.5V – 30V.
Dòng ra lên đến 500 mA/ 50 V
Đệm 8 kênh riêng biệt.
Ngõ ra đảo.

Hình 1-8: Sơ đồ cấu tạo 1 kênh đệm dòng của ULN2803 [5]

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 12/40

1.2.4

Led matrix 8x8

Mỗi LED ma trận 8x8 được tạo nên bằng cách ghép 64 LED đơn vào với nhau theo
sơ đồ:

Hình 1-9: Sơ đồ nguyên lý Led matrix 8x8 [6]


Nếu kết nối 4 LED ma trận 8x8 theo nguyên tắc nối chung hàng hoặc chung cột ta
sẽ được một LED ma trận 8x32 với 40 chân điều khiển. Nếu nối tất cả chung hàng
thì sẽ có 8 chân điều khiển hàng và có 32 chân điều khiển cột. Và nếu ngược lại,
nếu nối chung cột lại với nhau thì sẽ có 8 chân điều khiển cột và 32 chân điều khiển
hàng.

Hình 1-10: Led matrix 8x8 [4]

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 13/40

1.3 Giao tiếp kết nối giữa mạch quang báo và máy tính
Sử dụng phương pháp điều khiển giao tiếp với máy tính qua cổng nối tiếp theo tiêu
chuẩn RS232.
1.3.1

Thông số của RS232

Mức logic 1 nằm trong khoảng: từ -3V đến -12V, trong đó khoảng từ -5V đến -12V
là thông số tin cậy.
Mức logic 0 nằm trong khoảng: từ +3V đến +12V, trong đó khoảng từ +3V đến
+12V là thông số tin cậy.
Trở kháng tải về phía bộ nhận của mạch thì phải lớn hơn 3000(Ω) và phải nhỏ hơn

7000 (Ω).
Tốc độ dùng để truyền nhận dữ liệu là 100 Kbit/s.
Các lối vào của bộ nhận có điện dung nhỏ hơn 2,500 Pf.
Độ dài của cáp nối giữa máy tính và thiết bị thì không được vượt quá 15m nếu
không sử dụng modem.
Các giá trị tốc độ truyền dữ liệu chuẩn là: 50, 75, 110, 150, 300, 600, 1200,4800,
9600, 28800,..., 56600, 115200 baud.

1.3.2

Sơ đồ chân ra trên máy tính

Các máy tính hiện nay đều được trang bị 2 cổng nối tiếp và thương được gọi là cổng
COM, cổng đầu tiên có tên là COM1 và tiếp theo là cổng COM2. Theo tiêu chuẩn
RS 232 thì đầu nối ngõ ra tại máy tính có 2 loại. Loại 25 chân và loại 9 chân.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 14/40

Hình 1-11: Sơ đồ chân của DB25 VÀ DB9 của chuẩn RS232 [5]

• Cổng COM 25 chân, thì chân số 1 có thể nối vỏ kim loại của cáp truyền để
hạn chế nhiễu. Nếu như cáp truyền bằng nhựa, thì chân số 1 sẽ được nối với
đất của thiết bị, chân này khác với chân số 7 là đất của tín hiệu

• Chức năng của các chân theo tiêu chuẩn RS 232 đã được quy định rất cụ thể.
Do đó phải sử dụng đúng với chuẩn đã quy định.
• Các chân và chức năng trên đầu nối 25 chân và 9 chân.
1.3.3

Các địa chỉ

Để có thể sử dụng được cổng nối tiếp thì cần phải thiết lập các thông số. Việc thiết
lập này phải được thực hiện trong BIOS của máy tính. Tùy vào cổng nối tiếp sử
dụng mà sử dụng các địa chỉ cơ sở tương ứng.

HEX

COM 1
3F8

DEC

1016

1.3.4

COM2
2F8

COM3
3E8

760
1000

Bảng 1-4: Bảng địa chỉ cơ sở

COM4
2E8
744

Module USB UART CP2102

Module USB UART CP2102 sử dụgn chip CP2102 của hãng SILICON LABS có
chức năng chuyển giao tiếp từ USB sang UART TTL và ngược lại.
Mô tả chân module như sau:
• TXD: chân truyền dữ liệu UART, dùng để kết nối đến chân Rx của các
module khác, không kết nối trực tiếp đến mức của RS232.
• RXD: chân nhận dữ liệu UART, dùng để kết nối đến chân Tx của các module





khác, không kết nối trực tiếp đến mức của RS232.
GND: chân mass hoặc nối với đất.
5V: nguồn điện áp dương.
DTR: chân reset để nạp cho VĐK.
3.3V: nguồn điện áp dương với điện áp 3.3V.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện



ĐỒ ÁN 3
Trang 15/40

Hình 1-12: Module USB UART CP2102 [4]

CHƯƠNG 2.

THIẾT KẾ MẠCH

2.1 Sơ đồ khối

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 16/40

KHỐI THIẾT BỊ ĐIỀU KHIỂN (MÁY TÍNH)

KHỐI NGUỒN

KHỐI GIAO TIẾP

KHỐI VI XỬ LÝ (VĐK 8051)

KHỐI HIỂN THỊ (LED MATRIX 8x8)


Hình 2-1: Sơ đồ khối

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 17/40

2.2 Sơ đồ mạch
2.2.1

Khối nguồn

Hình 2-2: Khối nguồn

Tạo ra dòng điện DC với điện áp 5V dùng để cung cấp cho các khối và linh kiện
toàn mạch.
2.2.2

Khối điều khiển và giao tiếp

Hình 2-3: Khối điều khiển và giao tiếp

Quang báo giao tiếp với máy tính dùng 8051
Thông


SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 18/40

- Khối điều khiển: tạo ra tín hiệu điều khiển khối LED matrix để hiển thị nội dung
từ chương trình truyền xuống.
- Khối giao tiếp máy tính: sử dụng module CP2102 truyền tín hiệu từ máy tính vào
vi điều khiển.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 19/40

2.2.3

Khối hiển thị Led matrix 8x8

Hình 2-4: Khối hiển thị Led matrix

Khối hiển thị Led ma trận nhận tín hiệu từ khối điều khiển, giải mã để chuyển ra 4
led ma trận 8x8 ghép lại, hiển thị nội dung được truyền từ máy tính.
Module hiển thị dùng 4 ma trận led ghép lại với nhau thành 8 hàng và 32 cột. Các
ma trận Led được nối chung hàng. Module sử dụng IC chốt dịch 74HC595 và IC

đệm dòng ULN2803.
Khối này sử dụng IC ULN2803 tích hợp nhìu trans với cách ghép Dalington nhằm
giúp khuếch đại dòng ở ngõ ra của tín hiệu sau khi đã được giải mã hàng.
Các chân Clock và Latch của IC 74HC595 được mắc song song với nhau. Và chân
Data của IC 74HC595 đầu tiên được nối vào chân của vi điều khiển. Các chân Data
của 3 IC còn lại được mắc vào chân số 9 của IC dịch 74HC595 trước đó.
Các đầu ra của IC chốt dịch 74HC595 được mắc vào các cổng vào của IC đệm dòng
ULN2803, các đầu ra của ULN2803 sẽ được nối trực tiếp với các chân ở khối hiển
thị cho phép cột của các Led matrix hiển thị.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 20/40

Nếu nguồn Vcc cấp vào không đủ lớn để kéo dòng thì Led sẽ không sáng đều và rõ.
Còn các điện trở có nhiệm vụ là điện trở hạn dòng để bảo vệ Led không bị hỏng nếu
dòng điện đi vào quá lớn.
2.2.4

Sơ đồ toàn mạch

Hình 2-5: Sơ đồ toàn mạch

2.3 Phương pháp điều khiển
Điều khiển Led matrix cần phải có mạch chốt dữ liệu, xuất dữ liệu và các mạch này

phải kết hợp chặt chẽ với nhau. Số mạch chốt tỷ lệ với số lượng Led.
Với một ma trận hiển thị, số lượng Led rất lớn, kéo theo số mạch chốt nhiều, dẫn
đến phần hiển thị quang báo trở nên phức tạp, cồng kềnh, khó kết nối.
Theo phương pháp này, thực chất tại mỗi thời điểm thì chỉ có một Led sáng. Các
Led phát sáng với tần số rất nhanh làm cho mắt người cảm thấy Led sáng liên tục,
do hiện tượng lưu ảnh trên võng mạc của mắt.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 21/40

Phương pháp multiplex được dùng trong phương pháp truyền dữ liệu nối tiếp hoặc
song song, có hai loại thường sử dụng : quét hàng và quét cột

Hình 2-6: Sơ đồ khối phương pháp điều khiển

Trong đồ án này, ta sẽ sử dụng phương pháp quét hàng để đảm bảo cho hình ảnh
hiển thị được liên tục và sắc nét.
Quét hàng là phương pháp mà trong một thời gian nhất định chỉ có một hàng được
tích cực hiển thị trong khi các hàng khác đều tắt, các hàng được quét (tích cực) liên
tục kế tiếp nhau và được lặp lại nhiều lần với tốc độ lớn hơn 24 lần/1s sẽ cho ta một
hình ảnh liên tục hiển thị lên màn hình led matrix.
Dữ liệu lần lượt được đưa vào chân Data in của thanh ghi dịch sau đó tác động xung
clock dữ liệu được dịch đi.
Dữ liệu của hàng thứ nhất được đưa ra cột sau đó sẽ tích cực hàng thứ nhất, dữ liệu

của hàng thứ nhất được hiển thị lên màn hình led matix, sau đó dữ liệu của hàng thứ
hai được đưa ra cột sau đó tích cực hàng thứ hai lúc này dữ liệu của hàng thứ hai
được hiển thị lên màn hình led matrix, và tiếp tục cho đến hàng cuối cùng.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 22/40

CHƯƠNG 3.

THỰC THI PHẦN CỨNG

3.1 Lưu đồ mô tả hoạt động hệ thống
3.1.1

Lưu đồ hệ thống

Hình 3-1: Lưu đồ hệ thống

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện



ĐỒ ÁN 3
Trang 23/40

3.1.2

Lưu đồ chương trình chính

Hình 3-2: Lưu đồ chương trình chính

3.2 Phần mềm điều khiển giao tiếp
3.2.1

Sơ lược về phần mềm visual basic 6.0

Visual Basic là một môi trường ứng dụng nhanh và phát triển phần mềm ứng dụng
nhanh của Microsoft dựa trên nền tảng là Basic, xuất hiện và phát triển gần 15 năm.
So với những ngôn ngữ ra đời trước như Pascal hay c thì ngôn ngữ Visual Basic tỏ
ra đơn giản hơn nhiều, nó làm hết mọi việc cho bạn, cung cấp mức độ cao hơn của
lập trình tự động nhưng cũng cần phải được hiểu là không cần lập trình nhiều thì
Visual Basic không có những tính năng mạnh, Visual Basic có thể làm mọi thứ nếu
như khả năng của người lập trình cho phép. Ưu điểm cơ bản khi dùng Visual Basic
được thể hiện ở chỗ tiết kiệm được thời gian và công sức cho người lập trình khi
phải thực hiện một công việc nào đó. Ta có thể khai thác khả năng tự động của
Visual Basic để viết chương trình thật nhanh, nó có đủ linh hoạt để hổ trợ cho mọi
người lập trình từ người mới học đến lập trình chuyên nghiệp.

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện



ĐỒ ÁN 3
Trang 24/40

Hình 3-3: Giao diện chương trình visual basic 6.0

3.2.2

Chương trình điều khiển

Quang báo giao tiếp với máy tính dùng 8051
Thông

SVTH: Võ Nguyễn Thiện


ĐỒ ÁN 3
Trang 25/40

Hình 3-4: Giao diện chương trình điều khiển

3.2.3

Chương trình chính

Code chương trình chính
Quang báo giao tiếp với máy tính dùng 8051
Thông


SVTH: Võ Nguyễn Thiện


×