Tải bản đầy đủ

btl do tan so luoi dien cong nghiep tu 45 55hz

ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN
BỘ MÔN ĐO LƯỜNG VÀ ĐIỀU KHIỂN
ĐỒ ÁN
MÔN: VI XỬ LÝ TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN
ĐỀ TÀI: Ứng dụng họ vi điều khiển 8051 ghép nối với LED 7 thanh để hiển thị số
đo tần số lưới điện công nghiệp với khoảng đo (45 – 55) Hz.
Giáo viên hướng dẫn:
Nguyễn Thu Hà

ĐỀ BÀI: Ứng dụng họ vi điều khiển 8051 ghép nối 04 LED 7 thanh để hiển thị
số đo và cảnh báo tần số lưới điện công nghiệp, khoảng đo [45-55]Hz. Hệ thống
gồm có :
+ 01 Vi điều khiển 89C51RD2.
+ Ghép nối 04 LED bảy thanh.
+ Ghép nối mạch chuẩn hóa đo tần số.

+ Ghép nối 2 đèn LED cảnh báo ngưỡng thấp , ngưỡng cao.
+ Hai nút ấn RUN, STOP.
Hoạt động: Khi ấn RUN ,hệ thống thực hiện đo tần số; còn khi ấn, STOP hệ
thống lưu lại giá trị đo cuối cùng.

GVHD:NGUYỄN THU HÀ

Page 1


ĐHCN HÀ NỘI

GVHD:NGUYỄN THU HÀ

BÀI TẬP LỚN:VI XỬ LÝ

Page 2


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ
MỤC LỤC

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 đã 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 thiết thực trong đó là ứng dụng về nhiệt kế điện tử.
Với môn học Vi điều khiển này, em đã quyết định nhận làm đồ án với đề tài ứng
dụng họ vi điều khiển 8051 ghép nối 04 led bảy thanh để hiển thị số đo và

cảnh báo tần số lưới điện công nghiệp,khoảng đo [45-55] hz
Nội dung báo cáo gồm 3 phần:
I – Cơ sở lý thuyết
II – Nội dung thiết kế
III – Kết luận

GVHD:NGUYỄN THU HÀ

Page 3


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và
năng lực còn hạn chế nên mạch vẫn còn những sai sót. Em mong thầy giáo và
các bạn góp ý để việc học tập của em được tốt hơn.
Em xin chân thành cảm ơn!

GVHD:NGUYỄN THU HÀ

Page 4


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

HỆ THỐNG HIỂN THỊ SỐ ĐO VÀ CẢNH BÁO TẦN SỐ LƯỚI ĐIỆN
CÔNG NGHIỆP
I.- Cơ sở lý thuyết
1.- Giới thiệu tổng quan về họ Vi điều khiển 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất
lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable
read only memory).
Các đặc điểm của 8951 được tóm tắt như sau:
- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới
1000 chu kỳ
- Tần số hoat động từ 0 Hz đến 24 MHz
- 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
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoài
- Xử lý Boolean (hoạt động trên bit đơn)
- 210 vị trí nhớ có thể định vị bit
- 4μs cho hoạt động nhân hoặc chia

GVHD:NGUYỄN THU HÀ

Page 5


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

1.1 Sơ đồ khối và sơ đồ chân của AT89C51

OTHER REGISTER
128 byte RAM
128 byte RAM
8032\8052
ROM
0K:
8031\8032
4K:8951
8K:8052

INTERRUPT CONTROL

INT1\ INT0\
SERIAL PORT TEMER0
TEMER1
TEMER2 8032\8052
CPU
OSCILATOR
BUS CONTROL
I/O PORT
SERIAL PORT

EA\ RST
ALE\ PSEN\
P0 P 1 P 2 P 3
Address\Data
TXD RXD
TEMER2 8032\8052
TEMER1
TEMER1

GVHD:NGUYỄN THU HÀ

Page 6


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

Sơ đồ khối của AT89C51

Sơ đồ chân của AT89C51
1.2- Chức năng các chân của AT89C51
+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra,
port 0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được
sử dụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus.

Port 0
GVHD:NGUYỄN THU HÀ

