1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tìm hiểu VB và 89c51

89 185 0

Đ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

Định dạng
Số trang 89
Dung lượng 2,12 MB

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

Nội dung

Phương pháp nghiên cứu Trong quá trình nghiên cứu, nhóm sinh viên thực hiện chủ yếu dựa vào haiphương pháp chính: - Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đến gi

Trang 1

I.ĐẶT VẤN ĐỀ

Trang 4

Trang 2

Ngày nay, khi công nghiệp ngày càng phát triển thì nhu cầu điều khiển được đặt lênhàng đầu Xuất phát từ nhu cầu đó điện tử tự động hoá ra đời và nó đã được xếp trong nhóm

5 ngành khoa học công nghệ hàng đầu vì những ứng dụng rộng rãi của nó Song song với sự

ra đời của điện tử tự động hoá là sự ra đời và cải tiến không ngừng của máy tính Từ nhữngchiếc máy tính đời đầu chỉ thực hiện những phép tính đơn giản ngày nay máy tính có tốc độ

xử lý rất cao, nó có thể xử lý hàng tỉ phép tính phức tạp trong vòng một giây Để khai thácđược những ưu điểm đó điện tử tự động hoá đã có sự bắt tay với máy vi tính Nhờ có máy vitính mà chúng ta có thể làm được nhiều công việc mà không phải tốn nhiều công sức Xuấtphát từ thực tế đó, bằng những kiến thức đã được học và sự giúp đở của thầy cô, em đã

quyết định tìm hiểu về đề tài “điều khiển thiết bị điện qua máy vi tính”.

- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng các kiến thức

đã được học dưới mái trường Cao Đẳng vào trong thực tế

- Về mặt khoa học, đề tài sẽ giúp cho nhóm sinh viên thực hiện hiểu rõ thêm vềTruyền dữ liệu điều khiển và Cách điều khiển mạch điện thông qua máy tính

- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển một số thiết bịtrong nhà như đèn điện, quạt máy v v

III GIỚI HẠN ĐỀ TÀI

Do thời gian thực hiện đề tài có hạn và kiến thức còn hạn chế nên nhóm sinh viênthực hiện đã đưa ra những giới hạn sau:

1 Điều khiển cùng lúc tối đa 10 thiết bị.

2 Mạch phải hoạt động tốt không bị nhiễu trên đường truyền tín hiệu

3 Mạch phải chạy ổn định trong quá trình làm việc

IV MỤC ĐÍCH NGHIÊN CỨU

Khi bắt tay vào thực hiện đề tài này, nhóm thực hiện mong muốn rằng sản phẩmcủa đề tài phải được ứng dụng Và đặc biệt, đối với nhóm nghiên cứu đây là điều kiện, cơ hội,cách thức để củng cố, bổ sung và ứng dụng những gì đã được lĩnh hội được trong lý thuyếtcũng như thực tập Từ đó sử dụng và ứng dụng nó nhằm đáp ứng cho nhu cầu thực tế Đâychính là những tiền đề đầu tiên để mỗi thành viên trong nhóm có được một số kiến thứcchuyên ngành nhất định, làm hành trang cho công việc sau này

Đối tượng nghiên cứu của đề tài này chính là:

Trang 5

Trang 3

► Cách thức giao tiếp giữa mạch đo và máy tính

► Cách thức giao tiếp giữa mạch đo và mạch điều khiển

► Cách lập trình cho vi điều khiển để cho dữ liệu có thể thu, phát liên tục mà không

bị ngắt quãng

► Cách cân chỉnh mạch đo, đảm bảo độ chính xác của mạch đo

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

1 Phương pháp nghiên cứu

Trong quá trình nghiên cứu, nhóm sinh viên thực hiện chủ yếu dựa vào haiphương pháp chính:

- Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đến giao tiếp máytính, Truyền số liệu, Kỹ thuật mạch điện tử, Thiết kế mạch điện tử và Phươngpháp nghiên cứu khoa học Sau đó, nhóm sinh viên vận dụng các kiến thức hiện

có để tổng hợp các tài liệu, sau cùng thiết kế ra mạch điện phù hợp với các yêucầu mà ban đầu nhóm đã đề ra

- Phương pháp quan sát và thực nghiệm: Sau khi đã có mạch theo tính toán lýthuyết, nhóm sinh viên thực hiện đã thi công mạch thực tế theo đúng sơđồnguyên lý đã vạch ra Do không có các thiết bị đo chuyên dụng thích hợp,nhóm sinh viên thực hiện đã cân chỉnh thủ công từng khối, đo điện áp và dòngđiện ngõ ra của chúng Sau đó, nhóm đã sử dụng kết quả cân chỉnh này để điềuchỉnh lại lý thuyết một cách hợp lý

2 Phương tiện nghiên cứu

a Các tài liệu liên quan đến đề tài

b Bộ nguồn ổn áp tuyến tính 5V, ±12V

c Đồng hồ đo VOM kim và số

d Máy tính

Trang 6

Trang 4

Trang 7

Trang 5

Đồ án tốt nghiệp thực chất là một quá trình nghiên cứu khoa học - quá trình nhận thức vàhành động Quá trình này đòi hỏi phải có thời gian nhất định tương xứng với nội dung củađối tượng nghiên cứu và tính chất phức tạp của vấn đề nghiên cứu.

Việc nghiên cứu khoa học giúp ta tìm ra cái mới Cái mới ở đây không những mang tính chủ quan của người nghiên cứu mà còn mang tính khách quan đối với xã hội.Nghiên cứu khoa học phải nhằm mục đích phục vụ xã hội, đáp ứng yêu cầu thực tiễn

Hoạt động nghiên cứu khoa học muốn đạt kết quả tốt phải hội đủ các yếu tố: phương tiện,phương pháp, cơ sở vật chất, máy móc thiết bị, hình thức tổ chức Các yếu tố này có mốiquan hệ hữu cơ và phù hợp với đối tượng nghiên cứu

Các cơ sở cho việc nghiên cứu đề tài:

I.KIẾN THỨC VÀ NĂNG LỰC NGƯỜI NGHIÊN CỨU

Trong quá trình nghiên cứu và thực hiện đề tài người nghiên cứu cần phải cân nhắc

kỹ độ khó và độ phức tạp của đề tài sao cho phù hợp với khả năng, kiến thức và năng lực củangười nghiên cứu

Độ phức tạp của đề tài thể hiện ở các mặt: lĩnh vực nghiên cứu rộng hay hẹp, ở mộtngành hay liên ngành, đối tượng nghiên cứu là đồng nhất hay không đồng nhất Tuy nhiêncần lưu ý rằng giá trị của đề tài không phụ thuộc vào độ phức tạp của nó Đề tài hẹp chưahẳn là đề tài kém giá trị Mỗi đề tài nghiên cứu khoa học có một phạm vi nhất định, phạm vinày càng hẹp thì sự nghiên cứu càng sâu Độ khó của đề tài nói lên tính vừa sức đối vớingười nghiên cứu Do đó độ phức tạp của đề tài thường có mối liên hệ tương hỗ với độ khócủa nó

Kiến thức của người nghiên cứu (đây là điều kiện chủ quan ở người nghiên cứu).Trước hết đó là kiến thức, kinh nghiệm của người nghiên cứu Người nghiên cứu phải thểhiện năng lực nghiên cứu khoa học bao gồm việc nắm vững lý thuyết cơ bản của khoa họctrong lĩnh vực nghiên cứu của mình, nắm được mức độ nhất định về sự phát triển và tiến bộthuộc lĩnh vực nghiên cứu có như thế mới chọn được đề tài có giá trị Trong tình hình tiến bộcủa khoa học kỹ thuậthiện nay trên thế giới, khối lượng thông tin khoa học gia tăng với qui

