Giáo trình mô đun Lập trình ghép nối máy tính

BÀI MỞ ĐẦU: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH TRUYỀN

THÔNG

Mã bài : MĐ38-01

 Giới thiệu

Bài mở đầu nhằm giới thiệu cho học sinh một cách tổng quan về ngôn ngữ

được sử dụng để lập trình giao tiếp với máy tính, việc lập trình Visual có thể hiểu

là dùng các điều khiển có sẵn, chúng ta sẽ dùng chuột với những thao tác để lấy

những điều khiển cần dùng từ hộp công cụ đưa vào Form để thiết kế chương

trình, xác lập các thuộc tính cho chúng và sau đó là viết lệnh cho những điều

khiển đó.

 Mục tiêu

- Nhận biết được tổng thể của ngôn ngữ lập trình truyền thông

- Trình bày chính xác các điều khiển truyền thông, đặc tính, các sự kiện

- Sử dụng gọi được các hàm API trong lập trình truyền thông và một số

ứng dụng trong lập trình truyền thông.

- Cẩn thận, tự giác, chính xác.

- Tuân thủ, đảm bảo an toàn cho người và thiết bị

- Có tinh thần trách nhiệm cao trong học tập và làm việc

 Nội dung chính

A. LÝ THUYẾT

1. Giới thiệu về ngôn ngữ truyền thông

Mục tiêu :

- Hiểu được khái niệm về ngôn ngữ lập trình Visual Basic

- Thực hiện được một số thao tác cơ bản trên phần mềm Visual Basic 6

1.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.

1.2. Bắt đầu với Visual Basic

1.2.1. Khởi động Visual Basic:

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 ở Tab6

“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.

Giáo trình mô đun Lập trình ghép nối máy tính trang 1

Trang 1

Giáo trình mô đun Lập trình ghép nối máy tính trang 2

Trang 2

Giáo trình mô đun Lập trình ghép nối máy tính trang 3

Trang 3

Giáo trình mô đun Lập trình ghép nối máy tính trang 4

Trang 4

Giáo trình mô đun Lập trình ghép nối máy tính trang 5

Trang 5

Giáo trình mô đun Lập trình ghép nối máy tính trang 6

Trang 6

Giáo trình mô đun Lập trình ghép nối máy tính trang 7

Trang 7

Giáo trình mô đun Lập trình ghép nối máy tính trang 8

Trang 8

Giáo trình mô đun Lập trình ghép nối máy tính trang 9

Trang 9

Giáo trình mô đun Lập trình ghép nối máy tính trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 132 trang xuanhieu 11240
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình mô đun Lập trình ghép nối máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình mô đun Lập trình ghép nối máy tính

Giáo trình mô đun Lập trình ghép nối máy tính
 tám lối ra số, tám lối vào 
số, một lối vào analog và một lối và đếm. Toàn bộ ba thanh ghi dịch dùng để 
nhập vào và xuất ra có thể được điều khiển bằng một đường dẫn giữ nhịp và 
đồng bộ (strobe) chung. 
 Hình 6.1: Một giao diện nối tiếp đa năng 
 Việc nhập vào và xuất ra có thể được thực hiện đồng thời, bởi vì một 
đường dẫn giữ nhịp chung được sử dụng cho tất cả các vi mạch. Thủ tục “Trao 
đổi” trong đoạn chương trình 6.1 đảm nhận việc truyền dữ liệu theo hai hướng. 
Mỗi lời gọi lại phục hồi trạng thái lối ra của vi mạch 4094 và đồng thời đọc ra 
 122 
các trạng thái của các lối vào số và bộ biến đổi A/D. Tất cả dữ liệu sắp xếp trong 
các biến toàn cục Dout (lối ra sô), Din (lối vào số) và Ain (lối vào analog) 
 Ngoài ra, lối vào tự do CTS được sử dụng để đo tần số. Ở đây thời gian 
mở cổng được thiết lập cố định là 100 ms, vì vậy có thể nhận được độ phân giải 
về tần số bằng 10 Hz. Khi ta đấu vào trước đó một bộ biến đổi điện áp/ Tần số, 
thì giao diện có thể được sử dụng với hai lối vào analog. 
 Đoạn chương trình 8-1: Chương trình cơ sở dùng cho giao diện đa năng nối tiếp 
