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

Synthesis and biological evaluation of i

47 2 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

Tiêu đề Synthesis and biological evaluation of i
Tác giả Hồ Thanh Tâm, Lê V ăn Bạn
Trường học Đại Học Nông Lâm Thành Phố Hồ Chí Minh
Chuyên ngành Lập Trình Giao Tiếp Máy Tính
Thể loại Báo cáo luận văn
Thành phố Tp.HCM
Định dạng
Số trang 47
Dung lượng 805,67 KB

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

Nội dung

Visual Basic sử dụng kiểu lập trình Visual hay RAD Rapid Application Development trong đó việc tạo các cửa sổ, các Điều khiển và cách ứng xử của các cửa sổ cũng như các Điều khiển được

Trang 1

PHẦN 1: LẬP TRÌNH VISUAL BASIC:

Thoả thuận: tài liệu này thuộc quyền sở hữu của tác giả, bạn có thể tự do tham khảo tài liệu nhưng không được phép sử dụng để in thành sách báo, đăng lên các diễn đàn hay website, nhưng bạn có thể dùng đường link http://www.dieukhientudong.net để hướng tới tài liệu Liên hệ tác giả qua email: thanhtam.h@gmail.com.

A CƠ SỞ LẬP TRÌNH VISUAL BASIC

1 Giới thiệu Visual Basic

Visual Basic là một ngôn ngữ lập trình cấp cao 32 bit được sử dụng để viết các chương

trình chạy trong môi trường Windows Visual Basic sử dụng kiểu lập trình Visual hay RAD( Rapid Application Development) trong đó việc tạo các cửa sổ, các Điều khiển và cách ứng xử của các cửa

sổ cũng như các Điều khiển được thực hiện một cách dễ dàng nhanh chóng chỉ bằng các thao tác với mouse không cần phải khai báo, tính toán với nhiều câu lệnh phức tạp

Visual Basic là một ngôn ngữ lập trình theo kiểu hướng đối tượng Nó khác với kiểu lập trình cũ là kiểu Top Down

- Lập trình Top Down: chương trình được bố trí và thực thi từ trên xuống Với kiểu

lập trình này, việc bố trí sẽ trở nên rất khó khăn đối với các chương trình lớn

- Lập trình hướng đối tượng OOP (object-oriented programming): Các thành phần

được phân thành các đối tượng (Object) và viết cách ứng xử riêng cho mỗi đối tượng sau đó kết hợp chúng lại tạo thành chương trình

2 Bắt đầu với Visual Basic (VB)

2.1 Khởi động VB:

Sau khi khởi động VB, một hộp thoại (Dialog) “New Project” xuất hiện cho phép lựa chọn

1 trong các loại ứng dụng mà bạn muốn tạo VB6 cho phép tạo 13 loại ứng dụng khác nhau ở Tab

“New”, tuy nhiên ở mức độ căn bản và thông thường, Standard EXE (một loại chương trình tự

chạy tiêu chuẩn) sẽ được chọn

Hình 1: Dialog lựa chọn ứng dụng

Trang 2

2.2 Giao diện Visual Basic

Hình 2: giao diện Visual Basic

Giao diện cơ bản của VB bao gồm các thành phần sau:

• MenuBar: các trình đơn của VB

• Toolbar: một số chức năng cơ bản của chương trình

• Toolbox: chứa các Điều khiển (Control) thông dụng

• Project Explorer: hiển thị các thành phần của ứng dụng đang thực hiện

• Properties Window: Cửa sổ hiển thị các đặc tính (Properties) thiết kế của các Điều khiển

• Form Layout Window: xem trước hoặc thay đổi vị trí Form khi thực thi ứng dụng

• Workspace: vùng làm việc của chương trình…

• Ngoài ra giao diện VB còn chứa rất nhiều các thành phần khác Để hiển thị thành phần nào bạn chọn trình đơn “View” và click chọn thành phần bạn muốn hiển thị

Tuy nhiên, với những thành phần được giới thiệu trên đã đủ để giúp bạn xây dựng các ứng dụng của VB Các thành phần trên sẽ được giới thiệu đầy đủ hơn trong các phần sau của tài liệu này

Chú ý: Do VB là một ngôn ngữ lập trình theo kiểu hướng đối tượng (tuy chưa thật sự đầy

đủ ý nghĩa), vì vậy để có thể làm việc với VB trước hết bạn phải biết cơ bản về khái niệm “Đối tượng”-Object

3 Lập trình hướng đối tượng trong Visual Basic

Lập trình hướng đối tượng là một khái niệm khó Tuy nhiên với mức độ trung bình ta chỉ cần hiểu các thành phần cơ bản nhất của khái niệm này nhằm giúp ta xây dựng được các ứng dụng trong VB

Trang 3

Giới thiệu đối tượng

Đối tượng (Object) là một vật thực hữu, mỗi đối tượng có 1 tên gọi riêng.Ví dụ “Cat “ là một đối tượng, nó thuộc lớp mèo ( khái niệm lớp-Class ở đây không được đề cập) Mỗi đối tượng

có các thuộc tính (Properties), Các hoạt động hay Phương thức (Method) và các ứng xử hay sự

kiện (Event) Ví dụ “Chân”, “mắt”, “màulông”,… là các Properties của Cat, còn khả năng chạy,

nhảy…là các Method của Cat, “Khát nước” là một Event của Cat

Truy xuất các đối tượng

Truy xuất đối tượng là việc đọc (GET), và đặt (SET) các Properties của đối tượng hay gọi các Method của đối tượng Cú pháp:

Tên Đối tượng.Properties hoặc Đối tượng.Method

Ví dụ bạn muốn biết màu lông của Cat, bạn dùng: Biến=Cat.màulông, nghĩa là màu lông của Cat đã được gán cho Biến, giá trị của Biến cũng chính là giá trị của màu lông

Bây giờ nếu bạn muốn Cat phải chạy, bạn gọi: Cat.chạy vì “chạy” là một Method của Cat

Như vậy có thể hiểu Method là các mệnh lệnh mà đối tượng có khả năng thực hiện khi được yêu cầu Khác với các Properties ta chỉ có thể gọi các Method lúc chương trình đang thực thi (Runtime)

Riêng Event là các sự kiện xảy ra đối với đối tượng và các đáp ứng của đối tượng đối với

sự kiện đó, các đáp ứng chính là code được người lập trình viết, đó cũng chính là nội dung quan

trọng nhất khi lập trình Phần này được sẽ được trình bày cụ thể trong các ví dụ thiết kế ứng dụng

