1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế thi công hệ điều khiển robot Cartesian

84 441 1
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế thi công hệ điều khiển robot Cartesian
Trường học University of Technology Ho Chi Minh City
Chuyên ngành Robotics and Automation
Thể loại Đề tài tốt nghiệp
Năm xuất bản 2023
Thành phố Ho Chi Minh City
Định dạng
Số trang 84
Dung lượng 3,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Theo chủng loại, mức độ điều khiển, và khả năng nhận biết thông tin của tay máy - người máy đã được sản xuất trên thế giới có thể phân loại các IR thành các thế hệ sau: Thế hệ 1 : thế h

Trang 2

Trường ĐHDL Kỹ Thuật Công Nghệ Độc Lập - Tự Do - Hạnh Phúc

Khoa Cơ Khí Tự Động — Robot

Xây dựng hệ thống diéu khién Catersian

2- Nhiệm vụ ( yêu cầu về nội dung và số liệu ban đầu ) :

1 Tìm hiểu, thiết kế cải tiến mạch vi xử lý và chương trình điểu khiển hoạt động động cơ

bc

2 XAy dung hé thong diéu khién tru : X, Y, Z, A ca Robot Castersian

3 Xây dựng chương trình điểu khiển hoạt động gồm các yêu cầu : Các chức năng điều khiển robot, giao diện thân thiện dễ sử dụng, mô phỏng hoạt động, giao tiếp dữ liệu,

khả năng soạn thảo chương trình NC

4 Xây dựng hệ mã lệnh điểu khiển robot

5 Xây dựng các chương trình chuẩn cho robot hoạt động, bao gồm :

a) Điều khiển điểm : Chấm điểm, vẽ hình vuông, hình chữ nhật

b) Điều khiển đường : Đường tròn, conic

3- Ngày giao nhiệm vụ đỒ án : ScccSettttekexerrersrreecee

4-_ Ngày hoàn thành nhiệm vụ : - - SH nhàn

5- Họ tên người hướng dẫn :

CHỦ NHIỆM KHOA NGƯỜI HƯỚNG DẪN CHÍNH

(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)

Trang 3

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TPHCM

KHOA CƠ KHÍ TỰ ĐỘNG - ROBOT CHUYÊN NGÀNH CƠ TIN KỸ THUẬT

-ooOoo -

NHẬN XÉT LUẬN VĂN TỐT NGHIỆP CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên : TRAN HOANG VI

Ngành : CƠ TIN KỸ THUẬT

Khóa : 2000 — 2005

Lớp : 00ĐCT2

GIÁO VIÊN HƯỚNG DẪN: TH.S TRẦN ĐÌNH HUY

Nhận Xét Của Giáo Viên Hướng Dẫn :

Giáo viên hướng dẫn

Trang 4

LỜI CẢM TẠ

T ập đồ án được hoàn thành như là một bước ngoặt báo hiệu kết thúc thời

gian học tập tại trường ĐH Kỹ Thuật Công Nghệ TPHCM Nếu không có

sự đóng góp về nhiều phía chắc chắn người thực hiện dễ tài này khó mà

đạt được những kết quả sau 5 năm học đại học

Đó là sự đóng góp tích cực về vật chất, sự ủng hộ động viên tinh thần về

phía nhà trường của khoa Cơ Khí Tự Động, Robot —- đặc biệt là sự đôn đốc,

nhắc nhở của thầy TRẦN ĐÌNH HUY Em sẽ mãi mãi ghi nhớ

Trong số kiến thức mà em đạt được có sự đóng góp của nhiều thầy cùng

với sự giúp đỡ, những lời động viên đúng lúc trong khi học và trong thời gian

thực hiện để tài của các bạn sinh viên Khóa 2000 ĐCT, có lẽ em không thể

nào quên

Ngày 26 tháng 12 năm 2004 Sinh Viên Thực Hiện

TRẦN HOÀNG VI

Trang 1

Trang 5

LOI NOI DAU

T rong những năm gần đây theo sự tiến bộ của khoa học kỹ thuật, công cuộc

công nghiệp hóa hiện đại hóa đất nước đang diễn ra khá tốt đẹp Trước

tình hình đó đã có khá nhiều yêu cầu cấp bách và cũng là những thách

thức được đặt ra cho giới trí thức

Tay máy công nghiệp là một lĩnh vực mới mà ở Việt Nam đang nghiên

cứu và từng bước chế tạo để ứng dụng vào quá trình sản xuất góp phần nâng cao năng xuất lao động

Kỹ thuật vi xử lí rất ưu việt đã trở nên rất cần thiết trong ngành điện tử,

nó đã thay thế các thiết bị có cấu tạo phức tạp thành đơn giản Ứng dụng vi xử

lí rất rộng rải từ máy móc quan trọng trong nền công nghiệp đến các thiết bị

chuyên dùng

Với các ưu điểm về các chỉ tiêu kỹ thuật và tính linh hoạt của vi xử H,

việc nghiên cứu và ứng dụng vi xử lí rất cần thiết

Không nên dừng lại ở cách sử dụng, cách tốt nhất để hiểu rỏ thiết bị mới

và đi sâu vào tìm hiểu bản chất hoạt động bên trong của thiết bị đó Thực hiện

dé tai: “THIET KE VA THI CONG HỆ THONG DIEU KHIEN ROBOT

CASTERSIAN ” như là một cách để thể hiện một phần trong những kiến thức

mà em đã đạt được sau 5 năm học tập tại trường

Do có sự hạn chế về thời gian cũng như kiến thức và kinh nghệm nên

không tránh khỏi những sai sót

Ngày 26 Tháng 12 Năm 2004

Sinh Viên Thực Hiện

TRẦN HOÀNG VI

Trang 2

Trang 6

CHUONG 1

Trang 7

1.1 ĐẶT VẤN ĐỀ

Sự phát triển của khoa học kỹ thuật ngày càng nhanh góp phần nâng cao năng suất lao động Đặt biệt sự ra đời và phát triển của công nghệ chế tạo

Robot nhằm tạo ra sự tự động hóa trong quá trình sản xuất giảm ởi sức lao

động bằng chân tay của người lao động

Đối với các nưước ngoài thì Robot đã được nghiên cứu và chế tạo để ứng

dụng vào sản suất đả có từ trước Riêng ở nước ta lĩnh vực này còn khá mới

mẽ Tuy có sự đầu tư để nghiên cứu nhưng còn hạn chế ,có thể dùng mô hình

cánh tay máy để phục vụ trực tiếp cho công việc giảng dạy tại trường nhằm

giúp cho sinh viên hiểu rỏ hơn về lý thuyết, tạo điều kiện cho việc dạy và học

được sinh động hơn

Bức xúc trước nhu cầu tìm hiểu về tay máy công nghiệp từ chính bản

thân và của những người yêu thích về lĩnh vực này, em đã bắt tay vào việc thực hiện nghiên cứu để tài: "THIET KE VA THI CONG HE DIEU KHIEN ROBOT CASTERSIAN" -

1.2 TAM QUAN TRONG CUA VAN DE

Ở Việt Nam nói chung công nghệ chế tạo tay máy còn chậm phát triển,

chúng ta vẩn chưa có nhà máy nào có khả năng chế tạo các bộ phận cấu thành

