Tài liệu thiết kế máy chấm bài trắc nghiệm, chương 8 pptx

18 357 0
Tài liệu thiết kế máy chấm bài trắc nghiệm, chương 8 pptx

Đ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

Chương 8: XÂY DỰNG SƠ ĐỒ KHỐI THƯ VIỆN DRIVER Thư viện Driver số thư viện viết để xây dựng phần mềm điều khiển máy chấm điểm trắc nghiệm Thư viện viết ngôn ngữ lập trình PASCAL, bao gồm 11 thủ tục con, dùng để điều khiển hoạt động động truy xuất liệu hệ thống Thư viện sử dụng Unit tên VAR_COM, thư viện chứa hằng, biến toàn cục chương trình Cụ thể: UNIT VAR_COM; INTERFACE {Khai báo tên Unit cần tạo} {Khai baùo chung} TYPE File_Name_Type = String[16]; XY_Type = Record Hor : Word; Vert : Word; End; CONST L_Horizontal cần quét*) L_Scan quét *) On Off Right Left = 600; (*Chiều dài tối đa tín hiệu điều khiển = 100; (*Chiều dài tối đa tín hiệu điều khiển = True; = False; = True; = False; Up Down = True; = False; VAR Sys_Error : Byte; DataA, DataB : Byte; DataC, CL, CH : Byte; Error : Boolean; (*PC3 : tín hiệu lỗi Error *) Page : Boolean; (*PC2 : tín hiệu lỗi Page *) Vert : Boolean; (*PC1 : tín hiệu Veritical *) Hor : Boolean; (*PC0 : tín hiệu Horizontal*) V_Count, H_Count, Sc_Count : Integer; Add_Port : Array [0 2] of Word; (* Add_Port : Address Port A Add_Port : Address Port B Add_Port : Address Port C *) DataA_Bit : Array[0 7] of Boolean; (* Bit : Clock Vertical Bit : Up/Down Vertical Bit : Clock Scan Bit : Up/Down Scan Bit : Clock Horizontal Bit : Up/Down Horizontal Bit : Motor DC 1st Bit : Motor DC 2nd *) T_DL_CK T_DL_MDC DC*) F_XY, F_Data, F_Sys, F_Ans F_Error W_Data, L_Data XY_Name XY*) XY_Count XY_Data tối đa 500*) : Word; (*Thời gian Delay xung CK*) : Word; (*Thời gian Delay Motro (*File lưu trữ tọa độ XY*) (*File lưu trữ trả lời mẫu*) (*File lưu trữ trạng thái*) : File; (*File lưu trữ kết quả*) : Boolean; (*Chiều rộng liệu*) : Byte; (*Chiều dài liệu *) : File_Name_Type; (*Tên mở rộng File tọa độ : Word; (*Số cặp tọa độ XY*) : Array [1 500] of XY_Type;(*Mãng liêu, IMPLEMENTATION {Thi hành} BEGIN END {Kết thúc thư viện} Các thủ tục ta xây dựng sơ đồ khối chương là: ProceDure ReadC; ProceDure CK; ProceDure MDC(DC1,DC2:Boolean); ProceDure Run_SM(Motor:Byte;Step:Integer); ProceDure SM_Standar(SM_H,SM_SC:Boolean); ProceDure Page_Out; ProceDure Page_In; ProceDure GoXY(H,V:Integer); ProceDure ResetData; ProceDure ReadB; 10 ProceDure Scan; Trong sơ đồ khối có từ viết tắt như:BA07 (viết tắt biến DataA_Bit[0 7]), PA07 (viết tắt biến DataA[0 7]) Thủ tục ReadC Sta r Read PortCL Bit C0 = S Bit C1 = Ñ S Bit C2 = Ñ Hor=True Bit C3 = Ñ Vert=True Hor=False S Ñ Page=True Vert=False End S Error=True Page=False Error=False Thủ tục có chức đọc liệu từ Port C vào, tín hiệu PortCL, sau làm chuẩn lại tín hiệâu (chỉ lấy 04 bit thấp PC04) cách AND với $0FH (15D) Sau làm chuẩn tín hiệu, tùy giá trị bit (là [0] hay [1]) mà gán trạng trái báo cờ tương ứng (HOR, VERT, PAGE, ERROR) [True] hay [False] Thủ tục CK Star PA05=0 I=1 BAi=true S Ñ DataA or(1 shl i) I+1 S I>5 Ñ BA0,2,4 = False PortA = DataA DataA or $D5 Delay PortA = DataA End Thủ tục có nhiệm vụ tạo xung Ck cho mạch giãi mã điều khiển Nó truyền tín hiệu điều khiển đến mạch điều khiển thông qua Port A- Tùy theo ý nghóa cờ bit (DataA_Bit07, BA07) mà Data A điều chế tương ứng Thủ tục MDC Star BA6=DC1 BA7=DC2 DC1=true S Ñ DataA or $40 DC2=true S Ñ DataA or $80 DataA and $BF Ck End DataA and $7F Thủ tục MDC với hai tham số đưa vào DC1 DC2 (dạng logic, Boolean) Tham số đưa vào làm biến đổi hai cờ trạng thái Data_Bit[6] (BA6) Data_Bit[7] (BA7) Tùy theo cờ trạng (là [true] hay [false]) mà bit tương ứng DataA thay đổi theo (là [1] hay [0]) Sau điều chế xong tín hiệu liệu DataA, truyền liệu qua Port A cách gọi thủ tục CK Thủ tục Run_SM Star I=1 I

Ngày đăng: 15/12/2013, 05:15

Từ khóa liên quan

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

Tài liệu liên quan