4 Giới thiệu các Điều khiển (Control):

Các Điều khiển trong VB là một dạng của Đối tượng, Đó là những công cụ có sẵn giúp cho việc tạo giao diện của ứng dụng trở nên dễ dàng và nhanh chóng hơn, đây chính là đặc trưng của kiểu lập trình VISUAL hay RAD đã được đề cập ở trên Các Điều khiển cũng bao gồm các thành phần của Đối tượng Vì vậy, từ bây giờ khái niệm Điều khiển có thể hiểu đồng nhất với Đối tượng

VB6 cung cấp 21 intrinsic Control (Điều khiển cơ bản) Phần giới thiệu những Control

thông dụng nhất khi sử dụng VB bạn có thể tìm thấy trong Phụ Lục 1

5 Cơ sở lập trình

Cấu trúc một chương trình trong VB:

Private/Public Function/Sub TenChuongTrinh/TenEvent(Biến tham chiếu, tham trị)

Dim [Biến1] as Kiểubiến1 Dim [Biến2] as Kiểubiến2

… Lệnh 1 Lệnh 2

Lệnh n End sub

5.1 Biến:

- Được dùng để lưu trữ tạm thời các giá trị trong quá trình tính toán của chương

trình Giá trị mà ta lưu trữ trong biến có thể là những số nguyên, số thực, hay con chữ cái mà ta gọi là kiểu biến Vì là thành phần lưu trữ tạm thời nên biến sẽ tự động mất đi khi kết thúc chương trình hay thậm chí khi kết thúc một câu lệnh

- Trong VB, biến được khai báo theo cấu trúc:

Dim TênBiến as KiểuBiến

Tên Biến phải:

Dài không quá 255 ký tự Phải bắt đầu bằng chữ cái

Không có khoảng trắng hay ký hiệu +,-,*,/… trong tên biến

Không được trùng với từ khoá (keywords)của VB Không nên đặt tên trùng nhau

Có sự phân biệt giữa chữ viết HOA và chữ viết thường

Trang 4

Kiểu biến: Có một số kiểu biến hợp lệ được sử dụng trong VB như sau:

4 bytes -3.402823E38 to -1.401298E-45 for negative

values; 1.401298E-45 to 3.402823E38 for positive values

String

(variable-length)

10 bytes + string length

Same range as for variable-length String

o Biến phải đươc sử dụng đúng kiểu và đúng khoảng giá trị

VD: Dim x as integer, nếu gán x=“abc” sẽ xuất hiện lỗi vì x đã được khai báo

là một số nguyên nên không thể gán cho các ký tự

Trang 5

o Trong VB, biến có thể được khai báo như sau: Dim TenBien, tức không

cần khai báo Kiểu biến, hoặc Dim TenBien as Variant khi đó kiểu biến là Variant tức tuỳ ý VD: Dim x hay Dim x as Variant khi đó ta có thể gán

x=1 hay x=“abc”…vì ở đây x không có kiểu biến nhất định nên trình dịch tự

hiểu kiểu của x khi nó được sử dụng

o Trong VB, một biến có thể được sử dụng mà không cần khai báo trước, tuy nhiên để tránh gặp lỗi khi lặp trình nên khai báo đầy đủ biến trước khi sử

dụng Tốt nhất nên sử dụng từ khoá Option Explicit ở đầu chương

trình.(Xem trong các ví dụ ở phần sau)

- Giới hạn sử dụng: nếu biến khai báo bên trong 1 đoạn chương trình với từ khoá

Dim phía trước, biến đó chỉ có tác dụng bên trong đoạn chương trình đó, biến như

vậy gọi là biến cục bộ(Local) Ngược lại nếu được khai báo trong phần General với từ khoá Public thay cho Dim, biến sẽ có tác dụng trong toàn khối chương

trình ta gọi là biến toàn cục(Global)

- Nếu 1 biến toàn cục và 1 biến cục bộ trùng tên thì biến có tác dụng là biến cục bộ

5.2 Hàm và toán tử nội là một số hàm và toán tử được hỗ trợ sẵn bởi VB: Xem Phụ Lục 2

5.3 Các cấu trúc điều khiển

a Do…Loop: là một vòng lặp vô tận các câu lệnh bên trong Do…Loop sẽ được thực hiện

lặp đi lặp lại mãi cho đến khi gặp lệnh Exit Do

Do [DoEvents]

Các câu lệnh

Loop

Để tránh bị treo máy do rơi váo vòng lặp vô tận, có thể sử dụng Doevents

b Do While “điều kiện” …Loop: Trong khi “điều kiện” còn đúng thì còn thực hiện các câu lệnh bên trong Do và Loop

Do While ” điều kiện”

Kq: Hộp thoại sẽ xuất hiện 10 lần cho đến khi nào giá trị cúa Num>=10 thì thôi

c Do Until “điều kiện”…Loop”: Thực hiện các câu lệnh bên trong cho đến khi “điều kiện” đã thỏa thì dừng

Do Until ” điều kiện”

[Các câu lệnh]

[Các câu lệnh]

Loop Chú ý: Ta có thể nhận thấy sự khác biệt cơ bản giữa Do While và Do Until là ở chổ: trong

khi “điều kiện” trong Do While là điều kiện để thực hiện chương trình thì “điều kiện “ trong Do Until lại là điều kiện để dừng chương trình

Trang 6

Loop [{While | Until} “điều kiện” ]

Cấu trúc này cũng giống như 2 cấu trúc trên tuy nhiên sự khác biệt là ở đây các câu lệnh thực hiện trước khi kiểm tra “điều kiện”, nghĩa là luôn có ít nhất một lần các câu lệnh được thực hiện bất chấp điều kiện đúng hay sai

Chú ý: Trong các vòng lặp Do…Loop, để thoát khỏi vòng lặp ta cò thể sử dụng câu lệnh Exit Do

e Vòng lặp For…Next: Lặp lại một quá trình nào đó theo một số lần đã được chỉ định

For counter = start To end [Step step]

Kq: Hộp thoại sẽ xuất hiện 10 lần cho đến khi nào giá trị cúa i=10 thì thôi

Chú ý : có thể sử dụng câu lệnh Exit For để thoát khỏi vòng lặp For…Next

f Câu lệnh rẽ nhánh If…then…Else: Nếu điều kiện đúng thì thực hiện các câu lệnh theo

sau Then, nếu không sẽ thực hiện các câu lệnh theo sau Else

If “điều kiện” Then [các câu lệnh] [Else các câu lệnh khác]