Unit Unil 
Interface 
Uses PORTINC 
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
Dialogs, ExtCtrls, StdCtrls; 
Type 
 Tform1 = class (TForm) 
 CheckBox1 : TcheckBox; 
 CheckBox2 : TcheckBox; 
 CheckBox3 : TcheckBox; 
 CheckBox4 : TcheckBox; 
 CheckBox5 : TcheckBox; 
 CheckBox6 : TcheckBox; 
 CheckBox7 : TcheckBox; 
CheckBox8 : TcheckBox; 
 Labell : TLabel; 
 Label2 : TLabel; 
 Label3: TLabel; 
 Label4 : TLabel; 
 Label5 : TLabel; 
 Label6 : TLabel; 
 Label7 : TLabel; 
 Label8 : TLabel; 
 Timer1 : TTimer; 
 Label9 : TLabel; 
 CheckBox10 : TCheckBox; 
 CheckBox11 : TCheckBox; 
 CheckBox12 : TCheckBox; 
 CheckBox13 : TCheckBox; 
 CheckBox14 : TCheckBox; 
 CheckBox15 : TCheckBox; 
 CheckBox16 : TCheckBox; 
 Label10 : TLabel; 
 Edit1 : TEdit; 
 Label11 : TLabel; 
 Edit2 : TEdit; 
 123 
Label12 : TLabel; 
Procedure FromCreate(Sender : TObject); 
Procedure Timer1TTimer(Sender : TObject); 
End; 
Var 
 Form1: TForm1; 
 Dout, Din, Ain: Byte; 
Implementation 
{$R *.DFM} 
Procedure Trao_doi; 
Var Vi_tri, Vi_triAD, r, m : Integer; 
Begin 
 RTS(1); 
 Delayus(20); 
 RTS(0); 
 Vi_tri := 1; 
 Vi_triAD := 128; 
 Din := 0; 
 Alin := 0; 
 For n:=1 to 8 do begin 
 If ((Dout AND Vi_tri) > 0) then 
 TXD (1) {xuất ra dữ liệu} 
 Else TXD (0); 
 If DCD = 1 { đọc dữ liệu} 
 Then Din := Din + Vi_tri; 
 If DSR = 1 then {đọc A/D} 
 Alin := Alin + Vi_triAD; 
 DTR (1); {Clock tới} 
 Delayus (20); {Gây trễ} 
 DTR (0); {Clock tắt} 
 Vi_tri := Vi_tri *2; 
 Vi_triAD :=Vi_triAD div 2; 
 End; 
 RTS(1); {Strobe tới} 
 Delayus(20) {Gây trễ} 
 RTS(0); {Strobe} 
 End; 
Function Tan_so:Integer; 
Var Bo_dem, Cu, Nhap_vao:Integer; Cu:Cũ 
Begin 
 Bo_dem:=0; 
 ReCuime (true); 
 TimeInitus; 
 Cu:=CTS; 
 124 
 While TimeReadus<(100000) do begin 
 Nhap_vao:=CTS; 
 If Nhap_vao>Cu then Bo_dem:=Bo_dem +1; 
 Cu:=Nhap_vao; 
 End; 
 Tan_so:=Bo_dem; 
 ReCuime (false); 
End; 
Procedure TForm1.FormCreate (Sender: TObject); 
Begin 
 OpenCom (pchar (‘com2:9600, N, 8, 1’)) 
 Timer1.Interval :=100; 
 Timer1.Enabled :=true; 
End; 
Procedure TForm1.Timer1Timer(Sender: TObject); 
Var Gia_tri: Word; 
 Dien_ap: Real; 
Begin 
 Dout :=0; 
 If CheckBox1.Checked Then Dout := Dout +1; 
 If CheckBox2.Checked Then Dout := Dout +2; 
 If CheckBox3.Checked Then Dout := Dout +4; 
