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

Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh, một bàn phím 16 phím để tạo thành 1 máy tính thực hiện các phép tính đơn giả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 (725.9 KB, 49 trang )

MỤC LỤC
LỜI NÓI ĐẦU……………………………………………………………..2
CHƯƠNG 1: Phân tích yêu cầu công nghệ………………………………..3
1.1.
1.1.1.
1.1.2.
1.2.
1.2.1.
1.2.2.
1.2.3.
1.2.4.

Phân tích và giới hạn về thiết bị và đặc điểm của tham số………….3
Phân tích đặc điểm thiết bị và tham số……………………...............3
Giới hạn……………………………………………………………..17
Các ngoại vi ghép nối với vi điều khiển…………………………….17
Ma trận phím………………………………………………………...17
Vi điều khiển 89S52…………………………………………………19
Chuẩn RS-232……………………………………………………….20
Led 7 thanh…………………………………………………………..23

CHƯƠNG 2: Thiết kế hệ thống…………………………………………….26
2.1.

Phân tích giới hạn và tính toán lựa chọn thiết bị……………………26

2.1.1. Phân tích giới hạn……………………………………………………26
2.1.2. Tính chọn thiết bị…………………………………………………….26
2.2.

Phương pháp quét bàn phím và ghép nối VĐK với bàn phím……….26



2.2.1. Phương pháp quét bàn phím………………………………………….26
2.2.2. Ghép nối VĐK với bàn phím…………………………………………29
2.3.

Xây dựng mạch nguyên lý và thuyết minh………………....................31

2.4.

Xây dựng thuật toán…………………………………………………..31

2.4.1. Thuật toán cho khối nhập dữ liệu……………………………………..31
2.4.2. Thuật toán cho khối hiển thị…………………………………………..33
2.5.

Viết chương trình……………………………………………………...34

2.6.

Nạp code và mô phỏng mạch trên Proteus 8.0……………………….49

CHƯƠNG 3: Kết Luận……………………………………………………...50
1


3.1.

Các kết quả đạt được………………………………………………….50

3.1.


Các hạn chế và phương pháp khắc phục……………………………...50

LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta
2


đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật
điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác
cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất càn thiết góp phần cho hoạt động của
con người đạt hiệu quả cao.
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử
dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự
phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit
đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành
một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không
ngừng từ các lĩnh vực công - nông - lâm - ngư nghiệp cho đến các nhu cầu cần thiết
trong hoạt động đời sống hằng ngày.
Một trong những ứng dụng rất cần thiết trong cuộc sống, đặc biệt cho học sinh- sinh
viên. Với môn học Vi xử lý này, nhóm chúng em đã được giao làm đồ án với đề tài
“Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh, một bàn phím 16 phím
để tạo thành 1 máy tính thực hiện các phép tính đơn giản".
Qua đây chúng em xin gửi lời cảm ơn sâu sắc đến cô giáo Tống Thị Lý người đã
hướng dẫn tận tình cho nhóm em đến khi hoàn thành được đồ án này.
Nhóm chúng em xin chân thành cảm ơn!

CHƯƠNG 1: PHÂN TÍCH YÊU CẦU CÔNG NGHỆ.
1.1 Phân tích và giới hạn về đặc điểm thiết bị và tham số.
3



1.1.1 Phân tích đặc điểm thiết bị và tham số.
Máy tính bỏ túi là một công cụ học tập quen thuộc của học sinh, sinh viên, đặt biệt
là sinh viên kỹ thuật. Trong đời sống hàng ngày, nó là một vật cần thiết cho việc tính
tiền trong các vụ mua bán. Trong sản xuất, nó được dùng để tính toán số sản phẩm làm
ra. Và còn rất nhiều ứng dụng khác của máy tính bỏ túi, cho thấy sự phổ biến, cần thiết
của nó. Dựa trên yếu tố đó, nhóm chúng em đã lựa chọn được phương án làm việc:
Lựa chọn phương án làm việc :
Hiện nay trên thị trường có rất nhiều chủng loại máy tính điện tử với các chức năng và
ứng dụng khác nhau theo đó mà cách thực hiện, lựa chọn phương án và chọn linh kiện
điện tử cũng khác nhau.Với mục tiêu ở trên nhóm thực hiện đề tài quyết định chọn
phương án dùng họ vi điều khiển 8051 để nghiên cứu và thực hiện đề tài “Thiết kế
máy tính điện tử ”.
Lý do nhóm thực hiện đề tài chọn họ vi điều khiển 8051 vì :
+