mô lớn và nhịp độ nhanh đòi hỏi người nghiên cứu phải tham khảo tài liệu nước ngoài.Đểthực hiện được vấn đề này người nghiên cứu khoa học cần có số vốn ngoại ngữ nhất định

Người nghiên cứu phải coi thực tiễn làm cơ sở, là động lực của nhận thức Angelviết: “Khi xã hội có những yêu cầu kỹ thuật thì xã hội thúc đẩy khoa học hơn mười trườngđại học” Mặt khác thực tiễn cũng là tiêu chuẩn để kiểm tra nhận thức

Thực tế là những sự việc có thật, những tình hình cụ thể, những vấn đề đã hoặc chưađược giải quyết trong cuộc sống Người nghiên cứu với kinh nghiệm bản thân trong công

Trang 8

Trang 6

tác hàng ngày thường thấy được các mặt của vấn đề, các mối quan hệ phức tạp, các diễnbiến, phương hướng phát triển của sự vật từ đó có định hướng thích hợp giải quyết đề tài

Chính thực tiễn giúp người nghiên cứu tìm thấy vấn đề một cách cụ thể Người nghiêncứu phải xem thực tiễn cao hơn nhận thức (lý luận) vì nó có ưu điểm không những có tínhphổ biến mà còn có tính hiện thực trực tiếp Hồ Chủ Tịch cũng đã dạy: “Học tập thì theonguyên tắc: kinh nghiệm và thực tiễn phải đi cùng nhau”

Đề tài thực hiện mang tính thực tiễn, nội dung của đề tài là có thật, phát triển từ thực tếkhách quan

Có thể nói hầu như mọi công trình nghiên cứu điều có giá trị thực tế của nó, chỉ khácnhau ở mức độ ít nhiều, phục vụ trước mắt hay lâu dài, gián tiếp hay trực tiếp

III TÁC ĐỘNG CỦA ĐIỀU KIỆN KHÁCH QUAN ĐẾN VIỆC THỰC HIỆN ĐỀ TÀI

Trong quá trình nghiên cứu thực hiện đề tài người nghiên cứu là yếu tố chủ quangóp phần quan trọng đến kết quả còn đối tượng nghiên cứu, phương pháp nghiên cứu kể cảphương tiện ngiên cứu, thời gian nghiên cứu cùng những người cộng tác nghiên cứu vàngười hướng dẫn nghiên cứu là những điều kiện khách quan ảnh hưởng trực tiếp đến việcnghiên cứu và kết quả nghiên cứu Người nghiên cứu càng nắm chắc các yếu tố khách quan

đó bao nhiêu thì kết quả nghiên cứu càng được khẳng định bấy nhiêu

Trang 9

Trang 7

I CẤU TẠO VI ĐIỀU KHIỂN 8051

Trang 10

Trang 8

MCS-51 là họ IC vi điều khiển do hãng INTEL sản xuất Các IC tiêu biểu cho họ là

8031, 8051, 8951… Những đặc điểm chính và nguyên tắc hoạt động của các bộ vi điềukhiển này khác nhau không nhiều Khi đã sử dụng thành thạo một vi điều khiển thì ta có thểnhanh chóng vận dụng kinh nghiệm để làm quen và làm chủ các ứng dụng của bộ vi điềukhiển khác Vì vậy để có những hiểu biết cụ thể về các bộ vi điều khiển cũng như để phục

vụ cho đề tài này ta bắt đầu tìm hiểu một bộ vi điều khiển thông dụng nhất, đó là họ

MCS-51 và nếu như họ MCS-MCS-51 là họ điển hình thì 80MCS-51 lại chính là đại diện tiêu biểu

Các đặc điểm của 8051 được tóm tắt như sau:

 4 KB ROM bên trong

 128 Byte RAM nội

 4 port xuất/nhập I/O 8 bit

 Giao tiếp nối tiếp

 64 KB vùng nhớ mã ngoài

 64 KB vùng nhớ dữ liệu ngoài

 Xử lý Boolean (hoạt động trên bit đơn)

 210 vị trí nhớ có thể định vị bit

 4µs cho hoạt động nhân hoặc chia

Loại Bộ nhớ mã trên Chip Bộ nhớ dữ liệu trên Chip Số Timer

a Các thanh ghi Port (Port Register):

Trang 11

Bảng mô tả sự khác nhau của các IC trong họ MCS-51

Trang 9

Các port 0, port 1,port2, port 3 có địa chỉ tương ứng 80H, 90H, A0H, B0H.Các Port 0, Port 1, Port 2, Port 3 không còn tác dụng xuất nhập nữa nếu bộnhớ ngoài được dùng hoặc một vài tính chất đặc biệt của 8051 được dùng(như Interupt, Port nối tiếp…) Do vậy chỉ còn có tác dụng xuất nhập I/O

b Các thanh ghi Timer (Timer Register):

8051 có 2 bộ định thời/đếm16 bit, được dùng cho việc định thì hoặc đêm sựkiện Timer 0 có bit thấp TL0 ở địa chỉ 8AH và có bit cao TH0 ở địa chỉ 8CH.Timer 1 có bit thấp ở địa chỉ 8BH và bit cao TH1 ở địa chỉ 8DH

Hoạt động định thời được cho phép bởi thanh ghi mode định thời TMOD(Timer Mode Register) Ở địa chỉ 89H và thanh ghi điều khiển định thờiTCON (Timer Control Registor) ở địa chỉ 88H chỉ có TCON có bit định vị

c Các thanh ghi Port nối tiếp (Serial Port Register):

8051 chứa một Port nối tiếp trên Chip cho việc truyền thông tin với nhữngthiết bị nối tiếp như là những thiết bị đầu cuối, modem, hoặc để giao tiếp ICkhác với những bộ biến đổi A/D, những thanh ghi di chuyển, RAM…Thanhghi đệm dữ liệu nối tiếp SBUF ở địa chỉ 99H giữ cả dữ liệu phát lẫn dữ liệuthu Việc ghi lên SBUF để LOAD dữ liệu cho việc truyền và đọc SBUF đểtruy xuất dữ liệu cho việc nhận những mode hoạt động khác nhau được lậptrình thông qua thanh ghi điều khiển Port nối tiếp SCON

d Các thanh ghi ngắt (Interupt Register):

8051 có hai cấu trúc ngắt ưu tiên, 5 bộ nguồn Những Interupt bị mất tácdụng sau khi hệ thống Reset (bị cấm) và sau đó được cho phép bởi việc chophép ghi lên thanh ghi cho phép ngắt IE (Interupt Enable Register) ở địa chỉA8H Mức ưu tiên được đặt vào thanh ghi ưu tiên ngẳt IP (Interupt PriorityLevel) tại địa chỉ B8H Cả 2 thanh ghi trên đều có bit địa chỉ

Các chương trình được cấu tạo từ nhiều lệnh, chúng được xây dựng logic, sự nối tiếp củacác lệnh được nghĩ ra một cách hiệu quả và nhanh, kết quả của chương trình thì khả quan Tập lệnh họ MCS-51 được sự kiểm tra của các mode định vị và các lệnh của chúng có cácOpcode 8 bit Điều này cung cấp khả năng 28 = 256 lệnh được thi hành và một lệnh khôngđược định nghĩa Vài lệnh có 1 hoặc 2 byte bởi dữ liệu hoặc địa chỉ thêm vào Opcode.Trong toàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte

