Tải bản đầy đủ (.pdf) (60 trang)

tài liệu ghép nối cực hay

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 (2.99 MB, 60 trang )

Phần III: GHÉP NỐI PHẦN CỨNG

Chương 10: GIAO TIẾP QUA CỔNG NỐI TIẾP
Mục đích:
Trang bị cho SV một cách tổng quan về ghép nối với máy tính, và đi sâu về giao tiếp
nối tiếp (tuần tự).
Trang bị cho SV kiến thức khái quát về truyền thông nối tiếp, và cụ thể hóa qua
truyền thông theo chuẩn RS232.
I. Tổng quan về ghép nối với máy tính

Mô hình ghép nối máy tính với các thiết bị phần cứng

Sơ đồ ghép nối thiết bị để thực hiện quá trình điều khiển và giám sát trên máy tính
II. Tổng quan về truyền thông nối tiếp
Có thể giao tiếp nối tiếp qua RS232, RS485, USB, Ethernet.


1. Cỗng USB
USB (Universal Serial Bus) là một chuẩn kết nối tuần tự đa dụng trong máy tính.
USB sử dụng để kết nối các thiết bị ngoại vi với máy tính, chúng thường được thiết kế
dưới dạng các đầu cắm cho các thiết bị tuân theo chuẩn cắm-là-chạy mà với tính năng
cắm nóng thiết bị (nối và ngắt các thiết bị không cần phải khởi động lại hệ thống).






Thiết bị đo
Thiết bị điều khiển
Thiết bị công suất


Đối tượng điều khiển
PC
Mạch kết nối

Chuyển đổi USB sang nối tiếp TTL sử dụng FT232BM



USB có những đặc trưng sau đây:
 Cho phép mở rộng 127 thiết bị kết nối cùng vào một máy tính thông qua một cổng
USB duy nhất (bao gồm các hub USB);
 Những sợi cáp USB riêng lẻ có thể dài tới 5 mét; với những hub, có thể kéo dài tới
30 mét (6 sợi cáp nối tiếp nhau thông qua các hub) tính từ đầu cắm trên máy tính.
 Với USB 2.0 chuẩn tốc độ cao, đường truyền đạt tốc độ tối đa đến 480 Mbps.
 Cáp USB gồm hai sợi nguồn (+5V và dây chung GND) cùng một cặp gồm hai sợi
dây xoắn để mang dữ liệu.
 Trên sợi nguồn, máy tính có thể cấp nguồn lên tới 500mA ở điện áp 5V một chiều
(DC).
 Những thiết bị tiêu thụ công suất thấp (ví dụ: chuột, bàn phím, loa máy tính công
suất thấp ) được cung cấp điện năng cho hoạt động trực tiếp từ các cổng USB mà không
cần có sự cung cấp nguồn riêng (thậm trí các thiết bị giải trí số như SmartPhone,
PocketPC ngày nay sử dụng các cổng USB để xạc pin). Với các thiết bị cần sử dụng
nguồn công suất lớn (như máy in, máy quét ) không sử dụng nguồn điện từ đường
truyền USB như nguồn chính của chúng, lúc này đường truyền nguồn chỉ có tác dụng
như một sự so sánh mức điện thế của tín hiệu. Hub có thể có nguồn cấp điện riêng để cấp
điện thêm cho các thiết bị sử dụng giao tiếp USB cắm vào nó bởi mỗi cổng USB chỉ cung
cấp một công suất nhất định.
 Những thiết bị USB có đặc tính cắm nóng, điều này có nghĩa các thiết bị có thể
được kết nối (cắm vào) hoặc ngắt kết nối (rút ra) trong mọi thời điểm mà người sử dụng
cần mà không cần phải khởi động lại hệ thống.

 Nhiều thiết bị USB có thể được chuyển về trạng thái tạm ngừng hoạt động khi
máy tính chuyển sang chế độ tiết kiệm điện.
2. Cỗng RJ-45


Pin


Function

1
DSR
2
Carrier
3
DTR
4
SG(Gnd)
5
RxD
6
TxD
7
CTS

8
RTS

Chức năng của các chân như sau:
+ chân 1 : 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
+ chân 2 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
+ chân 3 : 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 4 : Singal Ground (SG) : Mass của tín hiệu
+ chân 5: Receive Data (RxD) : Nhận dữ liệu
+ chân 6 : Transmit Data (TxD) : Truyền dữ liệu
+ chân 7 : 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 8 : Request to Send (RTS): 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.