VD: Dim x as Single ‘ khai báo biến x với kiểu là Single

x=Rnd(1)*10 ‘ cho x một giá trị ngẫu nhiên từ 0-10, hàm Rnd(1) trả ra một ‘giá trị ngẫu nhiên từ 0 đến 1

If X>5 then MsgBox “So Lon”,VBOKOnly,”IfThen” Else MsgBox “So

nho”,VBOKOnly,”IfThen”

g Sử dụng Elseif: Đây là dạng điều kiện lồng trong điều kiện

If điều kiện Then

h Cấu trúc Select case: Cũng là một cấu trúc rẽ nhánh sử dụng như là một kiểu lựa chọn

Select Case tên biến [Case giá trị-n

[các câu lệnh-n]]

[Case Else

[các câu lệnh khác]]

End Select

Trang 7

VD: Dim i

i=Rnd(1)*3 Select case i Case 0 : MsgBox “So 0”,VBOKOnly,”SelectCase”

Case 1 : MsgBox “So 1”,VBOKOnly,”SelectCase”

Case 2 : MsgBox “So 2”,VBOKOnly,”SelectCase”

Case 3 : MsgBox “So 3”,VBOKOnly,”SelectCase”

End Select

i With Đối tượng: khi muốn truy xuất cùng lúc nhiều Properties của 1 đối tượng, người

ta sử dụng With đối tượng:

VD: Ví dụ sau thay đổi cùng lúc các thuộc tính Border, Alignment, Font, BackColor…của một đối tượng TextBox tên là Text1

With Text1

.BorderStyle=1 Alignment=2 BackColor=QBColor(12) Font=”VNI-Times”

On Error Resume Next: Nếu có lỗi thì bỏ qua, nhảy đến câu lệnh tiếp theo sau Dùng câu

lệnh này thường không giải quyết lỗi triệt để, dễ làm nảy sinh lỗi liên hoàn rất khó xử lí

Khi có lỗi xảy ra, giá trị nhận dạng lỗi sẽ được lưu tự động vào biến “Err”, như vậy

để nhận dạng lỗi và tìm ra cách giải quyết thích hợp chỉ cần tham khảo biến “Err”

B VÍ DỤ LẬP TRÌNH

Ví dụ này hướng dẫn sử dụng các đối tượng cơ bản trong VB như : CommandButton, TextBox, Label

- Khởi động VB, ở hộp thoại “New Project” chọn “standard EXE”, nhấn “Open”

- Một Project mới được tạo thành có tên “Project1”, chứa một Form tên “Form1” Trong trình đơn File, chọn “Save Project”, hộp thoại “Save File as” xuất hiện,bạn hãy chọn nơi lưu Project cho mình, sau đó đặt tên Form là FormVD1, tên Project là VD1 Project

đã được lưu

- Tạo 2 Frame bằng cách chọn và kéo, trong cửa số “Properties” đặt thuộc tính name của chúng lần lượt là FraHello, FraCal và đặt Caption là: Hello, Calculate

- Các control còn lại được tạo ra theo bảng tóm tắt sau:

Alignment Font

• Tên Font

TxtHello 3-Center Times New Roman

Trang 8

• Style

• Size Lock

Text

Vị trí

Bold

48 True

bỏ trống Bên trong FraHello

Caption

Vị trí

FraStyle Select Style Bên trong FraHello

Caption Value

Vị trí

ChkBor Border 1-Checked Bên trong FraStyle

Caption Value

Vị trí

ChkLock Lock 1-Checked Bên trong FraStyle

Caption Value

Vị trí

ChkEn Enable 1-Checked Bên trong FraStyle

Caption Value

Vị trí

ChkVi Visible 1-Checked Bên trong FraStyle

Caption Value

Vị trí

OptRed Red Flase Bên trong FraColor

Caption Value

Vị trí

OptGreen Green Flase Bên trong FraColor

Caption Value

Vị trí

OptNBlue Blue Flase Bên trong FraColor

Caption Value

Vị trí

OptBlack Black True Bên trong FraColor

Caption

Vị trí

FraColor Select Color Bên trong FraHello

Alignment Text

Vị trí

TxtNum1 3-Center

0 Bên trong FraCal

Alignment Text

Vị trí

TxtNum2 3-Center

0 Bên trong FraCal

Trang 9

Alignment Lock Text

Vị trí

3-Center true

0 Bên trong FraCal

Caption

vị trí

LblPlus + bên trong FraCal

Caption

Vị trí

cmdExit E&xit bên ngoài Form

Hình 3: biểu tượng các Control và giao diện VD1

Hoạt động của chương trình VD1:

- Bạn nhấn nút lệnh “Show”, một dòng chữ “Hello” xuất hiện trên TextBox

txtHello, nút lệnh “Clear” dùng xoá các dòng chữ trên txtHello

- Bạn thử click vào TextBox, đánh thử bất kỳ kí tự nào, bạn thấy không hề có tác

dụng, đó là vì thuộc tính Lock của TextBox đã được đặt là True trong lúc thiết kế giao diện, thuộc tính này quy định TextBox là “ReadOnly” tức không thay đổi được nội dung của TextBox Bỏ chọn CheckBox chkLock, thử đánh bất kỳ kí tự nào vào TextBox, lúc này đã có tác dụng

- Ta thử tương tự cho các CheckBox còn lại dể xem kết quả

- Click chọn lần lượt vào các OptionButton Red, Green, Blue, Black bạn sẽ thấy

màu chữ ở TextBox sẽ lần lượt thay đổi từ Red->Green->Blue và cuối cùng là

Trang 10

- Nhập số vào các TextBox TxtNum1, TxtNum2, nhấn nút lệnh Calculate, chương

trình sẽ thực hiện cộng 2 số đó và kết quả hiển thị ở TextBox TxtSum

- Nút lệnh Exit dùng để thoát khỏi chương trình

- Viết lệnh cho các biến cố (Events)

- Double Click vào nút lệnh Exit, theo mặc định, Biến cố Click sẽ xuất hiện, bạn viết dòng lệnh sau:

Private Sub cmdExit_Click()

End ‘ Kết thúc chương trình End Sub

- Tương tự viết lệnh cho các biến cố của các 2 nút lệnh “Show” và “Clear” như

End Sub

- Viết lệnh cho các CheckBox chọn Style:

Private Sub ChkBor_Click() txtHello.BorderStyle = ChkBor.Value ‘ khi CheckBox chkBor được Click, thuộc ‘tính BorderStyle của TextBox được gán bằng giá trị của chkBor, chkbor có 2 giá ‘trị là 0: khi không có dấu kiểm và 1:khi có dấu kiểm tương ứng với đó, TxtHello sẽ ‘có viền ngoài hay không

End Sub Private Sub ChkEn_Click()

If ChkEn.Value = 0 Then txtHello.Enabled = False Else txtHello.Enabled = True End Sub

Private Sub ChkLock_Click()

If ChkLock.Value = 0 Then txtHello.Locked = False

If ChkLock.Value = 1 Then txtHello.Locked = True End Sub

Private Sub ChkVi_Click()

If ChkVi = 0 Then txtHello.Visible = False Else

txtHello.Visible = True End If

End Sub

Trang 11

- Viết lệnh cho các CheckBox chọn màu :

Private Sub OptBlack_Click() txtHello.ForeColor = vbBlack ‘Khi bạn Click chọn vào OptionButton này,bạn sẽ đặt thuộc tính màu chữ của TexbBox là màu đen, ‘ở đây vbBlack là một hằng số mặc định của

VB, trình dịch sẽ tự hiểu đó là máu ‘đen Tương tự bạn cũng có thể dùng các hằng số màu khác được hỗ trợ sẵn như: ‘vbRed, vbGreen, vbBlue, vbWhite…

End Sub Private Sub OptBlue_Click() txtHello.ForeColor = vbBlue End Sub

Private Sub OptGreen_Click() txtHello.ForeColor = RGB(0, 255, 0) ‘các tham số của Hàm RGB đã được giới thiệu trong phụ lục

End Sub Private Sub OptRed_Click() txtHello.ForeColor = QBColor(12) ‘Hàm QBColor cũng trả ra một màu, các giá trị ‘màu có thể xem ở bảng dưới

End Sub

Bảng màu tương ứng của hàm QBColor

- Viết lệnh cho nút lệnh Calculate

Private Sub cmdCal_Click() Dim x As Double, y As Double, z As Double ‘ Khai báo x, y, z là các biến tạm, kiểu biến

z = x + y ‘Thực hiện phép cộng 2 số x và y, kết quả lưu váo biến z

TxtSum = Str(z) ‘Đổi z ra chuỗi (String) và gán lại cho thuộc tính Text của ‘TxtSum, ở đây chúng tôi viết TxtSum=Str(z) thực chất phải là ‘TxtSum.Text=Str(z), bởi vì theo mặc định, trình dịch sẽ hiểu TxtSum là ‘txtSum.Text, những thuộc tình như vậy gọi là thuộc tính Default

End Sub

Trang 12

PHẦN 2: CÁC PHƯƠNG PHÁP GIAO TIẾP MÁY TÍNH

* Giao tiếp qua Slot

Khi một máy tính được tung ra thị trường thì cả nhà sản xuất và người tiêu dùng đều ngầm hiểu là cấu hình máy tính chưa hoàn chỉnh, mà tùy vào từng mục đích sử dụng có thể ghép nối thêm vào các thiết bị khác để mở rộng khả năng đáp ứng của máy tính

Bên trong máy,tính ngoài các rãnh cắm dùng cho card vào/ra (In/Out), card màn hình, vẫn còn những rãnh cắm để trống Các rãnh cắm này được dùng khi cần nối các bản mạch cắm thêm vào máy tính PC Mỗi Slot đều có riêng các đường dữ liệu (data), có các đường địa chỉ, các nguồn cung cấp ± 5V, ± 12V, GND và các đường điều khiển như là CLK, IQR,…

Vì vậy nếu chúng ta giao tiếp qua Slot sẽ giảm được nhiều linh kiện, như giảm được bộ nguồn bên ngoài, dễ điều khiển và do đó giảm được giá thành của mạch giao tiếp Đây là một ưu điểm của phương pháp giao tiếp này Ngoài ra, qua Slot ta có thể gắn thêm nhiều loại card 8 bit, 16 bit,

32 bit,…

Tuy nhiên, phương pháp giao tiếp này cũng có nhiều nhược điểm là do card gắn trực tiếp trên máy nên cần phải có một kích thước tiêu chuẩn nhất định Card giao tiếp không có quá nhiều linh kiện, nếu nhiều thì ngoài card giao tiếp ra cần có thêm một vài card bên ngoài

* Giao tiếp qua cổng COM

Cách giao tiếp này được sử dụng phổ biến nhất Giao tiếp phải theo chuẩn RS-232, các bit

dữ liệu nối tiếp nhau trên một đường truyền trên một đường dẫn và thường dùng để giao tiếp giữa máy tính với modem và mouse,.v v Dữ liệu được truyền đi dưới dạng nối tiếp với một tốc độ cụ thể do người lập trình quy định (1200 bps, 2400 bps, 4800 bps, 9600 bps, 14.4 kbps, 28.8 kbps, 33.6 kbps, 56 kbps), chiều dài ký tự có thể là 5, 6, 7 và 8 bit kết hợp với bit start và bit stop, bit parity (chẵn lẻ) để tạo thành một frame (khung truyền)

Ngoài đường truyền dữ liệu, port giao tiếp này còn có các đường điều khiển thu, phát, kiểm tra lỗi Cách giao tiếp này cho phép truyền ở khoảng cách lớn vì khả năng chống nhiễu khá nhỏ Mặt khác vì đường truyền là nối tiếp nên thành viên thứ ba không thể tham gia vào cuộc trao đổi thông tin

Ưu điểm lớn nhất của kiểu giao tiếp này là sử dụng ít đường truyền, ít nhiễu tín hiệu nên có thể truyền quãng đường xa…Nhưng mặc khác do bản chất là truyền thông nối tiếp nên cổng nối tiếp không được sử dụng cho những ứng dụng thời gian thực hay điều khiển song song…Có một giải pháp cho vấn đề này đó là sử dụng cổng song song

* Giao tiếp qua cổng máy in (cổng song song)

Máy in được giao tiếp với máy tính nhờ vào ổ cắm 25 chân ớ phía sau máy tính Ổ cắm này không phải chỉ dành riêng cho cổng máy in mà còn sử dụng trong các mục đích đo lường và điểu khiển Qua ổ cắm này dữ liệu được truyền đi song song nên đôi khi nó còn được gọi là cổng ghép nối song song và vì như thế tốc độ truyền dữ liệu có thể đạt tới mức đáng kể

Bên cạnh 8 bit dữ liệu còn có những đường dẫn tín hiệu khác, tổng cộng ta có thể trao đổi một cách riêng biệt với 17 đường dẫn tín hiệu bao gồm 12 đường dẫn ra và 5 đường dẫn vào Bởi

