Visual Basic sử dụng kiểu lập trình Visual hay RAD Rapid Application Development trong đó việc tạo cdc ctta s6, cdc Diéu khién va c4ch t ứng xử của các cửa sô cũng như các Điều khiển đượ
Trang 1
PHAN 1: LAP TRINH VISUAL BASIC:
A CO SO LAP TRINH 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 cdc ctta s6, cdc Diéu khién va c4ch t ứ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): Cac thanh phan
đượ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 đụ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
Trang 2Lê Văn Bạn
2.2 Giao điện Visual Basic
File Edit View Project Format Debug Run Query Diagram Tools add-ins ÿ:i8£§ Help é—Meii Bar |
BBs Project (Project 1}
Ey Forms b% Farmi (Formi}
Caption
Returnsfsets the text displayed in an
object's title bar or below an object's
Hinh 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:
e MenuBar: các trình đơn của Vũ
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
e Form Layout Window: xem trudéc hodc thay déi vi trí Form khi thực thi ứng dung
e Workspace: ving lam viéc cia chuong trinh
e Ngoai ra giao dién VB còn chứa rất nhiều các thành phần khác Để hiển thi 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
ỎỖỎ ằ>aaaớợớợyợơợơơơng
BM: Điều khiển Tư đông
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 Properiies của Cat, còn khả năng chạy, nhảy là cac Method cua Cat, “Khat nuéc” 1a mét Event cia 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.Proper fies 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 tri)
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 ding để 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
e 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
BM: Điều khiển Tư đông
Trang 4Lê Văn Bạn
e© Kiểu biến: Có một số kiểu biến hợp lệ được sử dụng trong VB như sau:
Kiểu biến Kích thước biến Khoảng giá trị
Integer 2 bytes -32,768 to 32,767
(long integer)
Date 8 bytes January 1, 100 to December 31, 9999
String 10 bytes +_ string 0 to approximately 2 billion
User-defined tuỳ theo quy định | Phụ thuộc vào khoảng giá trị của kiểu dữ liệu
Kiêu dữ liệu do người
dùng quy định
= Chú ý:
c_ 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ự
ĐH Nông Lâm TPHCM 4 BM: Điều khiển Tư đông
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=l 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: 1a mot 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 sặ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 ” diéu kién”
[Các câu lệnh]
[Các câu lệnh]
Loop VD: Dim Num Num=0
Do While Num<10 Msgbox “Xin Chao lan: ”+str(Num), VBOKOnly,’DoLoop”
Num=Num+1 Loop
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
ỎỖỎ ằ>aaaớợớợyợơợơơơng
BM: Điều khiển Tư đông
Trang 6Next i
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
H “đ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 voi kiéu 14 Single
x=Rnd(1)*10 ‘ cho x mét gid 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”
ø Sử dụng Elseif: Đây là dạng điều kiện lồng trong điều kiện
If diéu kién Then
[các câu lệnh]
[Elself điêu kién-n Then
[cdc cau lénh elseif]
[Else [các câu lệnh khác ]]
End If
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 /ên biến
[Case gi tri-n
[cdc cau lénh-n]]
[Case Else [các câu lệnh khác ]]
End Select
ỎỖỎ ằ>aaaớợớợyợơợơơơng
ĐH Nông Lâm TPHCM 6 BM: Điều khiển Tư đông
Trang 7
VD: Dimi 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 cua một đối tượng TextBox tên là Text1
With Text1
-BorderStyle=1 Alignment=2 BackColor=QBColor(12) Font=”VNI- Times”
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, 6 hdép thoai “New Project” chon “standard EXE”, nhan “Open”
- Mé6t Project mdi dugc tao thanh cé tén “Project1”, chira 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à FormVDI, tên Project 14 VD1 Project
đã được lưu
- Tao 2 Frame bang 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:
CommandButton Name cmdShow
CommandButton Name cmdClear
TextBox Name TxtHello
Trang 8
a
ĐH Nông Lâm TP.HCM BM: Điều khiển Tư đông
8
Trang 9Hình 3: biêu tượng các Confrol và giao điện VDI
* Hoạt động của chương trình VDI:
- 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 tht tuong tu cho cdc CheckBox con lai dé xem két qua
- Click chọn lần lượt vào các OptionButton Red, Green, Blue, Black ban sé thay
màu chữ ở TextBox sẽ lần lượt thay đổi từ Red->Green->Blue và cuối cùng là Black
BM: Điều khiển Tư đông
Trang 10Lê Văn Bạn
- Nhap số vào các TextBox TxtNum1, TxtNum2, nhan 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
Private Sub cmdClear_ClickQ
txtHello.Text="" “ Xoá hết nội dung trén TextBox End Sub
- Viết lệnh cho các CheckBox chon Style:
Private Sub ChkBor_ ClickQ 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_ClickQ
If ChkEn Value = 0 Then txtHello.Enabled = False Else txtHello.Enabled = True End Sub
Private Sub ChkLock_ClickQ()
If ChkLock Value = 0 Then txtHello.Locked = False
If ChkLock Value = 1 Then txtHello.Locked = True End Sub
Private Sub ChkVi_ClickQ
If Chk Vi = 0 Then txtHello Visible = False Else
txtHello Visible = True End If
End Sub
a
ĐH Nông Lâm TP.HCM 10 BM: Điều khiển Tư đông
Trang 11VB, 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_ClickQ
txtHello.ForeColor = vbBlue End Sub
Private Sub OptGreen_Click()
txtHello.ForeColor = RGB(O, 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_ ClickQ 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_ClickQ)
Dim x As Double, y As Double, z As Double “ Khai báo x, y, z là các bién tam, kiéu bién
1a Double
x = Val(TxtNum1.Text) ' hàm Val(TxtNum1.Text) Đổi nội dung cua TextBox ‘TxtNum1
thành số rồi gán cho x, ta phải dùng hàm VaI để đối thành số vì bản thân “thuộc tính “Text”
có kiểu dữ liệu là String (chuỗi), không thể thực hiện các pháp “toán học trên String
y = Val(TxtNum2.Text) 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) ‘Dé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 ỎỖỎ ằ>aaaớợớợyợơợơơơng
ĐH Nông Lâm TP.HCM I1 BM: Điều khiển Tư đông
Trang 12Lê Văn Bạn
PHAN 2: CAC PHUONG PHAP GIAO TIEP MAY TINH
* 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 Tná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 cam ding cho card vao/ra (In/Out), card man hinh, van 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 bịt
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 dé 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, 2600 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 (chan 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 6 cam 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 1n 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 đữ liệu có thể đạt tới mức đáng kể
Bên cạnh 8 bit đữ 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), chan 14 (AUTOFEED), chan 16 (INT), chan 17 (SELECT) Khi trao dé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
ỎỖỎ ằ>aaaớợớợyợơợơơơng
DH Nông Lâm TP.HCM 12 BM: Điều khiển Tư đông
Trang 13Các loại rãnh cắm theo những tiêu chuẩn khác nhau có thể kế ra như sau:
e Rãnh cắm 16 bit theo tiêu chuẩn ISA (Industry Standard Architechure)
e Rãnh cắm PS/2 với 16 bit theo tiêu chuẩn MCA (Micro Channel Architechure)
e Rãnh cắm PS/2 với 32 bit theo tiêu chuẩn MCA (Micro Channel Architechure)
e Rãnh cắm 32 bit theo tiêu chuẩn EISA (Extended Industry StandardArchitechure)
¢ Ranh cắm 32 bit theo tiêu chuan VESA VLB (VESA Local Bus Standard)
¢ Ranh cam 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 chỉ 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 1n Phía linh kiện
ỎỖỎ ằ>aaaớợớợyợơợơơơng
ĐH Nông Lâm TP.HCM 13 BM: Điều khiển Tư đông
Trang 14Bảng 2.2 Các đường dẫn tín hiệu quan tâm
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
Trang 15
Mức thập nhất của đường dẫn địa chỉ này báo hiệu sự
ke truy nhập đọc trên một card mở rộng Trong thời gian
/IOR Lôi ra này các dữ liệu có giá trị cần phải sap xép dé roi sau dé ss aw A ge te get A s+ % k ak CÀ Z
được đón nhận băng sườn trước
Đườ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
3 Sự giải mã địa chỉ và nối bus dữ liêu
Ving vao ra (I/O) cia máy tính PC đã chiếm 64 Kbyte của bộ nhớ tổng cộng với dung lượng
từ vai ngan Mbyte tro lên tuy loại máy Vì vậy, vùng /O của một card mở rộng không được phép bao trùm lên vùng địa chi I/O cua may 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ỉ L/O của máy
Bảng 2.3 Sự sắp xếp của vùng địa chỉ ƯO của máy tính PC/AT
070-07F Đồng hồ thời gian thực (MC 146818)
0A0-0AFE Bộ điều khiển ngắt 2 (8259)
OF8-OFF Bộ đồng xử lí 80x87 1FO-1F8 Bộ điều khiển đĩa cứng
Trang 16E8-3EF Cổng nối tiếp 3 (COM 3)
F0-3F7 Bộ điều khiển đĩa mềm
F8-3FF Cổng nối tiếp 1 (COM 1)
Từ bảng này ta thấy rõ ràng các địa chỉ 300 đến 3IE (Hex) đã được đự 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
thi 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 đữ 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ụ tong cong 6 trang thai tinh 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
ỎỖỎ ằ>aaaớợớợyợơợơơơng
ĐH Nông Lâm TP.HCM 16 BM: Điều khiển Tư đông
Trang 17
oss D1 PAt -5—U os} p2 PA2 -4—O
O39 | D3 PA3 [a9 0
C397] D4 PA4 [3g o-=| Dé PA6 Lš—T
Pco eH
pG [T8 n
Pd3 |[J—T pea 3-5 pos 2 5 pos Ht 10
24 chân I/O lập trình được
Tương thích hoàn toàn TL
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à xoá đượ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 (cong 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 DO — D7 tạo nên bus đữ 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
0 1 0 1 0 Citra (Port) B => Bus dff liéu
ỎỖỎ ằ>aaaớợớợyợơợơơơng
ĐH Nông Lâm TP.HCM 17 BM: Điều khiển Tư đông
Trang 18Lê Văn Bạn
X X X X 1 Đường dân dữ liệu 0 trang thai dié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 toà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)
Di} D6 | DS | D4; D3 | D2) D1| DA
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
Ngoà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
đữ liệu có giá trị mới nằm ở trên bus
ỎỖỎ ằ>aaaớợớợyợơợơơơng
ĐH Nông Lâm TP.HCM 18 BM: Điều khiển Tư đông