If CheckBox4.Checked Then Dout := Dout +8; 
If CheckBox5.Checked Then Dout := Dout +16; 
If CheckBox6.Checked Then Dout := Dout +32; 
If CheckBox7.Checked Then Dout := Dout +64; 
If CheckBox8.Checked Then Dout := Dout +128; 
Trao_doi; 
CheckBox9.Checked := ((Din And 1)>0); 
CheckBox10.Checked := ((Din And 2)>0); 
CheckBox11.Checked := ((Din And 4)>0); 
CheckBox12.Checked := ((Din And 8)>0); 
CheckBox13.Checked := ((Din And 16)>0); 
CheckBox14.Checked := ((Din And 32)>0); 
CheckBox15.Checked := ((Din And 64)>0); 
CheckBox16.Checked := ((Din And 128)>0); 
Dien_ap :=Alin/255*5; 
Edit1.Text :=FloatToStrF (Dien_ap, ffGeneral,3,2) +’ V’; 
Edit2.Text :=FloatToStrF (Tan_so*10, ffGeneral,4,0) +’ Hz’; 
End; 
End; 
 125 
2. Thiết lập chương trình đo lường 
Mục tiêu: 
 - Biết được các phần mềm sử dụng trong phòng thí nghiệm điện tử 
 - Sử dụng được phần mềm COMPACT vào đo lường các thiết bị 
 Để có được những phần mềm sử dụng trong phòng thí nghiệm điện tử như 
một công cụ, nhiều công ty đã viết ra các phần mềm mô phỏng hoặc điều hành 
thực sự một mạch ghép nối và giới thiệu tính năng trên nhiều tạp chí chuyên 
ngành. Có thể kể ra hàng loạt các phần mềm quen thuộc như: Daisy, DASYLab, 
DaqView, DIAdem, ChartView, LogView, WaveView, vvViệc mua trực 
tiếp các phần mềm loại này thường tốn kém về kinh phí. Nhưng việc tham khảo 
tính năng cũng như giao diện của phần mềm có thể cho ta những thông tin rất bổ 
ích khi đánh giá cũng như khi trực tiếp viết ra các phần mềm ghép nối 
 Dưới đây xin giới thiệu phần mềm COMPACT, được viết bằng ngôn ngữ 
Delphi. Bằng phần mềm COMPACT, tất cả các lối vào/ra của khối ghép nối đa 
năng đều được điều khiển và cho phép thu thập các số liệu đo lường một cách 
linh hoạt. Người sử dụng có thể lựa chọn cổng COM khi khởi động chương 
trình. 
 Sau khi khởi động chương trình, trên màn hình hiện lên một thực đơn với 
nhiều chức năng. Trong thực đơn con “Overview” ta nhận được khả năng truy 
nhập trực tiếp lên tất cả các lối vào và lối ra. Cả hai lối vào analog dùng cho 
điện áp và tần số đều được mô tả trên các dụng cụ chỉ kim. Ngoài ra, trong 
trường hợp đo điện áp cũng xuất hiện một bộ hiển thị số, chỉ ra số byte được bộ 
biến đổi A/D cung cấp. Cả hai máy đo đều có thể sử dụng trực tiếp cho các phép 
thử và tìm kiếm lỗi 
 Ngoài ra các lối vào analog, ta cũng có được khả năng truy cập lên các lối 
vào/ra số của giao diện đa năng. Tám lối vào số đều được hiển thị bằng các LED 
ảo (vì chỉ là ảnh của một LED trên màn hình) và đồng thời qua bộ hiển thị số 
như là byte giữa 0 và 255. Ta cũng có thể giám sát trực tiếp các trạng thái của 
một mạch điện số. Các đường dẫn lối ra số được thay đổi bằng các phím gạt ảo. 
Trong một bộ chỉ thị số ta quan sát trạng thái của một mạch điện số. Các đường 
dẫn lối ra số được thay đổi bằng các phím gạt ảo. Trong một bộ chỉ thị số ta 
quan sát thấy trạng thái chung của cổng 
 Hình 6.4: Quan sát trực tiếp tất cả các lối vào và lối ra. 
 126 
 Hình 6.6: Máy tự ghi xy. 
 Chức năng ‘overview” về cơ bản là tương ứng với chưng trình UNI1.EXE 