8051chia ra 5 nhóm chính:

 Các lệnh số học

Trang 12

Trang 10

MUL AB : (A) ← LOW [(A) x (B)]; có ảnh hưởng cờ OV

: (B) ← HIGH [(A) x (B)]; cờ Carry được xoá

DIV AB : (A) ← Integer result of [(A) / (B)]; cờ OV

: (B) ← Remainder of [(A) / (B)]; cờ Carry xoá

Tất cả các lệnh logic sử dụng thanh ghi A như là một trong những toán hạng thựcthi một chu kì máy, ngoài A mất 2 chu kì máy Những hoạt động logic có thểđược thực hiện trên bất kì byte nào trong vị trí nhớ dữ liệu nội mà không thôngqua thanh ghi A

Các hoạt động logic được tóm tắt như sau:

ANL <dest-byte>,<src-byte>

ORL <dest-byte><src-byte>

XRL <dest-byte>,<src-byte>

RL A : Quay thanh ghi A qua trái 1 bit

RLC A : Quay vòng thanh ghi A qua trái 1 bit có cờ carry

RR A : Quay thanh A ghi sang phải 1 bit

RRC A : Quay thanh ghi A sang phải 1 bit có cờ nhớ

JC Rel : Nhảy đến “Rel” nếu cờ carry C =1

JNC Rel : Nhảy đến “Rel” nếu cờ Carry C =0

JB bit,rel : Nhảy đến “Rel” nếu (bit) =1

JNB bit,rel : Nhảy đến “rel” nếu (bit) =0

Trang 13

Trang 11

JBC bit, rel : Nhảy đến “rel” nếu (bit) =1 và xoá bit.

ACALL addr 11 : Lệnh gọi tuyệt đối trong Page 2K

LCAL Addr 16 :Lệnh gọi dài chương trình con trong 64 K

RET : Kết thúc chương trình con trở về chương trình chính

RETI : Kết thúc thủ tục phục vụ ngắt quay về chương trình chính AJMP addr11: Nhảy tuyệt đối không điều kiện trong 2 K

LJMP addr16 : Nhảy dài không điều kiện trong 64 K

SJMP rel : Nhảy ngắn không điều kiện trong (-128÷127) byte

CJNE A, direct, rel : so sánh và nhảy đến A nếu A ≠direct

DJNE Rn,rel : Giảm Rn và nhảy nếu Rn≠0

DJNZ direct, rel : Giảm và nhảy nếu direct ≠0

Các lệnh dịch chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp Địachỉ gián tiếp có thể dùng địa chỉ 1 byte (@ Ri) hoặc địa chỉ 2 byte (@ DPTR).Tất cả các lệnh dịch chuyển hoạt động trên toàn bộ nhớ ngoài thực thi trong 2chu kỳ máy và dùng thanh ghi A làm toán hạng DESTINATION

Việc đọc và ghi RAM ngoài (RD và WR) chỉ tích cực trong suốt quá trình thựcthi của lệnh MOVX, còn bình thường RD và WR không tích cực (mức 1)

● Các lệnh luận lý:

CLR C : Xoá cờ Carry xuống 0 Có ảnh hưởng cờ Carry

CLR BIT : Xoá bit xuống 0 Không ảnh hưởng cờ Carry.

SET C : Set cờ Carry lên 1 Có ảnh hưởng cờ Carry

Trang 14

Trang 12

SET BIT : Set bit lên 1 Không ảnh hưởng cờ Carry.

CPL C : Đảo bit cờ Carry Có ảnh hưởng cờ Carry

CPL BIT : Đảo bit Không ảnh hưởng cờ Carry.

ANL C, BIT : Có ảnh hưởng cờ Carry.

ANL C, BIT : Không ảnh hưởng cờ Carry.

ORL C, BIT : Tác động cờ Carry.

ORL C, : Tác động cờ Carry

MOV C, BIT : Cờ Carry bị tác động.

MOV BIT, C : Không ảnh hưởng cờ Carry.

Các bộ định thời được sử dụng hầu hết trong các ứng dụng hướng điều khiển và 8051với các bộ định thời trên chip không phải là trường hợp ngoại lệ 8051 có hai bộ định thời

16 bit, mỗi bộ có 4 chế độ hoạt động Các bộ định thời được dùng để:

 Định thời trong một khoảng thời gian

 Đếm sự kiện

 Tạo tốc độ baud cho port nối tiếp của chip 8051

Thanh ghi TMOD (time mode register) chứa hai nhóm 4-bit dùng để thiết lập chế độhoạt động cho bộ định thời 0 và bộ định thời 1 (xem bảng 4.2 và 4.3) TMOD không đượcđịnh địa chỉ từng bit và điều này cũng không cần thiết Một cách tổng quát, TMOD đượcnạp một lần bởi phần mềm ở thời điểm bắt đầu của một chương trình để khởi động chế độhoạt động của bộ định thời Sau đó bộ định thời có thể được dừng, bắt đầu, v.v… bằng cáchtruy xuất các thanh ghi chức năng đặc biệt khác của bộ định thời

Trang 15

Bit Tên Bộ định thời Mô tả

7 GATE 1 Bit điều khiển cổng khi được set lên 1, bộ định

thời chỉ hoạt động trong khi INT ở mức cao.

4 M0 1 Bit chọn chế độ thứ hai (xem bảng 4.3)

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

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

định thời 0

Bảng: Thanh ghi chọn chế độ định thời

Trang 13

b Chế độ timer 16-bit (chế độ 1)

Chế độ 1 là chế độ timer 16 bit giống như chế độ 0, ngoại trừ lúc này timer hoạt độngnhư timer 16 bit đầy đủ Xung nhịp được đưa vào thanh ghi 16 bit được kết hợp bởiTHx và TLx Khi nhận được xung nhịp thì timer đếm lên: 0000H, 0001H, 0002H,v.v… Tràn xảy ra khi có chuyển tiếp từ FFFFH sang 0000H trong số đếm và nó đặt cờbáo tràn timer lên 1 Timer tiếp tục đếm tiếp Cờ báo tràn là bit TFx trong TCON màngười ta có thể đọc hoặc ghi vào bằng phần mềm

c Chế độ timer 8 bit tự nạp lại trị đầu (chế độ 2)

Chế độ 2 là chế độ tự động nạp giá trị đầu Byte thấp của timer TLx làm việc nhưtimer 8 bit trong khi đó byte cao của timer THx giữ giá trị cần nạp lại Khi bộ đếm trnf

từ FFH sang 00H thì không những cờ timer được đặt lên 1 mà giá trị trong THx cònđược nạp vào TLx , việc đếm tiếp tục từ giá trị này đến chuyển tiếp từ FFH sang 00H

kế, và cứ tiếp tục như vậy Chế độ này tiện lợi vì tràn timer xảy ra theo những khoảngthời gian có chu kỳ một khi TMOD và THx đã được khởi tạo trị đầu

d Khởi động, dừng và điều khiển các bộ định thời:

Bit TRx trong thanh ghi TCON được điều khiển bởi phần mềm để bắt đầu hoặc kếtthúc các timer Để bắt đầu các timer ta set bit TRx và để kết thúc timer ta clear TRx Ví

dụ timer được khởi động bởi lệnh SETB TR0 và được kết thúc bởi lệnh CLR TR0 (bitGate=0) Bit TRx bị xóa sau sự reset hệ thống, do đó các timer bị cấm bằng sự mặcđịnh

