- •Предисловие.
- •1. Основные сведения, необходимые для создания программ на языке c.
- •1.1 Общая характеристика языка c.
- •1.2. Процесс создания исполняемого файла.
- •1.3. Распределение памяти программы.
- •1.4. Основные правила работы с программами.
- •2. Программная имитация электронных схем.
- •3. Описание программы образца.
- •3.1. Подпрограммы общего назначения.
- •3.2. Подпрограммы мехатронного объекта.
- •3.3. Подпрограммы графических примитивов.
- •3.4. Подпрограммы системных сообщений.
- •3.5. Подпрограммы звуковой сигнализации.
- •3.6. Глобальные константы и переменные.
- •4. Тексты исходных файлов программы образца.
- •4.1. Подпрограммы общего назначения.
- •4.2. Подпрограммы мeхатронного объекта.
- •4.3. Подпрограммы графических примитивов.
- •4.4. Подпрограммы системных сообщений.
- •4.5. Подпрограммы звуковой сигнализации.
- •4.6. Глобальные константы и переменные.
- •5. Методические указания к лабораторным работам.
- •6. Задания на выполнение лабораторных работ.
- •6.1. Лабораторная работа 1. Разработка графического отображения титульного листа программы.
- •6.2. Лабораторная работа 2. Разработка логической схемы мехатронного объекта.
- •6.3. Лабораторная работа 3. Разработка графического отображения логической схемы мехатронного объекта.
- •6.4. Лабораторная работа 4. Разработка графического отображения работы логической схемы мехатронного объекта.
- •6.5. Лабораторная работа 5. Разработка средств сигнализации (системные сообщения, звуковая сигнализация, дата, время).
- •7. Варианты лабораторных работ.
- •8. Описание dvd диска
- •Литература.
- •Содержание.
4.4. Подпрограммы системных сообщений.
ФАЙЛ: SYS_MES.H.
[1] /*#############################################*/
[2] /*
[3] Copyright (C) 2008 by A.E.Stefanovich tel. 236-2729, 268-3916.
[4] Moscow State University of Instrument-making and Computer Sciences.
[5] (MGUPI).
[6] Chair TI-1.*/
[7] /*#############################################*/
[8] /*
[9] File: SYS_MES.h
[10] SYSTEM MESSAGES
[11] */
[12] /*############################################*/
[13] #ifndef SYS_MES_
[14] #define SYS_MES_
[15] /*============================= Declarations */
[16] int SysMes_Start();
[17] int SysMes_End();
[18] int SysMes_DateTime();
[19] /*############################### SUBPROGRAME */
[20] /*IIIIIIIIIIIIII СООБЩЕНИЕ О СТАРТЕ ПРОГРАММЫ */
[21] int SysMes_Start()
[22] {
[23] /*-------- Graph. initialisation */
[24] Graph_regime();
[25] /*-------- Frame */
[26] setbkcolor(BLACK);
[27] setcolor(WHITE);
[28] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[29] Rectangle2(0,0,Maxx,Maxy);
[30] /*-------- Ellipse */
[31] setcolor(GREEN);
[32] EllipseN
[33] (Maxx/2,Maxy/2,0,360,(Maxx/3),(Maxy/3),4);
[34] setcolor(WHITE);
[35] EllipseN
[36]
[37] (Maxx/2,Maxy/2,0,360,(Maxx/3)-4,(Maxy/3)-4,4);
[38] /*-------- Message */
[39] settextstyle(TRIPLEX_FONT,HORIZ_DIR,0);
[40] setusercharsize(2,3,3,1);
[41] settextjustify(CENTER_TEXT,CENTER_TEXT);
[42] setcolor(LIGHTGREEN);
[43] outtextxy
[44] (Maxx/2,(Maxy/2)," S T A R T P R O G R A M E ");
[45] /*-------- STOP */
[46] STOP;
[47] /*-------- Return to text mode */
[48] Text_regime();
[49] /**/
[50] return 0;
[51] }
[52] /*IIIIIIIIII СООБЩЕНИЕ ОБ ОКОНЧАНИИ ПРОГРАММЫ */
[53] int SysMes_End()
[54] {
[55] /*-------- Graph. initialisation */
[56] Graph_regime();
[57] /*-------- Frame */
[58] setbkcolor(BLACK);
[59] setcolor(WHITE);
[60] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[61] Rectangle2(0,0,Maxx,Maxy);
[62] /*-------- Ellipse */
[63] setcolor(CYAN);
[64] EllipseN
[65] (Maxx/2,Maxy/2,0,360,(Maxx/3),(Maxy/3),4);
[66] setcolor(WHITE);
[67] EllipseN
[68] (Maxx/2,Maxy/2,0,360,(Maxx/3)-4,(Maxy/3)-4,4);
[69] /*-------- Message */
[70] settextstyle(TRIPLEX_FONT,HORIZ_DIR,0);
[71] setusercharsize(2,3,3,1);
[72] settextjustify(CENTER_TEXT,CENTER_TEXT);
[73] setcolor(CYAN);
[74] outtextxy
[75] (Maxx/2,(Maxy/2)," E N D P R O G R A M E ");
[76] /*-------- STOP */
[77] STOP;
[78] /*-------- Return to text mode */
[79] Text_regime();
[80] /**/
[81] return 0;
[82] }
[83] /*IIIIIIIIIIIIIIII СООБЩЕНИЕ О ДАТЕ И ВРЕМЕНИ*/
[84] int SysMes_DateTime()
[85] {
[86] struct date d;
[87] struct time t;
[88] char *month[]=
[89] {"-","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"};
[90] char str_date[80]; /* Buf. Date */
[91] char str_time[80]; /* Buf. Time */
[92] /*-------- Graph. initialisation */
[93] Graph_regime();
[94] /*-------- Frame */
[95] setbkcolor(BLACK);
[96] setcolor(WHITE);
[97] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[98] Rectangle2(0,0,Maxx,Maxy);
[99] /*-------- Ellipse */
[100] setcolor(YELLOW);
[101] EllipseN
[102] (Maxx/2,Maxy/2,0,360,(Maxx/2.3),(Maxy/3),3);
[103] setcolor(RED);
[104] EllipseN
[105] (Maxx/2,Maxy/2,0,360,(Maxx/2.3)-3,(Maxy/3)-3,3);
[106] setcolor(CYAN);
[107] EllipseN
[108] (Maxx/2,Maxy/2,0,360,(Maxx/2.3)-6,(Maxy/3)-6,3);
[109] /*---------------------------- Cycle while() */
[110] while(bioskey(1)==0)
[111] {/*-------------------- Top while() */
[112] getdate(&d);
[113] gettime(&t);
[114] /*-------- Date to buffer & time to buffer */
[115] sprintf(str_date,"%d %s %d\n",d.da_day,month[d.da_mon],d.da_year);
[116] sprintf(str_time,"%02d %02d %02d\n",t.ti_hour,t.ti_min,t.ti_sec);
[117] /*-------- Message Time */
[118] settextstyle(TRIPLEX_FONT,HORIZ_DIR,9);
[119] /* setusercharsize(4,3,8,1); */
[120] settextjustify(CENTER_TEXT,CENTER_TEXT);
[121] setcolor(YELLOW);
[122] outtextxy(Maxx/2,(Maxy/2),str_time);
[123] setcolor(RED);
[124] outtextxy(Maxx/2+1,(Maxy/2)+1,str_time);
[125] setcolor(CYAN);
[126] outtextxy(Maxx/2+2,(Maxy/2)+2,str_time);
[127] /*-------- Message Date */
[128] settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);
[129] settextjustify(CENTER_TEXT,CENTER_TEXT);
[130] setcolor(CYAN);
[131] outtextxy(Maxx/2,Maxy-textheight("W"),str_date);
[132] /*-------- Delay */
[133] delay(1000/25);
[134] /*-------- Delete Time */
[135] settextstyle(TRIPLEX_FONT,HORIZ_DIR,9);
[136] /* setusercharsize(4,3,8,1); */
[137] settextjustify(CENTER_TEXT,CENTER_TEXT);
[138] setcolor(getbkcolor());
[139] outtextxy(Maxx/2,(Maxy/2),str_time);
[140] setcolor(getbkcolor());
[141] outtextxy(Maxx/2+1,(Maxy/2)+1,str_time);
[142] setcolor(getbkcolor());
[143] outtextxy(Maxx/2+2,(Maxy/2)+2,str_time);
[144] /*-------- Delete Date */
[145] settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);
[146] /* setusercharsize(2,3,3,1); */
[147] settextjustify(CENTER_TEXT,CENTER_TEXT);
[148] setcolor(getbkcolor());
[149] outtextxy(Maxx/2,Maxy-textheight("W"),str_date);
[150] }/*-------------------- Bootom while() */
[151] bioskey(0);
[152] /*-------- Return to text mode */
[153] Text_regime();
[154] /**/
[155] return 0;
[156] }
[157] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[158] #endif /* SYS_MES_ */
[159] /*###########################################*/