thiết kế máy chấm bài trắc nghiệm, chương 8
Số trang: 18
Loại file: pdf
Dung lượng: 160.04 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Thư viện Drive là một trong số những thư viện được 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 này được viết bằng ngôn ngữ lập trình PalCaL, bao gồm 11 thủ tục con, dùng để điều khiển hoạt động của động cơ và truy xuất dữ liệu hệ thống. Thư viện này sử dụng một Unit tên Va_COM, là thư viện chứa các hằng, biến toàn cục của chương trình. Cụ thể: UNIT Va_COM; INTeACE {Khai báo tên Unit cần tạo}......
Nội dung trích xuất từ tài liệu:
thiết kế máy chấm bài trắc nghiệm, chương 8Chương 8: XAÂY DÖÏNG SÔ ÑOÀ KHOÁI THÖ VIEÄN DRIVER Thö vieän Driver laø moät trong soá nhöõng thö vieän ñöôïc vieát ñeåxaây döïng phaàn meàm ñieàu khieån maùy chaám ñieåm traéc nghieäm.Thö vieän naøy ñöôïc vieát baèng ngoân ngöõ laäp trình PASCAL, baogoàm 11 thuû tuïc con, duøng ñeå ñieàu khieån hoaït ñoäng cuûa ñoäng côvaø truy xuaát döõ lieäu heä thoáng. Thö vieän naøy söû duïng moät Unit teân VAR_COM, laø thö vieänchöùa caùc haèng, bieán toaøn cuïc cuûa chöông trình. Cuï theå:UNIT VAR_COM; {Khai baùo teân Unit caàn taïo}INTERFACE {Khai baùo chung}TYPEFile_Name_Type = String[16];XY_Type = Record Hor : Word; Vert : Word; End;CONST L_Horizontal = 600; (*Chieàu daøi toái ña tín hieäu ñieàu khieåncaàn queùt*) L_Scan = 100; (*Chieàu daøi toái ña tín hieäu ñieàu khieånqueùt *) On = True; Off = False; Right = True; Left = False;Up = True;Down = False;VARSys_Error : Byte;DataA, DataB : Byte;DataC, CL, CH : Byte;Error : Boolean; (*PC3 : tín hieäu loãi Error *)Page : Boolean; (*PC2 : tín hieäu loãi Page *)Vert : Boolean; (*PC1 : tín hieäu Veritical *)Hor : Boolean; (*PC0 : tín hieäu Horizontal*)V_Count,H_Count,Sc_Count : Integer;Add_Port : Array [0..2] of Word; (* Add_Port 0 : Address Port A Add_Port 1 : Address Port B Add_Port 2 : Address Port C *)DataA_Bit : Array[0..7] of Boolean; (* Bit 0 : Clock Vertical Bit 1 : Up/Down Vertical Bit 2 : Clock Scan Bit 3 : Up/Down Scan Bit 4 : Clock Horizontal Bit 5 : Up/Down Horizontal Bit 6 : Motor DC 1st Bit 7 : Motor DC 2nd *) T_DL_CK : Word; (*Thôøi gian Delay cuûa xung CK*) T_DL_MDC : Word; (*Thôøi gian Delay cuûa MotroDC*) F_XY, (*File löu tröõ toïa ñoä XY*) F_Data, (*File löu tröõ traû lôøi maãu*) F_Sys, (*File löu tröõ traïng thaùi*) F_Ans : File; (*File löu tröõ keát quaû*) F_Error : Boolean; W_Data, (*Chieàu roäng döõ lieäu*) L_Data : Byte; (*Chieàu daøi döõ lieäu *) XY_Name : File_Name_Type; (*Teân môû roäng File toïa ñoäXY*) XY_Count : Word; (*Soá caëp toïa ñoä XY*) XY_Data : Array [1..500] of XY_Type;(*Maõng döõ lieâu,toái ña 500*)IMPLEMENTATION {Thi haønh}BEGINEND. {Keát thuùc thö vieän} Caùc thuû tuïc ta xaây döïng sô ñoà khoái trong chöông naøy laø: 1. ProceDure ReadC; 2. ProceDure CK; 3. ProceDure MDC(DC1,DC2:Boolean); 4. ProceDure Run_SM(Motor:Byte;Step:Integer); 5. ProceDure SM_Standar(SM_H,SM_SC:Boolean); 6. ProceDure Page_Out; 7. ProceDure Page_In; 8. ProceDure GoXY(H,V:Integer); 9. ProceDure ResetData; ProceDure ReadB; 10. ProceDure Scan; Trong sô ñoà khoái coù caùc töø vieát taét nhö:BA07 (vieát taét cuûa bieán DataA_Bit[0..7]), PA07 (vieát taét cuûa bieán DataA[0..7]).Thuû tuïc ReadC Sta r Read PortCL Bit C0 = 1 S S S S Bit C1 = 1 Bit C2 = 1 Bit C3 = 1 Ñ Ñ Ñ Ñ Hor=True Vert=True Page=True Error=True Hor=False Vert=False Page=False Error=False End Thuû tuïc naøy coù chöùc naêng ñoïc döõ lieäu töø Port C vaøo, tín hieäuPortCL, sau ñoù laøm chuaån laïi tín hieäâu (chæ laáy 04 bit thaáp PC04)baèng caùch AND vôùi $0FH (15D). Sau khi ñaõ laøm chuaån tín hieäu,tuøy giaù trò cuûa töøng bit (laø [0] hay [1]) maø gaùn traïng traùi cuûa baùocuûa côø töông öùng (HOR, VERT, PAGE, ERROR) laø [True] hay[False].Thuû tuïc CK Star PA05=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 Thuû tuïc naøy coù nhieäm vuï taïo moät xung Ck cho maïch giaõi maõ ñieàu khieån. Noù seõ truyeàn tín hieäu ñieàu khieån ñeán maïch ñieàu khieån thoâng qua Port A- Tuøy theo yù nghóa cuûa töøng côø bit (DataA ...
Nội dung trích xuất từ tài liệu:
thiết kế máy chấm bài trắc nghiệm, chương 8Chương 8: XAÂY DÖÏNG SÔ ÑOÀ KHOÁI THÖ VIEÄN DRIVER Thö vieän Driver laø moät trong soá nhöõng thö vieän ñöôïc vieát ñeåxaây döïng phaàn meàm ñieàu khieån maùy chaám ñieåm traéc nghieäm.Thö vieän naøy ñöôïc vieát baèng ngoân ngöõ laäp trình PASCAL, baogoàm 11 thuû tuïc con, duøng ñeå ñieàu khieån hoaït ñoäng cuûa ñoäng côvaø truy xuaát döõ lieäu heä thoáng. Thö vieän naøy söû duïng moät Unit teân VAR_COM, laø thö vieänchöùa caùc haèng, bieán toaøn cuïc cuûa chöông trình. Cuï theå:UNIT VAR_COM; {Khai baùo teân Unit caàn taïo}INTERFACE {Khai baùo chung}TYPEFile_Name_Type = String[16];XY_Type = Record Hor : Word; Vert : Word; End;CONST L_Horizontal = 600; (*Chieàu daøi toái ña tín hieäu ñieàu khieåncaàn queùt*) L_Scan = 100; (*Chieàu daøi toái ña tín hieäu ñieàu khieånqueùt *) On = True; Off = False; Right = True; Left = False;Up = True;Down = False;VARSys_Error : Byte;DataA, DataB : Byte;DataC, CL, CH : Byte;Error : Boolean; (*PC3 : tín hieäu loãi Error *)Page : Boolean; (*PC2 : tín hieäu loãi Page *)Vert : Boolean; (*PC1 : tín hieäu Veritical *)Hor : Boolean; (*PC0 : tín hieäu Horizontal*)V_Count,H_Count,Sc_Count : Integer;Add_Port : Array [0..2] of Word; (* Add_Port 0 : Address Port A Add_Port 1 : Address Port B Add_Port 2 : Address Port C *)DataA_Bit : Array[0..7] of Boolean; (* Bit 0 : Clock Vertical Bit 1 : Up/Down Vertical Bit 2 : Clock Scan Bit 3 : Up/Down Scan Bit 4 : Clock Horizontal Bit 5 : Up/Down Horizontal Bit 6 : Motor DC 1st Bit 7 : Motor DC 2nd *) T_DL_CK : Word; (*Thôøi gian Delay cuûa xung CK*) T_DL_MDC : Word; (*Thôøi gian Delay cuûa MotroDC*) F_XY, (*File löu tröõ toïa ñoä XY*) F_Data, (*File löu tröõ traû lôøi maãu*) F_Sys, (*File löu tröõ traïng thaùi*) F_Ans : File; (*File löu tröõ keát quaû*) F_Error : Boolean; W_Data, (*Chieàu roäng döõ lieäu*) L_Data : Byte; (*Chieàu daøi döõ lieäu *) XY_Name : File_Name_Type; (*Teân môû roäng File toïa ñoäXY*) XY_Count : Word; (*Soá caëp toïa ñoä XY*) XY_Data : Array [1..500] of XY_Type;(*Maõng döõ lieâu,toái ña 500*)IMPLEMENTATION {Thi haønh}BEGINEND. {Keát thuùc thö vieän} Caùc thuû tuïc ta xaây döïng sô ñoà khoái trong chöông naøy laø: 1. ProceDure ReadC; 2. ProceDure CK; 3. ProceDure MDC(DC1,DC2:Boolean); 4. ProceDure Run_SM(Motor:Byte;Step:Integer); 5. ProceDure SM_Standar(SM_H,SM_SC:Boolean); 6. ProceDure Page_Out; 7. ProceDure Page_In; 8. ProceDure GoXY(H,V:Integer); 9. ProceDure ResetData; ProceDure ReadB; 10. ProceDure Scan; Trong sô ñoà khoái coù caùc töø vieát taét nhö:BA07 (vieát taét cuûa bieán DataA_Bit[0..7]), PA07 (vieát taét cuûa bieán DataA[0..7]).Thuû tuïc ReadC Sta r Read PortCL Bit C0 = 1 S S S S Bit C1 = 1 Bit C2 = 1 Bit C3 = 1 Ñ Ñ Ñ Ñ Hor=True Vert=True Page=True Error=True Hor=False Vert=False Page=False Error=False End Thuû tuïc naøy coù chöùc naêng ñoïc döõ lieäu töø Port C vaøo, tín hieäuPortCL, sau ñoù laøm chuaån laïi tín hieäâu (chæ laáy 04 bit thaáp PC04)baèng caùch AND vôùi $0FH (15D). Sau khi ñaõ laøm chuaån tín hieäu,tuøy giaù trò cuûa töøng bit (laø [0] hay [1]) maø gaùn traïng traùi cuûa baùocuûa côø töông öùng (HOR, VERT, PAGE, ERROR) laø [True] hay[False].Thuû tuïc CK Star PA05=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 Thuû tuïc naøy coù nhieäm vuï taïo moät xung Ck cho maïch giaõi maõ ñieàu khieån. Noù seõ truyeàn tín hieäu ñieàu khieån ñeán maïch ñieàu khieån thoâng qua Port A- Tuøy theo yù nghóa cuûa töøng côø bit (DataA ...
Tìm kiếm theo từ khóa liên quan:
thiết kế máy mạch điện Đường dữ liệu Máy in Quang điện trở phần mềm Giải mã tín hiệuGợi ý tài liệu liên quan:
-
ĐỀ TÀI THIẾT KẾ QUY TRÌNH CÔNG NGHỆ GIA CÔNG BÍCH ĐUÔI ( TẬP THUYẾT MINH)
54 trang 195 0 0 -
25 trang 143 0 0
-
ĐỒ ÁN CƠ SỞ THIẾT KẾ MÁY TRẠM DẨN ĐỘNG BĂNG TẢI - Phần 4
4 trang 124 0 0 -
Giáo trình Mạch điện: Phần 2 - CĐ Giao thông Vận tải
27 trang 71 0 0 -
Đề cương môn lập trình PLC phần lý thuyết
7 trang 50 0 0 -
Đồ án cơ sở thiết kế máy: THIẾT KẾ HỆ THỐNG DẪN ĐỘNG XÍCH TẢI
58 trang 47 0 0 -
Đề KSCL ôn thi tốt nghiệp THPT năm 2023 môn Vật lí có đáp án - Sở GD&ĐT Thái Bình (Đợt 1)
5 trang 41 0 0 -
4 trang 41 0 0
-
Bài giảng Quản trị dự án phần mềm: Bài 1 - Đào Kiến Quốc
22 trang 40 0 0 -
Các Chủ Đề Tiến Bộ Trong C# part
8 trang 38 0 0