Vi điều khiển 8051 là một dòng vi điều khiển tương đối mạnh với nhiều tính năng

và còn thông dụng trên thị trường hiện nay. Do đó có thể dễ dàng mở rộng thiết kế các
ứng dụng khác.
+

Hoạt động hiệu quả và rất ổn định mà giá thành lại tương đối rẻ so với các vi điều

khiển khác. Phù hợp cho đối tượng học sinh, sinh viên.
+

Cách lập trình đa dạng với nhiều ngôn ngữ khác nhau như C, Assambly.. giúp cho


người dùng có thể linh động lựa chọn ngôn ngữ lập trình cho phù hợp với khả năng và
sở thích của mình.
A, Giới thiệu về vi điều khiển 8051.
Vào năm 1981,hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051. Bộ vi
điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ định thời, một cổng
nối tiếp và 4 cổng (đều rộng 8 bắt vào ra tất cả được đặt trên một chíp. Lúc ấy nó được
coi là một "hệ thống trên chíp". 805 1 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể
làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bít được chia ra thành
các dữ liệu 8 bit để cho xử lý. 805 1 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit.

4


Mặc dù 805 1 có thể có một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản
xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp.
8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và
bán bất kỳ dạng biến thế nào của 8051 mà họ thích với điều kiện họ phải để mã lại
tương thích với 8051. Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc
độ khác nhau và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà
sản xuất. Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc
độ và dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051
ban đầu về các lệnh.
AT89C51 cung cấp những đặc tính chuẩn như : 4 Kbyte bộ nhớ chỉ đọc có thế xóa và
lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIME/COUNTER 16 Bit,
5 vecto ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao
động tạo xung Clock và bộ dao động ON-CHIP.
Các đặc điểm của chip AT89C51 được tóm tắt như sau :












4Kbyte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xóa
Tần số hoạt động từ: 0Hz đến 24MHz
3 mức khóa bộ nhớ lập trình
2 bộ Timer/counter 16 bit
128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit.
Giao tiếp nối tiếp
64KB vùng nhớ mã ngoài
64KB vùng nhớ dữ liệu ngoại
4µs cho hoạt động nhân hoặc chia
EXTERNAL

INTERRUPT

ON - CHIP

CONTROL

RAM

TIMER 0
TIMER 1


CPU

OSC

4 I/O

SERIAL

PORTS

PORT

BUS
CONTROL

5

P P P P
0 1 2 3
ADDRESS/DATA

TXD

RXD

COUNTER INPUTS

ETC


INTERRUPTS


Hình 1.1: Sơ đồ khối cấu trúc bên trong của 8051.
Ngoài 8051 ra, còn có 2 bộ vi điều khiển khác thuộc họ 80xx là: 8052 & 8031. Nhưng
giới hạn đề tài và lựa chọn 8051, nên nhóm chúng em trình bày cụ thể về 8051

6


B, Sơ đồ khối vi điều khiển 89C51.

Hình 1.2: Sơ đồ khối chi tiết của vi điều khiển 8051.

7


C, Sơ đồ và chức năng của các chân.
- Sơ đồ chân:

Hình 1.3: Sơ đồ chân của vi điều khiển 89C51.
- Chức năng:
 Chân 40 : nối với nguồn nuôi +5V
 Chân 20 : nối đất (Mass, GND)
 Chân 29 (PSEN – Program Store Enable) : là tín hiệu điều
khiển xuất ra của 8051, nó cho phép chọn bộ nhớ ngoài và được
nối chung với chân của OE (Output Enable) của EPROM ngoài
để cho phép đọc các byte của chương trình. Các xung tín hiệu
PSEN hạ thấp trong suốt thời gian thi hành lệnh. Những mã nhị
phân của chương trình được đọc từ EPROM qua bus dữ liệu và

được chốt vào thanh ghi lệnh của 8051 bởi mã lệnh (Chú ý việc
đọc ở đây là đọc các lệnh – khác với đọc dữ liệu, khi đó VXL chỉ
đọc các bit opcode của lệnh và đưa chúng vào hàng đợi lệnh
thông qua các Bus địa chỉ và dữ liệu )

8


 Chân 30 (ALE – Address Latch Enable) là tín hiệu điều khiển
xuất ra của 8051, nó cho phép kênh Bus địa chỉ và Bus dữ liệu
của Port 0.
 Chân 31 (EA – Eternal Access) được đưa xuống thấp cho phép
chọn bộ nhớ mã ngoài đối với 8051.
 Đối với 8051 thì :EA = 5V : chọn ROM nội, EA = 0V : chọn
ROM ngoại.
 32 chân còn lại chia làm 4 cỗng vào ra : Vào ra , ở đây là có thể
dùng chân đó để đọc mức logic (0;1 tương ứng với 0V;5V) vào
hay xuất mức logic ra (0,1)






P0 từ chân 39 -> 32 tương ứng là các chân P0_0 -> P0_7
P1 từ chân 1 -> 8 tương ứng là các chân P1_0 -> P1_7
P2 từ chân 21 -> 28 tương ứng là các chân P2_0 -> P2_7
P3 từ chân 10 ->17 tương ứng là các chân P3_0 -> P3_7

Riêng cổng 3 có 2 chức năng ở mỗi chân như trên hình vẽ :


 P3.0 – RxD : chân nhận dữ liệu nối tiếp khi giao tiếp RS232









(COM).
P3.1 – TxD : phân truyền dữ liệu nối tiếp khi giao tiếp RS232.
P3.2 – INT0 : interupt 0, ngắt ngoài 0.
P3.3 – INT1 : interupt 1, ngắt ngoài 1.
P3.4 – T0 : Timer0, đầu vào timer0.
P3.5 – T1 : Timer1, đầu vào Timer1.
P3.6 – WR : Write, điều khiển ghi dữ liệu.
P3.7 – RD : Read, điều khiển đọc dữ liệu.
Chân 18, 19 nối với thạch anh tạo thành mạch tạo dao động cho

vi điều khiển.
 Tần số thạch anh thường dùng trong các ứng dụng là :
11.0592Mhz (Giao tiếp với cổng COM của máy tính) và 12Mhz.
Tần số tối đa là 24Mhz. Tần số càng lớn thì vi điều khiển xử lí
càng nhanh.

9



P0

P1

P2

P3

Port’s Bit

P0.0

P1.0

P2.0

P3.0

D0

P0.1

P1.1

P2.1

P3.1

D1


P0.2

P1.2

P2.2

P3.2

D2

P0.3

P1.3

P2.3

P3.3

D3

P0.4

P1.4

P2.4

P3.4

D4


P0.5

P1.5

P2.5

P3.5

D5

P0.6

P1.6

P2.6

P3.6

D6

P0.7

P1.7

P2.7

P3.7

D7


Bảng 1.1 : Các cổng (Port) và mức xuất logic tương ứng.
D, Cấu trúc bộ nhớ.
Các vi điều khiển thuộc họ 8051 đều tổ chức thành 2 không gian chương trình và dữ
liệu. Kiến trúc vi xử lý 8 bit của 8051 này cho phép truy nhập và tính toán nhanh hơn
đối với không gian dữ liệu nhờ việc phân chia 2 không gian bộ nhớ chương trình và dữ
liệu như trên. Tuy nhiên bộ nhớ ngoài được truy nhập bởi hệ thống 16 bit địa chỉ vẫn
có thể thực hiện nhờ thanh ghi con trỏ.

10


Bộ nhớ chương trình (ROM, EPROM) là bộ nhớ chỉ đọc, có thể mở rộng tối đa
64Kbyte. Vói họ vi điều khiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong chip
có kích thước nhỏ nhất là 4kByte. Với các vi điều khiển không tích hợp sẵn bộ nhớ
chương trình trên chip, buộc phải thiết kế bộ nhớ chương trình bên ngoài. Ví dụ sử
dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN phải ở mức tích cực (5V).
Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trình. Họ vi điều khiển
8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng với
bộ nhớ dữ liệu ngoài lên tới 64kByte. Với những vi điều khiển không tích hợp ROM
trên chip thì vẫn có RAM trên chip là 128byte. Khi sử dụng RAM ngoài, CPU đọc và
ghi dữ liệu nhờ tín hiệu trên các chân RD và WR. Khi sử dụng cả bộ nhớ chương trình
và bộ nhớ dữ liệu bên ngoài thì buộc phải kết hợp chân RD và PSEN bởi cổng logic
AND để phân biệt tín hiệu truy xuất dữ liệu trên ROM hay RAM ngoài.
- Bộ nhớ chương trình:

Hình 1.4: Cấu trúc bộ nhớ và địa chỉ các ngắt trên bộ nhớ chương trình.
Hình 1.4 mô tả cấu trúc bộ nhớ chương trình. Sau khi khởi động, CPU bắt đầu thực
hiện chương trình ở vị trí 0000H. Hình bên phải mô tả địa chỉ ngắt mặc định trên bộ
nhớ chương trình. Mối khi xảy ra ngắt, con trỏ của CPU sẽ nhảy đến đúng địa chỉ ngắt
tương ứng và thực thi chương trình tại đó. Ví dụ ngắt ngoài 0 sẽ có địa chỉ là 0003H,

khi xảy ra ngắt ngoài 0 thì con trỏ chương trình sẽ nhảy đến đúng địa chỉ 0003H để
11


thực thi chương trình tại đó. Nếu trong chương trình ứng dụng không xử dụng đến
ngắt ngoài 0 thì địa chỉ 0003H vẫn có thể dùng cho mục đích khác (sử dụng cho bộ
nhớ chương trình). Bởi vậy khi lập trình bằng ngôn ngữ Assembly, phần đầu chương
trình bao giờ cũng phải cho chương trình nhảy đến địa chỉ cao hơn địa chỉ chứa các
ngắt và mã lệnh viết cho các ngắt thì phải viết đúng địa chỉ của các ngắt tương ứng.
- Bộ nhớ dữ liệu:

Hình 1.5: Cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài.
Hình 1.5 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi điều
khiển 8051. CPU sẽ dùng đến các chân RD và WR khi truy cập đến bộ nhớ dữ liệu
ngoài.

Hình 1.6: Cấu trúc bộ nhớ trong.
12


Hình 1.6 mô tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3 khối là 128 byte
thấp, 128 byte cao và 128 byte đặc biệt.

Hình 1.7: Cấu trúc 128 byte thấp của bộ nhớ dữ liệu.
Hình 1.7 mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển 8051.
32 byte đầu tiên (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi R0-R7. Hai bit của
thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi điều khiển sẽ dùng
trong khi thực thi chương trình.
8051 chứa 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong các byte ở địa
chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các thanh

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

F6

F5
13

F4

F3

F2

F1

F0


E0


E7

E6

E5

E4

E3

E2

E1

E0

D0

D7

D6

6D

6C

6B

6A


69

68

B8

.

.

.

BC

BB

BA

B9

B8

A8

AF

AE

AD


AC

AB

AA

A9

A8

99

Không định địa chỉ từng bit

98

9F

9E

9D

9C

9B

9A

99


98

90

97

96

95

94

93

92

91

90

8D

Không định địa chỉ từng bit

8C

Không định địa chỉ từng bit

8B


Không định địa chỉ từng bit

8A

Không định địa chỉ từng bit

89

Không định địa chỉ từng bit

88

8F

8A

89

88

87

Không định địa chỉ từng bit

83

Không định địa chỉ từng bit

82


Không định địa chỉ từng bit

81

Không định địa chỉ từng bit

80

87

82

81

80

8E

86

8D

85

8C

84

8B


83

Bảng 1.2: Bảng liệt kê các thanh ghi có chức năng đặc biệt.
14


Thanh ghi/ Bit

Kí hiệu

Chức năng

TMOD

Chọn model cho bộ định thời 1
GATE

Bit điều khiển cổng. Khi được set lên 1,
bộ định thời chỉ hoạt động trong khi INT1
ở mức cao

C/T

Bit chon chức năng đếm hay định thời

7
6

1= đếm sự kiện
0 = định thời trong một khoảng thời gian

5

M1

Bit chọn chế độ thứ nhất

4

M0

Bit chọn chế độ thứ hai
M1

TF1

M0

Chế độ

Chức năng

0

0

0

Chế độ định
thời 13 bit


0

1

1

Chế độ định
thời 16 bit

1

0

2

Chế độ tự
động nạp lại
8 bit

1

1

3

Chế độ định
thời chia xẻ

3


GATE

Bit điều khiển cổng cho bộ định thời 0

2

C/T

Bit chọn chức năng đếm/định thời cho bộ
định thời 0

1

M1

Bit chọn chế độ thứ nhất cho bộ định thời
0

0

M0

Bit chọn chế độ thứ hai cho bộ định thời 0

TR1

TCON

TCON.7


TCON.6

TF1

TR0

IE1

IT1

IE0

IT0

Điều khiển bộ định thời

TF1

Cờ tràn của bộ định thời 1. Cờ này được
set bởi phần cứng khi có tràn, được xóa
bởi phần mềm, hoặc bởi phần cứng khi bộ
VXL trỏ tới trình phục vụ ngắt

TR1

Bit điều khiển hoạt động của bộ định thời
1. Bit này được set hoặc xóa bởi phần
mềm để điều khiển bộ định thời hoạt động
hay nhưng


15

TCON.5

TF0

TCON.4

TR0

Cờ tràn của bộ định thời 0
Bit điều khiển hoạt động của bộ định thời


Bảng 1.3: Bảng chức năng của các thanh ghi chức năng đặc biệt SFR
E, Nguồn ngắt.
Ngắt do

Cờ

Địa chỉ Vector

Reset hệ thống

RST

0000H

Ngắt ngoài 0


IE0

0003H

Bộ định thời 0

TF0

000BH

Ngắt ngoài 1

IE1

0013H

Bộ định thời 1

TF1

001BH

RI hoặc TI

0023H

TF2 hoặc EXF2

002BH


Port nối tiếp
Bộ định thời 2

Bảng 1.4: Các nguồn ngắt, cờ, và địa chỉ vecto tương ứng.

16


Hình 1.8: Qúa trình vận hành của Timer và các ngắt.

1.1.2 Giới hạn.
Do trình độ có hạn nên nhóm thực hiện đề tài mới chỉ dừng lại ở việc lập trình tính
toán các phép tính đơn giản và thông dụng. Nếu còn thời gian và điều kiện cho phép,
nhóm thực hiện đề tài sẽ tìm hiểu và mở rộng những phép tính phức tạp cũng như
nghiên cứu các ứng dụng khác của họ vi điểu khiển 8051.
Việc thi công mạch còn nhiều hạn chế, chỉ dừng lại ở mức nghiên cứu nên chưa tối ưu
đựơc hết các tính năng của vi điều khiển 8051 để có thể cạnh tranh với các sản phẩm
cùng loại khác.
1.2 Các ngoại vi ghép nối với vi điều khiển.
1.2.1 Ma trận phím.
Ma trận phím là một "thiết bị nhập" chứa các nút nhấn cho phép người dùng nhập các
chữ số, chữ cái hoặc ký hiệu vào bộ điều khiển. Keypad không chứa tất cả bảng mã
ASCII như keyboard và vì thế keypad thường được tìm thấy trong các thiết bị chuyên
dụng. Các nút nhấn trên các máy tính điện tử cầm tay là một ví dụ về keypad. Sốlượng

17


nút nhấn của một keypad thay đổi phụ thuộc vào yêu cầu ứng dụng


Hình 1.9: Mô hình ma trận phím 4x4 trong proteus.
Cách bố trí ma trận hàng và cột là cách chung mà các ma trận phím sử dụng. Cũng
giống như các ma trận LED, các nút nhấn cùng hàng và cùng cột được nối với nhau, vì
thế với ma trận phím 6x6 sẽ có tổng cộng 12 ngõ ra (6 hàng và 6 cột).

18


Hình 1.10: Mạch điện ma trận phím 4x4.
1.2.2 Vi điều khiển 89S52.
- Sơ đồ chân:

Hình 1.11: Sơ đồ chân vi điều khiển 89S52.

1.2.3 Chuẩn RS- 232.

19


Hình 1.12: RS 232 trong proteus.
A, Giới thiệu.
Được xây dựng phục vụ chủ yếu trong việc ghép nối điểm – điểm giữa hai thiết bị
đầu cuối (DTE, Data Terminal Equipment), mặc dù tính năng hạn chế nhưng chuẩn
RS232 có từ lâu đời nhất vì thế nên nó được sử dụng rộng rãi. Ngày nay mỗi máy tính
cá nhân có vài cổng RS232( cổng com) có thể sử dụng nối các thiết bị ngoại vi hoặc
với các máy tính khác.
B, Ưu điểm của giao diện nối tiếp RS 232.
+

Khảnăng


chống

nhiễu

của

các

cổng

nối

tiếp

cao

+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp.

C, Những đặc điểm cần lưu ý trong chuẩn RS 232.
20


+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V. Hiện
nay đang được cố định trở kháng tải trong phạm vi từ7000Ω÷ 3000Ω
+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0
từ 3V đến 12V
+ Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
+ Các lối vào phải có điện dung nhỏ hơn 2500pF

+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp
RS232 không vượt qua 15m nếu chúng ta không sử model
+ Các giá trị tốc độ truyền dữ liệu chuẩn :
50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400....56600,115200
bps.
D, Qúa trình truyền dữ liệu.
- Qúa trình truyền dữ liệu:
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy
nên tại một thời điểm chỉ có một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt
đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần
truyền bit tiếp the . Bit này luôn bắt đầu bằng mức 0.. Tiếp theo đó là các bit dữ liệu
(bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là
một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có
thể là 1, 1,5 hay 2 bit dừng.
- Tốc độ Baud.
Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá
trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi
là tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây
hay số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên
phát và bên nhận đều phải có tốc độ như nhau
( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)

21


Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ
Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit
được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một
phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải

đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600,
19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là
19200, Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian
chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit
càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải
nhỏ. Điều này làm giới hạn tốc Baud và khoảng cách truyền.
- Bit chẵn lẻ:
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi
khi truyền dữ liệu là bổ xungthêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi
trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra
chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit "1"
được gửi trongmột khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9... Nếu như một
bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc lỗi vì thế
không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này không được sử dụng trong
trường hợp có khả năng một vài bit bị mắc lỗi.
E, IC MAX 232.
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi. Max232 là
IC của hãng Maxim. Đây là IC chay ổn định và được sử dụng phổ biến trong các mạch
giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (12K hay 10K) và tích hợp
trong đó hai kênh truyền cho chuẩn RS232. Dòng tín hiệu được thiếtkế cho chuẩn
RS232 . Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng

22


tĩnh điện ( hình như là 15KV). Ngoài ra Max232 còn được thiết kế với nguồn +5V
cung cấp nguồn công suất nhỏ.

1.2.4 LED 7 thanh.
-Giới thiệu chung về led 7 thanh.
LED 7 thanh được dùng nhiều trong các mạch hiện thị thông báo, hiện thị số, kí
tự đơn giản... LED 7 được cấu tạo từ các LED đơn sắp xếp theo các thanh nét để có
thể biểu diễn các chữ số hoặc các kí tự đơn giản như từ số 0 đến 9 và A đến F chả hạn.
LED 7 thanh dùng để hiện số thì rất đẹp và dễ nhìn. Tùy vào kích thước của số và kí tự
mà mỗi thanh được cấu tạo bởi một hay nhiều LED đơn. Các LED đơn đó được ghép
và được đặt tên bằng các chữ cái a...g và có một dấu chấm dot ( dấu chấm này có thể
sáng và tắt tùy theo yêu cầu) được cấu tạo bởi 1 LED đơn. Qua đó người ta chỉ cần 8
bit tương ứng với 8 LED đơn để điều khiển được và hiện thị số từ 0 đến 9 và các kí tự
từ A đến F.

Hình 1.13: Hình ảnh led 7 thanh trong proteus.
Hiện nay LED 7 được sản xuất theo 2 kiểu là Anot chung và Katot chung và được điều
khiển làm việc tương tự như bơm dòng hay nuốt dòng của các LED đơn có trong
LED7 (Thường hay thiết kế theo kiểu bơm dòng cho LED). Thông thường trong các
mạch thiết kế thực tế người thiết kế thường hay sử dụng loại Anot chung. Phương
pháp ghép nối là cấp dòng, đảo trạng thái thông qua đệm và quét LED.

23


Hình 1.14: Sơ đồ chân led 7 thanh.
Mỗi LED 7 thanh hiển thị được 1 digit của mã nhị thập phân thực hiện việc chuyển đổi
một digit mã nhị- thập phân thành số hệ thập phân tương ứng hiển thị trên LED 7
thanh cần có 1 bộ giải mã. Để đơn giản, xét bộ giải mã BCD cho hiển thị LED 7
thanh. Mỗi số hệ thập phân được thể hiện bằng các thanh tương ứng của LED phát
sáng. Cụ thể là:
+ Chữ số 0 gồm thanh: a, b, c, d, e, f.
+ Chữ số 1 gồm thanh: b,c.

+ Chữ số 2 gồm thanh: a, b, g, e, d.
+ Chữ số 3 gồm thanh: a, b, g, c, d.
+ Chữ số 4 gồm thanh: b,g ,f, c.
+ Chữ số 5 gồm thanh: a, c, d, g, f.
+ Chữ số 6 gồm thanh: a, c, d,e, g, f.
+ Chữ số7 gồm thanh: a, b, c.
+ Chữ số 8 gồm thanh: a, b, c, d, e, g, f.
+ Chữ số 9 gồm thanh: a, b, c, d, f, g.
24


Thanh đi-ốt sẽ sáng khi có kích thích bằng điện áp với mức hợp lí. Vậy nếu sử dụng
LED 7 thanh có a-nốt chung thì kích thích sẽ là điện áp có mức thấp, nghĩa là cửa ra
của bộ giải mã có mức tích cực là mức thấp.
- Ghép nối LED 7 thanh:
Có 2 cách ghép nối thường dùng:
+ Dùng trực tiếp các chân điều khiển (vi xử lý):
Đối với cách này thì nhìn thì rất tốn chân của vi xử lý. Và dòng của LED sẽ dồn tất cả
về vi xử lý. Nếu một hệ thống lớn thì cách này không ổn vì ảnh hưởng đến vi xử lý và
nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn tới chết ( chúng ta tưởng tượng
xem nếu mà hệ thống nhiều phần điều khiển từ các chân vi xử lý mà tất cả các tải điều
khiển dồn trực tiếp dòng về vi xử lý thì lúc đó dòng trong 1 thời điểm khá lớn vượt quá
ngưỡng cho phép của vi xử lý.
Dòng mà vi xử lý chịu đựng được cũng khá nhỏ(dưới 100mA). Các này chỉ dùng
được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản như hiện thị LED, đếm
số từ 0 đến 9 ... chả hạn.
+ Dùng IC giải mã BCD sang LED 7 thanh.
Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7. Đối với cách này thì
trông rất ổn. Vừa tiếp kiệm được chân vi xử lý và tránh được dòng dồn về vi xử lý
(dòng ở đây được dồn về 7447). Đây là cách mà người thiết kế thường dùng trong các

hệ thống cần đến hiện thị.
Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị các giá trị
số từ 0 đến 9 và đôi khi cần phải hiện thị các kí tự đơn giản như A đến F trong hệ
thống để báo trạng thái của hệ thống. Các giá trị hiện thị bao gồm nhiều chữ số tức là
chúng ta phải dùng đến nhiều LED7 ghép lại thì mới hiện thị được nhiều số.

25


×