của tay máy đạt tiêu chuẩn quốc tế Tận dụng những vật liệu có sẵn để gia

công các chỉ tiết cơ khí cũng như linh kiện , thiết bị điện có sẵẳn do nước ngòai sản suất để thiết kế thành những sản phẩm cụ thể trước hết là ứng dụng làm

phương tiện giảng dạy trong trường học và từ đó phát triển cao hơn để ứng dụng vào trong sản suất đã và đang là hướng đi đúng đắng của các kỹ sự 3 Việt Nam Dé tai “THIẾT KẾ VÀ THI CONG HỆ ĐIỀU KHIỂN

ROBOT CASTERSIAN"' không nằm ngoài nhận định trên Điểu quan trọng

hơn hết là các vấn đề liên quan đến cấu tạo, nguyên lý hoạt động của tay máy

và phần lý thuyết về các hoạt động xảy ra bên trong vi xử lí sẽ được giới thiệu

trong để tài này Nó sẽ là nguồn thông tin hửu ích cho những ai muốn tìm hiểu

về lĩnh vực này

1.3 GIỚI HẠN VẤN ĐỀ

Tay máy rất đa dạng về nguồn gốc và chủng loại đây là lần đầu thực hiện nghiên cứu để tài: "THIẾT KẾ VÀ THỊ CÔNG HỆ ĐIỀU KHIỂN ROBOT CASTERSIAN" trong diéu kién:

e Kinh nghiém thuc té chua c6 nhiéu

e Tai liệu về vi xử lí và tay máy còn hiếm

Vì vậy em đã thực hiện nghiên cứu đề tài với những đặc điểm chính sau đây:

e© Lập trình bằng KTT vi xử lí 8051

e Thiết kế mạch điều khiển cánh tay máy

Trang 4

Trang 8

e_ Xây dựng chương trình điểu khiển bằnh ngôn ngữ VB

1.4 MỤC ĐÍCH NGHIÊN CỨU ;

Thực hiện để tài “THIẾT KẾ VÀ THỊ CONG HE DIEU KHIEN

ROBOT CASTERSIAN"' là một công việc để người thực hiện để tài nghiên cứu kỹ khái niệm mô hình, nguyên lý làm việc cũng như tập lệnh của vi xử lí

Sản phẩm của để tài trước hết có thể được ứng dụng vào phương tiện

giảng dạy tại trường; và nếu được phát triển rộng, đi sâu hơn thì có thể ứng dụng vào trong thực tế sản xuất công nghiệp,và đặc biệt cung cấp một cái nhìn tổng quát về vi xử lí và tay máy công nghiệp

Trang 5

Trang 9

CHƯƠNG 2

Trang 10

2.1 DÀN Ý NGHIÊN CỨU

e_ Giới thiệu tổng quát về tay máy

e Thiết kế mạch điều khiển cánh tay máy

e Xây dựng phần mềm

e Thi céng

e Hướng dẫn thao tác

2.2 ĐỐI TƯỢNG NGHIÊN CỨU

Chủ yếu là mô hình cánh tay máy được gia công

2.3 PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN NGHIÊN CỨU

e Ngoai KIT vi xử lí 8051 và mô hìmh cánh tay máy, máy tính, mạch điện

công suất, và một số phương tiện sẵn có

2.4 THỜI GIAN NGHIÊN CỨU

Thực nghiên cứu để tài từ ngày đăng ký để tài, công việc được phân bố

Trang 11

CHƯƠNG 3

Trang 8

Trang 12

3.1 LỊCH SỬ PHÁT TRIỂN

Thuật ngữ ROBOT xuất hiện vào năm 1920 trong một tác phẩm văn

học của nhà văn Tiệp Khắc có tên Karel Capek

Thuật ngữ Inducstrial Robot (IR) - xuất hiện đầu tiên ở Mỹ do céng ty AMF (American Manchine and Foundry company) quang cdo mé tả

một thiết bị mang dáng dap và có một số chức năng như tay người được điều

khiển tự động để thực hiện một số thao tác sản xuất thiết bị có tên gọi

Versatran

Quá trình phát triển của IR có thể tóm tắt như sau:

- Từ những năn 50 ở Mỹ xuất hiện viện nghiên cứu đầu tiên

- Đang đầu những năm 60 xuất hiện sản phẩm đầu tiên tên Versatran

- Châu Á có Nhật bắt đầu nghiên cứu ứng dụng IR từ năm 1968

Đến nay trên thế giới có khoảng trên 20 công ty sản xuất IR trong số đó

có 80 công ty của Nhật , 90 công ty của các nước Tây Âu, 30 công ty của Mỹ

và một số công ty ở Nga, Tiệp

Theo chủng loại, mức độ điều khiển, và khả năng nhận biết thông tin của tay máy - người máy đã được sản xuất trên thế giới có thể phân loại các

IR thành các thế hệ sau:

Thế hệ 1 : thế hệ có kiểu điều khiển theo chu trình dạng chương trình

cứng không có khả năng nhận biết thông tin

Thế hệ 2 : thế hệ có kiểu điều khiển theo chu kì dạng chương trình mềm bước đầu đa có khả năng nhận biết thông tin

Thế hệ 3 : thế hệ có kiểu điều khiển dạng tinh khôn ,có khả năng nhận biết thông tin và bước đầu đã có một số chức năng lý trí của con người

Đối với tay máy công nghiệp đã có hơn 250 loại ,trong số đó có hơn

40% là loại tay máy có kiểu điều khiển đơn giản thuộc thế hệ thứ nhất

Sự xuất hiện của robot và sự gia tăng vai trò của chúng trong sản xuất

và xã hội loài người làm xuất hiện một ngành khoa học mới là ngành robot

học (Robotic) trên thế giới Ở nhiều nước đã xuất hiện những viện nghiên cứu

riêng về robot Ở Việt Nam, từ những năm giữa của thập kỷ 80 đã có viện

nghiên cứu về robot

3.2 SƠ ĐỒ CẤU TRÚC CHỨC NĂNG CỦA IR

Trang 9

Trang 13

Thiết bị liên lạc với

Vậy robot là gì ? cho tới hiện nay chưa có một định nghĩa chính xác về robot, và cứ hai năm một lân trên thế giới người ta lại tổ chức một hội nghị

khoa học bàn về robot nhằm thông tin những thành tựu đã đạt được trong

nghiên cứu và chế tạo robot đồng thời thống nhất các thuật ngữ về robotic để

hiểu được về IR, trước hết chúng ta quan sát sơ đổ cấu trúc và chức năng của

TR như sau:

Chức năng của bộ phận giao riếp là liên lạc với người vận hành là thực hiện quá trình “Dạy học “ cho robot, nhờ đó Robot biết được nhiệm vụ phải thực hiện

Chức năng của hệ thống điêu khiển là thực hiện việc tái hiện lại các hành động (nhiệm vụ) đã được “học"

Bộ phận chấp hành giúp cho Robot có đủ “sức”, tức chịu được tải trọng

mà robot phải chịu trong quá trình làm việc , bộ phận này bao gồm các bộ

phận, phần 1 - bộ phận truyền chuyển động - phần tạo các khả năng chuyển

động cho robot và phần 2 - bộ phận chịu lực - phần chịu lực của Robot