Page 7


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit
và byte. Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn
ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2.

Port 1
+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng kép. Là
đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ
nhớ mở rộng.

Port 2

GVHD:NGUYỄN THU HÀ

Page 8


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức
năng xuất nhập ra còn có một số chức năng đặc biệt sau:
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
Dữ liệu nhận cho port nối tiếp
Dữ liệu truyền cho port nối tiếp
Ngắt bên ngoài 0
Ngắt bên ngoài 1
Ngõ vào của Timer/Counter 0
Ngõ vào của Timer/Counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài

Port 3
+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta
phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương
đương 2µs đối với thạch anh 12MHz.
+ XTAL 1, XTAL 2: AT89C51 có một bộ dao động trên chip, nó thường
được nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thôn
thường là 12MHz.
+ EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc
mức thấp (GND). Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ
ROM nội. Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng.

GVHD:NGUYỄN THU HÀ

Page 9


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

+ ALE (Address Latch Enable): 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 chu kỳ sau của bộ nhớ.
+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ
nhớ chương trình mở rộng và thường được nối với đến chân /OE (Output
Enable) của một EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức
thấp trong thời gian đọc lệnh. Các mã nhị phân của chương trình được đọc từ
EPROM qua Bus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải
mã lệnh. Khi thi hành chương trình trong ROM nội, PSEN sẽ ở mức thụ động
(mức cao).
+ Vcc, GND: AT8951 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V
được cấp qua chân 40 (Vcc) và chân 20 (GND).
2.- Sơ lược về led 7 thanh
2.1 -Tổng quát

Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo
hình
và có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc
dưới, bên phải của led 7 đoạn.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối
chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện.
8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra
ngoài để kết nối với mạch điện. Nếu led 7 đoạn có Anode(cực +) chung, đầu
chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái
sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.
GVHD:NGUYỄN THU HÀ

Page 10


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối xuống
Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của
các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.

Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm
bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối
với nguồn 5V có
thể hạn dòng bằng
điện trở 330Ω trước
các chân nhận tín
hiệu điều khiển.

Sơ đồ vị trí các led
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng
điện qua led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b.
Tương tự với các chân và các led còn lại.
2.2- Kết nối với Vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể
dùng 1 Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7
GVHD:NGUYỄN THU HÀ

Page 11


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt
của từng led đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường
được gọi là "mã hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã
dành cho led 7 đoạn có Anode(cực +) chung và mã dành cho led 7 đoạn có
Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các led ở vị trí b
và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và
c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu sử
dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn ngược
lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1).
Bảng mã hiển thị led 7 đoạn:




Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho
việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1
nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.
Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn
sáng ở mức 0):
Số hiển thị trên led Mã hiển thị led 7 đoạn Mã hiển thị led 7 đoạn dạng
7 đoạn
dạng nhị phân
thập lục phân
hgfedcba
0
11000000
C0
1
11111001
F9
2
10100100
A4
3
10110000
B0
4
10011001
99
5
10010010
92
6
11000010
82
7
11111000
F8
8
10000000
80
9
10010000
90
A
10001000
88
B
10000011
83
C
11000110
C6
D
10100001
A1
E
10000110
86
F
10001110
8E
GVHD:NGUYỄN THU HÀ

Page 12


ĐHCN HÀ NỘI
-

BÀI TẬP LỚN:VI XỬ LÝ
10111111

BF

Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn
sáng ở mức 1):
Số hiển thị trên led Mã hiển thị led 7 đoạn Mã hiển thị led 7 đoạn dạng
7 đoạn
dạng nhị phân
thập lục phân
0
00111111
3F
1
00000110
06
2
01011011
5B
3
01001111
4F
4
01100110
66
5
01101101
6D
6
01111101
7D
7
00000111
07
8
01111111
7F
9
01101111
6F
A
01110111
77
B
01111100
7C
C
00111001
39
D
01011110
5E
E
01111001
79
F
01110001
71
01000000
40

GVHD:NGUYỄN THU HÀ

Page 13


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