vì 8 đường dẫn dữ liệu từ D0 đến D7 (từ chân 2 đến chân 9) không phải luôn là đường dẫn hai chiều nên chúng ta chỉ có thể chỉ sử dụng như những lối ra Các lối ra khác như chân 1 (STORE), chân 14 (AUTOFEED), chân 16 (INT), chân 17 (SELECT) Khi trao đổi thông tin với thông tin với những máy in, các đường dẫn này có những thông tin nhất định

Nhìn chung giao tiếp qua cổng máy in tương đối dễ dàng và thuận tiện, mặc khác do theo chuẩn TTL nên rất phù hợp cho mục đích giao tiếp

Trang 13

A GIỚI THIỆU VỀ SLOT

Các loại rãnh cắm theo những tiêu chuẩn khác nhau có thể kể ra như sau:

• Rãnh cắm 16 bit theo tiêu chuẩn ISA (Industry Standard Architechure)

• Rãnh cắm PS/2 với 16 bit theo tiêu chuẩn MCA (Micro Channel Architechure)

• Rãnh cắm PS/2 với 32 bit theo tiêu chuẩn MCA (Micro Channel Architechure)

• Rãnh cắm 32 bit theo tiêu chuẩn EISA (Extended Industry StandardArchitechure)

• Rãnh cắm 32 bit theo tiêu chuẩn VESA VLB (VESA Local Bus Standard)

• Rãnh cắm 32 bit theo tiêu chuẩn PCI (Peripheral Component Interconect Standard) Cho đến nay phần lớn các card ghép nối dùng trong kỹ thuật đo lường và điều khiển đều được chế tạo để đặt vào rãnh cắm theo tiêu chuẩn ISA, vì vậy sẽ giới thiệu chi tiết hơn về tiêu chuẩn này

2 Rãnh cắm theo tiêu chuẩn ISA

Thông thường rãnh cắm có 32 đường tín hiệu dùng cho mục đích thông tin với một card cắm vào Về cơ bản các tín hiệu này được chia thành các đường dẫn tín hiệu, đường dẫn địa chỉ và đường dẫn điều khiển Bởi vì ngay từ máy tính PC/XT đã sẵn có các rãnh cắm 62 chân này, trên đó có 8 đường dẫn dữ liệu, nên đôi khi người ta cũng gọi luôn rãnh cắm 62 chân này là rãnh cắm 8 bit Chỉ những card 8 bit mới cắm vào rãnh này được Bảng dưới đây chỉ ra sự sắp xếp các chân ra của rãnh cắm mở rộng 8 bit

Bảng 2.1 sự sắp xếp các chân ra cũa rãnh cắm mở rộng 8 bit

Phía mạch in Phía linh kiện

Trang 14

/IOR B14 A14 A17

Bảng 2.2 Các đường dẫn tín hiệu quan tâm

Tín hiệu Hướng Mô tả Reset Lối ra Sau khi bật máy hoặc sau khi ngắt điện, đường dẫn

Reset sẽ kích hoạt trong thời gian ngắn để đưa card đã được cắm vào đến một trạng thái ban đầu xác định

/IOW Lối ra

Input/Output/Write Tín hiệu này sẽ kích hoạt khi truy nhập ghi lên một card

mở rộng Mức thấp chỉ ra rằng các dữ liệu có giá trị đang chờ để đưa ra ở bus dữ liệu Các dữ liệu được đón nhận bằng sườn trước

Input/Output/Read

Trang 15

/IOR Lối ra

Mức thấp nhất của đường dẫn địa chỉ này báo hiệu sự truy nhập đọc trên một card mở rộng Trong thời gian này các dữ liệu cĩ giá trị cần phải sắp xếp để rồi sau đĩ được đĩn nhận bằng sườn trước

ANE Lối ra Address Enable

Đường dẫn điều khiển ANE dùng để phân biệt chu trình truy nhập DMA và chu trình truy nhập bộ xử lí Ở mức cao (High) DMA giám sát qua bus địa chỉ và bus dữ liệu Đường dẫn cĩ hiệu lực ở mức thấp (Low) Đường dẫn này cần phải được sử dụng cho quá trình giải mã địa chỉ bởi card mở rộng

3 Sự giải mã địa chỉ và nối bus dữ liêu

Vùng vào ra (I/O) của máy tính PC đã chiếm 64 Kbyte của bộ nhớ tổng cộng với dung lượng

từ vài ngàn Mbyte trở lên tuỳ loại máy Vì vậy, vùng I/O của một card mở rộng khơng được phép bao trùm lên vùng địa chỉ I/O của máy tính Khi đưa một card mở rộng vào sử dụng, thì việc đầu tiên là phải lưu tâm đến điểm này Bảng dưới đây chỉ ra sự sắp xếp của vùng địa chỉ I/O của máy tính PC/AT

Bảng 2.3 Sự sắp xếp của vùng địa chỉ I/O của máy tính PC/AT

020-03F Bộ điều khiển ngắt (8259) 040-04F Bộ phát thời gian (8254) 060-06F Bộ kiểm tra bàn phím (8242) 070-07F Đồng hồ thời gian thực (MC 146818)

0A0-0AF Bộ điều khiển ngắt 2 (8259) OCH-0CF Bộ điều khiển MDA 2 (8237) 0E0-0EF Dự trữ cho mảng mạch chính

200-20F Cổng dùng cho trò chơi (Game)

Trang 16

2F8-2FF Cổng nối tiếp 2 (COM 2)

80-38F Cổng nối tiếp đồng bộ 2 A0-3AF Cổng nối tiếp đồng bộ 1

Từ bảng này ta thấy rõ ràng các địa chỉ 300 đến 31F (Hex) đã được dự phịng để dùng cho card mở rộng Các đường dẫn địa chỉ được sử dụng đối với vùng này là A0 đến A9 Thơng thường thì các địa chỉ, mà dưới các địa chỉ này máy tính cĩ thể trao đổi với card mở rộng, cĩ thể đặt ở chính trên card Bây giờ nhiệm vụ của tấm bản mạch (card) được cài vào là so sánh các đường dẫn địa chỉ ở máy tính với các địa chỉ đã được thiết lập xem cĩ thống nhất khơng và thơng báo sự đánh giá ở bộ điều khiển logic Chỉ cĩ sự thống nhất một cách chính xác mới cĩ thể tiến hành sự trao đổi thơng tin với máy tính