Bộ phận cẩm biến tín hiệu làm nhiệm vụ nhận biết, đo lường và biến

đổi thông tin các loại tín hiệu như: các ndi tin trong bản thân Robot - đó là các

tín hiệu về vị trí, vận tốc, gia tốc trong từng thành phan của bộ phận chấp

Trang 10

Trang 14

hành các ngoại tín hiệu - là các tín hiệu từ môi trường bên ngoài có ảnh hưởng

tới hoạt động của Robot

Với cấu trúc và chức năng như trên Robot phần nào mang tính “người” còn phần máy chính là trạng thái vật lý của cấu trúc

Với IR, tính chất người và ”máy” cũng được thể hiện day đủ như trên,

duy chỉ hình thức mang dáng đấp của tay “Người”

Trang 11

Trang 15

ĐỒ ÁN TỐT NGHIỆP SVTH : TRẦN HOÀNG VI

CHƯƠNG 4

Trang 16

4.1 Phương pháp điều khiển động cơ

- Dùng điện áp DC 5> 24V

- Cấp nguồn đúng chiều theo yêu cầu

- Thay đổi chiều quay bằng cách hoán vị các cực

Hình 3.5 : Phương pháp đảo chiều quay động cơ

Để làm được công việc trên , ở mạch điều khiển ta trang bị các cầu dao

đảo, các Transitor, FET công suất hoặc rơle điện từ

Dựa theo nguyên lý trên khi ứng dụng lắp ráp ROBOT thì những

chuyển động đảo chiều đó sẽ đảo chiêu được hành trình chuyển động của các

khâu

4.2 Nguyên lý hãm ngược

+ Đối với động cơ một chiều thì công việc hãm ngược đơn giản hơn,

giả sử: khi động cơ chạy theo chiểu nào đó, có thể cùng chiều hoặc ngược

chiều kim đồng hả

+ Khi ngưng cấp nguồn đồng thời đưa nguồn điện khác ngược chiều với

nguồn đang hoạt động lập tức động cơ sẽ bị hãm cưỡng bức, lúc ấy lực từ sẽ

có chiều ngược lạivà ta điều chỉnh thời gian sao cho động cơ dừng hẳn thì thôi

cấp nguồn

Về thời gian hãm ngược thì phụ thuộc vào người thiết kế chương trình

điều khiển

* Tốc độ động cơ được điều chỉnh phụ thuộc vào điện áp nguồn đưa

Biểu đồ biểu thi mối quan hệ giữa điện áp và tốc độ động cơ:

Trang 13

Trang 17

Để đảm bảo động cơ chạy ổn định khi thiết kế nên chọn bộ nguồn có

điện áp tâi 2 đến 3A

4.3 - CÔNG CỤ ĐIỀU KHIỂN

a Giới thiệu cấu trúc phần cứng 8051

a1 Sơ đồ chân 8051

8051 14 IC vi diéu khién (Microcontroller) do hang Intel san xuat IC nay có đặc điểm như sau:

4k byte ROM,128 byte RAM

4 Port I/O 8 bit

2 bộ đếm/ định thời 16 bit

Giao tiếp nối tiếp

64k byte không gian bộ nhớ chương trình mở rộng

64k byte không gian bộ nhớ dữ liệu mở rộng

Một bộ xử lý luận lý (thao tác trên các bít đơn)

210 bit được địa chỉ hóa

Bộ nhân / chia 4

Sơ lược về các chân của 8051:

Trang 14

Trang 18