3.- Chuyển đổi tín hiệu sine đầu vào của lưới điện thành xung vuông sử
dụng LM324
3.1- Cấu tạo IC LM324

GVHD:NGUYỄN THU HÀ

Page 14


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

3.2- Chức năng
LM324 là một IC bao gồm 4 bộ khuyêch đại thuật toán trong nó .Thông thường
một bộ khuyêch đại thuật toán (Op_Amp) thì cần phải có nguồn đôi.Tức là phải
có nguồn dương và nguồn âm.Chẳng hạn như Opamp 741.Tuy nhiên các opamp
trong LM324 được thiết kế đặc biệt để sử dụng nguồn đơn.Có nghĩa là chỉ cần
sử dụng Vcc và GND là đủ.Một điều đặc biệt là nguồn cung cấp của LM324 có
thể hoạt động độc lập với nguồn tín hiệu.ví dụ nguồn cung cấp của LM324 là
5V nhưng nó có thể làm việc bình thường với tín hiệu ngõ vào là V+ và V- là
15V

GVHD:NGUYỄN THU HÀ

Page 15


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

4.- Tổng quan chuẩn RS232
4.1- Đặt vấn đề
Ngày nay các thiết bị đo lường, điều khiển ... đều phải giao tiếp với máy tính để
quan sát thông số và chế độ hoạt động của thiết bị như thế nào? Chuẩn giao tiếp
được coi là đơn giản và dễ dùng đó là RS232. Hầu như các thiết bị đều được
giao tiếp với máy tính thông qua chuẩn này. Bài viết này sẽ nói về cơ bản chuẩn
giao tiếp RS232: Tổng quan chung về RS232, Sơ đồ ghép nối, Giao diện phần
mềm.

Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng
điều khiển, đo lường... Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ
thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là
một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất
là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến
25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt. Ý
nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một
bit được gửi đi dọc theo đường truyền.[separator]
Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B
và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn
GVHD:NGUYỄN THU HÀ

Page 16


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là
chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là
cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo
lường...Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và
main của máy tính. Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ
dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ
liệu thấp.

4.2- Ưu điểm của giao diện nối tiếp RS232
+ 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

4.3- Những đặc điểm cần lưu ý trong chuẩn RS232
+ 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ừ 3000 ôm - 7000 ôm
+ 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 Ω nhưng phải nhỏ hơn 7000 Ω
+ Độ 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,1152
00 bps

4.4- Các mức điện áp đường truyền
RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín
hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ đầu tiên ra đời
nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương
thích TTL để mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố
định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra
của bộ phát.
GVHD:NGUYỄN THU HÀ

Page 17


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả
như sau:
+ Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến. Chính
vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi
giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua
quãng quá độ trong một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn
chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ
truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện
nay chỉ hỗ trợ với tốc độ 19,2 kBd .

4.5 - Cổng RS232 trên PC
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng Com
hay cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy từng loại main
máy tính. Khi đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com
3...Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân
(DB9) hoặc 25 chân (DB25). Tuy hai loại đầu nối này có cùng song song nhưng
hai loại đầu nối này được phân biệt bởi cổng đực (DB9) và cổng cái (DB25)
Ta xét sơ đồ chân cổng Com 9 chân:

Trên là các kí hiệu chân và hình dạng của cổng DB9
Chức năng của các chân như sau:
+ chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
+ chân 2: Receive Data (RxD) : Nhận dữ liệu
+ chân 3 : Transmit Data (TxD) : Truyền dữ liệu
+ chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích
hoạt bởi bộ phận khi muốn truyền dữ liệu
+ chân 5 : Singal Ground ( SG) : Mass của tín hiệu
+ chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ
truyền khi nó sẵn sàng nhận dữ liệu
GVHD:NGUYỄN THU HÀ

Page 18


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

+ chân 7 : Request to Send : yêu cầu gửi,bô truyền đặt đường này lên mức hoạt
động khi sẵn sàng truyền dữ liệu
+ chân 8 : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường này lên mức
kích hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu
+ chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín
hiệu rung chuông
Còn DB28 bây giờ hầu hết các main mới ra đều không có cổng này nữa. Nên tôi
không đề cập đến ở đây.