đã được giới thiệu trước đây . trong khi các khản năng bổ sung thêm được thể 
hiện ra các thiết bị ghi khác nhau của chương trình. 
 Thiết bị ghi TY vẽ ra môt hoặc hai đại lượng lôi vào analog theo thời 
gian. Nhờ vậy mà việc quan sat sự thay đổi theo thời gian của các đại lượng này 
trở lên đơn giản hơn. Dải đo có thể lữa chon được môt trong giới hạn rộng từ 
một giây đến 24h. 
 Đa số các đại lượng analong đều có sự phù thuộc qua lai.vì thế việc sử 
dụng một máy ghi XY tỏ ra là đặc biệt thuận tiện trong phần mềm COMPACT, 
điện áp được biểu diển theo tần số.cách mô tả này đặc biệt thích hợp đối với các 
phép đo theo sự thay đổi của tần số.Khi đó tín hiệu từ một bộ tạo hàm(máy phát 
chức năng) điều khiển đồng thời lối vào tần số của giao diện đa năng và lối vào 
của một mạch cần khảo sát.tín hiệu lối ra của mạch kiểm tra được đưa đến lối 
vào analog của khối ghép nối của một bộ chỉnh lưu dùng trong đo lường. dãi tần 
số đáng quan tâm có thể được quét bằng tay, để vẽ ra quá trình diễn biến khi 
thay đổi tần số. 
 Thiết bị ghi theo bit (bit-plotter), đoi khi còn gọi là bộ phận tích logic, tỏ 
ra là thích hợp với các ứng dụng thuần tuy số. cho đến 8 trạng thái số có thể 
được quan sát trực tiếp trong một khỏng thời gian lựa chon được. Thiết bị này ở 
đây là thiết bị ảo vì được tạo ra bằng một hàm hocawcj một số hàm. Có khả 
năng hổ trợ chẳng hạn cho việc kiểm tra lỗi trong các mạch số. 
 Một chức năng thuận tiện khác của chương trình là bộ định thời (Timer). 
Bộ định thời cho phép đo chính xác thời gian ở các xung, được đưa đến lối vào 
CTS. Ở đây cũng có thể đấu vào một công tắc kiểu nhấn phím lên nguồn +5 V. 
3. Kiểm tra hoạt động của các vi mạch 
Mục tiêu: 
 127 
 - Viết được chương trình kiểm tra dùng cho một vi mạch CMOS loại 4011 
 Khối ghép nối đa năng có đủ các lối vào và lối ra để có thể kiểm tra các 
khả năng làm việc bình thường của các vi mạch số đơn giản. Đặc tính này có thể 
được minh họa thông qua thí dụ về vi mạch NAND kép bốn, loại 4011 (xem 
hình 6.9). Nguyên tắc kiểm tra là so sánh bảng chân lý của vi mạch với các trạng 
thái đo được trên vi mạch. Cụ thể là: qua khối ghép nối, máy tính PC tạo ra các 
trạng thái lối vào xác định và đọc các trạng thái lối ra tương ứng của vi mạch. 
Ngoài ra, dòng tiêu thụ của vi mạch thử cũng được đo để kiểm tra, bởi vì các vi 
mạch CMOS hỏng thường có dòng tiêu thụ lớn hơn bình thường. 
 Đoạn chương trình 6.2 chỉ ra một thí dụ về một chương trình có thể được 
dùng để kiểm tra. Tám lối ra số của khối ghép nối (giao diện) được đếm tiến 
theo hệ nhị phân. Mỗi một trong số 256 trạng thái lối vào có thể của vi mạch cần 
kiểm tra đều được tạo ra một lần, để kiểm tra trạng thái đáp ứng ở các lối ra vi 
mạch. Thủ tục “Trao đổi” cần được gọi theo cách lặp lại hai lần kế tiếp nhau, bởi 
vì trong lần gọi đầu tiên câu trả lời đọc được là ứng với trạng thái vừa có trước 
đấy. 
 Hình 6.9: Kiểm tra một vi mạch CMOS bằng giao diện đa năng 
 Những phép tính tốn kém thời gian để suy ra trạng thái đứng của lối ra có 
