Комп'ютерні науки > Демонстрація роботи електромагнітного реле постійного струму
Демонстрація роботи електромагнітного реле постійного струмуСторінка: 1/2
Завдання Розробити програму для демонстрації роботи електромагнітного реле постійного струму. Зміст Вступ.....................................................................................................................................3 Задача і опис схеми...........................................................................................4 Текст програми.......................................................................................................4 Приклад............................................................................................................................11 Висновок......................................................................................................................... 12 Література......................................................................................................................13 Вступ Для закріплення здобутих теоретичних знань, застосування їх при вирішенні питань математичного характеру, а також з метою набуття навиків по створенню програмного забезпечення , виконується курсова робота з дисципліни “Програмування та алгоритмічні мови” . В курсовій роботі необхідно розробити програму на мові програмування C++,яка б демонструвала роботу електромагнітного реле постійного струму . Задача і опис схеми Електромагнітне реле постійного струму , яке є сполученням електромагнітного перетворювача (з поворотним якорем ) і контактного пристрою. При проходженні струму по катушці 7 у магніто проводі , що складається з осердя 6 та якоря 1, виникає магнітний потік , якір притягує до осердя , контактна група розмикається (розмикаючий контакт) , а контактна група замикається(замикаючий контакт). На принципових електричних схемах механічний зв’язок між електромагнітним приводом та контактами не вказується. Текст програми #include<stdio.h> #include<stdlib.h> #include<dos.h> #include<conio.h> #include<graphics.h> void help(void) { restorecrtmode(); clrscr(); textmode(BW80); textcolor(7); cprintf(" Мiнiстерство освiти i науки України"); printf("\n"); cprintf(" Рiвненський державний технiчний унiверситет"); printf("\n"); cprintf(" Кафедра електротехнiки i автоматики"); printf("\n\n\n\n\n"); textcolor(4 + BLINK); printf(" "); cprintf("КУРСОВА РОБОТА"); printf("\n"); textcolor(7); printf("\t\t"); cprintf(" з курсу:\"Програмування та алгоритмiчнi мови\""); printf("\n"); textcolor(7); printf("\t\t"); cprintf(" на тему:\Демонстрацiя електромагнiтного "); printf("\n"); printf("\t\t\t "); cprintf(" реле постiйного струму \""); printf("\n\n\n\n\n\n"); textcolor(2); printf("\t\t\t\t\t\t"); cprintf("Виконав студент першого курсу"); printf("\n"); printf("\t\t\t\t\t\t"); cprintf("групи АУТП-1"); printf("\n"); printf("\t\t\t\t\t\t"); cprintf("Назарчук Вiталiй"); printf("\n\n\n\n"); printf("\t\t\t "); textcolor(58); cprintf("РIВНЕ-2002"); textcolor(GREEN + BLINK ); printf("\n\t\t\t"); cprintf(" натиснiть будь-яку клавiшу"); getch(); textcolor(GREEN ); setgraphmode(getgraphmode()); } void draw(int x0,int y0) { unsigned char color[16]={0,4,2,6,1,5,3,7,8,12,10,14,9,13,11,15}; struct bmpinfo { char h1,h2; unsigned long size,reserved,offset,b,width,height; unsigned int plans,bpp; }; bmpinfo info; FILE *f; int x,y; unsigned char b; unsigned char bh; unsigned char bl; int nb; int np; int i,j; if((f=fopen("34.bmp","rb"))==NULL) printf("-1"); //return -1; fread(&info,sizeof(info),1,f); if(info.bpp!=4) printf("-2"); //return -2; x=x0; y=y0+info.height; nb=(info.width/8)*4; if((info.width/8)!=4)nb+=4; fseek(f,info.offset,SEEK_SET); for(i=0;i<=info.height;i++) { np=0; for(j=4;j<nb;j++) { b=fgetc(f); if(np<info.width) { bh=b>>4; putpixel(x,y,color[bh]); x++; np++; } if (np<info.width) { bl=b&15; putpixel(x,y,color[bl]); x++; np++; } } x=x0; y--; } fclose(f); } void draw1(int x0,int y0) { unsigned char color[16]={0,4,2,6,1,5,3,7,8,12,10,14,9,13,11,15}; struct bmpinfo { char h1,h2; unsigned long size,reserved,offset,b,width,height; unsigned int plans,bpp; }; bmpinfo info; FILE *f; int x,y; unsigned char b; unsigned char bh; unsigned char bl; int nb; int np; int i,j; if((f=fopen("34_.bmp","rb"))==NULL) printf("-1"); //return -1; fread(&info,sizeof(info),1,f); if(info.bpp!=4) printf("-2"); //return -2; x=x0; y=y0+info.height; nb=(info.width/8)*4; if((info.width/8)!=4)nb+=4; fseek(f,info.offset,SEEK_SET); for(i=0;i<=info.height;i++) { np=0; for(j=4;j<nb;j++) { b=fgetc(f); if(np<info.width) { bh=b>>4; putpixel(x,y,color[bh]); x++; np++; } if (np<info.width) { bl=b&15; putpixel(x,y,color[bl]); x++; np++; } } x=x0; y--; } fclose(f); } void Pidgotovka(void); void *saucer; int size; void Pidgotovka1(void); void *saucer1; int size1; void demo(void) { int i,w; Pidgotovka(); while(!kbhit()) {putimage(236,86,saucer,XOR_PUT); for(i=0;i<5;i++) {setlinestyle(0,0,1); setcolor(4); circle(464,302,3); circle(471,323,3); delay(200); setcolor(15); circle(464,302,3); circle(471,323,3); delay(200); } setlinestyle(0,0,3); putimage(236,86,saucer,XOR_PUT); for(i=0;i<24;i++) {setcolor(0); line(220,170,197+i-1,272); line(220,170,273,170-i+1); setcolor(10); line(220,170,197+i,272); line(220,170,273,170-i); putimage(236,86-i/3,saucer,XOR_PUT); setcolor(1); line(262,135,262,135-i/3); delay(200); putimage(236,86-i/3,saucer,XOR_PUT); } putimage(236,86-7,saucer,XOR_PUT); delay(2000); putimage(236,86-7,saucer,XOR_PUT); for(i=23;i>-1;i--) {setcolor(0); line(220,170,197+i+1,272); line(220,170,273,170-i-1); setcolor(10); line(220,170,197+i,272); line(220,170,273,170-i); putimage(236,86-i/3,saucer,XOR_PUT); setcolor(1); line(262,145+(23-i),262,127); delay(200); putimage(236,86-i/3,saucer,XOR_PUT); } } putimage(236,86,saucer,XOR_PUT); outtextxy(195,220,"1"); outtextxy(505,220,"6"); outtextxy(340,290,"7"); outtextxy(200,460,"1 -якiр,6 -осердя,7 -катушка"); delay(100); getch(); getch(); free(saucer); } main() { int q,X,y,c,STEP=100; int gdriver=DETECT,gmode,errorcode; initgraph(&gdriver,&gmode,"c:\\bcpp\\bgi"); errorcode=graphresult(); if(errorcode !=grOk) { printf("Помилка графiчного режиму типу:%s\n",grapherrormsg(errorcode)); printf("Натиснiть будь-яку клавiшу для виходу"); getch(); exit(1); } help(); poch: q=1; X=143; y=113; Pidgotovka1(); do { putimage(X+270,y,saucer1,XOR_PUT); putimage(X,y,saucer1,XOR_PUT); c=getch(); putimage(X+270,y,saucer1,XOR_PUT); putimage(X,y,saucer1,XOR_PUT); switch(c) { case 80: y+=STEP;q++;if(y==313){y=113 ;q=1;}break; case 72: y-=STEP;q--;if(y==13){y=213;q=2;}break; case 13: if(q==2)goto popa;if(q==1){demo(); goto poch; } } } while(c!=27); popa: free(saucer); closegraph(); } void Pidgotovka(void ) { draw(0,-2); size=imagesize(236,86,493,135); saucer=malloc(size); getimage(236,86,493,135,saucer);
Назва: Демонстрація роботи електромагнітного реле постійного струму Дата публікації: 2005-02-22 (895 прочитано) |