3. Cỗng COM
Cổng COM (communication) là một cổng thông dụng trong các máy tính trong các máy
tính truyền thống dùng kết nối các thiết bị ngoại vi với máy tính như: bàn phím, chuột
điều khiển, modem, máy quét











Pin


Function











Pin

Function
1
Carrier

1
Carrier
2
RxD

2
TxD
3
TxD

3
RxD

4
DTR

4
DTR
5
SG

5
SG
6
DSR

6
DSR
7
RTS

7
CTS
8
CTS

8
RTS
9
Ring

9
Ring



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
+ chân 7 : Request to Send (RTS): 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.


III. Tổng qua về truyền thông theo chuẩn RS232
1. Khái quát về RS232
Vấn đề giao tiếp giữa PC và các thiết bị ngoại vi là 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 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.
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 thì ít được dùng, còn RS232C hiện
vẫn được dùng và thường được gọi với 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 loại 25 chân (rất ít gặp) 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 COM 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.
Các thiết bị ghép nối nối tiếp chia làm hai loại DTE (Data Terminal
Equipment) và DCE (Data Communication Equipment). DCE là các thiết bị trung
gian như modem, còn DTE là các thiết bị như máy tính, vi điều khiển, PLC, là
nguồn tạo ra dữ liệu hay tiếp nhận dữ liệu để xử lý. Có thể ghép nối DTE với DTE
hoặc DCE, DCE với DTE hoặc DCE. Tín hiệu truyền nối tiếp theo dạng xung
chuẩn RS232 của EIA (Electronics Industry Associations), mức logic 0 còn gọi là
Space giữa +3 và +25V, mức logic 1 còn gọi là Mark,

ở giữa −3V và

−25V.

Từ DTE tín hiệu được truyền giữa hai dây TXD và GND theo khuôn dạng như
hình sau:


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.
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 ÷ 7000Ω;
+ 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 ;
+ 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, 115200 bps.
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.
Mức điện áp của tiêu chuẩn RS232C hiện nay đượ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ời 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.
5. Truyền dữ liệu
5.1. 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
theo. 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.
5.2. Tốc độ Baud, tốc độ bit
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.
Tốc độ bit được định nghĩa là 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).
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.
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 các thiết bị người ta 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.
5.3. 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 kiểm tra chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ta 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.

IV. Một số mạch chuyển đổi sang chuẩn TTL


Trong giới hạn khởi đầu cho các môn học về tự động hóa, ta chỉ xét chuyển đổi
từ chuẩn RS232 sang chuẩn TTL.
Có rất nhiều mạch giao tiếp của RS232 giữa vi điều khiển hay các thiết bị khác
với PC. Dưới đây là những mạch giao tiếp thường được dùng.
1. Mạch chuẩn đổi 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 và tích hợp trong đó hai kênh
truyền 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 là nguồn công suất nhỏ.



Mạch giao tiếp như sau :



2. Mạch chuẩn đổi RS232 dùng DS275

Đây cũng là IC của hãng Maxim. DS275 được dùng trong các mạch giao tiếp của
chuẩn RS232 nhưng do nó chỉ là bán song công và dùng trong các thiết kế công suất nhỏ.

Mạch giao tiếp khá đơn giản. Do bán song công nên trong các ứng dụng ít được dùng.
3. Mạch chuẩn đổi RS232 dùng transitor

Mạch sử dụng 2 transior để giao tiếp RS232.


Mạch giao tiếp khá đơn giản, nhưng độ tin cậy kém nên thực tế ít được dùng.