thể được né tránh, khi ta làm việc với một bảng so sánh. Bảng này được tạo ta 
bằng cách nhấn phím “New” khi một vi mạch được đưa vào làm đối tượng kiểm 
tra. Một bảng với đầy đủ các dữ liệu cần thiết có thể được lưu trữ và nạp giống 
như một tệp nhị phân, chẳng hạn với tên là CD4011.BIN. Phương pháp kiểm tra 
này có thể dễ dàng mở rộng ra cho các vi mạch khác, trong đó ta sắp xếp các tệp 
dữ liệu cụ thể thích hợp với vi mạch đó. Với một đế cắm vi mạch thích hợp ta có 
thể kiểm tra các vi mạch thuộc những loại khác nhau. Mỗi sai lệch khỏi diễn 
biến bình thường được nhận biết đều dẫn đến một thông báo lỗi. Trong số đó 
phải kể cả trường hợp dòng tiêu thụ vượt quá 0,2 mA. 
 128 
B. CÂU HỎI VÀ BÀI TẬP 
Câu 1: Trình bày cách xây dựng phần cứng và điều khiển? 
Câu 2: Nêu phương pháp thiết lập chương trình đo lường? 
Câu 3: Nêu phương pháp kiểm tra hoạt động của các vi mạch? 
Câu 4: Viết chương trình điều khiển giao diện đa năng? 
Câu 5: Viết chương trình kiểm tra dùng cho một vi mạch CMOS loại 4011? 
Hướng dẫn viết đoạn mã: 
Chương trình kiểm tra dùng cho một vi mạch CMOS loại 4011. 
Unit ICtest; 
Interface 
Uses PORTNC; 
 Windows, Messages, SysUtils, Classes, Graphics, 
 Controls, Forms, Dialogs, Extctrls, StdCtrls, Menus; 
Type 
 TForm1 = class (TForm) 
 Edit1 : TEdit; 
 Button1 : TButton; 
 Button2 : TButton; 
 Timer1 :TTimer; 
 OpenDialog1 : TOpenDialog; 
 SaveDialog1 : TSaveDialog; 
 MainMenu1 : TMainMenu; 
 File1 : TMenuItem; 
 SaveAs1 : TMenuItem; 
 Open1 : TmenuItem; 
 New1 : TmenuItem; 
 Procedure FormCreate (Sender : Tobject); 
 Procedure Button3click (Sender : Tobject); 
 Procedure Button2click (Sender : Tobject); 
 Procedure Button1click (Sender : Tobject); 
 Procedure Timer1Timer (Sender : Tobject); 
 Procedure Open1Click (Sender : Tobject); 
 Procedure SaveAsClick (Sender : Tobject); 
End; 
Var 
 Form1 : Tform1; 
 Dout, Din, Alin: byte; 
 n: integer; 
 Lci_ra : Array [0..255] of Byte; 
 Testfile : File of byte; 
 Ten_tep : string; 
Implementation 
{SR *.DFM} 
 129 
Procedure Trao_doi; 
Var Vi_tri, Vi_triAD, n, m : Integer; 
Begin 
 RTS (1); { Strobe an} 
 Delayus (20); { Gây trễ } 
 RTS (0); { Strobe cắt} 
 Vi_tri := 1; 
 Vi_triAD := 129; 
 Din := 0; 
 Ain := 0; 
 For n:=1 to 8 do begin 
 If ((Dout AND Vi_tri)>0) then 
 TXD (1) {xuất ra dữ liệu} 
 Else TXD (0); 
 If DCD = 1 { đọc dữ liệu} 
 Then Din := Din + Vi_tri; 
 If DSR = 1 then { đọc A/D} 
 Ain := Ain + Vi_triAD; 
 DTR (1); {Clock tới} 
 Delayus (20); { Gây trễ} 
 DTR (0); { Clock tắt} 
 Vi_tri := Vi_tri * 2; 
 Vi_triAD := Vi_triAD div 2; 
 End; 
 RTS (1); {Clock tới} 
 Delayus (20); { Gây trễ} 
 RTS (0); { Clock tắt} 
End; 
Procedure Tform1.Formcreate(Sender:Tobject); 
Begin 
 Opencom(pchar(‘com2:9600, n, 2, 8, 1’)); 