Thêm phương pháp nữa để điều khiển timer là dùng bit Gate trong thanh ghi TMOD

và ngõ nhập bên ngoài INTx Điều này được dùng để đo các độ rộng xung Giả sử

Trang 16

Bảng: Các chế độ định thời

Trang 14

xung đưa vào chân INT0 ta khởi động timer 0 cho mode 1 là mode timer 16 bit vớiTL0/TH0 = 0000H, Gate =1, TR0 =1 Như vậy khi INT0 =1 thì timer “được mở cổng”

và ghi giờ với tốc độ của tần số 1MHz

Khi INT0 xuống mức thấp thì timer “đóng cổng” và khoảng thời gian của xung tínhbằng us là sự đếm được trong thanh ghi TL0/TH0

Phần cứng truy xuất tới Port nối tiếp qua các chân TxD (P3.1) và RxD (P3.0) Portnối tiếp tham dự hoạt động đầy đủ (sự phát và thu cùng lúc), và thu vào bộ đệm mà nócho phép 1 ký tự nhận vào và được cất ở bộ đệm trong khi ký tự thứ hai được nhận vào.Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được nhận vào hoàn toàn thì dữ liệukhông bị mất

Hai thanh ghi chức năng đặc biệt cung cấp cho phần mềm truy xuất đến Port nối tiếp

là SBUF và SCON Sự đệm Port nối tiếp (SBUF) ở địa chỉ 99H là 2 sự đệm thật sự: Ghilên SBUF (nạp dữ liệu phát) và đọc SBUF (truy xuất dữ liệu đã nhận) Đây là

hai thanh ghi riêng biệt và rõ rệt, và thanh ghi phát chỉ ghi còn thanh ghi thu chỉ đọc

Sơ đồ khối của Port nối tiếp như sau:

Trang 17

Trang 15

a Thanh ghi điều khiển Port nối tiếp SCON:

Mode hoạt động của Port nối tiếp được set bởi việc ghi lên thanh ghi modecủa Port nối tiếp SCON ở địa chỉ 99H Bảng tóm tắt thanh ghi điều khiển Port nối tiếpSCON như sau:

0 0 0 Thanh ghi dịch Cố định (tần số dao động/12)

0 1 1 UART 8 bit Thay đổi (thiết lập bởi bộ định thời)

1 0 2 UART 9 bit Cố định (tần số dao động /12 hoặc /64)

1 1 3 UART 9 bit Thay đổi (thiết lập bởi bộ định thời)

Trước khi dùng Port nối tiếp, SCON phải được định đúng chế độ VD: Để khởi tạoPort nối tiếp chế độ 1 (SM0/SM1 = 0/1), cho phép thu (REN = 1), và set cờ ngắt của việcphát sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau :

MOV SCON, #01010010H

Port nối tiếp của 8051 có 4 mode hoạt động tùy thuộc theo trạng thái của SM0/SM1

Ba trong 4 mode cho phép truyền động bộ với mỗi ký tự thu hoặc phát sẽ được bố tríbởi bit Start hoặc bit Stop

b Khởi động và truy xuất các thanh ghi Port nối tiếp:

b.1 Cho phép thu:

Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm để chophép sự thu các ký tự Điều này thường được dùng làm ở đầu chương trình khi cácPort nối tiếp và các timer được khởi động

Trang 18

Bit Ký hiệu Địa chỉ Mô tả hoạt động

SCON.7 SM0 9FH Bit 0 của mode Port nối tiếp

SCON.6 SM1 9EH Bit 1 của mode Port nối tiếp

SCON.5 SM2 9DH Bit 2 của mode Port nối tiếp cho phép sự truyền

của bộ xử lý đa kênh ở mode 2 và 3; RI sẽ khôngtích cực nếu bit thứ 9 đã thu vào là 0

SCON.4 REN 9CH REN = 1 sẽ cho phép thu ký tự

SCON.3 TB8 9BH Phát bit 8 Bit 9 phát trong mode 2 và 3, được set

và xóa bởi phần mềmSCON.2 RB8 9AH Thu bit 8 Bit thứ 9 nhận được

SCON.1 TI 99H Cờ ngắt phát Cờ này được set ngay khi kết thúc

việc phát một ký tự; được xóa bởi phần mềmSCON.0 RI 98H Cờ ngắt thu Cờ này được set ngay khi kết thúc

việc thu một ký tự; được xóa bởi phần mềm

Bảng Các chế độ hoạt động của port nối tiếp

Trang 16

Ta có thể tác động bằng lệnh:

SETB REN hoặc:

MOV SCON, # xxx1xxxxB

b.2 Dùng timer tạo tốc độ Baud cho port nối tiếp:

Muốn tạo ra tốc độ Baud, ta khởi tạo TMOD ở chế độ tự nạp lại 8 bit (mode 2của timer) và đặt trước giá trị nạp lại đúng vào byte cao của thanh ghi timer 1 (TH1)

để tạo ra tốc độ tràn chính xác Có những tốc độ Baud rất chậm ta dùng chế độ 16 bit

là chế độ 1 của timer, nhưng ta phải khởi tạo lại sau mỗi lần tràn cho TL1/TH1.Hoạt động khác được đếm giờ bởi việc dùng timer 1 ngoài là T1 (P3.5) Công thứcchung để xác định tốc độ Baud trong mode 1 và mode 3 là:

Trong nhiều ứng dụng đòi hỏi ta phải dùng ngắt (Interrupt) mà không dùng timer bởi

vì nếu dùng timer ta phải mất thời gian để chờ cờ tràn timer TFx set mới xử lý tiếp chươngtrình Do đó ta không có thời gian để làm các việc khác mà ứng dụng đòi hỏi Đây là chươngtrình rất quan trọng của 8051 nói riêng và họ MSC – 51 nói chung

Ngắt là một sự cố có điều kiện mà nó gây ra sự ngưng lại tạm thời của chương trình

để phục vụ một chương trình khác Các ngắt đóng vai trò quan trọng trong việc thiết kế vàhiện thực các ứng dụng của bộ vi điều khiển các ngắt cho phép hệ thống đáp ứng một sựkiện theo cách không đồng bộ và xử lý sự kiện trong

Ví dụ một hoạt động 1200 Baud đòi hỏi một tốc độ tràn là 1200/32 = 38,4 KHz Nếuthạch anh 12MHz lái dao động trên Chip, thì timer 1 được đếm giờ ở tốc độ của tần số 1MHz Bởi vì timer phải tràn ở tốc độ tần số 38,4 KHz và Timer đếm giờ ở tốc độ của tần số

1 MHz, nên một sự tràn được yêu cầu với 1000/38,4 = 26,04 clock (làm tròn 26) Bởi vì cáctimer đếm lên và tràn khi có sự chuyển đổi từ FFH  00H của bộ đếm, nên 26 là giá trị cầnnạp cho TH1 (giá trị đúng là -26) Ta dùng lệnh: MOV TH1, #26

Ví dụ sau khi khởi động Port nối tiếp hoạt động giống như một UART 8 bit ở tốc độ

2400 Baud, dùng timer 1 để cung cấp tốc độ Baud:

MOV SCON, #01010010B ; Port nối tiêp mode 1MOV TMOD, #20 ; Timer 1 mode 2MOV TH1, #-13 ; Nạp vào bộ đếm tốc độ

Trang 19BAUD RATE = TIMER 1 OVERFLOW RATE ÷32