20 P21 [2†—E 3— vss P2.0 [———E

8051

a2 Chức năng của các chân 8051:

Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port 0 có 2 chức năng:

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 thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa

bus địa chỉ và bus dữ liệu

Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7) Port 1 14 port IO ding cho

giao tiếp với thiết bị ngoài nếu cần

Port 2: từ chân 21 đến chân 2§ (P2.0 _P2.7) Port 2 là một port có tác

dụng kép dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng

Trang 19

Tín hiệu đọc bộ nhớ dữ liệu ngoài

PSEN (Program store enable):

PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình

mở rộng và thường được nối đến chân OE\ của Eprom cho phép đọc các byte

mã lệnh

PSEN ở mức thấp trong thời gian 8051 lấy lệnh Các mã lệnh của chương

trình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên

trong 8051 để giải mã lệnh Khi 8051 thi hành chương trình trong ROM nội PSEN ở mức cao

ALE (Address Latch Enable):

Khi 8051 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ

và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ 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 các đường địa chỉ và

dữ liệu khi kết nối chúng với IC chốt

Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai

trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động

EA\ (External Access):

Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức l hoặc mức 0 Nếu ở

mức 1, 8051 thi hành chương trình từ ROM nội Nếu ở mức 0, 8051 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 8051

RST (Reset):

Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 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 phải tự động reset

Các ngõ vào bộ dao động XI, X2:

Bộ tạo dao động được tích hợp bên trong 8051 Khi sử dụng 8051, người ta

chỉ cần nối thêm tụ thạch anh và các tụ Tần số tụ thạch anh thường là 12 Mh

b Cấu trúc bên trong của 8051

b1 Sơ đồ khối bên trong 8051:

Trang 16

Trang 20

Timer 0 Port

Trang 21

*Tổ chức bộ nhớ :

| LAE AD AC AB LÀA Lã? | as 2B |5F 5E |5D |5 |5B |5A |5 |5

AG [a7 [a6 A5 A4 A3 |À2 [AI | AO Š

2A ¡57 56 |5 |54 |53 |52 |51 |5

69 | Không có địa chỉ hỏa từng bít 6

9 [or [oc [op [9c] 9B [oa [99 |9 |22 |4F 4E | 4D | 4c [4B [4a | 49 |4

8

90 [97 | 96] 95 [94 93 [92 [91 [90 | og [ar 46 | 45 4a |4 lái Ì4

0

8D | Khong được địa củi bốa từng bit 27 |3 3E |3D |3C |3B |3A |3 |3

&C | Không được địa chỉ hóa tŸmg bít 8

8B | Không được địa chỉ hóa từng bit mba

8A | Không được địa chỉ bốa ting bit %3 % |5 |* |3

89 | Không được địa chỉ hóa từng bịt 0

#8 |S5F §E 8D 8c 8B [8d [eo [eg [2 |2 2E |?2D |2XZ |2 |2A |2 |2

§7 | Không được địa chỈ hóa từng bít 8

24 127 2% |25 |2 |2 |22 121 |2

§3 | Không được địa chỉ hếa từng bít 0

82 | Khong được địa chỉ hếa từng bít 23 |1F IE IID |IC [IE |IA |19 |1

81 | Không được địa chỉ bổa từng bit 8

O? Bank thanh ghiO( macdinhchoRO-R7) 00

CAU TRUC RAM NOI

Trang 18

Trang 22

Bộ nhớ bên trong 8051 bao gồm ROM và RAM RAM bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank

thanh ghi và các thanh ghi chức năng đặc biệt

8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong

8051 nhưng 8051 vẫn có thể kết nối với 64 k byte bộ nhớ chương trình và 64 k

byte bộ nhớ dữ liệu mở rộng

Ram bên trong 8051 được phân chia như sau:

- Các bank thanh ghi có địa chỉ từ 00H đến IFh

- Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH

- Ram đa dụng từ 30H đến 7FH

- Các thanh ghi chức năng đặc biệt từ 80H dén FFH

-Ram đa dụng:

Mọi địa chỉ trong vùng ram đa dụng đểu có thể được truy xuất tự do

dùng kiểu địa chỉ trực tiếp hay gián tiếp Ví dụ để đọc nội dung ô nhớ ở địa

chỉ 5FH của ram nội vào thanh ghi tich liy A: MOV A,5FH

Hoặc truy xuất dùng cách địa chỉ gián tiếp qua R0 hay R1 Ví dụ 2 lệnh sau sẽ

thi hành cùng nhiệm vụ như lệnh ở trên:

MOV RO, #5FH

MOV A, @RO

-Ram có thể truy xuất từng bít:

8051 chứa 210 bit được địa chỉ hóa từng bit, trong đó 128 bít chứa ở các byte có địa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt

Ýtưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển nói chung Các bit có thể được đặt, xóa, and, or, với 1 lệnh đơn Ngoài ra các port cũng có thể truy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit

Ví dụ để đặt bit 67H ta dùng lệnh sau: SETB 67H

-Các bank thanh ghi:

Bộ lệnh 8051 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định (sau khi reset hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H lệnh

sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy: MOV A, R5

Đây là lệnh 1 byte dùng địa chỉ thanh ghi Tuy nhiên có thể thi hành

bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ2: MOV A, 05H

Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn

nhiều so với lệnh tương ứng dùng địa chỉ trực tiếp

Trang 19

Trang 23

Bank thanh ghi tích cực bằng cách thay đối các bit trong từ trạng thái

chương trình (PSW) Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây

sẽ di chuyển nội dung của thanh ghi A vao 6 nhé ram cé dia chi 18H: MOV

RO, A

* Các thanh ghi có chức năng đặc biệt:

8051 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở

vùng trên của RAM nội từ địa chỉ 80H đến EEH

Chú ý: tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có 21

thanh ghi chức năng đặc biệt được định nghĩa sẵn các địa chỉ

-Thanh ghi trang thái chương trình :

Thanh ghi trạng thái chương trình PSW (Program Status Word ) ở địa chỉ

DOH chứa các bít trạng thái như bảng sau:

Bit Ky Địa chỉ | Ý nghĩa

hiệu

PSW.7 |CY D7H Cờ nhớ PSW.6 | AC D6H Cờ nhớ phụ PSW.5 | FO D5H Cờ 0

PSW.4 |RSI D4H Bit 1 chọn bank thanh ghi PSW.3 | RSO D3H Bit 0 chon bank thanh ghi

00=bank 0: địa chỉ 00H — 07H

01=bank I1: địa chỉ 08H —

OFH PSW.2 | 0V D2H 10=bank 2: địa chỉ 10H —

+ Cờ nhớ:

C = I nếu phép toán cộng có tràn hoặc phép toán trừ có mượn và ngược

lại C =0 Ví dụ nếu thanh ghi A có giá trị FF thì lệnh sau:

ADD A,#I Phép cộng này có tràn nên bit C = 1 va két qua trong thanh ghi A = 00H

Trang 20

Trang 24

Cờ nhớ có thể xem là thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit

Cờ 0 là một bit cờ đa dụng dành cho các ứng dụng của người dùng

+ Các bit chọn bankthanh ghi truy xuất:

Các bịt chọn bank thanh ghi (RS0 và RS1) xác định bank thanh ghi được

truy xuất Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần

mềm nếu cần Ví dụ lệnh sau cho phép bank thanh ghi 3 và đi chuyển nội

dung của bank thanh ghi R7 (địa chỉ bye 1FH) vào thanh ghi A:

MOV ART PHữ vit N

Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghỉ tích lay A cho các phép toán nhân và chia Lệnh MUL AB sẽ nhân các giá trị không dấu 8

bit trong A và B rồi trả kết quả về 16 bit trong A (byte thấp) và B (byte cao)

Lệnh DIV AB sẽ chia A cho B rồi trả kết quả nguyên trong A va phần dư

trong B thanh ghi cũng có thể xem như thanh ghi đệm đa dụng

-Con trỏ ngăn xếp:

Con trỏ ngăn xếp SP là một thanh ghi 8 bit ở địa chỉ 18H Nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp Các lệnh trên ngăn xếp bao gồm các lệnh cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ làm giảm SP Ngăn xếp của 8051 được giữ trong ram nội và giới hạn các địa chỉ có thế truy xuất bằng địa chỉ gián tiếp, chúng là 128 byte đầu của 8051

Để khởi động SP với ngăn xếp bắt đầu tại địa chỉ 60 H, các lệnh sau đây được

dùng:

MOV SP,#5FH Khi reset 8051, SP sẽ mang giá trị mặc định là 07H và đữ liệu đầu tiên sẽ

được cất vào ô nhớ ngăn xếp có địa chỉ là 08 H Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữ liệu hoặc

truy xuất ngầm bằng lệnh gọi chương trình con ACALL,LCALL và các lệnh

trở về (RET RETI) để lưu trữ giá trị của bộ đếm chương trình khi bắt đầu thực

hiện chương trình con và lấy lại khi kết thúc chương trình con

Trang 2]

Trang 25

-Con trỏ dữ liệu

Con trỏ dữ liệu DPTR được dùng để truy xuất bộ nhớ ngoài là một

thanh ghi 16 bit 6 dia chi 82H (DPL: byte thấp) và 83H (DPH: byte cao) 3 lệnh sau sẽ ghi 55H vào ram ngoài ở địa chỉ 1000H:

MOV A,#55H

MOV DPTR, #1000H MOVX @DPTR,A

-Các thanh ghi port xuat nhập:

Các port của 8051 bao gồm port 0 ở địa chỉ 80H, port 1 ở địa chỉ 90H, port 2 6 địa chỉ A0H, và port3 ở địa chỉ B0H tất cả các port này đều có thể truy xuất

từng bit nên rất thuận tiện trong khả năng giao tiếp

-Các thanh ghỉ timer:

8051 có chứa 2 bộ định thời/ đếm 16 bit được dùng cho việc định thời

hoặc đếm sự kiện Timer 0 ở địa chỉ SAH (TL0: byte thấp) và §CH (TH0:

byte cao) Timer 1 ở địa chỉ 8BH (TLI: byte thấp) va 8DH (THI: byte cao) Việc khởi động timer được Set bởi Timer Mode (TMOD) ở địa chỉ 89H va

thanh ghi điều khiển timer (TCON) ở địa chỉ 88H, chỉ có TCON được địa chỉ

hóa từng bịt

-Các thanh ghi port nối tiếp:

8051 chứa một port nối tiếp dành cho việc trao đổi thông tin với các

thiết bị nối tiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác

Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả 2

dữ liệu truyền và dữ liệu nhận Khi truyền dữ liệu thì ghi lên SBUF, khi nhận

dữ liệu thì đọc SBUE Các mode vận hành khác nhau được lập trình qua thanh

ghi điều khiển port nối tiếp SCON ở địa chỉ 98H

-Các thanh ghỉ ngắt:

8051 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt

(TE) ở địa chỉ A8H, cả 2 thanh ghi được địa chỉ hóa từng bit

-Thanh ghi điều khiển công suất:

Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit điều

khiển

-Tín hiệu Reset:

8051 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian

2 chu kỳ, sau đó xuống mức thấp để 8051 bắt đầu làm việc RST có thể kích bằng tay bằng một phím nhấn thường mở, sơ đổ mạch reset như hình trên (hình a)

sau khi reset hệ thống được tóm tắt như sau:

Trang 22

Trang 26

Thanh ghi Nội dung

Đếm chương trình | 0000H

PC 00H Thanhghi tích lũy A |00H Thanh ghi B 00H Thanh ghi trạng thái | 07H

thời

Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được

Reset tại địa chỉ 0000H Khi ngõ vào RST xuống mức thấp, chương trình luôn

bắt đầu tại địa chỉ 0000H của bộ nhớ chương trình Nội dung của Ram trong chip không bị hay đổi bởi tác động của ngõ vào Reset

c.Hoạt đông thanh ghỉ TIMER

8051 có hai timer 16 bit, mỗi timer có bốn cách làm việc Người ta sử dụng

các timer để:

- _ Định khoảng thời gian

- Đếm Sự kiện Si

- _ Tạo tốc độ baud cho port nối tiếp trong 8051

Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở những

khoảng đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương

trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc

gửi sự kiện ra các ngõra Các ứng dụng khác có thể sử dụng việc tạo xung

nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ

Trang 23

Trang 27

TMOD | Chế độ Timer 89H Không

TLO | Byte thấp của Tiner 0| 90H Không

TL1 | Byte thấp của Timer 1| 91H Không

THO | Byte cao cia Timer 0 92H Không

TH1 | Byte cao cua Timer 1 93H Không

Các thanh ghi chức năng cua timer trong 8051

Thanh ghi chế d6 timer (TMOD):

Thanh ghi TMOD chứa hai nhóm 4 bit dung để đặt chế độ làm việc cho Timer 0, va Timer 1

Bit Tén Timer |Mé6ta

7 GATE | 1 Bit mở cổng, khi lên 1 timer chỉ chạy khi INTI

3 GATE |0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INTO

Trang 28

Thanh ghi điều khiển timer(TCON)

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer

TCON.7 | TF1 8FH | Cờ báo tràn timer 1 Đặt bởi phần cứng khi

tràn, được xóa bởi phần mềm, hoặc phần cứng khi bộ xử lý chỉ đến chương trình

phục vụ ngắt

TCON.6 | TRI1 8EH | Bit điều khiển timer 1 chạy đặt xóa bằng

phần mềm để cho timer chạy ngưng

TCON.3 | TEI 8BH | Cờ cạnh ngắt 1 bên ngoài Đặt bởi phần

cứng khi phát hiện một cạnh xuống ở INTI

xóa bằng phần mềm họăc phần cứng khi

CPU chỉ đến chương trình phục vụ ngắt

TCON.2 | ITI | 8AH | Cờ kiểu ngắt 1 bên ngoài Đặt xóa bằng

phần mềm để ngắt ngoài tích cực cạnh xuống /mức thấp

Khởi đông và truy xuất thanh ghi timer:

Thông thường các thanh ghi được khởi động một lần đầu ở chương trình

để đặt ở chế độ làm việc đúng Sau đó, trong thân chương trình, các thanh ghi

Trang 25

Trang 29

timer được cho chạy, dừng, các bit được kiểm tra và xóa, các thanh ghi timer

được đọc và cập nhật theo đòi hỏi các ứng dụng

TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động Ví dụ, các lệnh sau khởi động Timer l như timer 16 bit (chế độ 1) có

xung nhịp từ bộ dao động tên chip cho việc định khoảng thời gian:

Lệnh này sẽ đặt MI = 1 và MO = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xung nhịp nội và xóa các bit chế độ Timer 0 Dĩ nhiên, timer không thật

sự bắt đầu định thời cho đến khi bit điều khiển chạy TR1 được đặt lên 1

Nếu cần số đếm ban đầu, các thanh ghi TL1/THI cũng phải được khởi

động Một khoảng 100us có thể được khởi động bằng cách khởi động giá trị

Cờ báo tràn được tự động đặt lên 1 sau 100I:s Phần mém cé6 thé ddi trong 100

us bằng cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ

báo tràn chưa được đặt lên 1:

Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng

dụng vi điểu khiển Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự

kiện và giải quyết sự kiện đó trong khi một chương trình khác đang thực thi

Tổ chức ngắt của 8051:

Có 5 nguồn ngắt ở 8031: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và

được cho phép từng cái một bằng phần mềm

Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khác đang được phục vụ, có cả hai sự tuần tự hỏi vòng và sơ dé ưu tiên

Trang 26

Trang 30

hai mức dùng để xác định việc thực hiện các ngắt Việc hỏi vòng tuân tự thì

cố định nhưng ưu tiên ngắt thì có thể lập trình được

- Cho phép và cấm ngắt :

Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh

ghi chức năng đặt biệt có dinh dia chi bit IE ( Interrupt Enable : cho

IE.7 EA AFH Cho phép / Cấm toàn bộ

TE.6 _ AEH Không được mô tả

IE.5 ET2 ADH Cho phép ngắt từ Timer 2

(8052)

IE.4 ES ACH Cho phép ngắt port nối tiếp

IE.3 ETI ABH Cho phép ngắt từ Timer l

IE2 | EXI AAH Cho phép ngắt ngoài 1

IEI | ET0 A9H | Cho phép ngất từ Timer 0

IE.0 EX0 A8H Cho phép ngắt ngoài 0

Ngắt Cờ Thanh ghi SFR va vi tri bit

Bén ngoai 1 IEI TCON.3

Timer | TF1 TCON.7

Trang 27

Trang 31

Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt Nó

là địa chỉ bắt đầu của ISR cho nguôn tạo ngắt, các vector ngắt được cho ở

Vector reset hé théng (RST ở địa chỉ 0000H) được để trong bảng này vì theo

nghĩa này, nó giống ngắt : nó ngắt chương trình chính và nạp cho PC giá trị

4.4, PHUONG THUC TRUYEN THONG

1- GIGI THIEU CHUAN RS-232C

Vào năm 1960, cùng với sự phát triển mạnh của các thiết bị đầu cuối

máy tính chia sẻ thời gian, các Modem đã được tung ra ngày càng nhiều nhằm

đảm bảo cho các thiết bị đầu cuối có thể dùng các đường điện thoại để thông

tin giữa các máy tính với nhau ở những khoảng cách xa Modem và các thiét

bị được dùng để gửi số liệu nối tiếp thường được gọi là thiết bị thông tin số

liệu DCE (Datommunication Equipment) Các thiết bị đầu cuối hoặc máy tính

đang gửi hay nhận số liệu được gọi là các thiết bị đầu số liệu DTE (Data

Terminal Equipment) Nhằm đáp ứng với nhu cầu về tín hiệu và các chuẩn

bắt tay (handshake standards) giữa DTE và DCE, hiệp hội kỹ thuật điện tử

EIA đã đưa ra chuẩn RS-232C Chuẩn này mô tả chức năng 25 chân tín hiệu

Trang 28

Trang 32

và bắt tay cho việc chuyển dữ liệu nối tiếp Nó cũng mô tả các mức điện áp,

trở kháng, tốc độ truyền cực đại và điện dung cực đại cho các đường tín hiệu

này

RS-232 ấn định 25 chân tín hiệu, và quy định các đầu nối DTE phải là

male (đực) và các đầu nối DCE phải là female (cái) Một loại đâu nối đặc biệt không được cho, nhưng thường dùng nhiều nhất là đầu nối mele DB-25P (hình 2-1) Ngoài ra, đối với nhiều hệ thống còn dùng loại 9 chân như loại DE-9P

mele (hinh 2-2)

oeoeooooeooooooe ooo

O\sereveserece/© SN /°

Được EIA đưa vào năm 1969 dé truyén dữ liệu nối tiếp và tín hiệu điều

khiển giữa Modem và thiết bị đầu cuối (hoặc máy tính) với tốc độ truyền tối

đa là 20kbps ở cự ly khoảng 15m đây là một dạng giao tiếp loại TTL + bộ

kích đường dây không cân bằng

Việc mô tả chuẩn này được chia làm ba phần: Các đặc điểm kỹ thuật về

điện, mô tả các đường dữ liệu điều khiển và sử dụng bộ kết nốt chân ra

2 - ĐẶC ĐIỂM KỸ THUẬT vỀ ĐIỆN CỦA RS232C

IN PIN COMMO | RS232C SIGNAL

NUMBER | NUMBERS N NAME | DIRECTIO

Trang 33

15V Các đường dữ liệu sử dụng mức logic âm: logic I có điện thế giữa -—5V

và —15V, logic 0 có điện thế giữa +5V và +15V tuy nhiên các đường điển

khiển (ngoại trừ đường TDATA và RDATA) sử dụng logic dương: gía trị

TRUE = +5V đến +15V và FALSE =-5V đến — 15

Ở chuẩn giao tiếp này, giữa ngõ ra bộ kích phát và ngõ vào bộ thu có

mức nhiễu được giới hạn là 2V Do vậy ngưỡng lớn nhất của ngõ vào là +3V

trái lại mức + 5V là ngưỡng nhỏ nhất với ngõ ra Ngõ ra bộ kích phát khi

không tải có điện áp là + 25V

> Các đặc điểm về điện khác bao g6m

@ Ry, (điện trở tải) được nhìn từ bộ kích phát có giá trị từ 3 + 7kÔ

+ C¿ (điện dung tải) được nhìn từ bộ kích phát không được vượt quá 2500pE

¢ Để ngăn cẩn sự dao động quá mức, tốc độ thay đổi (Slew rate ) của điện áp

không được vượt qúa 30V/us

Đối với các đường điểu khiển, thời gian chuyển của tín hiệu (từ TRUE

sang FALSE, hoặc từ FALSE sang TRUE ) không được vượt qúa 1ms Đối với

các đường dữ liệu, thời gian chuyển (từ 1 sang 0 hoặc từ 0 sang 1) phải không | vượt qúa 4% thời gian của 1 bit hoặc lms

3 -CÁC ĐƯỜNG DỮ LIỆU VÀ ĐIỀU KHIỂN CỦA RS232

- _ TxD: Dữ liệu được truyễn đi từ Modem trên mạng điện thoại

- RxD: Dit liéu được thu bởi Modem trên mạng điện thoại

> Các đường báo thiết bị sẵn sàng:

DSR : Để báo rằng Modem đã sẵn sàng

DTR : Để báo rằng thiết bị đâu cuối đã sẵn sàng

Các đường bắt tay bán song công

RTS : Để báo rằng thiết bị đầu cuối yêu cầu phát dữ liệu

Trang 30

Trang 34

- CTS: Modem dap ứng nhu cầu cần gửi dữ liệu của thiết bị đầu cuối cho

thiết bị đầu cuối có thể sử dụng kênh truyền dữ liệu Các đường trạng

thái sóng mang và tín hiệu điện thoại:

- CD: Modem bdo cho thiết bị đầu cuối biết rằng đã nhận được một sóng

mang hợp lệ từ mạng điện thoại

- RI: Các Modem tự động trả lời báo rằng đã phát hiện chuông từ mạng điện thoại địa chỉ đầu tiên có thể tới được của cổng nối tiếp được gọi là địa chỉ cơ bản (Basic Address) Các địa chỉ ghi tiếp theo được đặt tới bằng việc cộng thêm số thanh ghi đã gặp của bộ UART vào địa chỉ cơ bản

- Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dẫn TxD và thông

thường nằm trong khoảng —12 đến +12 Các bit dữ liệu được gửi đảo ngược

lại Mức điện áp đối với mức High nằm giữa -3V và —-12V và mức Low nằm giữa +3V và +12V Trên hình 2-4 mô tả một dòng dữ liệu điển hình

của một byte dữ liệu trên cổng nối tiếp RS-232C

- Ở trạng thái tnh trên đường dẫn có điện áp —-12V Một bit khởi động

(Starbit) sẽ mở đầu việc truyền đữ liệu Tiếp đó là các bit dữ liệu riêng lẻ

sẽ đến, trong đó các bit giá trị thấp sẽ được gửi trước tiên Còn số của các

bit thay đổi giữa 5 và 8 Ở cuối của dòng dữ liệu còn có một bit dừng

(Stopbit) để đặt trở lại trạng thái ngõ ra (-12V)

Địa chỉ cơ bản của cổng nối tiếp của máy tính PC có thể tóm tắt trong bảng các địa chỉ sau:

DO Di D3 | D4 DS D6 | D7 -2V HIGHT

1.04ms

COM I1 (cổng nối tiếp thứ nhất) Địa chỉ cơ bản 3F8(Hex)

COM2 (cổng nối tiếp thứhai) Địa chỉcơbản = 2F8(Hex)

COM3 (cổng nối tiếp thứba) Địa chỉcơbản = 3E8(Hex)

COM 4 (cổng nối tiếp thứtư) Địachỉcơbản = 2E8(Hex)

Hình 2-4: Dòng dữ liệu trên cổng RS 232 với tốc độ 9.600 baud

Trang 31

Trang 35

Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho phép trao đổi qua các địa chỉ trong máy tính PC Trong trường hợp này, người

ta thường sử dụng những vi mạch có mức độ tích hợp cao để có thể hợp nhất

nhiều chức năng trên mét chip Ở máy tính PC thường có một bộ phát/nhận

không đồng bộ vạn năng (gọi tắt là UART: Universal Asnchronous Receiver/

Transmitter) để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bị ngoại vi Phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thế hệ tiếp

theo

Thông thường với các yêu cầu ứng dụng tốc độ thấp người ta giao tiếp

qua ngõ nối tiếp, nó giao tiếp theo tiêu chuẩn RS232C và dùng để giao tiếp

giữa máy tính với Modem hoặc Mouse Ngoài ra cũng có thể dùng giao tiếp với printer hay plotter nhưng không thông dụng lắm bởi tốc độ truyển quá

chậm Đối với máy AT cho ta hai ngõ giao tiếp COMI và COM2 Trong một

số card I/O ta có thể có đến 4 cổng COM

ĐỂ giao tiếp nối tiếp với 2 ngõ COM này Bus hệ thống của CPU (Data

Bus va Address Bus) hang IBM st dung hai Chip lập trình của Intel là 8250

UART (Universal Asynchronus Receiver Transmitter) Dia chi theo bộ nhớ

của hai Chip này lă 0040:0000 cho UART của ngõ COMI và 0040:0002 cho

UART của ngõ COM2 (Địa chỉ logic do hệ điều hành chỉ định) và địa chỉ theo Port để truy xuất khi sử dụng là 3E8-3FF cho COMI và 2F8-2FF cho COM2

Dữ liệu truyền qua cho Port COM dưới dạng nối tiếp từng Bit một, đơn

vị dữ liệu có thể là 5 Bit, 6 Bit hay 1 byte tùy theo sự cài đặt lúc khởi tạo Port

COM Ngoài ra để truyền dữ liệu qua Port COM còn cần những tham số sau:

Bit mở đầu cho một đơn vị dữ liệu START Bit STOP Bit (Bit kết thúc) Parity

(Kiểm tra chan 1é) Baud Rate (Tốc độ truyền) tạo thành một Frame (Khung

truyền)

Port COM là một thể khởi tạo bằng BIOS thông qua chức năng 0 của

Interrupt 14, nạp vào thanh ghi DXI1 chỉ số chọn kênh (COMI = 0, COM2

= 1) Thanh ghi AL được nạp vào các tham số của việc truyền dữ liệu

Trang 36

> BưD; : Cho biết số Stop Bit

0 :- Sử dụng một bit Stop

1 : SW dung hai bit Stop

> BitD3;D,4 : Các Bit parity (chấn lẻ)

00 : Không kiểm tra tinh Parity

11 : Không kiểm tra tính Parity

01 : Odd(l)

10 : Even (chấn)

> Bir D;DạD;: Cho biết tốc độ truyén (Baud Rate)

000: Tốc độ truyền 110bps (bit per second)

Tốc độ truyền 150bps (bit per second)

Tốc độ truyền 300bps (bit per second) Tốc độ truyền 600bps (bit per second) Tốc độ truyển 1200bps (bit per second)

Tốc độ truyền 2400bps (bit per second)

Tốc độ truyền 4800bps (bit per second)

1 1 1: Tốc độ truyền 9600bps (bit per second)

b Hoạt động của cổng nối tiếp

a Sự khởi động của BIOS

Sau khi bật máy (hay Reset máy), chương trình POST kiểm tra xem liệu

có bất kỳ cổng nối tiếp nào được cài đặt hay không POST khảo sát nhóm cổng I/O: 3F8 +3FEh Dé phat hiện một cổng hoạt động, thanh ghi IIR

(Interrupt Identification Register) được đọc từ cổng 3FAh hay 2FAh Nếu tất

cả các bịt từ 3+7 của thanh ghi IIR đều là 0, thì POST xem như cổng nối tiếp

có hoạt động

Một khi đã xác định được nhóm cổng L/O nối tiếp có hoạt động, địa chỉ

cổng IL/O cơ sở được lưu trữ trong vị trí BIOS RAM cổng nối tiếp chưa sử dụng

thấp nhất Có 4 từ được dành trong RAM bắt đầu tại địa chỉ 40:0h để chứa địa

chi I/O cha cổng nối tiếp có hoạt động Nhiều POST của các hãng cung cấp máy sẽ không bao giờ kiểm tra các cổng COM3 và COM4, vì IPM không định nghĩa một địa chỉ cổng chuẩn cho các cổng này

Nói chung, hầu hết các hệ thống chỉ kiểm tra có 2 cổng Tuy nhiên, các

hệ thống cùng họ mới hơn thường kiểm tra 4 địa chỉ cổng có thể có Các hệ thống MCA kiểm tra 8 địa chỉ cổng nối tiếp khác nhau có thể có trong một lần thử để tìm ra 4 cổng nối tiếp có hoạt động

Trang 33

Trang 37

Bảng trên mô tả thứ tự theo đó các BIOS sẽ tìm kiếm các cổng hoạt

động Chỉ cổng I/O cơ sở đối với mỗi nhóm được hiển thị trong bảng này

Trên hệ thống MCA, mét khi 4 cổng đã được tìm thấy, các cổng khác không

được kiểm tra nữa

Khi hoàn tất các công việc kiểm tra POST nối tiếp, các địa chỉ cổng nối

tiếp được cất giữ Điều này thường tạo ra một trong 4 trường hợp được mô tả

trong bảng sau:

Địa Cổng | Trường hợp | Trường hợp | Trường hợp | Trường hợp

chỉ nối 1 Địa chỉ 2 Địa chỉ 3 Địa chỉ 4 Địa chỉ

¡ Các kết quả POST có thể có về việc phát hiện cổng nối tiếp

-_ Trường hợp 1 : Mô tả POST phát hiện 2 cổng nối tiếp

- _ Trường hợp 2 và 3: Cho thấy chỉ có một cổng nối tiếp được phát hiện

- Trường hợp 4 : Cho thấy không phát hiện được cổng nối tiếp nào

Các phép thử này không khẳng định liệu có một thiết bị nối tiếp thực sự được nối với cổng I/O hay không Phép thử chỉ kiểm tra xem liệu phần cứng cổng nối tiếp có tổn tại hay không tại một địa chỉ L/O cụ thể Tổng số cổng nối

tiếp hoạt động được phát hiện thấy (0 + 4) được cất giữ trong byte thiết bị tại

dia chi BIOS RAM 40:10h tw cdc bit 9 + 11

a Qué trinh phat néi tiếp

Để phát một byte trên đường dây kết nối nối tiếp, cổng được giả định là

đã được khởi sự với tốc độ baud và các phần chọn khung (Frame) nối tiếp

Trang 34

Trang 38

thích hợp Chúng ta cũng giả định rằng các byte sẽ được phát đi trên cổng nối

tiếp số 1 (COMI)

1 Trước tiên, xác định địa chỉ cơ sở cổng L/O bằng cách đọc một từ (Word) từ

vùng dữ lệu BIOS tại 40:OH đối với cổng nối tiếp COMI Nếu trị = 0: Không có cổng nối tiếp hoạt động nào được gắn ở đây và dĩ nhiên không

có dữ liệu nào được gửi đi

2 Hai đường diéu khién MODEM 14 DTR (DATA Terminal Ready) va RTS (Request to Send) được xác lập lên mức cao (DTR = 1, RTS = 1)

- DTR thông báo cho thiết bị kết nối biết rằng máy tính đang hoạt động

và sẵn sàng để liên lạc

- RTS bdo cho thiét bị kết nối biết rằng máy tính muốn gửi dữ liệu

- Hai đường này được kích khởi bằng cách ghi trị 3 thanh ghi MCR

(MODEM control Regester) của UART

3 Kế đó, kiểm tra hai đường trạng thái CTS (Clear To Send) Những đường này nằm trong các bít 4 và 5 của thanh ghi MSR (MODEM Status Regester)

- DSR báo cho máy tính biết thiết bị kết nối đã được bật lên và sẵn sàng

- CT§ báo cho máy tính biết rằng thiết bị kết nối đã sẵn sàng đối với dữ

liệu

- Các đường trạng thái này nên được kiểm tra trong 2ms hay cho đến khi

cả hai đều chuyển sang mức cao Khi cả hai đường này đều ở mức cao, thiết bị được kết nối với cổng nối tiếp đã báo hiệu cho biết nó đã sẵn

sàng cho một byte Một lỗi đáo hạn (timeout error) được báo hiệu bởi

phần mềm nếu một trong hai đường dẫn còn ở mức thấp lâu hơn khoảng

2ms

4 Đến đây thiết bị kết nối đã sẵn sàng tiếp nhận một byte, UART phải được

kiểm tra xem liệu thanh ghi chứa đữ liệu phát THR (Transmit Holding Regester) đã sẵn sàng có một byte chưa Thanh ghi LSR (Line Status

Regester), bit 5, được xác lập lên mức cao khi thanh ghi chứa dữ liệu này

trống rỗng và sẵn sàng cho một byte Một lần nữa, giống ở bước 3 nếu

thanh ghi THR không thể trở nên hữu dụng trong 2ms, thì phần mềm sẽ

báo một lỗi đáo hạn, và bổ qua việc phát đi

5 Nếu cho đến bây giờ chưa xảy ra việc đáo hạn, byte có thể được gửi đến

thanh ghi chứa dữ liệu phát của UART

6 Sau đó, UART phát byte từ thanh ghi chứa dữ liệu phát vào thanh ghi dịch TSR (từ đây các bit dữ liệu được dịch ra và gửi đi), và tạo dạng khung nối

tiếp

a_ Quá trình nhận nối tiếp

Trang 35

Trang 39

Để nhận | byte từ đường dây kết nối nối tiếp, cổng được giá định như trên

(cho cổng COM8):

1 Trước tiên, xác định địa chỉ cơ sở cổng I/O bing cách đọc một từ (Word) từ

vùng dữ liệu BIOS tại 40:4H đối với cổng nối tiếp COM3 Nếu trị = 0: Không có cổng nối tiếp hoạt động nào được gắn ở đây và dĩ nhiên không

có đữ liệu nào được gửi đi

2 Hai đường điểu khiển MODEM là DTR (DATA Terminal Ready) va RTS (Request to Send) được xác lập lên mức cao (DTR = 1, RTS = l)

-_ Điều này thông báo cho thiết bị kết nối biết rằng máy tính đang hoạt

động và sẵn sàng liên lạc Điều này được thực hiện bằng cách ghi trị 1 các thanh ghi MMC của UART

3 Kế đó kiểm tra tín hiệu trên đường trạng thái DSR Tín hiệu này xuất hiện

trong bit 5 của thanh ghi MSR DSR báo cho máy tính biết rằng thiết bị kết

nối đã được bật lên và sẵn sàng DSR sẽ được kiểm tra cho đến khi nó lên

mức cao hay cho đến khi hết 2ms trước khi một lỗi đáo hạn được báo hiệu

4 Kế đó, vùng đệm nhận được kiểm tra để xem dữ liệu đã nhận được dữ liệu

nào chưa Bit 0 của thanh ghi LSR chứa một cờ hiệu báo dữ liệu đã sắn sàng Nó được xét lên 1 khi vùng đệm có dữ liệu Nếu cờ báo dữ liệu sắn

sàng không được xét sau 2ms, thì phần mềm sẽ khai báo một lỗi đáo hạn,

và tác vụ bị bỏ qua

5 Nếu cho đến bây giờ chưa xây ra việc đáo hạn, byte có thể được đọc từ

vùng đệm nhận của UART

- Trong chế độ bất đồng bộ, 8251 A dịch số liệu trên dây RxD từ bit một

Sau mỗi bit, thanh ghi thu được so sánh với thanh ghi chứa ký tự SYN

Nếu hai thanh ghi chưa bằng nhau thì 8251 A dịch bit khác và tiếp tục

so sánh cho đến khi hai thanh ghi bằng nhau 8251 A kết thúc chế độ

bất đồng bộ và đưa tín hiệu SYNDET (Synch Detect) để báo đồng bộ

đã hoàn tất

- _ Nếu USART được nạp từ điều khiển để làm việc với hai ký tự SYNC,

quá trình bất đồng bộ cũng như trên Nhưng hai ký tự kế tiếp nhau sẽ

được so sánh với hai ký tự SYNC trước khi đạt được sự đồng bộ Ở chế

độ bất đồng bộ bit chẵn/lẻ sẽ không phải kiểm tra USART ở chế độ

đuổi bắt đồng bộ với hai điều kiện:

- USART được khởi động ở chế độ đồng bộ

- USART đã nhận lệnh ở chế độ bất đồng bộ

an Khối phát

Khối này nhận số liệu song song từ đơn vị trung tâm, chèn thêm các

thông tin rồi chuyển sang nối tiếp và gửi ra thân TxD (Transmiter DATA)

Trang 36

Trang 40

- GO chế độ bất đồng bộ, khối phát chèn thêm bit START, bit kiểm tra chấn lẻ paraty và một hay hai bit STOP

- Trong chế độ đồng bộ, khối phát chèn thêm các ký tự SYNC Những ký

tự đồng bộ này phải được phát trước khi bản tin bắt đầu Nếu trong khi

phát có khoảng trống giữa hai ký tự thì USART tự động chèn các ký tự

đồng bộ vào

- Trong cả hai chế độ đồng bộ và bất đồng bộ, quá trình phát chỉ được

cho phép khi tín hiệu TxE (Transmiter Enable) và tín hiệu CTS, ở trạng

thái tích cực Nếu USART được đặt ở chế độ đồng bộ từ ngoài, chân SYNDET sẽ là cửa vào và nhận tín hiệu để đồng bộ khi thu

-_ Khối phát có thể gửi tín hiệu cắt (BREAK) Đó là một chu kỳ liên tục

các bit SPACE trên đường dây liên tục và được dùng ở chế độ truyền

song công để cắt quá trình gửi thông tin ở đầu cuối

- USART sẽ gửi tín hiệu cắt liên tục nếu bit D; của byte lệnh được thiết

lập

a Khối điều khiển Modem

Khối này tạo và nhận tín hiệu RTS (Request to Send)

® Ngoài ra, còn có các tín hiệu ra DTR (Data Terminel Ready) và tín

hiệu vào DSR (Data Set Ready) Đó là những tín hiệu vạn năng

© Tín hiệu DTR điều khiển bởi bit D; bởi byte lệnh

® Tín hiệu DSR thể hiện ở bit D; của thanh ghi trạng thái

® USART không định nghĩa các tín hiệu này một cách cứng ngắc Thông thường:

- _ Tín hiệu DTR qua Modem để chỉ rằng thiết bị đầu cuối sẵn sàng truyền

- DSR 1a tin hiéu từ Modem để chỉ trạng thái sẵn sàng liên lạc

u Khối điều khiển vào/ra Logic diéu khiển đọc/ghi giải mã các tín hiệu điều khiển từ Bus điều

khiển của đơn vị trung tâm thành những tín hiệu đều khiển các cổng dẫn số liệu đến Bus nội của USART

Bảng sau cho biết sự liên quan giữ các tín hiệu CE, C/D\ RD\

CE | CD\ | RD\ | WR\ Ý Nghĩa

1 CPU đọc số liệu từ USART

1 CPU doc trang thái từ USART

0 | CPU ghi số liệu vào USART

0

Xx

CPU ghi lệnh vào USART

Bus của USART ở trạng thái trở kháng cao

Trang 37

Ngày đăng: 22/06/2014, 01:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w