End; 
Proceduer Tform1.Button3click(sender : Tobject); 
Var n: integer; 
Begin 
(Ten_tep := OpenDialog.FileName;} 
Ten_tep := ‘TEST.BIN’; 
AssignFile (Testfile, Ten_tep); 
{$I-} Rewrite (Testfile) {$I+}; 
For n:=0 to 255 do bein; 
 Write (Testfile, Loi_ra[n]); 
End; 
Closefile (Testfile); 
 130 
End; 
Procedure Tform1.Buttom2Click(Sender:Tobject); 
Var Gia_tri: Word; 
 Dien_ap, Fehler: Real; 
Begin 
Timer1.Enable := false; 
Fehler := 0; 
Edit1.Text := ‘Text ...’; 
For n:=1 to 255 do begin 
 Dout := n; 
 Trao_doi; 
 Delay (1); 
 Trao_doi; 
 If (Ain>10) or (Din Loi_ra[n]) then begin 
 Fehler := Fehler + 1; 
 Dien_ap := Ain/255*5; 
 Edit1.Text := FloatToStr(N) + ‘, ‘ + 
 floatToStr(Din) + ‘’ + FloatToStr (Loi_ra[n]) 
 +’ ‘+ FloatToStrF(Dien_ap, ffGeneral, 3, 2) + ‘mA’; 
 End; 
End; 
If Fehler = 0 then Edit1.Text := ‘Test O.K’; 
Timer1.Interval := 2000; 
Timer1.Enabled := true; 
End; 
Procedure Tform1.ButtonClick(Sender : Tobject); 
Var n:integer; 
Begin 
{Ten_tep := OpenDialog.FileName;} 
Timer1.Enable := false; 
For n:=0 to 255 do begin; 
 Dout := n; 
 Trao_doi; 
 Delay (1); 
 Trao_doi; 
 Loi_ra[n] := Din; 
End; 
Edit1.text:= ‘Fertig’; 
Timer1.Enable := true; 
End; 
Procedure Tform1.Timer1Timer(Sender: Tobject); 
Begin 
 Edit1.Text := ‘bereit’; 
 Timer1.Enabled := false 
 131 
End; 
Procedure Tform1.Open1Click(Sender:Tobject); 
Begin 
 OpenDialog1.FileName := ‘*.bin’; 
 OpenDialog1.Execute; 
 Ten_tep := OpenDialog1.FileName; 
 If Ten_tep > ‘ ‘ then begin 
 AssignFile (Testfile, Ten_tep); 
 {$I-} Reset (Testfile) {$I+}; 
 For n:=0 to 255 do read (Testfile, Loi_ra[n]); 
 Closefile (Testfile); 
 End; 
End; 
Procedure Tform1.SaveAslClick(Sender : Tobject); 
Var n:integer; 
Begin 
 SaveDialog1.FileName := ‘*.bin’; 
 OpenDialog1.Execute; 
 If Ten_tep > ‘ ‘ then begin 
 AssignFile (Testfile, Ten_tep); 
 {$I-} Rewrite (Testfile) {$I+}; 
 For n:=0 to 255 do write (Testfile, Loi_ra[n]); 
 Closefile (Testfile); 
 End; 
 End; End. 
 132 
 TÀI LIỆU THAM KHẢO 
1. Ngô Diên Tập. Kỹ thuật ghép nối máy tính. Nhà xuất bản: Khoa học và Kỹ 
thuật, năm 2005. 
2. Ngô Diên Tập. Lập Trình Ghép Nối Máy Tính Trong Windows. Nhà xuất bản: 
Khoa học và Kỹ thuật, năm 2005. 
3. Trần Quang Vinh. Nguyên lý phần cứng và kỹ thuật ghép nối máy tính. NXB 
Giáo dục 
4. Phạm Hữu Khang. Giáo trình nhập môn lập trình VB6. NXB Lao động - Xã 
hội, năm 2005 
5. Phạm Hữu Khang. Kỹ xảo lập trình VB6. NXB Lao động - Xã hội, năm 2004 

File đính kèm:

  • pdfgiao_trinh_mo_dun_lap_trinh_ghep_noi_may_tinh.pdf