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

BẢN THUYẾT MINH- ĐỒ ÁN ppt

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 (919.83 KB, 48 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ
THUYẾT MINH
ĐỒ ÁN TỔNG HỢP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN
Tên đề tài:
KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
Sinh viên thực hiện: Trương Văn Tiển
MSSV: 071250510161
Lớp: 07Đ1
Giáo viên hướng dẫn: Cao Nguyễn Khoa Nam
Ngày bảo vệ: 15/06/2010
Đồ án tổng hợp Điều khiển quạt máy tự động theo nhiệt độ
Đà Nẵng tháng 06/2010
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH

GVHD: CAO NGHUYỂN KHOA NAM Trang 3
SVTH : TRƯƠNG VĂN TIỂN
LỜI CẢM ƠN
Đầu tiên nhóm chúng em xin chân thành cảm ơn Thầy Cao Nguyễn Khoa
Nam đã tận tình hướng dẫn và giúp đỡ em trong suốt thời gian thực hiện đề tài
Xin cảm ơn các quý thầy cô khoa Điện và trong trường đã đóng góp những ý
kiến qúy báu để đề tài của chúng em đạt được tiến độ như ngày hôm nay.
Và không bao giờ quên công ơn mà quý thầy cô đã giảng dạy em trong suốt 3
năm học qua.
Xin cảm ơn rất nhiều.
Sinh viên thực hiện
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH


LỜI NÓI ĐẦU
Ngày nay khi khoa học công nghệ càng ngày càng phát triển thì việc ứng dụng
khoa học công nghệ trong cuộc sống ngày càng trở nên phổ biến, nhất là trong lĩnh
vực điên-điện tử - tin học. Các máy tính sẽ đảm nhiệm những nhiệm vụ điều khiển
thay cho con người một cách chính xác và nhanh chóng.
Trong thực tế, việc xếp hàng chờ giải quyết công việc ở các công sở hoặc bệnh
viện, trường học luôn gây khó chịu và mất thời gian cho người cần giải quyết công
việc lẫn người giải quyết công việc. Để cải thiện vấn đề này, hiện nay trên thế giới và
trong nước đã có những hệ thống xếp hàng tự động, được điều khiển bằng máy tính
hoặc các hệ thống tích hợp. Ở những nơi có lắp đặt hệ thống này việc xếp hàng đã trở
nên có trật tự, đơn giản và nhanh chóng hơn, cải thiện môi trường làm việc và tiết
kiệm được thời gian. Trường Cao đẳng Công nghệ Đà Nẵng, nơi chúng em đang học
tập, cũng không phải là một ngoại lệ, việc xếp hàng nộp hồ sơ nhập học hoặc nộp học
phí cũng gây ra nhiều phiền toái và tốn thời gian. Với mục đích cải thiện điều này,
nhóm quyết định chọn đề tài “Khảo sát và thiết kế hệ thống xếp hàng thông minh ”
nhằm ứng dụng vào phòng tài vụ và phòng đào tạo của nhà trường.
Nội dung dề tài nghiên cứu khoa học gồm hai phần chính:
Phần 1 : Cơ sở lý thuyết
Phần 2 : Thiết kế và thi công
Trong quá trình thực, do kiến thức và tài liệu còn nhiều hạn chế nên sẻ không
tránh được những thiếu sót, vậy kính mong quý thầy cô thông cảm và đóng góp cho
chúng em nhiều ý kiến qúy báu cho hướng phát triển đề tài của chúng em.Chúng em
xin cảm ơn.

GVHD: CAO NGHUYỂN KHOA NAM Trang 4
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN



























GVHD: CAO NGHUYỂN KHOA NAM Trang 5
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
CHƯƠNG II: CƠ SỞ LÝ THUYẾT

2.1 Khảo sát vi điều khiển AT89C51 trong họ vi điều khiển 8051:
2.1.1 Giới thiệu tổng quan về AT89C51
2.1.1.1 Giới thiệu AT89C51
AT89C51 là một hệ vi tính 8 Bit đơn chip CMOS có hiệu suất cao, công suất
nguồn tiêu thụ thấp và có 4 KB bộ nhớ Rom Flash xóa được /lập trình được. Chip này
được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao của
Atmel. Nó cũng tương thích với tập lệnh và các chân ra của chuẩn công nghiệp MCS-
51. Flash trên chip cho phép bộ nhớ chương trình được lập trình lại trên hệ thống hoặc
bằng bộ lập trình không mất nội dung qui ước.
Bằng cách kết hợp một CPU 8 Bit với Flash trên một Chip đơn, ATMEL
AT89C51 là một hệ vi tính 8-bit đơn chip mạnh cho ta một giải pháp có hiệu quả về
chi phí và rất linh hoạt đối với các ứng dụng điều khiển
Các đặc điểm của 8951 được tóm tắt như sau:
• 4 KB ROM
• 2 bộ định thời (timer)/đếm 16 Bit
• 128 Byte RAM .
• 4 Port xuất /nhập (I/O port) 8 bit.
• Mạch giao tiếp nối tiếp.
• Không gian nhớ chương trình ngoài 64K
• Không gian nhớ dữ liệu ngoài 64K
• Bộ xử lý bit (thao tác trên các bit riêng lẻ)
• 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit
• Nhân/chia trong 4µs.
• 32 đường xuất nhập.
2.1.1.2 Sơ đồ khối của AT89C51
Hình 1: Sơ đồ khối của AT89C51
CONTROL : điều khiển ngắt
OTHER REGISTERS : các thanh ghi khác

GVHD: CAO NGHUYỂN KHOA NAM Trang 6

SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
128 byte Ram : Ram 128 byte
TIMER 2, 1, 0 : Bộ định thời 2, 1, 0
CPU : đơn vị điều khiển trung tâm
OSCILLATOR : mạch dao động
BUS CONTROL : điều khiển bus
I/O PORTS : các port xuất/nhập
SERIAL PORT : port nối tiếp
Address/data : địa chỉ/dữ liệu
2.1.2 Khỏa sát sơ đồ chân AT89C51, chức năng từng chân
2.1.2.1 Sơ đồ chân AT89C51
Hình 2: Sơ đồ chân IC AT89C51
2.1.2.2 Chức năng các chân của AT89C51
AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có
24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt
động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus
dữ liệu và bus địa chỉ.
Port 0 là port có 2 chức năng ở các chân 32 – 39 của AT89C51. Trong các thiết
kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO. Đối với
các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ
liệu.

GVHD: CAO NGHUYỂN KHOA NAM Trang 7
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
Port 1: Port 1 là port IO trên các chân 1-8. Các chân được ký hiệu P1.0, P1.1,
P1.2, … có thề dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức

năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài.
Port 2: Port 2 là 1 port có tác dụng kép trên các chân 21- 28 được dùng như
các đường xuất nhập hoặc là byte địa chỉ cao của bus địa chỉ đối với các thiết kế dùng
bộ nhớ mở rộng.
Port 3: Port 3 là port có tác dụng kép trên các chân 10-17. Khi không hoạt
động xuất/nhập các chân của port này có nhiều chức năng:
Bit Tên Chức năng chuyển đổi
P3.0 RXT Ngõ vào dữ liệu nối tiếp.
P3.1 TXD Ngõ xuất dữ liệu nối tiếp.
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
INT0\
INT1\
T0
T1
WR\
RD\
Ngõ vào ngắt cứng thứ 0.
Ngõ vào ngắt cứng thư 1.
Ngõ vào củaTIMER/COUNTER thứ 0.
Ngõ vào củaTIMER/COUNTER thứ 1.
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.
Tín hiệu đọc bộ nhớ dữ liệu ngoài.
Chân cho phép bộ nhớ chương trình (Program store enable):
là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương
trình mở rộng thường được nói đến chân (output enable) của Eprom cho phép đọc

các byte lệnh.
ở mức thấp trong thời gian Microcontroller AT89C51 lấy lệnh. Các mã
lệnh 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 bên trong AT89C51 để giải mã lệnh. Khi AT89C51 thi hành chương trình trong
ROM nội PSEN sẽ ở mức logic 1.
Chân cho phép chốt địa chỉ ALE (Address Latch Enable): Khi AT89C51
truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ/địa chỉ đa hợp. Tín hiệu
ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp bus địa chỉ và bus
dữ liệu.
Khi port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để
chốt địa chỉ (byte thấp của địa chỉ 16 bit) và một thanh ghi ngoài trong suốt ½ đầu của
chu kỳ bộ nhớ. Sau đó các chân port 0 sẽ xuất/nhập dữ liệu hợp lệ trong suốt ½ thứ hai
của chu kỳ bộ nhớ.

GVHD: CAO NGHUYỂN KHOA NAM Trang 8
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
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àm tín hiệu clock cho các phần khác của hệ thống. Chân ALE được dùng
làm xung ngõ vào lập trình cho Eprom trong AT89C51.
 Chân truy xuất ngoài (External Access) :
- Tín hiệu vào ở chân 31 thường được mắt lên mức 1 hoặc mức 0. Nếu ở
mức 1, AT89C51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8
Kbyte. Nếu ở mức 0, 89C51 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\
được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong AT89C51.
Chân RST (Reset):
-Ngõ vào RST ở chân 9 là ngõ vào Reset của AT89C51. Khi ngõ vào tín hiệu
này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá
trị thích hợp để khởi động hệ thống. Khi cấp điện mạch tự động Reset. Chân Reset

hoạt động ở mức tích cực 1.
Các chân XTAL1 và XTAL2:
-Mạch dao động bên trong chip AT89C51 được ghép với thạch anh bên ngoài ở
hai chân XTAL1 và XTAL2. Tần số thạch anh thường sử dụng cho AT89C51 là
11.0952Mhz.
Chân Vcc (40): được nối lên nguồn 5V.
2.1.3 Hoạt động timer của AT89C51
2.1.3.1 Giới Thiệu:
Các Timer của AT89C51 được truy xuất bởi việc dùng 6 thanh ghi chức năng
đặc biệt như sau:
SFR của bộ
định thời
Mục đích Địa chỉ Định địa chỉ bit
TCON Điều khiển 88H CÓ
TMOD Chọn chế độ 89H KHÔNG
TL0 Byte thấp của Timer0 8AH KHÔNG
TL1 Byte thấp của Timer1 8BH KHÔNG
TH0 Byte cao của Timer0 8CH KHÔNG
TH1 Byte cao của Timer1 8DH KHÔNG

GVHD: CAO NGHUYỂN KHOA NAM Trang 9
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
2.1.3.2 Thanh ghi mode timer TMOD (TIMER MODE REGISTER):
Thanh ghi mode gồm hai nhóm 4 bit là: 4 bit thấp đặt mode hoạt động cho
Timer 0 và 4 bit cao đặt mode hoạt động cho Timer 1. 8 bit của thanh ghi TMOD được
tóm tắt như sau:
Bit Name Bộ định
thời

Mô tả
7 GATE 1 Khi GATE = 1, Timer chỉ làm việc khi INTI\=1
6 C/T 1 Bit cho đếm sự kiện hay định thời
C/T = 1 : Đếm sự kiện
C/T = 0 : Định thời
5 M1 1 Bit chọn chế độ thứ nhất
4 M0 1 Bit chọn chế độ thứ hai
3 GATE 0 Bit điều khiển cổng cho Timer 0
2 C/T\ 0 Bit chọn Counter/Timer cho Timer 0
1 M1 0 Bit chọn chế độ thứ nhất
0 M0 0 Bit chọn chế độ thứ hai
• Các chế độ định thời
M1 M0 Chế độ Mô tả
0 0 0 Chế độ định thời 13-bit
0 1 1 Chế độ định thời 16-bit
1 0 2 Mode tự động nạp lại 8 bit
1 1 3 Chế độ định thời chia xẻ :
Timer 0 : TL0 là Timer 8 bit được điều khiển bởi các bit
chọn chế độ của Timer 0. TH0 tương tự nhưng được điều
khiển bởi các bit chọn chế độ của Timer 1.
Bộ định thời 1 : dừng, không hoạt động

GVHD: CAO NGHUYỂN KHOA NAM Trang 10
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
2.1.3.3 Thanh ghi điều khiển định thời TCON (TIMER CONTROL REGISTER):
Thanh ghi TCON bao gồm các bit trạng thái và các bit điều khiển bởi Timer 0 và
Timer 1. Thanh ghi TCON được định địa chỉ bit. Hoạt động của từng bit được tóm tắt
như sau:

Bit Ký hiệu Địa chỉ bit Mô tả
TCON.7 TF1 8FH Cờ tràn Timer 1 được set bởi phần cứng ở sự tràn,
được xóabởi phần mềm hoặc bởi phần cứng khi bộ
vi xử lý trỏ đến trình phục vụ ngắt
TCON.6 TR1 8EH Bit điều khiển hoạt động Timer 1 được set hoặc xóa
bởi phần mềm để hoạt động hoặc ngưng hoạt động
TCON.5 TF0 8DH Cờ tràn Timer 0
TCON.4 TR0 8CH Bit điều khiển hoạt động Timer 0
TCON.3 IE1 8BH Cờ ngắt bên ngoài1(kích khởi cạnh). Cờ này được
set bởi phần cứng khi có cạnh âm xuất hiện trên chân
INTI\,được xoá bởi phần mềm hoặc cứng khi CPU
trỏ đến trình phục vụ ngắt.
TCON.2 IT1 8AH Cờ ngắt bên ngoài 1(kích khởi cạnh hoặc mức) được
set hoặc xóa bằng phần mềm khi xảy ra cạnh âm
hoặc mức thấp tại chân ngắt ngoài
TCON.1 IE0 89H Cờ cạnh ngắt 0 ngoài
TCON.0 IT0 88H Cờ kiểu ngắt 0 ngoài.
2.1.3.4 Các chế độ định thời và cờ tràn (TIMER MODES AND OVERFLOW)
AT89C51 có 2 Timer là Timer 0 và Timer 1. Ta dùng ký hiệu TLx và THx để
chỉ 2 thanh ghi byte thấp và byte cao của Timer 0 hoặc Tmer 1. Bộ định thời có 4 chế
độ hoạt động: chế độ định thời 13 bit (mode 0), chế độ định thời 16 bit (mode 1), chế
độ tự nạp lại 8 bit (mode 2) và chế độ định thời chia xẻ (mode 3). Ở đồ án này ta chỉ sử
dụng bộ định thời 0 ở mode 1 cho ngắt bằng bộ định thời và bộ định thời 1 ở mode 2
cho port nối tiếp.
2.1.4 Hoạt động port nối tiếp
2.1.4.1 Giới thiệu
AT89C51 có một port nối tiếp trong chip có thể hoạt động ở nhiều chế độ trên
một dãy tần số rộng. Chức năng chủ yếu là thực hiện chuyển đổi song song sang nối
tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhập. Các mạch
phần cứng bên ngoài truy xuất port nối tiếp thông qua các chân TxD (P3.1) và RxD

(P3.0).
Port nối tiếp cho hoạt động song công (full duplex: thu và phát đồng thời) và đệm
thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi ký tự
thứ hai được nhận. Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được thu đầy
đủ thì dữ liệu sẽ không bị mất.
Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port nối tiếp
là: SBUF và SCON. Bộ đệm port nối tiếp (SBUF) ở điạ chỉ 99H nhận dữ liệu để thu

GVHD: CAO NGHUYỂN KHOA NAM Trang 11
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
hoặc phát. Thanh ghi điều khiển port nối tiếp (SCON) ở điạ chỉ 98H là thanh ghi có
điạ chỉ bit chứa các bit trạng thái và các bit điều khiển. Các bit điều khiển đặt chế độ
hoạt động cho port nối tiếp, còn các bit trạng thái chỉ ra sự kết thúc phát hoặc thu ký tự
. Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể lập trình để tạo
ngắt.
2.1.4.2 Các thanh ghi và các chế độ hoạt động của port nối tiếp
2.1.4.2.1Thanh ghi điều khiển port nối tiếp
Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độ
port nối tiếp (SCON) ở địa chỉ 98H .Sau đây các bảng tóm tắt thanh ghi SCON và các
chế độ của port nối tiếp:
Bit Ký hiệu Địa chỉ Mô tả
SCON.7
SCON.6
SCON.5
SCON.4
SCON.3
SCON.2
SCON.1

SCON.0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
Bit 0 chọn chế độ port nối tiếp
Bit 1 chọn chế độ port nối tiếp
Bit 2 chọn chế độ port nối tiếp . Cho phép truyền thông
xử lý trong các chế độ 2 và 3, bit RI sẽ không bị tác
động nếu bit thứ 9 thu được là 0
Cho phép thu. Phải được set lên 1 để thu các ký tự
Bit 8 phát, bit thứ 9 được phát trong chế độ 2 và 3, được
set và xóa bằng phần mềm.
Bit 8 thu, bit thứ 9 thu được
Cờ ngắt phát. Được set lên 1 khi kết thúc phát ký tự,
được xóa bằng phần mềm
Cờ ngắt thu. Được set lên 1 khi kết thúc thu ký tự, được
xóa bằng phần mềm

Tóm tắt thanh ghi chế độ port nối tiếp
SM0 SM1 Chế độ Mô tả Tốc độ baud
0

0
1
1
0

1
0
1
0

1
2
3
Thanh ghi dịch
8-bit
UART 8 bit
UART 9 bit
UART 9 bit
Cố định (tần số dao
động /12 )
Thay đổi ( thiết lập bởi Timer )
Cố định (tần số dao động /12 hoặc /
64)
Thay đổi ( thiết lập bởi Timer )
Các chế độ port nối tiếp
Chế độ 1 (UART 8 bit với tốc độ baud thay đổi được):

Ở chế độ 1, port nối tiếp của AT89C51 làm việc như một bộ thu phát không đồng
bộ (universal asynchronous receiver transmitter) UART 8 bit với tốc độ baud thay đổi
được. Một UART là một bộ thu phát dữ liệu nối tiếp với mỗi ký tự dữ liệu đi trước là
bit start ở mức thấp và theo sau bit stop ở mức cao. Đôi khi xen thêm bit kiểm tra chẵn
lẻ giữa bit dữ liệu cuối cùng và bit stop. Hoạt động chủ yếu của UART là chuyển đổi

GVHD: CAO NGHUYỂN KHOA NAM Trang 12
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
dữ liệu phát từ song song thành nối tiếp và chuyển đổi dữ liệu thu từ nối tiếp thành
song song.
Ở chế độ 1, 10 bit được phát trên TXD hoặc thu trên RXD. Những bit đó là: 1 bit
start (luôn luôn là 0), 8 bit dữ liệu (LSB đầu tiên) và 1 bit stop (luôn luôn là 1). Với
hoạt động thu, bit stop được đưa vào RB8 trong SCON. Trong AT89C51 chế độ baud
được đặt bằng tốc độ tràn của Timer 1.
Tạo xung nhịp và đồng bộ hóa các thanh ghi dịch của port nối tiếp trong các chế
độ 1,2 và 3 được thiết lập bằng bộ đếm16 ngõ ra là xung clock tốc độ baud. Ngõ vào
của bộ đếm này được chọn qua phần mềm
Việc phát được khởi động bằng cách ghi vào SBUF nhưng việc phát không thực
sự bắt đầu cho đến lần tràn kế của bộ đếm 16, bộ đếm cung cấp tốc độ baud cho port
nối tiếp. Dữ liệu được dịch bit để được xuất ra trên đường TxD sẽ bắt đầu bằng bit
start, tiếp theo là 8 bit dữ liệu rồi đến bit stop. Thời gian của mỗi một bit là giá trị
nghịch đảo của tốc độ baud, tốc độ baud có được bằng cách lập trình cho bộ định thời.
Cờ ngắt phát TI được set bằng 1 ngay khi bit stop xuất hiện trên đường TxD
Việc nhận được khởi động bởi một chuyển trạng thái từ 1 xuống 0 trên đường
RxD (bắt đầu bit start). Bộ đếm 16 ngay lập tức được xoá để gán các số đếm cho dòng
bit đến chân RxD (bit kế tiếp đến khi bộ đếm tràn lần nữa và v.v ). Dòng bit đến
được lấy mẫu ở giữa 16 số đếm.
Bộ thu bao gồm việc phát hiện bit start sai bằng cách yêu cầu 8 số đếm ở trạng

thái 0 sau khi có sự chuyển trạng thái từ 1 xuống 0 lần đầu tiên. Nếu điều này không
xảy ra, bộ thu được giả sử rằng đã được nhận được nhiễu thay vì là nhận một bit hợp
lệ. Bộ thu sẽ được thiết lập lại quay về trạng thái nghỉ và chờ sự chuyển trạng thái từ 1
xuống 0 kế. Giả sử bit start hợp lệ được phát hiện, việc nhận ký tự sẽ tiếp tục. Bit start
được bỏ qua và 8 bit dữ liệu được nhận tuần tự vào thanh ghi dịch bit của port nối tiếp.
Khi cả 8 bit được nhận, các điều sau sẽ xảy ra:
• Bit thứ 9 (bit stop) được đưa đến bit RB8 trong thanh ghi SCON.
• 8 bit dữ liệu được nạp vào SBUF.
• Cờ ngắt thu RI được set
Tuy nhiên các điều trên chỉ xảy ra nếu các điều kiện sau tồn tại:
• RI =0
• SM2=1 và bit stop nhận được là bit 1, hoặc SM2=0
Khởi động và truy xuất các thanh ghi cổng nối tiếp:


Cho Phép Thu
- Bit cho phép bộ thu (REN=Receiver Enable) Trong SCON phải được đặt lên
1 bằng phần mềm để cho phép thu các ký tự thông thường thực hiện việc này ở đầu
chương trình khi khởi động cổng nối tiếp, timer …
♦Các cờ ngắt:

GVHD: CAO NGHUYỂN KHOA NAM Trang 13
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
- Hai cờ ngắt thu và phát (RI và TI) trong SCON đóng một vai trò quan
trọng trong truyền thông nối tiếp dùng 8951/8051. Cả hai bit được đặt lên 1 bằng phần
cứng, nhưng phải được xoá bằng phần mềm.
2.1.4.2 Tốc độ baud port nối tiếp
Các nguồn tạo xung nhịp cho port nối tiếp

Mặc nhiên sau khi reset hệ thống, tốc độ baud chế độ 2 là tần số bộ dao động
chia cho 64, tốc độ baud cũng bị ảnh hưởng bởi 1 bit trong thanh ghi điều khiển nguồn
cung cấp (PCON) bit 7 của PCON là bit SMOD. Đặt bit SMOD lên 1 làm gấp đôi tốc
độ baud trong các chế độ 1, 2 và 3. Trong chế độ 2, tốc độ baud có thể bị gấp đôi từ
giá trị mặc nhiên của 1/64 tần số dao động (SMOD=0) đến 1/32 tần số dao động
(SMOD=1)
Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn của
timer 1. Vì timer hoạt động ở tần số tương đối cao, tràn timer được chia thêm cho 32
(hoặc 16 nếu SMOD =1 ) trước khi cung cấp tốc độ xung nhịp cho port nối tiếp.
♦ Sử dụng bộ định thời 1 làm xung clock tốc độ baud:
Kỹ thuật thường dùng để tạo xung clock tốc độ baud là khởi động thanh ghi
TMOD ở chế độ tự nạp lại 8 bit và đặt giá trị nạp lại thích hợp vào thanh ghi TH1 để
có tốc độ tràn đúng, từ đó tạo ra tốc độ baud.
Ngoài ra, các tốc độ baud rất chậm có thể nhận được bằng cách sử dụng chế độ
16 bit, chế độ định thời 2 với TMOD=0001xxxxB. Tuy nhiên các giá trị TH1/TL1 phải
được khởi động lại sau mỗi lần tràn. Một lựa chọn khác là cung cấp xung clock bên
ngoài cho bộ định thời 1 bằng cách sử dụng ngõ vào T1(P3.5). Dù là lựa chọn nào, tốc
độ baud cũng bằng tốc độ tràn của bộ định thời 1 chia cho 32 (hoặc chỉ cho 16 nếu
SMOD=1).
Do vậy, công thức dùng để xác định tốc độ baud ở các chế độ 1 và 3 là:
Các tốc độ baud chính xác có thể nhận được bằng cách sử dụng thach anh
11.0592 MHz cho mạch dao động chip.

GVHD: CAO NGHUYỂN KHOA NAM Trang 14
SVTH : TRƯƠNG VĂN TIỂN
Tốc độ baud= tốc độ trên bộ định thời 1 chia cho 32
÷ 32
÷ 16
Xung clock tốc
Độ baud

SMOD=1
SMOD=0
Dao động
trên chip
Các nguồn xung clock cho port nối tiếp chế độ 1 và 3
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
2.1.5 Hoạt động ngắt
Ngắt là hoạt động ngừng tạm thời một chương trình này để phục vụ một
chương trình khác.
2.1.5.1 Tổ chức ngắt
AT89C51 có 5 nguyên nhân tạo ra ngắt:
- 2 ngắt ngoài.
- 2 ngắt từ timer.
- 1 ngắt port nối tiếp.
Tất cả các ngắt sẽ không được đặt sau khi reset hệ thống và cho phép ngắt riêng rẽ
bởi phần mềm.
2.1.5.2 Các ngắt của AT89C51
AT89C51 gồm có các ngắt: ngắt do bộ định thời, ngắt do cổng nối tiếp, ngắt
ngoài. Tuy nhiên trong phạm vi đồ án này áp dụng ngắt do bộ định thời
Ngắt bằng bộ định thời: Các ngắt timer có địa chỉ Vector ngắt là 000BH (timer
0) và 001BH (timer 1). Ngắt timer xảy ra khi các thanh ghi timer (TLx/THx) tràn và
set cờ báo tràn (TFx) lên 1. Các cờ timer (TFx) không bị xóa bằng phần mềm. Khi cho
phép các ngắt, TFx tự động bị xóa bằng phần cứng khi CPU chuyển đến ngắt.
Các ngắt cổng nổi tiếp: Ngắt cổng nối tiếp xảy ra khi cờ phát hoặc cờ ngắt được
đặt lên 1. Ngắt phát xảy ra khi một kí tự đã được nhận xong và đang đợi trong SBUP
để được đọc.
Các ngắt nối tiếp khác với các ngắt Timer. Cờ gây ra ngắt cổng nối tiếp không
bị xóa bằng phần cứng khi CPU chuyển tới ngắt. Do có 2 nguồn ngắt cổng nối tiếp Ti
và Ri. Nguồn ngắt phải được xác định trong ISR và tạo ngắt sẽ được xóa bằng phần

mềm. Các ngắt Timer cờ ngắt được xóa bằng phần cứng khi CPU hướng tới ISR.
Các ngắt ngoài: Các ngắt xảy ra khi có một mức thấp hoặc cạnh xuống trên
chân INT0 hoặc INT1 của vi điều khiển. Đây là chức năng chuyển đổi của các bít P3.2
và P3.3.
Các cờ tạo ngắt này là các bít IE0 và IE1 trong TCON. Khi quyền điều khiển đã
chuyển đến ISR, cờ tạo ra ngắt chỉ được xóa nếu ngắt được tích cực bằng cạnh xuống.
Nếu ngắt được tích cực theo mức, thì nguồn yêu cầu ngắt bên ngoài sẽ điều khiển mức
của cờ thay cho phần cứng.
2.2 Phương thức truyền thông nối tiếp
2.2.1 Cơ sở của truyền tin nối tiếp
Các máy tính truyền dữ liệu theo hai cách : Song song và nối tiếp .Trong truyền dữ
liệu song song thường cần 8 hoặc nhiều đường dây dẫn để truyền dữ liệu đến một thiết
bị chỉ cách xa vài bước .Ví dụ như truyền dữ liệu song song của máy in và ổ đĩa
cứng .Phương pháp này cho phép truyền dữ liệu với tốc độ cao nhờ dùng nhiều dây
dẫn để truyền dữ liệu đồng thời,nhưng khoảng cách truyền thì bị hạn chế.Để truyền dữ

GVHD: CAO NGHUYỂN KHOA NAM Trang 15
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
liệu đi xa thì sử dụng phương pháp truyền nối tiếp.Phương pháp này truyền dữ liệu
theo từng bít một.
Khi bộ vi xử lý truyền tin với thế giới bên ngoài thì nó cấp dữ liệu dưới dạng từng
byte (8 bit) một.Trong một số trường hợp ,chẳng hạn như máy in ,thì thông tin được
lấy từ dữ liệu 8 bit của máy tính và gửi tới bus dữ liệu 8 bit của máy in.Phương pháp
này chỉ thực hiện khi đường cáp không quá dài vì nếu cáp quá dài thì sẻ làm suy giãm
thậm chí làm méo tín hiệu.Ngoài ra ,đường 8 bit dữ liệu giá thành cao.Vì những lý do
đó,trong trường hợp hai hệ thống ở cách xa nhau hàng trăm đến hàng triệu kilomet thì
người ta sử dụng truyền thông nối tiếp. Hình2.2.1 so sánh hai phương pháp truyền tin
nói trên :

Hình 3: Truyền tin dữ liệu song song và nối tiếp.
Để truyền tin nối tiếp ,người ta sử dụng một đường dữ liệu thay bus dữ liệu 8
bit của truyền song song,nhờ vậy không chỉ làm giá thành hạ hơn nhiều mà còn mở ra
một khả năng để hai máy tính ở cách rất xa nhau vẩn có thể truyền thông với nhau qua
đường điện thoại .
Để tổ chức truyền tin nối tiếp,trước hết byte dữ liệu được chuyển thành các bit
nối tiếp nhờ thanh ghi dịch ‘vào song song – ra nối tiếp’.Tiếp theo ,dữ liệu được
truyền qua một đường dữ liệu đơn .Như vậy ,ở đầu thu cũng phải có một thanh ghi
dich ‘vào nối tiếp – ra song song ’ để nhận dữ liệu nối tiếp và sau đó gói chúng thành
từng byte một.Tất nhiên,nếu dữ liệu được truyền qua đường điện thoại thì cần được
chuyển đổi từ các số 0 và 1 sang tín hiệu âm thanh ở dạng sóng hình sin.Việc chuyển
đổi này do một thiết bị có tên gọi là Bộ điều chê/Giải điều chê.
Modem(Modulator-demodulator)thực hiện: Khi cự ly truyền ngắn thì tín hiệu số
có thể được truyền, như giới thiệu ở trên bằng một dây dẫn và không cần điều chế.Đây
cũng chính là phương pháp mà bàn phim IBM-PC cũng như các máy tinh tương thích
vẫn sử dụng để truyền dữ liệu đến bảng mạch chinh.Tuy nhiên ,để truyền dữ liệu di xa
qua các đường truyền chẵng hạn như đường truyền điện thoại thì truyền dữ liệu nối
tiếp yêu cầu một modem để điều chế (chuyển mã nhị phân về tín hiệu âm thanh) và sau
đó giải điều chế (chuyển tín hiệu âm thành về mã nhị phân).

GVHD: CAO NGHUYỂN KHOA NAM Trang 16
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
Hình 4: Các chế độ thu phát dữ liệu
Truyền tin nối tiếp có hai phương pháp :đồng bộ và dị bộ .Phương pháp đồng
bộ chuyển một lần một khối dữ liệu (các ký tự),còn phương pháp không đồng bộ chỉ
truyền từng byte một.Có thể viết phần mềm để sử dụng một trong hai phương pháp
truyền này .Tuy nhiên ,chương trinh máy tính dạng này thường rất dài và buồn tẻ.Vì lý
do đó mà nhiều nhà sản xuất đã cho ra thị trường các loại IC chuyên dùng phục vụ cho

truyền dữ liệu nối tiếp .Những IC này dùng làm các bộ thu phát không đồng bộ tổng
hợp UART(Universal Asynchronous Receiver Transmitter) và các bộ thu phát đồng –
dị bộ tổng hợp USART (Universal Synchronous-Asynchronous Receiver
Transmitter).Bộ điều khiển 8051 được xây dựng sẵn một bộ UART .
2.2.1.1 Truyền dữ liệu bán song cong và song công hoàn toàn
Nếu trong quá trình truyền ,dữ liệu vừa có thế phát vừa có thể thu thì gọi là
truyền song công.Trái với truyền đơn công (như máy in chẳng hạn) máy tính chỉ phát
dữ liệu.Truyền Song công có hai dạng: Song công hoàn toàn(còn gọi là song công)
hay Bán song công tùy thuộc vào việc truyền dữ liệu có đồng thời hay không. Nếu tại
một thời đểm dữ liệu chỉ truyền một chiều thì được gọi là Bán song công .Còn trường
hợp dữ liệu được truyền cả hai chiều đồng thời thì gọi là Song công hoàn toàn. Như
vậy, ở chế độ song song hoàn toàn, để truyền được 2 chiều đồng thời thì cần 2 đường
dữ liệu ,một đường để phát còn đường kia để thu.
2.2.1.2 Truyền thông nối tiếp không đồng bộ và định khung dữ liệu
Dữ liệu tới đầu thu của đường truyền nối tiếp là tín hiêu 0 và 1.Việc xác định
nội dung của dữ liệu sẻ khó khăn nếu giữa hai đầu phát và đầu thu không có một quy
tắc thống nhất còn được gọi là Giao thức(Protocol)như: dữ liệu được sắp xếp như thê
nào,có bao nhiêu bit tạo thành một kí tự ,khi nào bắt đầu và khi nào kết thúc dữ liệu.
Bit khởi động và bit dừng
Truyền tin nối tiếp không đồng bộ được sử dụng rộng rải truyền ký tự, còn
truyền dữ liệu định hướng khối sử dụng phương pháp đồng bộ. Ở phương pháp không
đồng bộ, mổi ký tự được bố trí vào giữa bit khởi động và bít dừng. Người ta gọi cách
thức này là định khung. Như vậy, đối với truyền tin không đồng bộ, đê định khung, dữ

GVHD: CAO NGHUYỂN KHOA NAM Trang 17
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
liệu ký tự được nén giữa bít khởi động và bít dừng. Bít khởi động luôn chỉ có một bit,
còn bit dừng có thể có 1 hoặc 2 bit. Bit khởi động luôn có giá trị 0 (mức thấp), còn bit

dừng thì có giá trị 1(mức cao). Ví dụ xem hình 4 trong đó kí tự “A” ASCII có mã nhị
phân là 0100 0001, được định khung giữa 1 bit khởi động và 2 bit dừng. Ở đây là bít
trọng số thấp LSB được gửi đi trước.
Hình 5 : Định khung ký tự “A”(mã ASCII -41h)
Ở hình trên, khi không truyền thì tín hiệu là 1, gọi là dấu (Mark).Tín hiệu 0
được gọi là khoảng trống (space). Trình tự truyền bắt đầu với bit Start, tiếp theo là bit
D0,bit LSB,tiếp theo nữa là các bit còn lại cho đến bit có trọng số lớn nhất MSB là D7,
và cuối cùng là bit dừng để báo rằng đã kết thúc ký tự “A”.
Trong truyền tin nối tiếp không đồng bộ, các thiết bị ngoại vi và modem được
lập trình để có độ dài dữ liệu là 7 bit ,hiện nay ký tự ASCII mở rộng có 8 bit. Trong
một số hệ thống trước đây, do thiết bị thu không nhanh nên cần sử dụng 2 bit dừng để
thiết bị có đủ thời gian cho truyền byte tiếp theo.Tuy nhiên , trong máy PC hiện đại sử
dung phổ biến 1 bit dừng.
Giả sử chúng ta truyền một tệp văn bản ký tự ASCII sử dụng 1 bit dừng thì ra
có tổng cộng 10 bit cho mổi ký tự gồm : 8 bit kí tự ASCII chuẩn, 1 bit khởi động và 1
bit dừng. Do đó, cứ 8 bit ký tự thì có thêm 2 bit, chiếm 25% tổng phí.
Ở một số hệ thống nhằm tăng khả năng bảo toàn dữ liệu, người ta còn thêm vào
khung dữ liệu 1 bit bậc (hay còn gọi là bit chẵn lẻ). Bít bậc có thể bậc chẵn hoặc lẻ. Bít
bậc lẻ có tống số 1 của các bit dữ liệu cùng với bit bậc là lẻ.Tương tự ,bít bậc chẵn là
khi tổng các số 1 của các bit dữ liệu cùng với bit bậc là chẵn.Với ký tự “A” mã ASCII
là 0100 0001 thì bít bậc chẵn sẻ có giá trì là 0 vì tổng các sổ 1 là 2. Chip UART cho
phép lập trình bit bậc với các tùy chon chẵn, lẻ hoặc không có bit bậc. Trong hệ thông
có bit bậc, thì bit này được gửi đi sau bit MSB và trước bit dừng.
2.2.1.3 Tốc độ truyền dữ liệu
Tốc độ truyền tin nối tiếp được tính bằng bit/giây (Bit per second). Một thuật
ngữ khác cũng thường được sử dụng là Baud. Tuy nhiên, khái niệm bps và baud không
hoàn toàn giống nhau. Baud là đơn vị đo dung modem và được đinh nghĩa là số lần
thay đổi tín hiệu trong một giây. Đối với modem, mổi lần thay đổi tín hiệu có thể
truyền được nhiều bit dữ liệu. Còn đối với đường truyền thì tốc độ baud và bps là một.
Tốc độ truyền dữ liệu của từng máy tính phụ thuộc vào cổng truyền tin của hệ

máy đó. Ví dụ các máy tính PC/XT của IBM trước kia có thể truyền dữ liệu với tốc độ

GVHD: CAO NGHUYỂN KHOA NAM Trang 18
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
từ 100 đén 9600 bps. Tuy nhiên trong những năm gần đây, tốc độ của các máy PC dựa
trên Pentium đã đạt tốc độ truyền dữ liệu rất cao, lên tới 56 Kbps. Cần phải nói thêm
rằng đối với truyền dữ liệu nối tiếp không đồng bộ thì tốc độ bị hạn chế đến 100 Kbps.
2.2.2 Các chuẩn truyền thông nối tiếp
2.2.2.1 Chuẩn RS232
Tại sao phải quy định chuẩn? Để các thiêt bị máy in, máy tính vi điều khiển,
rôbôt gọi chung là các thiết bị thu phát có thể làm việc hiệu quả và không gặp rắc rối
khi làm việc phối hợp từ lâu người ta đặt ra các tiêu chuẩn (VD như tiêu chuẩn tốc độ
truyền, cách kiểm soát lỗi trong quá trình truyền, mức điện áp khi truyền) cho các cổng
vào ra tín hiệu của các thiết bị. RS-232 là một trong những chuẩn đó.Chuẩn này ra đời
1962(bởi EIA)
Tín hiệu truyền theo chuẩn RS-232 của EIA (Electronics Industry Associations).
Chuẩn RS-232 quy định mức logic 1 ứng với điện áp từ -3V đến -25V (mark), mức logic 0
ứng với điện áp từ 3V đến 25V (space) và có khả năng cung cấp dòng từ 10 mA đến 20 mA.
Ngoài ra, tất cả các ngõ ra đều có đặc tính chống chập mạch. Chuẩn RS-232 cho phép truyền
tín hiệu với tốc độ đến 20.000 bps nhưng nếu cáp truyền đủ ngắn có thể lên đến 115.200 bps.
Chuẩ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. Các cổng của RS – 232 có
ngưỡng điện áp qui ước là -15V (volt) tới -3V , và 3V tới 15V (hoặc -5V, +5V, sự
khác biệt giữa hai giá trị 3, và 5V này được gọi là noise magin - biên độ dao động của
nhiễu).
• Tín hiệu có áp lớn +3V được coi có logic 0 hoặc có giá trị cao (H)
• Tín hiệu có áp nhỏ hơn –3V được coi có logic 1 hoặc giá trị thấp (L).
• Điện áp từ -3V tới +3V không có ý nghĩa.

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 (chiều dài cho phép 30 – 50 m).

GVHD: CAO NGHUYỂN KHOA NAM Trang 19
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
2.2.2.1.1Các đặc tính kỹ thuật của chuẩn RS-232
Chiều dài cable cực đại 15m Tốc độ dữ liệu cực đại 20 Kbps. Điện áp ngõ ra cực đại ±
25V. Trở kháng tải 3K đến 7K. Điện áp ngõ vào ± 15V. Độ nhạy ngõ vào ± 3V. Trở
kháng ngõ vào 3K đến 7K cổng nối tiếp là:1200 bps, 4800 bps, 9600 bps và 19200
bps.
2.2.2.1.2 Chế độ làm việc của hệ thống RS-232
Là 2 chiều toàn phần, tức là 2 thiết bị tham gia thu và phát cùng một chu kì
.Như vậy việc thực hiện truyền thông cần tối thiểu 3 dây dẫn trong đó 2 dây tín hiệu
nối chéo với cổng đầu thu phát của 2 chạm và một dây đât với cấu hình tối thiểu
này,việc đảm bảo độ an toàn truyền dẫn thuộc về trách nhiệm phần mềm.RS-232 có
một ưu điểm cụ thể sử dụng công suất phát ra tương đối thấp,nhờ trở kháng đầu vào
hạn chế trong phạm vi từ 3-7Kohm.Trong các rơle số thường dùng loai giắc cắm 9
chân và 25 chân.Chuẩn RS-232 quy định mức áp,tốc độ truyền và chức năng các chân
của giắc.
2.2.2.1.3 Các đường dữ liệu của chuẩn RS-232:
TxD: Dữ liệu được truyền đi từ Modem trên mạng điện thoại.
RxD: Dữ liệu được thu bởi Modem trên mạng điện thoại.
Hình 6: Các chân và đường dẫn
Phích cắm COM có tổng cộng 8 đường dẫn, chưa kể đến đường nối đất. Trên thực tế

có hai loại phích cắm, một loại 9 chân và một loại 25 chân. Cả hai loại này đều có
chung một đặc điểm.
Việc truyền dữ liệu xảy ra ở trên hai đường dẫn. Qua chân cắm ra TXD máy tính gởi
dữ liệu của nó đến KIT Vi điều khiển. Trong khi đó các dữ liệu mà máy tính nhận
được, lại được dẫn đến chân RXD các tín hiệu khác đóng vai trò như là tín hiệu hổ trợ
khi trao đổi thông tin, và vì thế không phải trong mọi trường hợp ứng dụng đều dùng
hết.
Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200 bps, 4800 bps,
9600 bps và 19200 bps
2.2.2.1.3 Truyền thông 2 nút.
Các sơ đồ khi kết nối dùng cổng nối tiếp:

GVHD: CAO NGHUYỂN KHOA NAM Trang 20
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
Hình 7: Sơ đồ kết nối đơn giản trong truyền thông nối tiếp
Khi thực hiện kết nối như trên, quá trình truyền phải bảo đảm tốc độ ở đầu phát và
thu giống nhau. Khi có dữ liệu đến DTE, dữ liệu này sẽ được đưa vào bộ đệm và tạo
ngắt.
Ngoài ra, khi thực hiện kết nối giữa hai DTE, ta còn dùng sơ đồ sau:
DTE1 DTE2

Hình 8: Sơ đồ kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay
Khi DTE1 cần truyền dữ liệu thì cho DTR tích cực tác động lên DSR của DTE2
cho biết sẵn sàng nhận dữ liệu và cho biết đã nhận được sóng mang của MODEM (ảo).
Sau đó, DTE1 tích cực chân RTS để tác động đến chân CTS của DTE2 cho biết DTE1
có thể nhận dữ liệu. Khi thực hiện kết nối giữa DTE và DCE, do tốc độ truyền khác
nhau nên phải thực hiện điều khiển lưu lượng. Quá trinh điều khiển này có thể thực
hiện bằng phần mềm hay phần cứng. Quá trình điều khiển bằng phần mềm thực hiện

bằng hai ký tự Xon và Xoff.
Ký tự Xon được DCE gởi đi khi rảnh (có thể nhận dữ liệu). Nếu DCE bận thì sẽ
gởi ký tự Xoff. Quá trình điều khiển bằng phần cứng dùng hai chân RTS và CTS. Nếu
DTE muốn truyền dữ liệu thì sẽ gởi RTS để yêu cầu truyền, DCE nếu có khả năng
nhận dữ liệu (đang rảnh) thì gởi lại CTS.

GVHD: CAO NGHUYỂN KHOA NAM Trang 21
SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
2.2.2.1.4 Giới thiệu vi mạch giao tiếp MAX 232.
Vì tín hiệu cổng COM thường ở mức +12V, -12V nên không tương thích với
điện áp TTL nên để giao tiếp KIT Vi điều khiển 8051 với máy tính qua cổng COM ta
phải qua một vi mạch biến đổi điện áp cho phù hợp với mức TTL, ta chọn vi mạch
MAX232 để thực hiện việc tương thích điện áp.
Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao
diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành
mức +10V hoặc –10V ở phía truyền và các mức +3…+15V hoặc -3…-15V thành mức
TTL ở phía nhận.
Hình 9: Sơ đồ chân Max 232
Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đường dẫn điều khiển lối
vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối với
chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch MAX) nối với
đường dẫn bắt tay để điều khiển quá trình nhận. Thường thì các đường dẫn bắt tay
được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa có thể hở mạch
các cầu này. Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba đường dẫn TxD, RxD và
GND.