4 Thiết kế mạch giao tiếp với rãnh ISA -8255

4.1 Vi mạch 8255

Thơng thường thì trên một card mở rộng cĩ nhiều khối chức năng như: bộ biến đổi A/D, biến đổi D/A, khối xuất và nhập dữ liệu số, các khối này được trao đổi dưới những địa chỉ khác nhau từ máy tính

Dịng điện tiêu thụ tổng cộng ở trạng thái tĩnh là 120 mA Thời gian truy nhập đọc cỡ 250

ns Thời gian nghỉ giữa hai lần truy nhập để đọc hoặc viết ít nhất bằng 850 ns

Trang 17

34 33 32 31 30 29 28 27 5 36 9 8 35 6

4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10

D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RESET CS

PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7

Hình 4 Vi mạch 8255

Một số đặc tính của vi mạch 8255:

* 24 chân I/O lập trình được

* Tương thích hồn tồn TTL

* Tương thích với tất cả các bộ vi xử lí Intel

* Các chân riêng lẻ đặt và xố được

Khối vi mạch 8255 sử dụng trên một tấm Card cắm thêm vào máy tính PC trong việc thu nhập đo lường và xuất ra dữ liệu số trong việc điều khiển quá trình biến đổi A/D Vi mạch này cĩ cách bố trí như trên hình vẽ, trong đĩ cĩ chứa 24 đường dẫn lối vào/ra được xếp thành 3 cổng song song (cổng A, B, C)

Tính linh hoạt của vi mạch này thể hiện ở khả năng lập trình Qua thanh ghi điều khiển, người sử dụng xác định loại hoạt động và cổng nào được sử dụng như là lối vào hoặc lối ra Các chân ra D0 – D7 tạo nên bus dữ liệu hai hướng, rộng 8 bit Tất cả các dữ liệu khi truy nhập ghi hoặc truy nhập đọc được dẫn qua các đường dẫn này

Trạng thái logic ghi/đọc được nhận biết qua các tín hiệu điều khiển /CS, /RD, /WR Một cuộc trao đổi thơng tin với vi mạch 8255 cĩ thể được tiến hành khi /CS = 0 khi /RD = 0, các tín hiệu của cổng được lựa chọn sẽ dẫn đến bus dữ liệu và cĩ thể được gọi bởi các vi mach mạch khác Khi /WR = 0, thì mọi việc xảy ra ngược lại Các bit địa chỉ A0 và A1 cùng với các tín hiệu ghi và đọc báo hiệu cho biết sẽ truy nhập lên cổng nào Bảng chân lí dưới đây tĩm tắt những kết luận vừa trình bày ở trên

Bảng 4.1.1 Sự sắp xếp các Port của vi mạch 8255

0 0 0 1 0 Cửa (Port) A ⇒ Bus dữ liệu

0 1 0 1 0 Cửa (Port) B ⇒ Bus dữ liệu

1 0 0 1 0 Cửa (Port) C ⇒ Bus dữ liệu

0 0 1 0 0 Bus dữ liệu ⇒ Cửa (Port) A

0 1 1 0 0 Bus dữ liệu ⇒ Cửa (Port) B

1 0 1 0 0 Bus dữ liệu ⇒ Cửa (Port) C

Trang 18

1 1 1 0 0 Sự ghi vào của từ điều khiển

X X X X 1 Đường dẫn dữ liệu ở trạng thái điện

trở cao (tristate)

X X 1 1 0 Đường dẫn dữ liệu ở trạng thái điện

trở cao (tristate)

Từ bảng chân lí ta thấy được thanh ghi điều khiển đặt dưới địa chỉ bên trong A0 = 1, A1 = 1 trong một chu trình ghi lên thanh ghi điều khiển, người sử dụng khẳng định cổng vào/ra cũng như kiểu hoạt động trong một từ điều khiển

Một mức High ở đường dẫn Reset đặt trở lại thanh ghi điều khiển và định nghĩa tồn

bộ 24 đường dẫn như là lối vào Sự sắp xếp của từ điều khiển được mơ tả như sau:

Từ đây ta thấy rõ ràng là 24 đường dẫn của các cổng A, B và C được chia thành hai nhĩm B Tổng cộng cĩ ba kiểu hoạt động khác nhau: kiểu (mode) 0, kiểu 1 và kiểu 2 Trong đề tài này kiểu 0 được chọn giới thiệu Kiểu hoạt động này cho khả năng xuất nhập dữ liệu một cách đơn giản qua ba cổng A, B, C

Controlword (Từ điều khiển)

Hình 5: Sự sắp xếp của từ điều khiển ở vi mạch 8255

4.2 Vi mạch 74HC688

Bộ giải mã địa chỉ 74HC688 so sánh các đường địa chỉ từ A2 đến A9 xem cĩ giống với địa chỉ cơ bản được thiết lập trên Card mở rộng 74HC688 so sánh 2 trong số 8 bit xem cĩ giống nhau khơng và khi xếp kề sát đồng nhất sẽ tạo ra một tín hiệu Low ở chân thứ 19

Ngồi ra nĩ cịn quy định quyền sử dụng một lối vào được kích hoạt /G, khi nào chân ra này cịn nằm ở mức cao (High) thì tín hiệu ra vẫn giữ mức logic 1 độc lập với mức logic kề sát Bình thường thì chân này được nối với tín hiệuAEN Chỉ khi tín hiệu này dẫn tới mức thấp thì các

dữ liệu cĩ giá trị mới nằm ở trên bus

Trang 19

G1 COMP

0

P

7 1P=Q 0

Q

7

74HC688

1 2 4 6 8 11 13 15 17 3 5 7 9 12 14 16 18

Hướng được xác định từ mức logic ở lối vào DIR: DIR = 0 chuyển các dữ liệu từ B sang A việc chuyển hướng dữ liệu cho phép quản lý một cách đơn giản nhất bằng tín hiệu /IOR

Ta có thể nối trực tiếp với chân DIR Đương nhiên ta giả thiết rằng cổng dữ liệu A được nối với các đường dữ liệu của rãnh cắm PC và cổng dữ liệu B nối với đường dẫn dữ liệu của card mở rộng Qua đó đảm bảo rằng bộ đệm bus 74HC245 chỉ sắp xếp những dữ liệu trên bus dữ liệu của máy tính PC, khi máy tính PC thực hiện một sự truy nhập đọc

74HC245

2 3 4 5 6 7 8 9

19 1

18 17 16 15 14 13 12 11

A1 A2 A3 A4 A5 A6 A7 A8