4.6 - Quá trình dữ liệu
a) Quá 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.
b) 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)
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.
c) Bit chẵn lẻ hay Parity bit
Đâ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ổ xung thê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
GVHD:NGUYỄN THU HÀ

Page 19


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

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 trong mộ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.
Còn cách thức truyền dẫn. Phần này tôi không đề cập các bạn vui lòng xem
trong giáo trình.

4.7- Sơ đồ ghép nối RS232
Mạch chuẩn giao RS232 dùng IC Max232
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ết kế 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 tĩnh điện. 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ỏ.
Mạch giao tiếp như sau :

GVHD:NGUYỄN THU HÀ

Page 20


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

Đây là mạch giao tiếp 1 kênh dùng Max232. Còn giao tiếp 2 kênh thì tương tự.
Mạch này được sử dụng khá nhiều trong chuẩn giao tiếp RS232.

4.8- Phần mền giao tiếp
Giao tiếp chuẩn giữa RS232 và vi điều khiển phải thông qua phần mền giao diện
để nhận biết được dữ liệu truyền lên và nhận xuống như thế nào. Hiện tại có rất
nhiều cách lập trình giao tiếp cho RS232 với vi xử lý nhưng mà hay dùng nhất là
bộ công cụ Visual C++. Bộ công cụ này lập trình giúp lập trình giao diện thông
qua cổng RS232.Ngoài bộ công cụ này còn có bộ công cụ của Delphi cũng được
dùng khá nhiều.
Trong trường hợp người dùng mà không biết lập trình giao diện thì có thể sử
dụng công cụ trực tiếp của windown. Đó là Hyper Terminal. Công cụ này cho ta
giao diện khá đơn giản chỉ truyền nhận dữ liệu thông qua cổng RS232

GVHD:NGUYỄN THU HÀ

Page 21


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

II.- Nội dung thiết kế
1.- Lưu đồ thuật toán chương trình

GVHD:NGUYỄN THU HÀ

Page 22


ĐHCN HÀ NỘI

GVHD:NGUYỄN THU HÀ

BÀI TẬP LỚN:VI XỬ LÝ

Page 23


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

2.- Phần lập trình và mô phỏng
2.1- Phần lập trình
#include
unsigned int Time;
unsigned int tanso;
#define c P2_0
#define d P2_1
#define b P2_5
#define a P2_6
#define key1 P3_1
#define key2 P3_2
#define key3 P3_3
#define key4 P3_4
#define key5 P3_6
#define key6 P3_7
#define key7 P0_1
unsigned char i;
unsigned char so[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(int ms)
{while(ms--){}}
void hienso(unsigned char x)
{
unsigned char chuc=x/10;
unsigned char donvi=x%10;
unsigned char thapphan=(((x*10)%100)%10);
P1=so[chuc];
b=1;
delay(10);
b=0;
P1=so[donvi]-0x80;
c=1;
delay(10);
c=0;
P1=so[thapphan];
d=1;
delay(10);
d=0;
GVHD:NGUYỄN THU HÀ

Page 24


ĐHCN HÀ NỘI

BÀI TẬP LỚN:VI XỬ LÝ

P1=0x8e;
a=1;
delay(10);
a=0;
}
void hienso1(unsigned char x)
{
unsigned char chuc=x/10;
unsigned char donvi=x%10;
unsigned char thapphan=(((x*10)%100)%10);
P1=so[chuc];
b=1;
delay(10);
b=0;
P1=so[donvi]-0x80;
c=1;
delay(10);
c=0;
P1=so[thapphan];
d =1;
delay(10);
d=0;
}
void ngat_trantimer0() interrupt 1
{
TH0=0xFC;
TL0=0x2B;
Time++;
if(Time==1000)
{
Time=0;
TR1=0;
tanso=(((TH1&0x00ff)<<8)|(TL1&0x00ff));
TH1=0;
TL1=0;
TR1=1;
}
TF0=0;
}
int dem,lon,nho;
int nguongtren=55,nguongduoi=45,stop=0;
GVHD:NGUYỄN THU HÀ

Page 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×