Giáo trình phân tích quy trình ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử p4

10 225 0
Giáo trình phân tích quy trình ứng dụng điều chế thiết bị bán dẫn chứa các mạch logic điện tử p4

Đang tải... (xem toàn văn)

Thông tin tài liệu

w bu y N O W ! PD k to 34 c I ĐÔI NÉT VỀ NGÔN NGỮ C: I.1 Nguồn gốc: C phát minh cài đặt Dennis Ritchie chạy hệ điều hành Unix, Martin Richards phát triển thập niên 70 C sử dụng chuẩn ANSI đề nghò lần cuối vào năm 1989 I.2 C ngôn ngữ bậc trung: Được xem ngôn ngữ bậc trung C tổ hợp thành phần tốt ngôn ngữ bậc cao với điều khiển tính linh hoạt ngôn ngữ Assembly C cho phép thao tác bit, byte đòa – phần tử với chức máy tính, mã chương trình C mang tính khả chuyển I.3 C ngôn ngữ lập trình viên: C lập trình viên làm việc thật tạo ra, thúc đẩy kiểm tra, để C lại mang cho họ họ mong muốn: hạn chế, lời phàn nàn, cấu trúc khối, hàm đơn lẻ, môt tập đóng kín từ khóa II CÁC PHƯƠNG PHÁP LẬP TRÌNH: II.1 Phương pháp lập trình lệnh:  Chương trình dãy lệnh  Lập trình xác đònh lệnh với thứ tự lệnh  Phương pháp có giá trò với chương trình lệnh ( < 100 lệnh) II.2 Phương pháp lập trình thủ tục:  Chương trình hệ thống thủ tục hàm, thủ tục hay hàm dãy lệnh  Lập trình xác đònh thủ hàm, xác đònh lệnh bên tring thủ tục hàm  Phương pháp tiến phương pháp II.3 Phương pháp lập trình đơn thể:  Chương trình hệ thông đơn thể (module)  Mỗi đơn thể hệ thống thủ tục, hàm có ý nghóa Mỗi thủ tục hàm dãy lệnh  Các đơn thể có lưu trữ biên dòch phân cách, nên dễ dàng lắp ghép Tuy nhiên phương pháp thiếu tự nhiên, ngài chương trình rộng sâu quản lý II.4 Phương pháp lập trình hướng đối tượng:  Chương trình hệ thống đối tượng, đối tượng thực tế diễn tả ngôn ngữ tin học  Lập trình xác đònh đối tượng quan hệ chúng  Tính tự nhiên phương pháp làm trở nên sinh động, đối tượng có thuộc tính hành động riêng thực tế dễ hình dung, dễ quản lý Ngoài ra, nhờ dựa đối tượng nên tính tiến hóa mở rộng cao .d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu C lic k to LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD k to 35 c Trong phần viết chương trình giao diện vi tính, người viết chọn phương pháp lập trình hướng đối tương Nhờ ưu điểm trên, phương pháp cho phép bổ sung cách dễ dàng, tạo điều kiện thuận lợi cho việc bổ sung sau cần III PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯNG TRONG C III.1 Các khái niệm: Thế giới thực Phương pháp lập trình Ngôn ngữ lập trình Đối tượng Đối tượng Biến có kiểu lớp giới thực (tương tự kiểu cấu trúc) Khái niện chung Lớp đối tượng Kiểu lớp(Class-tương tự đối tương kiểu cấu trúc) Thuộc tính quan tâm Thuộc tính Thành phần liệu của đối tượng kiểu lớp Khả thực Hành động Thủ tục, hàm kiểu lớp đối tương III.2 Phương pháp: III.2.1 Xác đònh lớp đối tượng, quan hệ qua lớp (xây dựng sơ đồ lớp) III.2.2 Thiết kế lớp (biểu diễn máy tính)  Thành phần liệu (thuộc tính)  Thành phần xử lý (hành động) III.2.3 Cài đặt lớp: Viết hàm main() III.2.4 Thử nghiệm IV Thực viết chương trình DownLoad: IV.1 Yêu cầu giao diện:  Cho phép chọn file truyền  Bằng cách gõ vào tên file  Bằng cách click chuột để chọn  Xem trước vùng nhớ cần thiết sử dụng RAM Kit 8085  Chọn cổng truyền  Truyền file có kiểm tra IV.2 Chọn ngôn ngữ lập trình:  Chọn ngôn ngữ C viết môi trường Dos  Lý do: yêu cầu thiết bò (máy tính) không cao, phù hợp kiến thức người viết  Ưu điểm: C công cụ lập tình gọn nhẹ, chạy nhanh, hiệu khép kín Vì sử dụng C môi trường Dos nên không cần phải kiểm soát driver viết môi trường Windows Ngôn ngữ C cho phép truy cập trực tiếp port, dể dàng kiểm soát bit liệu  Khuyết điểm: Vùng nhớ trống môi trường Dos có 640Kbyte, sau khởi động xong (ở hình dos) lại 400Kbyte, không cho phép tạo giao diện phức tạp Độ phân giải chế độ graph Dos so sánh với môi trường Windows .d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD c IV.3 Chương trình Download: Danh sách lớp: Tên lớp Công dụng Button.hpp Tạo nút nhấn, chứa hành động liên quan Disklist.hpp Liệt kê ổ đóa máy, chứa hành động liên quan List.hpp Để vẽ bảng liệt kê thư mục file, chứa hành động liên quan Mouse.h Chứa thao tác chuột Screen.h Chứa tham số giao diện hình, chứa hành động liên quan Textbox.hpp Vẽ khung nhập liệu (tên file, loại file, ) , chứa hành động liên quan Xuat.hpp Chứa thao tác, hành động liên quan đến truyền file Lưu đồ hàm main(): Begin InitGraphics() InitValues(…) InitScreen() InitMouse(…) Khởi tạo thành công S CT báo lỗi Đ Hình 13: lưu đồ hàm Main() chương trình DownLoad Mainpro() Đóng chế độ đồ họa closegraph() Thoát Giải thích lưu đồ: End to k d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C 36 LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD c  Chương trình bắt đầu begin  InitGraphisc():Khởi tạo chế độ đồ họa, chương trình có sử dụng hình chế độ đồ họa môi trường Dos Nếu khởi tạo không thành công thông báo lổi khởi tạo thoát khỏi chương trình  InitValues(…): hàm khởi tạo giá trò ban đầu cho hình: kích thước cửa sổ, kích thước ký tự  InitScreen(): Vẽ hình với giá trò khởi tạo  InitMouse(): Khởi tạo chuột  Khởi tạo thành công: kiểm tra, khởi động chuột thành công tiếp tục công việc, không thành công xuất thông báo lỗi thoát khỏi chương trình  MainPro chương trình quản lý thao tác toàn chương trình, từ thao tác nhập xuất đến thao tác lựa chọn tùy chọn  Closegraph(): Đóng chế độ đồ họatrước thoát khỏi chương trình  End: kết thúc chương trình Hàm Main() viết ngôn ngữ C : void main(void) { InitGraphics(); InitValues("Chuong trinh truyen du lieu RAM"); InitScreen(); if (!InitMouse(&MainWindow.rViewPort)) { OutMessage("Mouse driver not found Init mouse and return"); getch(); closegraph(); exit(1); } ShowMouse(); MainProgram(); closegraph(); } void main(void): void cho biết hàm main() không trả môt giá trò nào, nghóa hàm main lệnh return() lệnh lệnh return tham sô (void) cho biết hàm main không cần đối số đưa vào Lưu đồ hàm Mainpro(): Begin Khởi tạo giá trò cho ô nhập text Khởi tạo giá trò cho nút chọn A to k d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C 37 LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e c u -tr a c k w N bu y to k lic c A Xuất ô nhập text hình Xuất nút chọn hình GetEvent() Click vào ô Open File Gọi chương trình nhập vào đường dẫn Click Nút pull down Gọi chương trình xuất cửa sổ chọn file Click nút Send Xác đònh file chọn Click nút Exit Xác nhận thoát Nhấn Esc Return Hình 14: Lưu đồ hàm MainPro() Giải thích lưu đồhàm MainPro(): Truyền file d o m o m w o d o 38 w w w w w C lic k to bu LUÂÄN VĂN TỐT NGHIỆP C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD k to 39 c  Khởi tạo giá trò cho ô nhập text: hình có khung cho phép gõ vào tên file, chương trình khởi tạo tọa độ, màu chữ cho text  Khởi tạo giá trò cho nút chọn: giống trên, nút Send, Exit nút Pulldown  Xuất ô nhập text hình  Xuất nút chọn hình  GetEvent: chương trình lấn biến cố chuột Biến cố chứa thông tin tọa độ chuột, phím chuột click, thời gian click lần cuối, … để xáx đònh lệnh cần thực  Click vào ô Open File: biến cố click chuột xẩy tọa độ của ô Open file kết click vào ô TRUE, thực chương trình nhập vào file cần xuất Ngược lại bỏ qua  Click vào nút Pulldown: biến cố click chuột xẩy tọa độ của nút Pulldown kết click vào ô TRUE, gọi chương trình xuất cửa sổ chọn File, ngược lại bỏ qua  Click nút Send: biến cố click chuột xẩy tọa độ của nút Send kết click vào ô TRUE, thực xác nhận file xuất nhập vào chưa, file xuất chưa nhập vào báo lỗi bỏ qua lệnh Send, file xuất có tên xuất file  Click nút Exit: biến cố click chuột xẩy tọa độ của nút Exit kết click vào ô TRUE, thực xác nhận muốn thoát khỏi chương trình, xác nhận thoát, ngược lại bỏ qua lệnh Exit  Nhấn Esc: người dùng nhấn vào nút Esc bàn phím biến cố Nhấn Esc TRUE, thực xác nhận muốn thoát khỏi chương trình, xác nhận thoát, ngược lại bỏ qua lệnh thoát nút Esc Sau đó, chương trình lại thực vòng lặp hàm lấy biến cố chuột có thao tác Giả sử click chuột vào ô Open File, ô đổi trạng thái, kýtự ô đổi màu báo trạng thái chờ nhập, nhập vào tên fie có phần mở rộng “prn” với đầy đủ đường dẫn, sau gõ phímEnter tên file lưu vào biến toàn cục, đòa đầu đòa cuối chương trình ngôn ngữ máy lên khung “Free memory request”, dòng thông bào bên báo cho biết click Send để truyền file Giả sử tiếp tục click Send thông báo xác nhận xuất hiện, muốn xác nhận có người dùng muốn truyền file không Nếu trả lời Ok chương trình truyền file gọi thi hành Sau lưu đồ chương trình thực việc truyền File Giải thích lưu đồ:  Gọi chương trình cắt file: chương trình cắt file thực chất chương trình có nhiệm vụ lọc thông tin quan trọng file “x.prn” truyền đi, lưu chúng file “x.tmp” xuất khoảng thời gian chương trình cắt file Sau file “x.tmp” bò xoá trình truyền file hoàn tất Quá trình truyền file phải sử dụng bước để trình bắt tay máy tính Kit ổn đònh (thực nghiệm), việc viết chương trình rõ ràng .d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c ! O W w N y bu to k lic o  Gọi chương trình xuất file: chương trình đọc file có tên “x.tmp” tạo từ chương trình cắt file Chương trình đọc file, nhận tín hiệu bắt tay gởi liệu hết file  Trong trình truyền file, có cố, giả sử không bắt tay lý đó, chươn trình đợi, thời gian kéo dài coi việc truyền file bi lỗi, thông báo lỗi xuất  Nếu truyền thành công thông báo hoàn tất công việc  Return: Quay trở chương trình MainPro Trong hàm MainPro(), cần quan tâm chương trình truyền file Begin Gọi chương trình Cắt file Gọi chương trình xuất file Sai Thành công Đúng Thông báo hoàn tất công việc Thông báo lỗi công việc Return Hình 15: Lưu đồ chương trình có nhiệm vụ truyền file Trong phần này, ta quay lại công việc cắt file giới thiệu mục III chương V Chương trình cắt file để tạo file tạm thời có phần mở rộng tmp file file có cấu trúc đơn giản file prn nhiều nhằm để giúp cho việc truyền file thêm đơn giản Trước hết khảo sát file *.prn, file dòch chương trình dòch Assembler Trong chương trình, byte lệnh tiên bắt đầu đòa 0000hex Nhận xét dòng lệnh bắt đầu bở đòa nhớ, liền sau đòa dấu nháy đơn, mà dấu nháy đơn xuất đòa dòng lệnh  để tìm đòa tìm dấu nháy đơn .d o o m w c m C O W N y bu to k lic C c u -tr a c k h a n g e Vi e er 40 LUÂÄN VĂN TỐT NGHIỆP w w d o XC w w w F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD c Còn đòa cuối đòa byte cuối dòng lệnh cuối Dòng lệnh cuối dòng lệnh nằm gần từ “Macros” Từ macros từ macros  cách tìm đòa cuối sau:  Tìm từ Macros  Dò ngược trở phíc gặp dấu nháy đơn  Tiếp tục dò ngược trước, vòng 10 ký tự mà gặp môt ký tự xuống dòng thì dấu nháy đơn vừa nằm sau dòng lệnh cuối  Trong dòng lệnh cuối cùng, tìm byte cuối tính đòa cuối Cách tìm dòng lệnh:  Khi gặp dấu nháy đơn, tìm ký tự khác dấu nháy đơn khoảng trắng  Khi gặp ký tự đầu tiên, ký tự byte lệnh  Nếu sau ký tự lệnh khoảng trắng ký tự vừa mã lệnh  Nếu sau lý tự môt byte lệnh khoảng trắng nào, ký tự vừa ký tự báo đòa  Nếu sau ký tự tính từ lúc bắt đầu lệnh khoảng trắng trở lên byte vừa byte cuối dòng lệnh  Bắt đầu chu kỳ tìm dòng mã lệnh Lưu mã lệnh vào file *.tmp:  Đầu tiền lưu đòa đầu, đòa cuối vào file  Nếu gặp mã lệnh (2 ký tự) ghi tiếp vào file  Nếu gặp mã đòa đổi chổ ký tự sau với ký tự trước đòa  Đến gặp đòa cuối ghi vào ký tự cuối đóng file MACRO-80 3.4 Org 0000' 3E 00 0002' 32 A001 0005' 3E 80 0007' 32 A001 000A' 3E 06 000C' 32 A000 000F' 76 MACRO-80 3.4 Macros: 01-Dec-80 PAGE 0000h MVI A,00h STA 0A001h MVI A,80h STA 0A001h MVI A,06h STA 0A000h HLT 01-Dec-80 PAGE S Symbols: No Fatal error(s) Công mô tả lưu đồ sau: việc to k d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C 41 LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD c Begin Nhận đòa đầu Begin Nhận đòa cuối Mở file nguồn Busy=1 Sai Đúng Mở file đích Xuất dliệu bus Strobe=1 Tìm dấu “ ‘” Sai ACK=1 & Error=0 Đọc ký tự lệnh Đúng AF=1 Xét ký tự Đ Không khoảng trắng s a Đọc Error=0 Đọc ký tự Đúng Thu nible cao S Lưu ký tự sau Đ Là khoảng trắng AF=0 Lưu ký tự sai S Error=1 Đúng 2 khoảng trắng Đ Xuất 00 data bus S Thu nible thấp sai Ktra liệu S >AF=0 đòa cuối Strobe=0 Xuất FF data bus Đ AF=0 Strobe=0 End Chuẩn bò liệu Hình 16: Lưu đồ chương trình Cắt file Hết liệu sai Đúng Return to k d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C 42 LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c w bu y N O W ! PD k to 44 c Sau cắt file, file tạo Chương trình truyền file đến bước xuất file Dó nhiên trước xuất file cần có thủ tục mở file, đặt mức logic cần thiết để khởi động cổng: mở file hợp lệ, cho bit AF=0, strobe=0 Giải thích lưu đồ chương trình xuất file:  Trước tiên, máy tính xuất strobe=0, AF=0 chách xuất port 37Ahex số 03hex (xem lại ghi điều khiển mục IV chương IV);  Chương trình xuất bắt đầu begin  Đọc Busy\ [1]: đợi kit phát Busy=[0] báo hiệu sẳn sàng nhận liệu  Nếu nhận Busy\=[1] bước xuất liệu thực hiện, tức lúc máy tính đọc ký tự file tmp xuất port 378 máy tính  Strobe=[1]: để báo cho kit biết liệu gửi port để kit biết mà đọc liệu vào  ACK=[1] Error=[0]: nhậndl xong kit báo ACK=[1], Error=0 để báo cho máy tính biết Kit gửi liệu để kiểm tra hay sai  AF=[1]: báo cho Kit biết máy tính sẳn sàng nhận liệu  Máy tính đọc bit Error Error = [0] để biết Kit gửi liệu để kiểm tra  Thu Nible cao: Nhận liệu để kiểm tra  Cho AF=[0]: nhận xong liệu  Đọc Error Error=[1] để biết có liệu  Thu nible thấp  Kiểm tra liệu: máy tính phải ghép nối nible cao với nible thấp lại so sánh với liệu vừa xuất ra, liệu giống kết xuất liệu Máy tính xuất số FFhex ghi data để báo đúng, xuất AF=0 & strobe=0 để báo xuất xong byte liệu Ngược lại xuất 00hex ghi data xuất AF=0, strobe =0 để báo kết sai  Nếu kết sai quay lại xuất lạ byte vừa xuất  Quay lại từ đầu chương trình xuất liệu hết liệu IV.4 Chương trình nhận liệu Kit: Giải thích lưu đồ chương trình nhận liệu:  Chương trình bắt đầu begin  Trước tiên phải khởi tạo 8255 với chế độ qui đònh sau:  Port A: nhận liệu từ ghi data theo ket nối phần cứng  Port B: xuất trạng thái Kít trả máy tính  Port C: nhận tín hiệu điều khiển từ ghi điều khiển máy tính  Sau báo cho máy tính biết trạng thái bận Mục đích công việc để đồng thời điểm bắt đầu chương trình nhận liệu với chương trình xuất liệu từ máy tính  Reset biến đếm đòa đầu cuối, nơi đặt vùng liệu nhận từ máy tính  Xuất chử Ready báo cho người sử dụng biết trạng thái sẳn sàng nhận liệu kit Chờ người sử dụng gõ phím Go .d o m o m w o c u -tr a c k h a n g e Vi e lic O W N y bu to k lic C LUÂÄN VĂN TỐT NGHIỆP w w d o XC er w w w F- w C h a n g e Vi e ! XC er PD F- c u -tr a c k c ... trình bắt đầu begin  InitGraphisc():Khởi tạo chế độ đồ họa, chương trình có sử dụng hình chế độ đồ họa môi trường Dos Nếu khởi tạo không thành công thông báo lổi khởi tạo thoát khỏi chương trình. .. chương trình cắt file Sau file “x.tmp” bò xoá trình truyền file hoàn tất Quá trình truyền file phải sử dụng bước để trình bắt tay máy tính Kit ổn đònh (thực nghiệm), việc viết chương trình rõ... truyền  Bằng cách gõ vào tên file  Bằng cách click chuột để chọn  Xem trước vùng nhớ cần thiết sử dụng RAM Kit 8085  Chọn cổng truyền  Truyền file có kiểm tra IV.2 Chọn ngôn ngữ lập trình: 

Ngày đăng: 07/12/2015, 00:53

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan