На сайті 11893 реферати!

Усе доступно безкоштовно, тому ми не платимо винагороди за додавання.
Авторські права на реферати належать їх авторам.

Демонстрація роботи електромагнітного реле постійного струму

Реферати > Комп'ютерні науки > Демонстрація роботи електромагнітного реле постійного струму

Завдання

Розробити програму для демонстрації роботи електромагнітного реле постійного струму.


Зміст

Вступ.....................................................................................................................................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);

Перейти на сторінку номер: 1  2 Версія для друкуВерсія для друку   Завантажити рефератЗавантажити реферат