GVHD: CAO NGHUYỂN KHOA NAM Trang 22
SVTH : TRƯƠNG VĂN TIỂN

ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
2.2.2.2 Chuẩn RS-485
Ta nhận thấy chuẩn RS-232 chỉ cho
phép ghép nối một-một, do đó không thể áp
dụng cho mạng cần thiết kế. Việc chọn một
chuẩn truyền thông khác là cần thiết, và sử
dụng Chuẩn RS-485 là chọn lựa hợp lí.
Mạng sử dụng chuẩn RS-485 rất đa
dạng: ta có thể ghép nối các PC với nhau,
hoặc giữa PC với các Vi xử lí, hoặc bất kì
thiết bi truyền thông nối tiếp bất đồng bộ
nào. Khi so sánh với Ethernet và những giao
diện truyền thông theo những chuẩn khác thì
giao diện RS-485 đơn giản và giá thành thấp
hơn nhiều.
Đối với một mạng Multi-network thực sự gồm nhiều mạch phát và nhận cùng nối
vào một đường dây bus chung, mỗi node đều co thể phát và nhận data thì RS485 đáp
ứng cho yêu cầu này. Chuẩn RS-485 cho phép 32 mạch truyền và nhận cùng nối vào
đường dây bus (với bộ lặp Repeater tự động và các bộ truyền nhận trở kháng cao,giới
hạnh này có thể mở rộng lên đến 256 node mạng). Bên cạnh đó RS-485 còn có thể
chịu được các xung đột data và các điều kiện lỗi trên đường truyền.
2.2.2.2.1 Một số ưu điểm của RS-485
Giá thành thấp: Các bộ điều khiển Driver và bộ nhận Receiver không đắt
và chỉ yêu cầu cung cấp nguồn đơn +5V để tạo ra mức điện áp vi sai tối thiểu 1.5V ở
ngõ ra vi sai.
Khả năng nối mạng: RS-485 là một giao diện đa điểm, thay vì giới hạn ở hai
đơn vị, RS-485 là giao diện có thể cung cấp cho việc kết nối có nhiều bộ truyền
và nhận. Với bộ nhận có trở kháng cao kết hợp với bộ repeater, RS-485 có thể cho kết
nối lên đến 256 node.