Trang 17

Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếpthu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởi việc cho biết thanh ghi đếm rỗng.TMOD có M1/M0 = 1/0 để đặt timer 1 vào mode tự động nạp lại 8 bit Việc set bit TR1 để

mở máy chạy timer Tốc độ Baud 2400 sẽ cho ta tốc độ tràn timer 1 là 2400/32 = 76,8 KHz(ứng với thạch anh 12 MHz) sẽ cho số xung clock sau mỗi sự tràn là 1000/76,8 = 13,02 (lấytròn là 13) Vậy -13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud

Khi một chương trình khác đang thực thi Một hệ thống được điều khiển bởi ngắt cho

ta ảo tưởng đang làm nhiều công việc đồng thời Tất nhiên CPU không thể thực thi nhiềulệnh tại một thời điểm, nhưng nó có thể tạm thời treo việc thực thi của chương trình chính

để thực thi chương trình khác và sau đó quay lại chương trình chính

Khi chương trình chính đang thực thi mà có một sự ngắt xảy đến thì chương trìnhchính ngưng thực thi và rẽ nhánh đến thủ tục phục vụ ngắt ISP (Interrupt Service Routine).ISR thực thi để thực hiện hoạt động và kết thúc với lệnh RETI: chương trình tiếp tục nơi mà

nó dừng lại

Ta có thể tóm tắt sự thực thi của 1 chương trình trong trường hợp có ngắt và không

có ngắt như sau:

Trang 20

Trang 18

Trong đó ký hiệu * cho biết ngắt chương trình chính để thực thi chương trình controng thủ tục phục vụ ngắt ISR Còn ký hiệu ** cho biết việc quay lại chương trình chínhthực thi tiếp sau khi kết thúc chương trình con trong ISR.

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

8051 cung cấp 5 nguồn ngắt, 2 ngắt ngoài, 3 ngắt timer và một ngắt Port nối tiếp tất

cả các ngắt bị mất tác dụng bởi sự mặc định sau khi reset hệ thống và được cho phép cábiệt bởi phần mềm

Trong trường hợp có hai hoặc nhiều hơn sự ngắt xảy ra đồng thời hoặc một sự ngắtđang được phục vụ mà xuất hiện một sự ngắt khác, thì sẽ có hai cách thực hiện sự ngắt là

sự kiểm tra liên tiếp và sự ưu tiên cấp 2

1.1 Sự cho phép ngắt và sự cấm ngắt:

Mỗi nguồn ngắt được cho phép riêng biệt hoặc sự cấm riêng biệt qua thanh ghi chứcnăng đặc biệt có bit định vị IE (Interrupt Enable) tại địa chỉ 0A8H Cũng như sự cá biệtcho phép các bit của mỗi nguồn ngắt có 1 bit cho phép (hoặc cấm) chung mà nó có đượcxóa để cấm tất cả các ngắt hoặc được set để cho phép chung các ngắt

Hoạt động của từng bit trong thanh ghi cho phép ngắt IE được tóm tắt trong bảng

sau:

Trang 21

Bit Symbol Bit Address Sự mô tả (Enable=1; Disable)

IE.7 EA AFH Cho phép ngắt toàn cục

IE.6 - AEH Không định nghĩa

IE.5 ET2 ADH Cho phép ngắt timer 2 (8052)

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

IE.3 ET1 ABH Cho phép ngắt timer 1

IE.2 EX1 AAH Cho phép ngắt ngoài External 1

IE.1 ET0 A9H Cho phép ngắt timer 0

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

Timer

Thục thi chương trình có ngắt

Trang 19

Hai bit phải set để cho phép 1 sự ngắt nào đó: là bit cho phép riêng và bit cho phépchung Ví dụ để cho phép ngắt timer 1 ta có thể thực hiện trên bit:

SETB ET1 và SETB EA hoặc sự thực hiện trên byte:

2 Xử lý các ngắt

Khi một ngắt xuất hiện và được chấp nhận bởi CPU thì chương trình chính bị ngắt Các hoạt động sau đây xuất hiện:

 Lệnh hiện hành và kết thúc thực thi

 Bộ đếm chương trình PC được cất giữ vào Stack

 Trạng thái ngắt hiện hành được cất giữ vào bên trong

 Những sự ngắt bị ngăn lại tại mức ngắt

 Bộ đếm chương trình PC được LOAD với địa chỉ vectơ của thủ tục phục vụ ngắt ISR

Trang 22

Bảng: Chức năng của thanh ghi IE

Trang 20

 Thủ tục phục vụ ngắt ISR được thực thi.

Thủ tục phục vụ ngắt ISR thực thi và đưa hoạt động vào đáp ứng ngắt, thủ tục phục vụngắt ISR kết thúc với lệnh RETI (quay trở về chương trình chính từ Stack) Điều này khôiphục lại giá trị của bộ đếm chương trình từ Stack và hoàn toàn dừng lại trạng thái cũ Sựthực thi của chương trình chính tiếp tục ở nơi mà nó ngừng lại

- GIỚI THIỆU AT89S52

Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự nhưnhau Ở đây giới thiệu IC89S52 là một họ IC vi điều khiển do hãng Intel của Mỹ sản xuất.Chúng có các đặc điểm chung như sau:

Các đặc điểm của 89S52 được tóm tắt như sau :

8 KB EPROM bên trong

128 Byte RAM nội

4 Port xuất /nhập I/O 8 bit

Có khả năng giao tiếp truyền dữ liệu nối tiếp

Có thể giao tiếp với 64 KB vùng nhớ bên ngoài dùng lưu chương trình điều khiển

Có thể giao tiếp với 64 KB vùng nhớ bên ngoài dùng lưu dữ liệu Xử lí Boolean(hoạt động trên bit đơn)

Có 210 vị trí nhớ có thể định vị bit

Trang 23

Trang 21

- Chức năng các chân của 89S52:

Vi điều khiển 89S52 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 độngnhư đườ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 : Port 0 là port có 2 chức năng ở các chân 32 - 39 của 89S52 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ợpgiữa bus địa chỉ và bus dữ liệu

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 1không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với cácthiế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 cao của bus địa chỉ đối với các thiết bị dùng

Trang 24

Trang 22

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 Các chân của

port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặctính đặc biệt của 89S52 như ở bảng sau:

Các ngõ tín hiệu điều khiển:

- Ngõ tín hiệu PSEN (Program store enable):

Trang 25

Ngõ vào của TIMER/COUNTERthứ

0.

Ngõ vào của TIMER/COUNTER thứ

1.

P 3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

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

Trang 23

PSEN 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 0E\ (output enable) của Eprom cho phép đọc các byte mãlệnh

PSEN ở mức thấp trong thời gian Microcontroller 89S52 lấy lệnh Các mã lệnh củachương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong89S52 để giải mã lệnh Khi 89S52 thi hành chương trình trong ROM nội PSEN sẽ ở mứclogic 1

- Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :

Khi 89S52 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus 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àmtí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 ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địachỉ thấp nên chốt địa chỉ hoàn toàn tự động

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

ngõ vào xung lập trình cho Eprom trong 89S52

- Ngõ tín hiệu EA\(External Access):

Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 89S52 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, 89S52 sẽ thi hành chương trình từ bộ nhớ mở rộng ChânEA\ được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89S52

- Ngõ tín hiệu RST (Reset) :

Ngõ vào RST ở chân 9 là ngõ vào Reset của 89S52 Khi ngõ vào tín hiệunày đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạpnhững giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự độngReset

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