G DIR

B1 B2 B3 B4 B5 B6 B7 B8

Hình 7: Vi mạch 74HC245

4.4 Vi mạch 74LS138

74LS138

1 2 3

6 4 5

15 14 13 12 11 10 9 7

A B C

G1 G2A G2B

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

Hình 8: Vi mạch 74LS138

Vi mạch 74HC138 có ba lối vào lựa chọn: A, B và C Mã ở các lối vào này sẽ quyết định lối ra nào trong tám lối ra (từ 0 đến 7) mà bình thường nằm ở mức High sẽ được nối xuồng mass Hai lối vào kích hoạt ở mức Low (G2A và G2B) và một lối vào kích hoạt ở mức High (G1)

sẽ quyết định lối ra tương ứng với mã nhị phân sẽ được nối xuống mass hoặc giữ nguyên ở mức High Thông thường ta đặt chân 4 và 5 lên mức điện áp dương còn chân 6 xuống mass Các chân xác lập trạng thái này cho phép nối tầng (cascade) một cách đơn giản nhiều vi mạch với nhau

Trang 20

4.5 Mạch giao tiếp 8255

Hình 6.6 chỉ ra sơ đồ mạch điện của một giao diện vào/ra dùng cho rãnh Slot của máy tính PC Các tín hiệu ghi (/IOW) và đọc (/IOR) cĩ thể được nối trực tiếp với các tín hiệu tương ứng

ở vi mạch 8255 Địa chỉ cơ bản mà dưới địa chỉ này mạch điện được trao đổi cĩ thể được thiết lập

ở chuyển mạch DIP Chính mạch điện đã ghi tên 4 địa chỉ cơ bản của vùng vào/ra của máy tính

PC

Bảng 4.5.1 Địa chỉ của Port I\O của 8255

ĐỊA CHỈ VÀO/RA (I/O) CHỨC NĂNG Địa chỉ cơ bản (Hex) chẳng hạn 300 Cửa (Port) A Địa chỉ cơ bản + 1 chẳng hạn 301 Cửa B Địa chỉ cơ bản + 2 chẳng hạn 302 Cửa C Địa chỉ cơ bản + 3 chẳng hạn 303 Thanh ghi điều khiển Khi cĩ sự đồng nhất giữa địa chỉ cơ bản được thiết lập và các địa chỉ đang đứng xếp hàng ở rãnh cắm PC, vi mạch 74HC688 sinh ra ở chân 19 một tín hiệu Low, tín hiệu này kích hoạt vi mạch 8255 tương ứng qua đường dẫn CS do vi mạch 74LS138 quy định

Mạch logic của bộ giải mã chứa hai vi mạch 74HC00 và 74LS138 Ba cổng NAND của vi mạch 74HC00 làm cho bộ đệm bus 74HC245 chỉ kích hoạt (/G = 0) khi thoả mãn các điều kiện:

• Card mở rộng cắm thêm vào đã trao đổi được (chân 19 của vi mạch 74HC688 ở trạng thái Low)

• Một chu trình đọc (/IOR = 0) hoặc chu trình ghi (/IOW = 0) được thực hiện

Khi mà chỉ một điều kiện khơng thoả mãn thì chân ra /G của vi mạch 74HC245 vẫn giữ nguyên trạng thái là High và bộ đệm bus dừng lại ở trạng thái điện trở cao

AEN

D5

A3 A8

PA52

PA7 D5

D7

PB62 PB42

PC02 PA1

PA11

PC42

A8

PB6 D0

PB7

U1

8255

34 32 30 28

5

36 9

35

6

4 2 40 38

18 20 22 24

14 16 13 11

D0 D2 D4 D6

RD WR A0

RESET CS

PA0 PA2 PA4 PA6 PB0 PB2 PB4 PB6 PC0 PC2 PC4 PC6

U2

8255

34 32 30 28

5

36 9

35

6

4 2 40 38

18 20 22 24

14 16 13 11

D0 D2 D4 D6

RD WR A0

RESET CS

PA0 PA2 PA4 PA6 PB0 PB2 PB4 PB6 PC0 PC2 PC4 PC6

PB11

PB51

PB42 AEN

PB32

GND

PB5 PB4

2 4 6 8 11 13 15 17

OE P=Q

VCC

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

P0 P1 P2 P3 P4 P5 P6 P7

D3

PC21

PC62 PB21

PA51

PB5

PB62 VCC

A4

PB61

D7 D4

PC7 A5

PB12

PA2

A9

PC22 PC4

16 14 12 10 9

U4

74HC245

20

2 4 6 8

18 16 14 12

1 19

VCC

A1 A3 A5 A7

B1 B3 B5 B7 DIR

A7

PA6

PA31

PC72 PB2

D2

PA3

PC32 PB1

PA32 D2

PA5 A3

D4

U6A

74HC00

1 2 3 14

7

PC52

PA51

PB41 D5

PC71

U5

74LS138

1 3

6 5

15 13 11 9

A C G1 G2A

Y0 Y2 Y4 Y6

5

36 9

35

6

4 2 40 38

18 20 22 24

14 16 13 11

D0 D2 D4 D6

RD WR A0

RESET CS

PA0 PA2 PA4 PA6 PB0 PB2 PB4 PB6 PC0 PC2 PC4 PC6

PA52

PB0

PB1

D3 D1

PC5

PA11 GND

PC52 A6

Hình 8: Card giao tiếp 8255

Trang 21

B GIAO TIẾP QUA CỔNG NỐI TIẾP (COM):

Trên các máy tính thông thường có đến 2 hoặc thậm chí 3 cổng nối tiếp RS-232, ta gọi là COM1, COM2 và COM3, trong đó COM1 được sử dụng cho chuột ( không nhất thiết) do đó luôn

có ít nhất một cổng COM còn trống có thể phục vụ cho các mục đích ghép nối khác

Cổng nối tiếp trên thực tế có 2 loại, loại 25 chân và loại 9 chân Trong khi các cổng 9 chân

có thể được tìm thấy trong hầu hết các máy tính sản xuất gần đây thì loại cổng 25 chân rất hiếm

Về mặt chức năng, hai loại cổng này hoàn toàn tương ứng

Hình 9: hai loại cổng nối tiếp thông dụng Dưới đây là bảng tóm tắt chức năng của các chân trên 2 loại cổng nối tiếp

Bảng B1: chức năng các chân ở cổng nối tiếp Loại 25 chân

(Pin)

Loại 9 chân

Pin 4 Pin 7 RTS Request To Send

