Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
1,65 MB
Nội dung
1 LỜI GIỚI THIỆU Trong máy tính hệ có số thiết bị ngồi thơng dụng như: Màn hình, bàn phím, chuột, máy in…với thiết bị ngồi máy tính có khối ghép nối tương ứng chúng tích hợp ln bo mạch gọi main board Tuy nhiên máy tính khơng dừng lại với thiết bị ngoại vi nói mà có yêu cầu cao hơn, kết nối với máy móc cơng nghiệp…và nhà sản xuất lưu tâm tới họ để trống vơ số đường ghép nối với bus máy tính như: RS232, LPT, COM, USB, khe PCI …Đây đường muốn nghiên cứu mở rộng phạm vi kết nối máy tính kết hợp sử dụng với vi điều khiển lập trình Mơ đun ”Lập trình ghép nối máy tinh” mô đun chuyên môn học viên ngành sửa chữa máy tính Mơ đun nhằm trang bị cho học viên trường công nhân kỹ thuật trung tâm dạy nghề kiến thức kỹ thuật lập trình, kỹ thuật ghép nối thiết bị ngoại vi với máy tính với kiến thức học viên áp dụng trực tiếp vào lĩnh vực sản xuất đời sống Mơ đun làm tài liệu tham khảo cho cán kỹ thuật, học viên nghành khác quan tâm đến lĩnh vực Mặc dù có cố gắng để hồn thành giáo trình theo kế hoạch, hạn chế thời gian kinh nghiệm soạn thảo giáo trình, nên tài liệu chắn khiếm khuyết Rất mong nhận đóng góp ý kiến thầy cô bạn học sinh, sinh viên có nhu cầu sử dụng tài liệu Hà Nội, 2013 Tham gia biên soạn Khoa Công Nghệ Thông Tin Trường Cao Đẳng Nghề Kỹ Thuật Công Nghệ Địa Chỉ: Tổ 59 Thị trấn Đông Anh – Hà Nội Tel: 04 38821300 Chủ biên: Nguyễn Kim Dung Mọi góp ý liên hệ: Phùng Sỹ Tiến – Trưởng Khoa Công Nghệ Thông Tin Mobible: 0983393834 Email: tienphungktcn@gmail.com – tienphungktcn@yahoo.com MỤC LỤC ĐỀ MỤC TRANG BÀI MỞ ĐẦU: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH TRUYỀN THƠNG A LÝ THUYẾT Giới thiệu ngôn ngữ truyền thông 1.1 Giới thiệu Visual Basic 1.2 Bắt đầu với Visual Basic 1.2.1 Khởi động Visual Basic: 1.2.2 Giao diện Visual Basic Các điều khiển truyền thông 2.1 Textbox 2.2 CommandButton 2.3 PictureBox 2.4 Form 10 Cách gọi viết DLL 13 3.1 Tệp *.DLL cách tiếp cận 13 3.1.1 Tệp DLL Windows 13 3.1.2 Cách tiếp cận với DLL Windows 14 3.1.3 Vấn đề xung đột DLL 14 3.2 Cách tạo sử dụng tệp *.DLL BASIC DELPHI 15 3.2.1 Các DLL riêng 15 3.2.2 Tệp Port.DLL 16 3.2.3 Gọi tệp *.DLL VisualBasic 17 B CÂU HỎI VÀ BÀI TẬP 21 BÀI 1: CÁC CÂU LỆNH VÀ ĐỐI TƯỢNG TRONG NGƠN NGỮ LẬP TRÌNH 23 A LÝ THUYẾT 23 Cách khai báo biến 23 1.2 Khai báo biến 23 Các câu lệnh 25 Các đối tượng sở truyền thông 28 Các thuộc tính kiện 29 4.1 Các thuộc tính 29 4.2 Các kiện 32 Cách viết mã chương trình 34 5.1 Đọc đặc tính bảng 35 5.2 Sử dụng cửa sổ mã 35 B CÂU HỎI VÀ BÀI TẬP 36 BÀI 2: LẬP TRÌNH THIẾT BỊ ẢO 37 A LÝ THUYẾT 37 Các thiết bị hiển thị số 37 Máy phát tính hiệu hính sin 42 Dao động ký nhớ số 47 Điều khiển số 48 B CÂU HỎI VÀ BÀI TẬP 50 BÀI 3: LẬP TRÌNH QUA CỔNG NỐI TIẾP 51 A LÝ THUYẾT 51 Cổng nối tiếp 51 1.1 Cấu trúc cổng nối tiếp 51 1.2 Truyền thông hai nút 54 Xuất trực tiếp liệu số 55 Cổng nối tiếp RS232 62 3.1 Quá trình truyền byte liệu 62 3.2 Cổng nối tiếp RS 232 62 Truyền liệu nối tiếp đồng 78 4.1 Truyền liệu nối tiếp 78 4.2 Truyền liệu đồng 79 B CÂU HỎI VÀ BÀI TẬP 80 BÀI 4: LẬP TRÌNH QUA CỔNG SONG SONG 87 A LÝ THUYẾT 87 Lập trình qua cổng song song 87 1.1 Cấu trúc cổng song song 87 1.2 Giao tiếp với thiết bị ngoại vi 90 1.2.1 Giao tiếp với máy tính 90 1.2.2 Giao tiếp thiết bị khác 91 Xuất liệu cổng song 100 2.1 Một tạo hàm 100 2.2 Điều khiển máy móc đơn giản 102 2.3 Ghép nối song song qua cổng máy in 105 B CÂU HỎI VÀ BÀI TẬP 116 BÀI 5: LẬP TRÌNH QUA CÁC MẠCH GHÉP NỐI ĐA NĂNG 121 A LÝ THUYẾT 121 Xây dựng Phần cứng cách điều khiển 121 Thiết lập chương trình đo lường 125 Kiểm tra hoạt động vi mạch 126 B CÂU HỎI VÀ BÀI TẬP 128 TÀI LIỆU THAM KHẢO 132 MƠ ĐUN: LẬP TRÌNH GHÉP NỐI MÁY TÍNH Mã mơ đun: MĐ38 Vị trí, ý nghĩa, vai trị mơ đun: - Vị trí: + Mơn đun bố trí sau học xong mơn học/mơ đun: Lắp ráp cài đặt máy tính, Đo lường điều khiển máy tính, Kiến trúc máy tính, Sửa chữa máy tính - Tính chất: + Là môn đun chuyên ngành tự chọn - Ý nghĩa, vai trị mơ đun: + Mơ đun giúp tạo mối liên hệ cần thiết máy tính giới bên ngồi + Chương trình điều hành hệ thống ghép nối mơ đun có khả đảm nhận việc thu thập thơng tin từ bên điều khiển thiết bị ghép nối với máy tính + Giúp cho người đọc có kỹ lập trình đối tượng tạo mạch điện tử để ghép nối với máy tính có nhiều ứng dụng thực tiễn Mục tiêu mơ đun: - Lập trình truyền thơng qua cổng nối tiếp song song - Xây dựng kế hoạch thiết kế chương trình điều khiển ghép nối máy tính - Lập trình hồn chỉnh môi trường phát triển với ngôn ngữ hỗ trợ lập trình ghép nối - Có ý thức tự giác, tính kỷ luật cao, tinh thần trách nhiệm học tập - Bình tĩnh, tự tin cơng việc liên quan ghép nối máy tính Mã MĐ38-01 MĐ38-02 MĐ38-03 MĐ38-04 MĐ38-05 MĐ38-06 Tên Bài mở đầu: Tổng quan ngơn ngữ lập trình truyền thơng Bài 1: Các câu lệnh đối tượng ngơn ngữ lập trình Bài 2: Lập trình thiết bị ảo Bài 3: Lập trình qua cổng nối tiếp Bài 4: Lập trình qua cổng song song Bài 5: Lập trình qua mạch ghép nối đa Thời lượng Tổng Lý Thực số thuyết hành Kiểm tra 04 03 10 10 03 05 02 10 12 12 04 06 06 05 06 05 01 12 06 06 01 BÀI MỞ ĐẦU: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH TRUYỀN THƠNG Mã : MĐ38-01 Giới thiệu Bài mở đầu nhằm giới thiệu cho học sinh cách tổng quan ngơn ngữ sử dụng để lập trình giao tiếp với máy tính, việc lập trình Visual hiểu dùng điều khiển có sẵn, dùng chuột với thao tác để lấy đ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 thuộc tính cho chúng sau viết lệnh cho điều khiển Mục tiêu - Nhận biết tổng thể ngơn ngữ lập trình truyền thơng - Trình bày xác điều khiển truyền thơng, đặc tính, kiện - Sử dụng gọi hàm API lập trình truyền thơng số ứng dụng lập trình truyền thơng - Cẩn thận, tự giác, xác - Tuân thủ, đảm bảo an tồn cho người thiết bị - Có tinh thần trách nhiệm cao học tập làm việc Nội dung A LÝ THUYẾT Giới thiệu ngôn ngữ truyền thông Mục tiêu : - Hiểu khái niệm ngơn ngữ lập trình Visual Basic - Thực số thao tác phần mềm Visual Basic 1.1 Giới thiệu Visual Basic Visual Basic ngơn ngữ lập trình cấp cao 32 bit sử dụng để viết chương trình chạy mơi trường Windows Visual Basic sử dụng kiểu lập trình Visual hay RAD( Rapid Application Development) việc tạo cửa sổ, Điều khiển cách ứng xử cửa sổ Điều khiển thực cách dễ dàng nhanh chóng thao tác với mouse khơng cần phải khai báo, tính tốn với nhiều câu lệnh phức tạp Visual Basic 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ũ kiểu Top Down - Lập trình Top Down: chương trình bố trí thực thi từ xuống Với kiểu lập trình này, việc bố trí trở nên khó khăn 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 phân thành đối tượng (Object) viết cách ứng xử riêng cho đố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 khởi động VB, hộp thoại (Dialog) “New Project” xuất cho phép lựa chọn 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 Tab “New”, nhiên mức độ thơng thường, Standard EXE (một loại chương trình tự chạy tiêu chuẩn) chọn Hình 1.1: Dialog lựa chọn ứng dụng 1.2.2 Giao diện Visual Basic Hình 1.2: Giao diện Visual Basic + Giao diện VB bao gồm thành phần sau: MenuBar: trình đơn VB Toolbar: số chức chương trình Toolbox: chứa Điều khiển (Control) thông dụng Project Explorer: hiển thị thành phần ứng dụng thực Properties Window: Cửa sổ hiển thị đặc tính (Properties) thiết kế + Điều khiển 7 Form Layout Window: xem trước thay đổi vị trí Form thực thi ứng dụng Workspace: vùng làm việc chương trình… Ngồi giao diện VB cịn chứa nhiều thành phần khác Để hiển thị thành phần bạn chọn trình đơn “View” click chọn thành phần bạn muốn hiển thị Tuy nhiên, với thành phần giới thiệu đủ để giúp bạn xây dựng ứng dụng VB Các thành phần giới thiệu đầy đủ phần sau tài liệu Chú ý: Do VB ngơn ngữ lập trình theo kiểu hướng đối tượng (tuy chưa thật đầy đủ ý nghĩa), để làm việc với VB trước hết bạn phải biết khái niệm “Đối tượng”-Object Các điều khiển truyền thông Mục tiêu : - Trình bày xác điều khiển truyền thơng, đặc tính, kiện - Sử dụng đối tượng để tạo Form Các Điều khiển VB dạng Đối tượng Đó cơng cụ có sẵn giúp cho việc tạo giao diện ứng dụng trở nên dễ dàng nhanh chóng hơn, đặc trưng kiểu lập trình VISUAL hay RAD đề cập Các Điều khiển bao gồm thành phần Đối tượng Vì vậy, từ khái niệm Điều khiển hiểu đồng với Đối tượng 2.1 Textbox Textbox hay gọi edit field or edit control, hiển thị thông tin thời gian thiết kế hay lúc chương trình thực thi Việc truy xuất thơng tin Textbox thực thông qua Properties “Text” 2.2 CommandButton Là nút nhấn sử dụng để bắt đầu, ngắt dừng qúa trình 2.3 PictureBox Là điều khiển sử dụng chứa loại file hình tiêu chuẩn Đặc biệt ta cịn vẽ lên Form 10 2.4 Form Form hay biểu mẫu, đối tượng quan trọng viết ứng dụng Form xem giao diện, ứng dụng phải có Form Cũng giống Đối tượng khác, Form có Properties, Method Event riêng, nhiên Form có cịn có đặc điểm quan trọng khác tất Đối tượng nằm Form coi thành phần Form đó, dung dấu “.”để truy xuất đối tượng Form Vd: Form1 có nút lệnh Command1, để đặt giá trị Left Command1 100 ta sử dụng lệnh: Command1.Left=100 hay Form1.Command1.Left=100 11 - Từ khoá “Me”: từ khoá Me sử dụng thay cho tên Form câu lệnh câu lệnh viết Form Ví dụ viết lại: Me.Command1.Left=100 12 Ngồi cịn nhiều Control khác thường sử dụng thiết kế ứng dụng với VB : - Image: sử dụng hiển thị hình ảnh Form khơng thể vẽ lên đối tượng Đặc biệt kích thước hình ảnh chèn vào thay đổi theo kích thước đối tượng Image thuộc tính Stretch=true - Label: thường sử dụng làm nhãn, đề tựa - Check box: mang hai giá trị true false control đánh dấu chọn không chọn - OptionButton: Nút lựa chọn - ComboBox: danh sách lựa chọn dạng xổ xuống - ListBox: chứa danh sách lựa chọn dạng khung - Frame: khung bao cho nhóm control có đặc điểm chung - HScrollbar: trượt ngang - VScrollbar: trượt đứng - Nhóm DriveListBox, DirListBox, FileListBox: sử dụng truy xuấtđến đườngdẫn đĩa - Timer: định thì, thời gian định chứa Properties Interval … Các Properties, Method, Event Control giới thiệu ví dụ có liên quan 13 Cách gọi viết DLL Mục tiêu : - Sử dụng hàm API lập trình truyền thơng số ứng dụng lập trình truyền thơng - Trình bày vấn đề xung đột DLL - Tạo sử dụng tệp *.DLL BASIC DELPHI DLL thư viện liên kết động chứa hàm thủ tục mà ta sử dụng để bổ sung cho hàm cịn thiếu ngơn ngữ lập trình Có hai loại DLL Windows API DLL Third-Party DLL - Windows API DLL tập tin DLL cài sẵn theo cáchệ điều hành - Windows Các tập tin Windows API DLL có hàm, thủ tục bổ sung số chức mà VB chưa có Ngồi Windows API DLL, chương trình Windows phải sử dụng DLL khác ( công ty hay cá nhân khác Microsoft phát triển) gọi cácThird-Party DLL Không cácWindows API DLL , Third-Party DLL cần cài lên đĩa cứng trước sử dụng lần đầu Third-Party DLL thường tạo ngôn ngữ C Việc sử dụng DLL có nhiều ưu điểm so với thư viện tĩnh (thường gọi Package): - DLL tiết kiệm chỗ trống đĩa - DLL tiết kiệm nhớ cách sử dụng kỹ thuật chia sẻ hay gọi ánh xạ nhớ - Việc gỡ rối ( Debug) trở nên dễ dàng lỗi cô lập DLL - DLL ln tỏ hiệu độ an tồn đảm bảo Khai báo DLL Để sử dụng hàm, thủ tục DLL, trước hết phải khai báo hàm, thủ tục Công thức khai báo chung VB là: [Public| Private] Declare Sub|Function name Lib “Libname” [Alias “aliasname”] vd: Public Declare Function PortIn Lib "io.dll" (ByVal Port As Integer) As Byte Trong : - Public : sử dụng tồn cục - PortIn: tên hàm - Io.dll: tên DLL 3.1 Tệp *.DLL cách tiếp cận 3.1.1 Tệp DLL Windows Tệp tin *.DLL (Dymantic Link librany) Thư viện liên kết động, đơi cịn gọi hàm thư viện Windows (Window Function librany) Thay phải viết tồn ứng dụng tay việc gọi chức có sẵn tệp tin *.DLL Đặc tính liên kết dộng hoàn toàn tương phản với với khái niệm khác liên kết tĩnh cụ thể việc đóng 14 gói sử dụng hình ảnh liên kết tĩnh Mặc dù Unix cung cấp thư viện dùng chung (tương tự *.DLL), nhiều nhà cung cấp Unix liên kết tĩnh ứng dụng hồn tồn tương tự thành phần cần thiết, việc cài đặt thư viện hay ứng dụng làm hỏng chương trình cài đặt trước Các nhà cung cấp không cần phải lo nắng tới việc cài đặt phầm mềm khác có ảnh hơửng tới phần mềm hay khơng Khi sử dụng tệp *.DLL có ưu điểm sau đây: - Tệp *.EXE có kích thước giảm đáng kể phần lớn mã nằm DLL - Một thư viện DLL sử dụng đồng thời cho nhiều ứng dụng khác nhau, lại cần nạp lần vào nhớ trước chạy - Các chương trình thể tính Modul rõ có thay đổi DLL chương trình gọi thương khơng bị thay đổi Ngồi cịn có số ưu điểm khác: Một là: Dung lượng ổ đĩa tiết kiệm Hai là: Tiêt kiệm nhớ dùng cho nhiều ứng dụng khác tức áp dụng kĩ thuật chia sẻ Windows cố gắng nạp DLL vào nhớ Heap chương trình cần sử ánh xạ địa vị trí sang cho chương trình cần dùng Phần lớn DLL chia sẻ có số khơng thể chia sẻ mà phải sử dụng riêng Ba là: Việc sửa chữa lỗi xảy tỏ dễ dàng phấn sảy lỗi phần sửa chữa Các DLL có lỗi sửa chữa mà kkhơng cần phải viết lại tồn ứng dụng 3.1.2 Cách tiếp cận với DLL Windows + Cơ chế bảo vệ file Windows: Khi tiếp cận với thư viện vấn đề quan trọng cần phải biết đến chế bảo vệ File Của window Chức bảo vệ tập tin window (WFP: Windows File Protected) bảo vệ DLL hệ thống khỏi phải sửa chữa hay xóa bỏ tác nhân khơng phép Các ứng dụng thay DLL hệ thống, có Package nâng cấp hệ điều hành, chẳng hạn SERVICE PACK làm điều Các DLL hệ thống nâng cấp bỏi SERVICE PACK gọi DLL bảo vệ (Protection DLL) Trong Window 2000 có khoảng 2.800 DLL bảo vệ Nếu ta thử chép DLL bảo vệ thư mục hệ thống (Win\System32 ) DLL tên khác phiên việc tưởng diễn êm dẹp lại khơng báo lỗi Nhưng sau Window 2000 lại thay gốc ban đẩu Mỗi DLL đặt vào thư mục hệ thống Window nhận thay đổi thư mục kiểm tra xem có DLL bảo vệ bị thay đổi hay khơng Nếu có thay đổi kiểm tra xem có chữ kí số phù hợp lệ hay khơng Nếu khơng hợp lệ Window tự chép DLL gốc từ thư mục Win\System32\dllCache vào thư mục Window\SYStem32 WFP bảo vệ DLL hệ thống khỏi thay đổi thành phần phần mềm cài đặt Ngay sản phẩm MicroSoft Như Office Visual Studio nâng cấp DLL bảo vệ thư mục hệ thống 3.1.3 Vấn đề xung đột DLL 15 Khi tiếp xúc với DLL số khó khăn gặp phải vấn đề xung đột DLL:Sau cài đặt phần mềm với số thư viện liên kết động DLL Một vài ứng dụng có sẵn máy khơng làm việc Vấn đê xung đột DLL Windows9x gây nên số yếu điểm việc bảo vệ DLL: chương trình cài đặt khơng kiểm tra phiên trước chép DLL vào thư mục hệ thống Thí dụ chương trình cài đặt so sánh phiên thời MFC42.DLL không gây vấn đề gỉ Tuy nihên chương trình cài đặt lại khơng làm thao tác Bản DLL cũ chép đè nên DLL Hậu chương trình yêu cầu đọan mã hơn, khơng tìm đoạn mã Vấn đề xảy phổ biến với người sử dụng win9x, đặc biệt Download phần mềm miễn phí soa chép chương trình từ người quen Các chương trình chun nghiệp ngày khơng gây nên vấn đề bời lẽ chúng kiểm tra chước ghi đè nên DLL Các DLL ln coi tương thích với phiên cũ, điều Vấn đề xung đột DLL xảy DLL cài đặt thân lại chứa lỗi Mặc dù nguyên nhân gặp có trường hợp xảy thực tế 3.2 Cách tạo sử dụng tệp *.DLL BASIC DELPHI 3.2.1 Các DLL riêng Thường chương trình Window 9x xho ứng dụng cụ thể ta càm thấy thiếu số hàm Khi cách giải tốt viết hàm ngôn ngữ khác, chẳng hạn ngơn ngữ C Sau thiết lập hàm DLL Đây DLL riêng (Private) Có thể định nghĩa: DLL riêng DLL cài đặt ứng dụng xác định có ứng dụng sử dụng Chẳng hạn ta quan tâm đến chương trình Maypp.exe Ta kiểm tra Myapp.exe với Msvcrt.dll phiên 1.0 với Mayapp.dll phiên 2.0 Ta muốn bảo Mayapp.exe sử dụng Msvcrt.dll phiên x.x MA.dll phiên 2.0 Để làm việc phần mềm cài đặt ta chép Mayapp.exe, Msvcrt.dll phiên 1.0 Sa.dll phiên 2.0 vào thư mục /Myapp Sau ta lưu ý Window 98/2000 Myapp.exe dùng DLL riêng Khi Myapp chạy hệ thống Windows 98/2000, tìm thư mục /myapp DLL riêng trước tìm cá thư nục đường dẫn hệ thống Các Service Pack tương lai nâng cáp Msvcrt.dll làm hỏng Myapp khơng sử dụng phiên chung Msvcrt.dll Các ứng dụng khác có cài đặt phiên khác DLL ảnh hưởng tới Myapp, bời lẽ Myapp có phiên sử dụng riêng MA.dll Các DLL riêng gọi DLL cạnh (Side to side), lẽ riêng DLL sử dụng ứng dụng ứng dụng khác Nếu ta chạy WorđPa mypp đồng thời hai Msvcrt.dll nạp vào vào nhớ (do mà có thuật ngữ "cạnh nhau"), WordPad Myapp dùng chung phiên Msvcrt.dll 16 Có hai cách tiếp cận để có DLL riêng Nếu ta viết ứng dụng phận mới, ta đặt cho phần phiên Ứng dụng ta biết phải nạp riêng DLL dùng chung nhờ thông tin phiên Cách tiép cận thứ hai bảo vệ ứng dụng có sẵn, Giả sử C:\Myapp\Myapp.exe ứng dụng có mà ta muốn bảo vệ khỏi rủi ro lần nâng cấp DLL sau Service Pack Ta cần chép DLL định biến thành DLL riêng Myapp vào thư mục \Myapp tạo tệp rỗng thư mục tên "Myapp.exe local" Myapp chạp tìm File.local tìm kiếm thư mục thời DLL COM service trước tìm đến đường dẫn chuẩn Nếu ứng dụng ta mà bị lỗi Service Pack nâng cấp, ta tạo chương trình cài đặt với file.local DLL mà ta cần cung cấp chúng cho khách hàng Cả cách tiếp cận đình phiên (cho ứng dụng viết ) cho local (các ứng dụng có ) có số đặc tính sau: - Các DLL thư mục ứng dụng đươc nạp thay DLL hệ thống - Ta đổi hướng 20 DLL đươck liệt kê HKEYLOCAL_MACHINE\SYSTEM\CurrentControlSet\ControlSession manager\ KnownDLLs Phần lớn chúng khơng thể chạy cạnh cần trì trạng thái khơng phụ thuộc vào tiến trình Vídụ: kernel32, user32 ole32 không thê bị đổi hướng lẽ chúng có trạng thái (các đối tượng kernel, handle cửa sổ ) cần trì xuyên suốt tiến trình Trong hệ điều hành tương lai số DLL sửa lại chạy cạnh nhau, danh sách rút bớt Để giải xung đột ứng dụng có phải xác định xem: DLL cần bảo vệ Các tiếp cận định cần phải thực tác giả phận hay ứng dụng Các nhà quản lí chương trình cài đặt tạo file.local rỗng để thực cách tếp cận thứ hai Các hệ điều hành hầu hết có chế bảo vệ 3.2.2 Tệp Port.DLL Điều đặc biệt khó khăn làm việc môi trường Windows tiếp cận đến giao diện máy tính PC Thực tế cho thấy có biện pháp hiệu tạo tệp DLL có khả sử dụng nhiều ứng dụng Một tệp khác giới thiệu phần sau có tên quy ước 8255.DLL Được viết C++ tệp viết ngôn ngữ khác, tùy theo kinh nghiêm người lập trình Tệp DLL đề cập đến nhiều lần phàn đượ viết dạng ngơn ngữ Delphi có quy ước Port.dll để ró đối tượng ứng dụng cổng Tệp DLL thực chức mở rộng ngôn ngữ để dùng cho ngôn ngữ lập trình khác Sau tạo (hoặc kiếm được) phải chép vào thư mục hệ thống Windows để chương trình sử dụng Tùy theo cách lựa chọn, ta đặt tệp DLL vào thư mục chương trình chương trình điều hành (EXE) Những nhiệm vụ đặt viết tệp PORT.DLL là: 17 + Mở giao diện + Truyền liệu theo cách nối tiếp + Tiếp cận đến đường dẫn giao diện + Nhập xuất cổng phát khoảng thời gian có thời lượng xác đến Mili giây phát khoảng thời gian có thời qt xác đến Micro giây + Truy cập tới card âm + Truy cập qua cổng trị chơi Tệp DLL sử dụng hệ thống lập trình hồn tồn khác Ngồi ngơn ngữ lập trình phần này, hàm viết bằn ngơn ngữ C Vì chương trình viết lần chuyển giao dễ dàng sang hệ hthống lập trình khác Ngồi ra, ta trao đổi với thư viện DLL Macro Word Exel Việc viết thư viện DLL chung để truy cập tới phàn cứng dự tính Ở mức độ có phần trái ngược với cách tư nhà thiết kế phần mềm khoi xây dựng Windows Trong tất thao tác truy cạp nên phần cứng tiến hành thông qua tệp đệm (Driver) Một tệp đệm theo thiết bị hoàn toàn xác định Đối với ứng dụng ghép nối máy tính khơng chun nghiệp hy vọng đến giúp đỡ tệp Lý việc viết tệp thường tốn thường viết hãng lớn Trong DOS, ngơn ngữ lập trình có lệnh dùng cho cổng, mà thường gọi tắt lệnh cổng (GWBASIC INP OUT, TurboPascal PORT [ ], ) Để trao đổi trực tiếp tồn phần cứng máy tính PC.Trong số hệ điều hành thâm nhập phần cứng phải thông qua hàm thư viện dịch vụ hệ điều hành có bảo vệ hệ thống nên việc truy cập trực tiếp vào phần cứng trở nên khó khăn Trong hệ điều hành thiên hướng mạng vịêc truy cập lại bị bó hẹp 3.2.3 Gọi tệp *.DLL VisualBasic Việc sử dụng tệp tin DLL thơng qua thí dụ đơn giản mà khơng bổ sung thêm cho phần cứng Loa máy tính điều khiển thơng qua khối, khối điều khiển qua cá lệnh cổng Loa điểu khiển định thời để xuất âm có tần số định ta điều khiển trực tiếp thơng Hình 1.3: Tạo Module 18 qua đường dẫn xuất vi mạch ghép nối ngoại vi lập tình PPI (Programable Peripheral Interface) loại 8255 máy tính pc ta tạo âm theo cách thay đổi trạng thái logic đường dẫn chuỗi tac dộng liên tục: Bật tắt Các phương pháp thử nghiệm dược nêu mặt đẻ làm quen với khái niệm tệp DLL, mặt khấc để khảo sát tiến trình thời gian Windows Loa điều khiển qua bít cổng B vi mạch 8255 Vi mạch chiếm địa 60h (96 dec) vùng vào/ra PC, cổng B nằm địa 97 Các nối cổng ln có độ rộng bít, đường dẫn chuyển lúc Nhưng có đường dẫn bit phép thay đổi, cổng B mạch PPI, cịn điều khiển nhiều đường dẫn khác Do trước hết, trạng thái cổng đọc để thay đổi bit Nếu cảm thấy kho khăn việc tìm hiểu cách xử lí bit, ta nên chọn cách tiếp cận với cách chương trình dùng làm thí dụ giới thiệu chương trình sau; Ngồi việc truy nhập nên ccác giáo diện từ bên ngồi có phần đơn giản Để tiếp cận với địa cổng riêngbiệt máy tính PC tệp DLL giới thhiệu hai hàm cụ thể Out Port ADR.DAT 'xuất liẹu địa tệp Input port ADR 'đọc liệu từ địa ADR Trong Visual Basic outport kết nói Sub (procedure) ngược lại inport phải hàm Các phàn tử tệp DLL đợc định lệnh khai báo (Declare) để việc chuyển giao liệu VIsualBasic têp DLL, vận hành tất thông số giao ByVal cần khai báo,nghĩa tham trị- ngược với vieecj chuyển giao địa so sánh hệ diều hành Windows 95/95 32 bit phải dùng chữ in khai báo thư viện DLL, Tất ccác hàm đặt tên chữ viết in tên phải giữ nguyên chương trình gọi lời khai báo toàn cục phải khai báo Modul riêng Modul kết nối Project TON, Declare sub OUTPORT Lib "PORT.DLL" (ByVal Adr as Integer, Byval dat as Integer) Declare Fuction OUTPOR Lib "PORT.DLL" (ByVal Adr as Integer, Byval as Integer) as Integer Declare Sub DELAY Lib "PORT.DLL" (ByVal thoigian As Integer) Hình 1.4: cửa sổ chương trình 19 Bây Inport Outport (Trong đoạn chương trình viết chữ In !) sử dụng Project chung Ngoài thủ tục Delay khai báo sử dụng phần Lần xuất âm tần đẩu tiên cần phải tạo vòng lặp nhanh với 100 xung vng góc loa, tàn số âm phải nằm vùng nghe Việc quản lí bit xuất cổng lệnh outport tiến hành cách sử dụng hàm logic ALD OR để thay đổi đường dẫn cổng đọc vào lệnh Inport Các hàm cịn giải thích chi tiết phần sau Chương trình nên sử dụng khn mẫu đơn giản với phím nhấn TON Đường dẫn loa dược tắt/bật 100 lần nhờ ta nghe chẳng hạn máy tính tính PC với xung Nhịp 200Mhz loại âm thời gian chờ bổ sung cần phải điền vào Ở thời gian chở tạo vòng lặp đếm với 10000 vòng lặp Private Sub Command1_Clic() Dim i, t As Integer For i = To 100 OUTPORT 97, (INTPORT(97) Or 2) For t = To 1000 Next t OUTPORT 97, (INTPORT(97) And 2) Next For t = To 1000 Next t End Sub Khi nhấn vào phín "TON" ta nghe thấy âm phất loa Độ cao tần số âm phụ thuộc vào máy tính sử dụng Điểm đáng ý là; âm tạo có chất lương khơng cao; đơi ta thấy nhiều tiếng ồn tiếng lạo xạo nguyên nhân tiến trình sử dụng thời gian (Time Characteristic) Windows Thời gian chờ tạo qua vòng lặp trễ thường khơng đơng Windows cịn phải hồn thành nhiều nhiêm vụ chẳng hạn Windows cịn phải quan sát chuột q trình khác diễn đồng thời cần xử lí người ta thờng nói Window khơng có khả thời gian thực, điều khiển trình diễn biến nhanh Windows cách tin cậy Tất nhiên nhận xét mang tính tương đối nnhanh đến tin cậy đến mức ranh giới chưa rõ ràng Có thể khẳng định khơngthể tạo âm chẻo chương trình dẫn làm thí dụ Đương nhiên vịng lặp đếm giải pháp lựa chon trước tiên ta quan tâm đến thời giam trễ Window đẫ cung cấp phương tiện tốt đẻ nhận thời gian trễ đến mili giây thông qua việc truy nhập tới hàm Delay DLL việc sử dụng hàm delay theo cách cho phép cải thiện chất lượng âm xuất đấng tiếc tần số ccaco âm xuất cỡ 500 Hz ta thay đổi trạng cổng ms 20 Với đoạn chương trình âm xuất nghe rõ ràng chất lượng chư so sánh với âm tọa từ vi mạch Các kết nhận từ DLL Realime (true) cải thiện nhiều Nhưng ta có ấn tượng rõ ràng khả thời giam thực Window xa Muốn khảo sát chi tiết hơn, ta cần đến giao động để quan sát trọng thái đường dẫn, chẳng hạn giao diện cổng COM cổng nối tiếp + Ví dụ: Private Sub Command1_Click() For n = To 100 OUTPORT 97, (INPORT(97) Or 2) DELAY OUTPORT 97, (INPORT(97) Or 253) DELAY Next n End Sub Bên cạnh hàm DELAY dùng cho khoảng thời gian mini giây, DLL cịn có hàm giây trễ với khoảng thời gian micro giây Còn vấn đề cần quan tâm đến việc gọi hàm DLL Tất lời gọi DLL cần khai báo modul Basic bên ngồi có tên PORT.PAS sau đó, thư viện nạp vào project mới, mà khơng địi hỏi quan tâm nhiều đến khai báo Trong tệp PORT.DLL phải đặt thư mục Window phải đặt thư mục có chứa chương trình exe cần chạy Đoạn chương trình sau PORT.BAS với tất khai báo dùng VB5: Declare Function OPENCOM Lib "Port" (ByVal a$) As Integer Declare Sub CLOSECOM Lib "Port" () Declare Sub SENBYTE Lib "Port" (ByVal b$) Declare Function READBYTE Lib "Port" () As Integer Declare Sub DTR Lib "Port" (ByVal b$) Declare Sub RTS Lib "Port" (ByVal b$) Declare Sub TXD Lib "Port" (ByVal b$) Declare Function CTS Lib "Port" () As Integer Declare Function DSR Lib "Port" () As Integer Declare Function RI Lib "Port" () As Integer Declare Function DCD Lib "Port" () As Integer Declare Sub DELAY Lib "Port" (ByVal b$) Declare Sub TIMEINIT Lib "Port" () Declare Sub TIMEINITUS Lib "Port" () Declare Function TIMEREAD Lib "Port" () As Long Declare Function TIMEREADUS Lib "Port" () As Long Declare Sub DELAYUS Lib "Port" (ByVal l As Long) Declare Sub READTIME Lib "Port" (ByVal l As Boolean) Declare Sub OUTPORT Lib "Port" (ByVal a%, ByVal b%) Declare Function INPORT Lib "Port" (ByVal p%) As Integer ... chương trình điều khiển ghép nối máy tính - Lập trình hồn chỉnh môi trường phát triển với ngôn ngữ hỗ trợ lập trình ghép nối - Có ý thức tự giác, tính kỷ luật cao, tinh thần trách nhiệm học tập -... máy tính giới bên ngồi + Chương trình điều hành hệ thống ghép nối mơ đun có khả đảm nhận việc thu thập thơng tin từ bên điều khiển thiết bị ghép nối với máy tính + Giúp cho người đọc có kỹ lập... quan ghép nối máy tính Mã MĐ38-01 MĐ38-02 MĐ38-03 MĐ38-04 MĐ38-05 MĐ38-06 Tên Bài mở đầu: Tổng quan ngơn ngữ lập trình truyền thơng Bài 1: Các câu lệnh đối tượng ngơn ngữ lập trình Bài 2: Lập trình