Bộ dao động được tích hợp bên trong 89S52, khi sử dụng 89S52 người thiết kếchỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ Tần sốthạch anh thường sử dụng cho 89S52 là 12Mhz

Trang 26

Trang 24

Trang 27

Trang 25

Trang 28

Trang 26

1 PHÂN TÍCH CƠ CỞ GIAO TIẾP MÁY TÍNH.

Máy tính là thiết bị trợ giúp đặc biệt cho con người ở các lĩnh vực văn phòng, đồ hoạ, lập trình.v.v Khoa học kỹ thuật ngày càng phát triển thì máy tính trở nên rấtcần thiết và hữu ích Chính vậy, máy tính được đưa vào ứng dụng rất nhiều trong cuộc sốngđặc biệt trong lĩnh vực kỹ thuật Những ứng dụng mạnh nhất của máy tính trong kĩ thuật là thuthập dữ liệu từ thiết bị ngoại vi và điều khiển các quá trình hoạt động của hệ thống một cách tựđộng theo chương trình mà con người định sẳn

Máy tính giao tiếp với các thiết bị ngoại vi theo các cách sau:

- Giao tiếp qua rãnh cắm của máy tính (Slot Card)

- Giao tiếp máy tính qua cổng song song (LPT)

- Giao tiếp máy tính qua cổng nối tiếp (COM)

- Giao tiếp máy tính qua cổng USB

Trong máy tính, trên main board hoặc IO-card, thường chế tạo sẵn các rãnh cắm (slot)cho phép mở rộng bộ nhớ, cài đặt thêm phần cứng, mở rộng phạm vi ứng dụng cho máy tính

Mỗi khe cắm có các đường dữ liệu, đường địa chỉ, đường nguồn và các đườngđiều khiển như :CLK, IRQ, DMA…Do đó, nếu thiết kế giao tiếp qua Slot sẽ giảm được bộnguồn bên ngoài, làm giảm giá thành Tuy nhiên bên cạnh đó, Slot đòi hỏi người thiết kếphải nắm vững phần cứng của máy tính Giao tiếp qua Slot giới hạn khoảng cách làm việc

Vài nét cơ bản về cổng ghép nối máy in (cổng song song)

Cổng máy in hay thường gọi là giao diện Centronics, việc nối với cổng máy in, máytính được thực hiện thông qua ổ cắm 25 chân ở phía sau máy tính Nhưng đây không chỉ làchỗ nối với máy in mà khi sử dụng vào mục đích đo lường và điều khiển thì việc ghép nốicũng có thể thực hiện qua ổ cắm này Qua cổng này dữ liệu được truyền đi song song, do vậytốc độ truyền dữ liệu cũng đạt đến mức đáng kể Tất cả các đường dẫn của cổng máy in đềutương thích với TTL Chính sự tương thích này giúp cho việc giao tiếp trở nên đơn giản và

dễ dàng hơn Nghĩa là chúng đều cung cấp mức điện áp nằm giữa 0V đến 5V

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

29

Trang 27

Do đó ta cần lưu ý là các đường dẫn vào cổng này không được đặt mức điện áp quálớn Vì vậy khi ta tiến hành ghép nối chúng với nhau ta phải chú ý tới những qui tắc an toànsau:

- Chỉ được ghép nối khi máy tính đang ở trạng thái ngắt điện

- Các lối vào chỉ được phép tiếp nhận điện áp giữa 0V và 5 V

- Các lối ra không được phép ngắn mạch hoặc đấu nối với các ngõ ra

khác và các lối ra không được phép nối với các nguồn tín hiệu điện áp

không biết rõ thông số

- Cổng máy in trong máy tính được ký hiệu bằng LPT1 hoặc LPT2, có

tổng cộng 17 đường dẫn dữ liệu số: bao gồm có 12 đường dẫn ra và 5 đường

dẫn vào

Các đường dẫn dữ liệu từ D0 - D7 là những đường dẫn một chiều, và là đường dẫn ra.Các đường tín hiệu vào, ra có chốt

Sơ đồ chân của cổng máy in được mô tả như sau:

Sơ đồ chân cổng máy in( Jack đực)

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

30

Trang 28

Các chân và đường dẫn được mô tả như sau:

Chức năng các chân của cổng song song

Do cổng máy in có 5 đường dẫn lối vào, nhờ vậy mà việc bắt tay giữa máy tính vàcác thiết bị ngoại vi được thực hiện Trong 17 đường dẫn tín hiệu thì có 5 vào, vì vậy việcbắt tay giữa máy tính và máy in được thực hiện, chẳng hạn như khi máy in không còn đủ chỗtrống trong bộ nhớ thì nó đưa đến máy tính một trạng thái (BUSY =1) tức là báo máy in đangbận không nên gởi dữ liệu ra nữa

Sự trao đổi với các đường dẫn tín hiệu:

Các đường dẫn tín hiệu của cổng máy in được sắp xếp thành 3 thanh ghi: Thanh ghi

dữ liệu, thanh ghi trạng thái và thanh ghi điều khiển Thông qua 3 thanh ghi này cho phéptrao đổi thông tin giữa môi trường ngoài và bộ nhớ máy tính

Muốn truy xuất dữ liệu qua cổng máy in thì ta phải biết được địa chỉ cơ bản của cácthanh ghi dữ liệu gọi là địa chỉ cơ bản của cổng máy in

Cổng máy in LPT1 có địa chỉ cơ bản là 378Hex và cổng LPT2 có địa chỉ cơ bản là278Hex

Địa chỉ thanh ghi dữ liệu với địa chỉ cơ bản của cổng máy in 378h Địa chỉ thanh ghitrạng thái là 379h

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

31

Trang 29

Địa chỉ thanh ghi điều khiển là 37Ah

- Thanh ghi dữ liệu: gồm có 8 bit dữ liệu, có địa chỉ là 378h Thanh ghi dữ liệu (Data

register, địa chỉ = địa chỉ cơ bản )

Thanh ghi dữ liệu

- Thanh ghi trạng thái: có địa chỉ là 379h

Thanh ghi trạng thái(status register, địa chỉ = địa chỉ cơ bản +1)

Thanh ghi điều khiển : có địa chỉ là 37AH