Khả năng kết nối: RS-485 có thể truyền xa 1200m, tốc độ lên đến 10Mbps.
Nhưng 2 thông số này không xảy ra cùng lúc. Khi tốc độ truyền tăng thì tốcđộ baud
giảm. Ví dụ: khi tốc độ là 90Kbps thì khoảng cách là 1200m, 1Mbps thì khoảng cách
là 120m, còn tốc độ 10Mbps thì khoảng cách lá 15m.
Sở dĩ, RS-485 có thể truyền trên một khoảng cách lớn là do chúng sử dụng
đường truyền cân bằng. Mỗi một tín hiệu sẽ truyền trên một cặp dây, với mức điện áp
trên một dây là điện áp bù (trái dâú ) với điện áp trên dây kia. Receiver sẽ đáp ứng
phần hiệu giữa các mức điện áp.Một thuật ngữ khác của đường truyền tín hiệu dạng
này là vi sai tín hiệu.
Khi thực hiện trao đổi thông tin ở tốc độ cao, hoặc qua một khoảng cách lớn
trong môi trường thực, phương pháp đơn cực (single-ended) thường không thích hợp.
Việc truyền dẫn dữ liệu vi sai (hay tín hiệu vi sai cân bằng) cho kết quả tốt hơn trong

GVHD: CAO NGHUYỂN KHOA NAM Trang 23
SVTH : TRƯƠNG VĂN TIỂN
Hình 10 : Cổng kết nối RS485
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
phần lớn trường hợp. Tín hiệu vi sai có thể loại bỏ ảnh hưởng do sự thay đổi khi nối
đất và giảm nhiễu có thể xuất hiện như điện áp chung trên mạng. Khi đường dây qua
môi trường nhiễu, nhiễu tác động lên hai dây là như nhau. Vì Receiver nhận tín hiệu
bằng cách lấy chênh lệch áp giữa hai đường dây (vi sai), nên nhiễu được tự động triệt
tiêu. Ngược lại, RS-232 dùng dây bất cân bằng hay đơn cực, bộ nhận đáp ứng theo sự
khác biệt mức điện áp tín hiệu và đường dây đất dùng chung (một giao diện bất cân
bằng có thể có nhiều dây đất nhưng tất cả đều được nối lại với nhau). Do đó tín hiệu
nhận được ở Receiver là tín hiệu từ bộ Transmitter cộng với nhiễu và sụt áp trên
đường dây, điều này có thể làm cho dữ liệu mà Receiver đọc được bị sai lệch.
Một thuận lợi khác trên đường dây cân bằng là chúng tránh được (trong một
giới hạnh nào đó) sự chênh lệch điện thế trên dây đất giữa bộ truyền và bộ nhận.
Trong một liên kết dài, điện thế đất giữa bộ truyền và bộ nhận có thể chênh lệch nhau.