4. Các định dạng truyền tin
4.1. Định dạng đồng bộ:
Trong truyền đồng bộ, mọi thiết bị dùng một xung đồng hồ được phát ra bởi một thiết
bị hoặc từ một nguồn xung ngoài. Xung đồng hồ có thể có một tần số cố định hoặc có thể
chốt tại những khoảng thời gian không đều. Mọi bít truyền đi được đồng bộ với đồng hồ.
Nói cách khác, mỗi bít được truyền đi là dựa vào sự chuyển đổi của xung( như tăng hoặc
giảm của sường xung). Nơi nhận dùng sự chuyển đổi xung để quyết định khi nào đọc mỗi
bít truyền tới. Từ hình vẽ các bạn cũng có thể thấy là nơi truyền sẽ truyền các bit khi mà
nhận thấy sự chuyển sườn xung từ cao xuống thấp, và nơi nhận thì ngược lại phát hiện
khi nào có sự chuyển sườn xung từ thấp lên cao thì đọc các bit.Chi tiết chính xác của giao
thức này có thể biến đổi khác đi. Ví dụ, nơi nhận có thể chốt dữ liệu nhận trong sườn
xung tăng hoặc giảm, hoặc là phát hiện mức logic ở mức cao hoặc thấp. Định dạng đồng
bộ dùng các cách khác nhau để bắt đầu và kết thúc việc truyền dữ liệu, bao gồm bít Start
và bít Stop và tín hiệu lựa chọn chíp.
4.2. Định dạng không đồng bộ:
Trong truyền không đồng bộ, liên kết không bao gồm đường xung đồng hồ, bởi vì
mỗi điểm đầu cuối của liên kết đã có xung đồng hồ cho riêng từng cái. Mỗi điểm sẽ cần
phải đồng ý cùng một tần số của đồng hồ và mọi đồng hồ chỉ khác nhau một vài %. Mỗi
byte truyền đi bao gồm bít Start để đồng bộ đồng hồ và một hoặc nhiều bít Stop cho tín
hiệu kết thúc việc truyền trong mỗi một từ được truyền đi. Cổng RS-232 trong PC dùng
định dạng không đồng bộ để giao tiếp với modems(thiết bị mã hoá, giải mã dữ liệu) và
các thiết bị khác. Dù RS-232 có thể truyền dữ liệu đồng bộ nhưng liên kết không đồng bộ
vần được dùng phổ biến hơn. Phần lớn liên kết RS-485 dùng giao tiếp không đồng bộ.
Truyền không đồng bộ có thể dùng một trong vài cách định dạng phổ biến. Phổ biến
nhất là kiểu 8-N-1, nơi truyền sẽ truyền mỗi byte dữ liệu một bít Start, tiếp theo là 8 bít
dữ liệu bắt đầu với bít 0(bít có trọng số nhỏ nhất Least Sifgnificant Bit) và kết thúc với 1
bít Stop.
Chữ N trong định dạng 8-N-1 chỉ rằng truyền dữ liệu không dùng bít chẵn lẻ. Một
dạng định dạng khác là bao gồm một bít chẵn lẻ giống như dạng đơn giản của kiểm soát

lỗi.
Khi số các bit 1 trong byte là chẵn thì bít Odd Parity Bit = 1 và bít lẻ = 0,
Một số dạng khác không phổ biến là dùng một số khác nhau của số bít dữ liệu. Rất
nhiều cổng nối tiếp hỗ trợ mọi nơi từ 5 ->8 bít dữ liệu, cộng với bít chẵn lẻ.
Tốc độ số bít là số bít một giây được truyền đi hoặc là nhận về trong một đơn vị thời
gian. Tốc độ bus là số các sự kiện hình xảy ra hoặc truyền dữ liệu trên giây. Hai giá trị
này thường đồng nhất với nhau trong nhiều liên kết. Trong đường dây điện thoại, môdem
tốc độ cao mã hoá nhiều bít trong mỗi chu kì dữ liệu vì thế tốc độ bus thực tế nhỏ hơn tốc
độ bit( bit rate).
Mọi bít cần thiết cho truyền một giá trị từ bít Start đến bít Stop gọi là một Word. Mỗi
bít trong dạng Word gọi là một Character. Trong vài liên kết, các bít là kí tự văn bản(
dạng chữ hoặc số), trong khi các dạng kí tự khác lại là giá trị nhị phân. Thời gian truyền
các các kí tự trong một giây bằng với tổng thời gian truyền từng bít trong word cộng lại.
Thêm bít start và bít Stop làm tăng thời gian truyền mỗi byte lên 25% ( vì có 10 bít cần
truyền trong khi chỉ dùng có 8 bít). Với định dạng 8-N-1, một byte truyền với thời gian
bằng 1/10 tần số bus: do đó 9600 bít/s truyền 960 byte/s.
Nếu nơi nhận đòi hỏi phải có một thời gian kiểm tra dữ liệu nhận đuợc, nơi truyền sẽ
kéo dài độ rộng của bít Stop ra 1,5 hoặc 2 bít.
V. Thiết bị ngoại vi
1. Mở đầu về 8051 (89c51)





Port 1, 2, 3:

Port 0




2. Truyền thông nối tiếp trong 8051

2.1. UART (Universal Asynchronous Receiver and Transmitter)
UART được biết như là một cỗng nối tiếp. Nó dùng để truyền và nhận dữ liệu với baud
rate khác nhau. Khi UART là việc thì dữ liệu được ghi vào thanh ghi SBUF.