Thanh ghi điều khiển(control register, địa chỉ = địa chỉ cơ bản + 2

Thanh ghi điều khiển

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

32

Trang 30

thấy có thể sử dụng thanh ghi data là thanh ghi phát, có nhiệm vụ truyền dữ liệu ra ngoài, vàthanh ghi điều khiển sẽ gởi tín hiệu điều khiển cho Kit, còn thanh ghi trạng thái sẽ nhận tínhiệu báo trạng thái hiện tại của thiết bị về máy tính

Giao tiếp qua cổng COM được sử dụng khá phổ biến Dữ liệu truyền ở cổng này thuộcdạng dữ liệu nối tiếp Tín hiệu truyền ở cổng này có thể truyền đi xa nhờ có cấu tạo đườngdây cáp ít sợi hơn cổng song song, mức áp tín hiệu cao

Cổng COM có loại 9 chân và loại 25 chân như cổng song song, có tổng cộng 8 đườngdẫn tín hiệu không kể đường nối đất

Cổng COM giao tiếp theo chuẩn RS-232 và thường được sử dụng để giao tiếp giữamáy tính và Modem hoặc giao tiếp với Mouse Dữ liệu được truyền dưới dạng nối tiếp vớitốc cực đại là 20Kbps, khoảng cách tối đa không quá 15m

Chiều dài của dữ liệu có thể dài bất kì nhưng thông thường trong 1byte chỉ dài 7 đến

8 bit kết hợp các bit xuất phát(Start bit) và bit dừng(Stop bit), Parity bit tạo thành mộtFrame Các thiết bị phát và nhận phải có cùng độ dài dữ liệu Ngoài các đường dữ liệu, cổnggiao tiếp này còn có các đường điều khiển thu phát và kiểm tra lỗi

3.1 Cấu trúc cổng nối tiếp

Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại vi, cócác ưu điểm sau:

- Khoảng cách truyền xa hơn truyền song song

- Số dây kết nối ít

- Có thể truyền không dây dùng hồng ngoại

- Có thể ghép nối với vi điều khiển hay PLC (Programmable Logic Device)

- Cho phép nối mạng

- Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc

- Có thể cung cấp nguồn cho các mạch điện đơn giản

Các thiết bị ghép nối chia thành 2 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ị tiếp nhận hay truyền dữ liệu như máy tính, PLC, vi điều khiển,… Việc trao đổitín hiệu thông thường qua 2 chân RxD (nhận) và TxD (truyền) Các tín hiệu còn lại có chứcnăng hỗ trợ để thiết lập và điều khiển quá trình truyền, được gọi là các tín hiệu bắt tay(handshake)

Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là có thể kiểm soát đường truyền SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

33

Trang 31

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áptruyền đủ ngắn có thể lên đến 115.200 bps

Các phương thức nối giữa DTE và DCE:

- Đơn công (simplex connection): dữ liệu chỉ được truyền theo 1 hướng

- Bán song công ( half-duplex): dữ liệu truyền theo 2 hướng, nhưng mỗi thời điểm chỉ được truyền theo 1 hướng

- Song công (full-duplex): số liệu được truyền đồng thời theo 2 hướng Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:

Các đặc tính kỹ thuật của chuẩn RS-232 như sau:

Chiều dài cable cực đại 15mTốc độ dữ liệu cực đại 20 KbpsĐiện áp ngõ ra cực đại ± 25VĐiện áp ngõ ra có tải ± 5V đến ± 15VTrở kháng tải 3K đến 7KĐiện áp ngõ vào ± 15V

Độ nhạy ngõ vào +3VTrở kháng ngõ vào 3K đến 7K

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

34

Trang 32

bps và 19200 bps.

Sơ đồ chân:

Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân) mô tả như hình trên Ý nghĩa của các chân mô tả như sau:

vệ

truyền

23 - DSRD DCE→DTE Data signal rate detector: dò

tốc độ truyền

Timing: tín hiệu định thờitruyền đi từ DTE

15 - TSET DCE→DTE Transmitter Signal Element

Timing: tín hiệu định thời truyền từ DCE để truyền dữ liệu

Timing: tín hiệu định thờitruyền từ DCE để truyền

dữ liệu

DCE khi tín hiệu nhận từ DCE lỗi

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

35

Trang 33

a mô tả:

Việc truyền thông nối tiếp trên Windows được thực hiện thông qua một ActiveX cósẵn là Microsoft Comm Control ActiveX này dược lưu trữ trong file MSCOMM32.OCX.Quá trình này có hai khả năng thực hiện điều khiển trao đổi thông tin:

- Điều khiển sự kiện:

Truyền thông điều khiển sự kiện là phương pháp tốt nhất trong quá trình điềukhiển việc trao đổi thông tin Quá trình điều khiển thực hiện thông qua sự kiệnOnComm

- Hỏi vòng:

Quá trinh điều khiển bằng phương pháp hỏi vòng thực hiện thông qua kiểm tra cácgiá trị của thuộc tính CommEvent sau một chu kỳ nào đó để xác định xem có sự kiện nàoxảy ra hay không Thông thường phương pháp này sử dụng cho các chương trình nhỏ

ActiveX MsComm được bổ sung vào một Visual Basic Project thông qua menuProject > Components:

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

36

Trang 34

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

37

Trang 35

b Các thuộc tính

- Settings:

Xác định các tham số cho cổng nối tiếp Cú pháp:

MSComm1.Settings = ParamString MSComm1: tên đối tượng

ParamString: là một chuỗi có dạng như sau: "BBBB,P,D,S"

BBBB: tốc độ truyền dữ liệu (bps) trong đó các giá trị hợp lệ là:

110 2400 38400

300 9600 56000

600 14400 188000

1200 19200 256000P: kiểm tra chẵn lẻ, với các giá trị

Giá trị Mô tả

O Odd (kiểm tra lẻ)

E Even (kiểm tra chẵn)

M Mark (luôn bằng 1)

S Space (luôn bằng 0)

N Không kiểm tra

D: số bit dữ liệu (4, 5, 6, 7 hay 8), mặc định là 8 bit S: số bit stop (1, 1.5, 2)

VD:

MSComm1.Settings = "9600,O,8,1" sẽ xác định tốc độ truyền 9600bps, kiểm traparity chẵn với 1 bit stop và 8 bit dữ liệu

- CommPort:

Xác định số thứ tự của cổng truyền thông, cú pháp:

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

38

Trang 36

PortNumber là giá trị nằm trong khoảng từ 1 → 99, mặc định là 1 VD:

MSComm1.CommPort = 1 xác định sử dụng COM1

- PortOpen:

Đặt trạng thái hay kiểm tra trạng thái đóng / mở của cổng nối tiếp Nếu dùngthuộc tính này để mở cổng nối tiếp thì phải sử dụng trước 2 thuộc tính Settings vàCommPort Cú pháp:

MSComm1.PortOpen = True | False Giá trị xác định là True sẽ thực hiện mở cổng và False để đóng cổng đồngthời xoá nội dung của các bộ đệm truyền, nhận

VD: Mở cổng COM1 với tốc độ truyền 9600 bps

MSComm1.Settings = "9600,N,8,1" MSComm1.CommPort = 1 MSComm1.PortOpen = True

- Các thuộc tính nhận dữ liệu:

Input: nhận một chuỗi ký tự và xoá khỏi bộ đệm Cú pháp: InputString =

MSComm1.Input

Thuộc tính này kết hợp với InputLen để xác định số ký tự đọc vào Nếu InputLen =

0 thì sẽ đọc toàn bộ dữ liệu có trong bộ đệm

VD: Đọc toàn bộ nội dung trong bộ đệm nhận nếu có dữ liệu MSComm1.InputLen = 0

If MSComm1.InBufferCount <> 0 Then

InputString = MSComm1.Input End If

- Các thuộc tính xuất dữ liệu:

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

39

Trang 37

của các thuộc tính này giống như các thuộc tính nhập

- CDTimeout:

Đặt và xác định khoảng thời gian lớn nhất (tính bằng ms) từ lúc phát hiện sóngmang cho đến lúc có dữ liệu Nếu quá khoảng thời gian này mà vẫn chưa có dữliệu thì sẽ gán thuộc tính CommEvent là CDTO (Carrier Detect Timeout Error)

và tạo sự kiện OnComm Cú pháp:

Đặt hay xoá tín hiệu DTR để báo sự tồn tại của DTE

Cú pháp: MSComm1.DTREnable = True | False

- RTSEnable:

Đặt hay xoá tín hiệu RTS để yêu cầu truyền dữ liệu đến DTE

Cú pháp: MSComm1.RTSEnable = True | False

- NullDiscard:

Cho phép nhận các ký tự NULL (rỗng) hay không (= True: cấm)

Cú pháp: MSComm1.NullDiscard = True | False

Trang 38

Chọn giao thức bắt tay khi thực hiện truyền dữ liệu Cú pháp:MSComm1.HandShaking = Protocol