Yêu cầu gửi, bộ truyền đặt đường này lên mức hoạt động khi sẵn sàn truyền dữ liệu

Xóa để gửi , bộ nhận đặt đường này lên mức hoạt động để thông báo cho bộ truyền là nó sẵn sàn nhận

dữ liệu

Dữ liệu sẵn sàn, như CTS nhưng nó được điều khiển bởi bộ truyền

Pin 8 Pin 1 CD Carrier Detect Phát hiện tín hiệu mang

dữ liệu

Trang 22

Pin 20 Pin 4 DTR Data Terminal Ready Đầu cuối dữ liệu sẵn sàng

Báo chuông, cho biết là

bộ nhận đang nhận tín hiệu rung chuông Việc trao đổi dữ liệu qua cổng nối tiếp trong các trường hợp thông thường đều qua đường dẫn truyền nối tiếp TxD và đường dẫn nhận RxD, các đường dẫn còn lại đóng vai trò phụ trợ khi thiết lập và khi điều khiển cuộc truyền, các đường dẫn này gọi là các đường dẫn bắt tay Tuy nhiên các đường dẫn bắt tay lại có thể được điều khiển trực tiếp, điều này tạo cho ta một khả năng giao tiếp khác thông qua cổng nối tiếp

Về đặt trưng điện, với cổng nối tiếp, trạng thái LOW tương ứng với mức điện áp +12V còn trạng thái HIGH tương ứng với điện áp -12V, các đường dẫn lối ra có thể cung cấp dòng điện từ 10mA đến 20mA Mặc khác, các mạch lối vào thông thường trong máy tính PC nhận dạng một mức điện áp dưới 1V như là mức LOW, nên cổng nối tiếp cũng được phép làm việc với mức TTL (0V/5V)

1 Giao tiếp với các đường dẫn phụ trợ:

Như đã đề cập trên, các đường dẫn phụ trợ tuy chỉ đóng vai trò bắt tay trong một cuộc truyền nối tiếp nhưng lại có khả năng truy cập trực tiếp, vì vậy sử dụng các đường dẫn phụ trợ giúp ta mở rộng số đường dẫn giao tiếp với máy tính vốn rất ít

Các đường dẫn phụ trợ được “nối” với các thanh ghi trong vi mạch UART 8250 (một loại vi mạch điện tử điều khiển và kiểm soát truyền thông theo chuẩn RS-232 đã được thiết kế sẵn trong các máy tính) Để có thể truy cập các đường dẫn này trước hết cần phải biết địa chỉ của các đường này trong máy tính

Trong UART 8250, các đường dẫn CTS, DSR, RI, DCD là các đường dẫn lối vào nằm trong thanh ghi trạng thái môđem có địa chỉ bằng địa chỉ cơ sở cộng 6, còn các đường dẫn DTS, RTS là các đường dẫn lối ra nằm trong thanh ghi điều khiển môđem có địa chỉ bằng địa chỉ cơ sở cộng 4 Trong máy tính, tất cả các thanh ghi được quản lí giống như các ô nhớ trong vùng vào/ra, máy tính tìm thấy các địa chỉ thanh ghi trong một vùng được sắp xếp cho mỗi giao diện, địa chỉ đầu tiên của

nó được gọi là địa chỉ cơ sớ BA(Base Address) Trong các máy tính PC, BA của các cổng nối tiếp thường được phân bổ như bảng sau:

Dưới đây là sự sắp xếp các đường dẫn phụ trợ trong các thanh ghi:

* Thanh ghi điều khiển môđem (lối ra ): BA+4

* Thanh ghi trạng thái môđem (lối vào ): BA+6

Các ví dụ cụ thể truy cập các đường dẫn phụ trợ sẽ được trình bày trong phần sau của tài liệu này

2 Truyền nhận nối tiếp dị bộ:

Việc truyền nhận nối tiếp dị bộ là kiểu truyền trong đó dữ liệu được đóng gói và truyền đi

theo những frame truyền đã được quy định trước, cấu trúc 1 frame truyền nối tiếp chuẩn thường

bao gồm 1 bit Start (S) , 8 bit dữ liệu (D), 1 bit kiểm tra chẵn lẻ (P) và 1 bit Stop, tuy nhiên do điều kiện hay thói quen, người ta có thể quy định những dạng frame truyền khác mà trong đó có thể không có đầy đủ các thành phần như một frame truyền chuẩn, việc quy định này được người truyền quy định ngay đầu quá trính truyền Để nhận đúng dữ liệu truyền, người nhận cần phải biết cấu trúc frame truyền đã được gửi, thông thường, nếu việc truyền và nhận được thực hiện bởi cùng một người thì việc trên không phải là một trở ngại đáng kể Khi truyền một dữ liệu lớn, dữ liệu này được chia nhỏ thành từng phần nhỏ (thường là từng Byte), đặt vào frame truyền và gửi đi, tốc độ truyền phụ thuộc vào thông số Baudrate, Baudrate là số bit dữ liệu được truyền hay nhận trong 1s

Trang 23

Để có thể truyền nhận, trước hết cần kết nối 2 thiết bị đầu cuối dữ liệu DTE (Data Terminal Equipment), các DTE có thể là các máy tính PC hay các vi mạch vi xử lí có hỗ trợ truyền thông nối tiếp Phương pháp kết nối đơn giản nhất được trình bày như sơ đồ sau:

Hình 10: Kết nối trực tiếp 2 DTE Một vấn đề thường mắc phải khi truyền nhận bằng cổng nối tiếp là trong khi hầu hết các thiết

bị điện tử số tương thích với mức logic TTL hay CMOS (0V/5V) thì chuẩn nối tiếp RS-232 lại có mức logic khác hẳn (-10V/10V hay -12V/12V), vì vậy việc trước tiên phải làm khi kết nối các thiết

bị này với các cổng RS-232 là phải chuyển đổi mức tín hiệu RS-232 trở về TTL hay CMOS, may mắn là điều này cũng được thực hiện khá dễ dàng bằng vi mạch MAX232 Ví dụ muốn giao tiếp giữa 1 máy tính PC với một vi điều khiển họ 89C51 bằng cổng nối tiếp thì phải sử dụng vi mạch chuyển đổi MAX232 ghép nối 2 đối tượng này Phương pháp ghép nối bằng MAX232 được trình bày trong hình dưới

Hình 11: Tín hiệu nối tiếp TLL/CMOS và RS-232

Hình 12: Sơ đồ ghép nối MAX232

Ngày đăng: 23/12/2022, 09:35

w