Quá trình truyền tin được điều khiển bởi giá trị trong thanh ghi SCON (Serial Control).
2.2. Thanh ghi Serial Port Control (SCON)

SM0 - Serial port mode bit 0 sử dụng để chọn mode.
SM1 - Serial port mode bit 1 sử dụng để chọn mode.
SM2 - Serial port mode 2 bit, sử dụng để chọn mode 2 hoặc 3.
REN - Reception Enable, khi bit này được set (clear) sẽ cho phép (không phép) nhận.
TB8 - Transmitter bit 8, được set để truyền bit thứ 8 hoặc 9.
RB8 - Receiver bit 8 or the 9th bit received in modes 2 and 3. Cleared by hardware if 9th
bit received is a logic 0. Set by hardware if 9th bit received is a logic 1.
TI - Transmit Interrupt flag, được tự động set sau khi gửi xong 1 byte. Nó là tín hiệu để
xử lý cho lần gửi tiếp theo. TI phải được clear bằng software.
RI - Receive Interrupt flag, được tự động set sau khi nhận xong 1 byte. Nó là tín hiệu để
xử lý cho lần nhận tiếp theo. RI phải được clear bằng software.

Bảng serial port mode theo bit SM0 và SM1:
SM0
SM1
MODE
DESCRIPTION
BAUD RATE
0
0

0
8-bit Shift
Register
1/12 the quartz frequency
0
1
1
8-bit UART
Determined by the timer 1
1
0
2
9-bit UART
1/32 the quartz frequency (1/64 the quartz
frequency)
1
1
3
9-bit UART
Determined by the timer 1
2.2.1. Mode 0


Trong mode 0, dữ liệu nối tiếp được truyền và nhận thông qua chân RXD, trong khi chân
TXD xuất xung clock.
TRANSMIT – Dữ liệu truyền cần được ghi vào thanh ghi SBUF. Khi 8 bit đã được gửi
thì bit TI của SCON được tự động set.

RECEIVE - Dữ liệu truyền nối tiếp được nhận qua chân RXD với điều khiện bit REN=1
và RI=0. Khi 8 bit đã được nhận thì bit RI của SCON được tự động set.


2.2.2. Mode 1

Trong mode 1, 10 bits được truyền thông qua chân TXD hoặc nhận thông qua chân
RXD: một bit START (luôn là 0), 8 bit data và một bit STOP (luôn là 1). bit START khởi
động quá trình nhận dữ liệu, trong khi bit STOP được tự động ghi vào bit RB8 trong
SCON.
TRANSMIT – Quá trình truyền được kích hoạt bằng việc ghi vào SBUF. Dữ liệu sẽ
được truyền khi set bit TI của SCON.

RECEIVE - bit START (logic zero (0)) trên chân RXD khởi động quá trình nhận dữ
liệu. Có 2 điều khiện kèm theo: bit REN=1 và bit RI=0. Khi đã nhận xong thì bit RI của
SCON được tự động set.

Baud rate trong mode này được điều khiển bởi timer 1 overflow (tràng).
2.2.3. Mode 2

Trong mode 2, bits được truyền thông qua chân TXD hoặc nhận thông qua chân RXD.
Baud rate tạo bằng 1/32 hoặc 1/64 của tần số trong chip.
TRANSMIT - Quá trình truyền được kích hoạt bằng việc ghi vào SBUF. Dữ liệu sẽ được
truyền khi set bit TI của SCON.

RECEIVE - bit START (logic zero (0)) trên chân RXD khởi động quá trình nhận dữ
liệu. Có 2 điều khiện kèm theo: bit REN=1 và bit RI=0. Khi đã nhận xong thì bit RI của
SCON được tự động set.

2.2.4. Mode 3
Mode 3 như Mode 2 trong tất cả baud rate. Baud rate trong Mode 3 là thay đổi.

3. Baud rate

3.1. Tạo baud rate từ tần số trong chip
Baud Rate là một số thể hiện số lượng bit gửi/nhận được trong 1s. Khi sử dụng UART
thì baud rate phụ thuộc: selected mode, tần số trong chip và trạng thái của bit SMOD
trong thanh ghi PCON.

3.2. Tạo baud rate từ tần Timer 1
Timer 1 thường được sử dụng để tạo ra một dải tần số baud rate thay đổi dễ. Thiết lập
đơn giản như sau:
+ Kích hoạt Timer 1 overflow interrupt.
+ Thiết lập Timer T1 trong chế độ tự động reload.
+ Lựa chọn một trong các giá trị chuẩn từ bảng sau và ghi vào thanh ghi TH1.
F OSC. (MHZ)
BAUD RATE
11.0592
12
14.7456
16
20
BIT SMOD
150
40 h
30 h
00 h