Các giao thức truyền bao gồm:

ComNone 0 Không băt tay (mặc định)ComXon/Xoff 1 Bắt tay phần mềm (Xon/Xoff)ComRTS 2 Bắt tay phần cứng (RTS/CTS)ComRTSXon/Xoff 3 Bắt tay phần cứng và phànmềm

ComEvReceive 2 Khi có ký tự trong bộ đệm nhận

ComEvCTS 3 Có thay đổi trên CTS (Clear To Send) CóComEvDSR 4 Có thay đổi trên DSR (Data Set Ready)CóComEvCD 5 Có thay đổi trên CD (Carrier Detect)ComEvRing 6 Phát hiện chuông

ComEvEOF 7 Nhận ký tự kết thúc file

Chọn phương án giao tiếp qua cổng nối tiếp

Truyền nối tiếp thì có khả năng dùng cho những khoảng cách lớn,

khả năng gây nhiễu là nhỏ đáng kể so với dùng cổng song song

Khi truyền port nối tiếp mức logic 1 có điện áp từ -3 đến -15V và

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

41

Trang 39

song song thì mức logic 0 tương ứng 0V còn 5V tương ứng

mức logic 1 Cho nên ở port nối tiếp có thể có biên độ giao

động tối đa là 30V so với port song song tối đa chỉ có 5V Vì

vậy mức tín hiệu của truyền song song trong khoảng 0 ÷ 5V

không tương thích với khoảg cách truyền lớn Khi truyền dữ liệu

nối tiếp thì không tốn đường dây dẫn so với truyền song song Để

thực hiện giao thức truyền nối tiếp bất đồng bộ thì ta cần phải có

các vi mạch UART và bộ phận điều khiển trung tâm Tuy nhiên

do vi điều khiển AT89S52 đã tích hợp sẵn một bộ UART, để

thực hiện việc giao tiếp nên nhóm thực hiện đã chọn vi điều

khiển để giao tiếp với máy tính Do mức logic của cổng COM

không phù hợp với mức TTL của vi điều khiển AT89S52 nên ta

cần phải có vi mạch kích thu, kích phát đường truyền Vì vậy,

RS-232 sử dụng phương thức truyền không đối xứng, tức là sử dụng tín hiệu chênhlệch giữa một dây dẫn với đất Mức điện áp được sử dụng dao động trong khoảng từ -15Vtới 15V Trong khoảng từ 3V đến 15V ứng với giá trị logic 0, khoảng từ -15V đến -3V ứngvới giá trị logic 1

Chính vì từ -3V đến 3V là phạm vi không được định nghĩa, trong trường hợp thayđổi giá trị từ logic 0 lên 1 hoăc từ 1 tới 0 một phải vượt qua khoảng qúa độ trong thời gianngắn hợp lý

Tốc độ truyền dẫn đa số phụ thuộc vào chiều dài dây dẫn Đa số các hệ thống hiệnnay chỉ hỗ trợ tốc độ 19.2 kBd ( chiều dài cho phép từ 30m đến 50m) gần đây, sự tiến bộtrong vi mạch đã góp phần nâng cao tốc độ của các modem lên nhiều lần ngưỡng 19.2 kBd.Hiện nay đã có những vi mạch thu phát tốc độ 460 kBd và hơn nữa, tuy nhiên tốc độ thực tếlớn hơn 115.2 kBd theo chuẩn RS-232 trong một hệ thống làm việc dựa vào ngắt là một điềukiện có thể thực hiện

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

42

Trang 40

gia có thề thu và phát tín hiệu cùng một lúc Như vậy, việc thực hiện truyền thông cần tốithiểu 3 dây dẫn trong đó có hai dây tín hiệu nối chéo nhau các đầu thu phát của hai trạm vàmột dây đất

Một ưu điểm của chuẩn RS-232 là có thề sử dụng công suất phát tương đối thấp, nhờtrở kháng đầu vào hạn chế trong phạm vi từ 3-7kΩ

Điện áp đầu ra khi có tải 3KΩ ≤RL≤7KΩ 5V 15V

Trở kháng đầu vào khi cắt nguồn -2V≤V0≤2V 300Ω

Trở kháng đầu vào 3V≤VI ≤25V 3KΩ 7KΩ

Điện áp thay đổi từ 5V đến 10V được thay đổi nhờ sự bơm điện Đầu tiên tụ C1 sẽbơm điện áp từ 5V đến 10V và để lưu trữ điện áp 10V cho tụ C1 thì tụ C3 có vai trò là lưutrữ điện áp 10V ở ngõ ra.Thứ hai sử dụng tụ C2 là để biến đổi từ 10V sang -10V và để lưutrữ điện áp -10V thì tụ C4 có vai trò lưu trữ điện áp -10V ở ngõ ra

SVTH : Phạm Ngọc Dũng- Đặng Văn Trung Trang

43

Ngày đăng: 18/12/2014, 14:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3]. Nguyễn Hồng Sơn, Hoàng Đức Hải . Kỹ thuật truyền số liệu _Nhà xuất bản Lao động -Xã hội. [4]. Nguyễn Hữu Phương . Mạch số_Nhà xuất bản Thống kê Sách, tạp chí
Tiêu đề: Kỹ thuật truyền số liệu
Tác giả: Nguyễn Hồng Sơn, Hoàng Đức Hải
Nhà XB: Nhà xuất bản Lao động -Xã hội
[5]. Nguyễn Tấn Phước . Kỹ thuật xung căn bản và nâng cao _Nhà xuất bản thành phố Hồ Chí Minh Khác
6]. Ngô Diên Tập. Kỹ thuật điều khiển với AVR _Nhà xuất bản Khoa học và kỹ thuật Khác
[7]. Dương Minh Trí. Sơ đồ chân linh kiện bán dẫn_ Nhà xuất bản Khoa học và kỹ thuật Khác
[8]. Robert Boylestad. Electronic devices and circuit theory_Nhà xuất bản Prentice Hall, New Jersey Khác
[11].Trangwed:www.alldatasheet.com;www.diendandientu.com;www.google.com Khác

HÌNH ẢNH LIÊN QUAN

Bảng mô tả sự khác nhau của các IC trong họ MCS-51 - Tìm hiểu VB và 89c51
Bảng m ô tả sự khác nhau của các IC trong họ MCS-51 (Trang 8)
Sơ đồ khối của Port nối tiếp như sau: - Tìm hiểu VB và 89c51
Sơ đồ kh ối của Port nối tiếp như sau: (Trang 14)
Bảng Các chế độ hoạt động của port nối tiếp - Tìm hiểu VB và 89c51
ng Các chế độ hoạt động của port nối tiếp (Trang 15)
Sơ đồ chân: - Tìm hiểu VB và 89c51
Sơ đồ ch ân: (Trang 32)
Bảng tóm tắt càc thông số hoạt động  Max-232 - Tìm hiểu VB và 89c51
Bảng t óm tắt càc thông số hoạt động Max-232 (Trang 40)
Hình dạng và cấu tạo của MAX-232 - Tìm hiểu VB và 89c51
Hình d ạng và cấu tạo của MAX-232 (Trang 41)
1. SƠ ĐỒ KHỐI VÀ SƠ ĐỒ NGUYÊN LÝ: - Tìm hiểu VB và 89c51
1. SƠ ĐỒ KHỐI VÀ SƠ ĐỒ NGUYÊN LÝ: (Trang 43)

TỪ KHÓA LIÊN QUAN

w