Đối vối đường dây bất cân bằng, điều này có thể làm bộ nhận đọc sai tín hiệu vào,
nhưng đối với đường dây cân bằng, sự chênh lệch này không ảnh hưởng gì bởi bộ
nhận chỉ phân biệt mức logic trên đầu vào dựa vào sự khác biệt giữa hai dây tín hiệu.
Trên thực tế các linh kiện RS-485 chỉ chịu được sự chênh lệch điện áp giữa
các đất trong giới hạn chỉ định trong Datasheet. Một cách khác để khử hoặc giảm vấn
đề điện áp đất này là cách ly đường kết nối để điện thế đất của bộ truyền và bộ nhận
không bị ảnh hưởng lẫn nhau.
Vì có khả năng chống nhiễu tốt như vậy nên chuẩn RS-485 có khả năng truyền
dữ liệu trên một khoảng cách xa. Chuẩn TIA/EIA-485 gọi hai đường dây vi sai là A và
B. Tại bộ truyền tín hiệu vào có mức logic TTL cao sẽ làm cho mức áp trên dây A
dương hơn trên dây B, và mức logic thấp sẽ làm cho điện áp trên dây B dương hơn dây
A. Tại bộ nhận, nếu mức áp trên dây A dương hơn dây B thì mức logic TTL sẽ xuất ra
là cao, ngược lại là thấp.
Tại bộ nhận RS-485, tầm vi sai đầu vào A và B chỉ cần trên 0.2V (tức 200mV).
Nếu áp tại A lớn hơn B 0.2V thì bộ nhận sẽ hiểu đây là mức logic 1, ngược lại sẽ hiểu
là mức logic 0. Nếu chênh lệch giữa A và B nhỏ hơn 0.2V, mức logic sẽ không được
xác định. Sự khác nhau về yêu cầu điện áp tại bộ truyền và bộ nhận tạo ra độ giới hạn
nhiễu khoảng 1.3V, tín hiệu vi sai có thể méo dạng hoặc có xung nhiễu bằng 1.3V và
tạo bộ nhận vẫn nhận được đúng mức logic. Giới hạn nhiễu này tuy nhỏ hơn so với
RS-232 nhưng ta nên nhớ rằng tín hiệu vi sai của RS-485 đã được triệt tiêu phần lớn
nhiễu từ khi mới bắt đầu.
2.2.2.2.2 Mạng truyền nhận RS-485.
Mạng RS-485 được thiết kế dựa trên giao thức chủ–tớ, hoạt động dựa vào
chân điều khiển RTS. Chân RTS có nhiệm vụ cho một node của mạng được phép
truyền hoặc nhận. Điều này làm cho mạng có thể dễ dàng tránh được sự xung đột
đường truyền
Khi thực hiện nhận, RTS được đưa xuống mức thấp nên chân 12 của Max 232
lên mức cao (+5V). Trong khi đó, chân 9 lại ở mức cao và chân 14 mang áp âm (do

GVHD: CAO NGHUYỂN KHOA NAM Trang 24

SVTH : TRƯƠNG VĂN TIỂN
ĐỒ ÁN TỐT NGHIỆP KHẢO SÁT VÀ THIẾT KẾ HỆ THỐNG XẾP HÀNG THÔNG
MINH
chân 11 luôn ở mức cao), điều này làm Led D4 và cả Led D5 bị phân cực ngược nên
không sáng. Lúc này dữ liệu vẫn chưa được truyền đến nên chân 22 luôn ở mức cao
nên cả hai Led vẫn chưa sáng. Khi dữ liệu đang được nhận, chân 11 luôn ở mức thấp
tại bất cứ bit 0 nào, lúc đó chân 14 sẽ ở mức cao (+12V). Chênh lệch áp giữa hai đầu
D4 (giữa 12V và 5V) làm D4 sáng. Do đó Led D4 được dùng để chỉ rằng node này của
mạng trong trạng thái đang nhận dữ liệu.
Như đã nói ở trên, khi RTS (chân số 7 của cổng Com) ở mức cao thì chân 12
của Max 232 ở mức thấp, do đó việc chuyển đổi để chân 12 của Max 232 thành mức
cao là cần thiết để thuận lợi cho việc lập trình điều khiển. Trong mạch thực hiện (mạch
thi công ), khi chân RTS ở mức cao (+12V) thì D2 và D1 đều dẫn. Lúc đó áp ở anode
của D1 sẽ bằng áp ở cathode và bằng Vcc=5V. Do đóĠ/DE ở mức cao (5V). Khi RTS
ở mức thấp thì D1 và D2 không dẫn, trong khi đó D3 dẫn làm cho áp ởĠ/DE bằng 0V
(GND).
2.2.2.2.2.1 Mạch Chuyển đổi RS-485 sang TTL và ngượclại.
Hình 11: Sơ đồ của IC SN75176B.
SN75176B thực hiện việc chuyển đổi từ RS-485 sang TTL và ngược lại, cho
nên việc chuyển đổi từ TTL sang RS-485 và ngược lại rất đơn giản.
Như ở hình bên, chân 6 và 7 là 2 chân mang dữ liệu theo chuẩn RS-485. Chân
1 và 4 mang dữ liệu theo chuẩn TTL. Khi truyền dữ liệu TTL từ chân 4 (TXD) được
chuyển đổi thành dạng RS-485 và truyền đi ở chân 6 và 7. Khi nhận dữ liệu từ chân 6
và 7 được chuyển đổi thành TTL và đưa vào chân 1. Chân 2 Ĩ) là chân điều khiển việc
nhận dữ liệu.Ġ tích cực mức thấp. Chân 3 (DE) là chân điều khiển việc truyền dữ liệu,
DE tích cực mức cao.
2.2.2.2.2.2 Mạng RS-485:
Mạng RS-485 được thiết kế hoạt động theo nguyên tắc Master-Slave (chủ -tớ ).
Một trạm chủ (Master) có trách nhiệm chủ động phân chia quyền truy nhập bus cho
các trạm tớ Slave. Các trạm tớ (Slave) đóng vai trò bị động, chỉ có quyền truy nhập

bus và gởi tín hiệu đi khi có yêu cầu. Trạm chủ dùng phương pháp hỏi vòng tuần tự
theo chu kì để kiểm soát toàn bộ hoạt động của cả hệ thống.

GVHD: CAO NGHUYỂN KHOA NAM Trang 25
SVTH : TRƯƠNG VĂN TIỂN

×