0
300
A0 h
98 h
80 h

75 h
52 h
0
600
D0 h
CC h
C0 h
BB h
A9 h
0
1200
E8 h
E6 h
E0 h
DE h
D5 h
0
2400
F4 h
F3 h
F0 h
EF h
EA h
0
4800

F3 h
EF h
EF h


1
4800
FA h

F8 h

F5 h
0
9600
FD h

FC h


0
9600




F5 h
1
19200
FD h

FC h


1
38400



FE h


1
76800


FF h


1


1/12
Baud rate
clock
OSC.
Mode 0
SMOD
1
0
1/64
1/32
OSC.
Baud rate
clock
Mode 2


4. Multiprocessor Communication (Truyền thông đa xử lý)
Bit thứ 9 trong trong truyền tin có thể dùng làm bit xác định trong truyền thông cho 2
hay nhiều vi điều khiển. Trong trường hợp này phải set bit SM2 trong SCON.





5. Khởi động port nối tiếp
Nạp giá trị cho các thanh ghi sau để thiết lập quá trình truyền nối tiếp.






Ví dụ: Khởi động port nối tiếp

6. Counters and Timers
Vi điều khiển 8051 có 2 timer/counter gọi là T0 và T1. Mục đích chính là tạo độ trễ về thời gian
và đếm sự kiện. Bên cạnh đó nó còn được sử dụng làm máy phát xung trong truyền thông nối
tiếp, được gọi là Baud Rate.
Timer T0
Timer T0 bao gồm 2 thanh ghi – TH0 và TL0 ghi 16-digit binary.

Nội dung: TH0 × 256 + TL0 = T
Ví dụ: 3 × 256 + 232 = 1000

Hai thanh ghi TMOD và TCON điều khiển chế độ hoạt động của các timer.
TMOD Register (Timer Mode)


Chức năng:
GATE1 enables and disables Timer 1 by means of a signal brought to the INT1 pin (P3.3):
1 - Timer 1 operates only if the INT1 bit is set.
0 - Timer 1 operates regardless of the logic state of the INT1 bit.
C/T1 selects pulses to be counted up by the timer/counter 1:
1 - Timer counts pulses brought to the T1 pin (P3.5).
0 - Timer counts pulses from internal oscillator.
T1M1,T1M0 là 2 bits chọn mode của Timer 1.
T1M1
T1M0
MODE
DESCRIPTION
0
0
0
13-bit timer
0
1
1
16-bit timer
1
0
2
8-bit auto-reload
1
1
3
Split mode
GATE0 enables and disables Timer 1 using a signal brought to the INT0 pin (P3.2):

1 - Timer 0 operates only if the INT0 bit is set.
0 - Timer 0 operates regardless of the logic state of the INT0 bit.
C/T0 selects pulses to be counted up by the timer/counter 0:
1 - Timer counts pulses brought to the T0 pin (P3.4).
0 - Timer counts pulses from internal oscillator.
T0M1,T0M0 là 2 bits chọn mode của Timer 0.
T0M1
T0M0
MODE
DESCRIPTION
0
0
0
13-bit timer
0
1
1
16-bit timer
1
0
2
8-bit auto-reload
1
1
3
Split mode

Timer 0 in mode 0 (13-bit timer)

Timer 0 in mode 1 (16-bit timer)


Timer 0 in mode 2 (Auto-Reload Timer)

Timer 0 in Mode 3 (Split Timer)

Chỉ sử dụng mode này khi 2 timer được sử dụng và timer1 dùng làm máy phát baud
rate.

Timer Control (TCON) Register

TF1 bit is automatically set on the Timer 1 overflow.
TR1 bit enables the Timer 1.
1 - Timer 1 is enabled.
0 - Timer 1 is disabled.
TF0 bit is automatically set on the Timer 0 overflow.
TR0 bit enables the timer 0.
1 - Timer 0 is enabled.
0 - Timer 0 is disabled.

Cách sử dụng Timer 0
Lựa chọn và thiết lập trên TMOD:


Mở timer trên TCON:

Set bit TR0 để khởi động timer.
7. Xử lý ngắt với 8051 (Microcontroller Interrupts)
Có 5 nguồn ngăt trên 8051.

×