#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include"getnum.h"
#include"outtext.h"
#define daport 0x0310
#define adport 0x0312
#define tratime 1
#define MASTER1 "煤 粉"
#define MASTER2 "煤 粉"
#define MASTER3 ""
#define MASTER4 "石灰石"
#define MASTER5 ""
#define MASTER6 ""
#define MASTER7 ""
#define MASTER8 ""
void button(int x1,int y1,int z1,int width,int high,int color);
void key(int x1,int y1,int z1,int width,int high,int color);
void initgra();
void key_press(int x1,int y1,int z1,int width,int high);
void key_release(int x1,int y1,int z1,int width,int high);
void drawmj(int x,int y);
void drawck(int x,int y,int color);
void drawlyj(int x,int y);
void drawdtj(int x,int y);
void drawrec(int x,int y,int width,int high);
void arrow(int x,int y,int color,int angle);
void menudisp();
void getdata();
void set();
void biaoding();
void dispdata();
int print();
int putbit(unsigned char c,int m,int n);
void dispprt();
void rundisp();
int run();
void adcy();
void dacontr();
float gsetd(int x,int y,float f);
float gsetd1(int x,int y,float f);
int gsetint(int x,int y,int ct);
void readscr();
int putbit(unsigned char c,int m,int n);
void disptime();
void setpara();
char *s;
int timer1,timer2,warntime;
int time[4],dadisp[8],contime[8];
float buf1[9],buf2[8],flpara[8];
double total[9],total1[9];
unsigned int addisp[8];
unsigned busy=0;
unsigned flag=0;
FILE *fp;
main()
{
int i,j,x,y,x1,y1,z,l,h,l1,ch;
char flag1=0;
void interrupt (*oldtimer)();
void interrupt newtimer();
initgra();
for(i=0;i<8;i++)
dadisp[i]=0;
dacontr();
s=(char *)malloc(10*sizeof(char));
menudisp();
getdata();
oldtimer=getvect(0x1c);
setvect(0x1c,newtimer);
while(flag1!=1)
{
if(bioskey(1))
{
ch=bioskey(0);
switch(ch)
{
case 0x4400:
flag1=1;
break;
case 0x3b00:
set();
break;
case 0x3c00:
biaoding();
break;
case 0x3d00:
if(print())menudisp();
break;
case 0x3e00:
run();
menudisp();
break;
case 0x3f00:
setpara();
break;
default:
break;
}
}
if(flag)
{
flag=0;
disptime();
}
}
setvect(0x1c,oldtimer);
closegraph();
}
void menudisp()
{
int x,y,z,i,a,b,c;
cleardevice();
setfillstyle(9,9);
bar(0,0,640,480);
setpalette(1,11);
settextjustify(0,2);
settextstyle(1,0,5);
put24hz(175,60,15,"铁道部川东水泥厂",1,1,14);
put24hz(102,379,15,"四川省建材科研院自控所",1,1,0);
put24hz(100,380,15,"四川省建材科研院自控所",1,1,15);
setpalette(6,19);
put24hz(58,178,20,"窑尾回灰控制系统",2,1,6);
put24hz(55,180,20,"窑尾回灰控制系统",2,1,4);
x=15;y=4;z=105;a=100;b=28;
for(i=0;i<5;i++)
{
key(x,y,1,a,b,1);
x+=z;
}
x=19;y=10;
put16hz(x,y,0,"设定配方",1,1,0);
x+=z;
put16hz(x,y,0,"标定秤体",1,1,0);
x+=z;
put16hz(x,y,0,"打印数据",1,1,0);
x+=z;
put16hz(x,y,0,"启动系统",1,1,0);
x+=z;
put16hz(x,y,0,"设定参数",1,1,0);
setcolor(4);
settextjustify(0,2);
settextstyle(1,0,2);
x=89;y=6;
outtextxy(x,y,"F1");
x+=z;
outtextxy(x,y,"F2");
x+=z;
outtextxy(x,y,"F3");
x+=z;
outtextxy(x,y,"F4");
x+=z;
outtextxy(x,y,"F5");
}
void rundisp()
{
int x,y,i,z,a,b;
cleardevice();
setfillstyle(1,1);
setpalette(1,35);
bar(0,0,639,479);
setlinestyle(0,0,1);
setcolor(15);
line(0,36,640,36);
line(555,0,555,35);
setcolor(0);
line(0,37,640,37);
line(0,38,640,38);
line(553,0,553,35);
line(554,0,554,35);
drawmj(440,185);
x=75;y=315;
drawck(x,y,7);
x-=15;y+=12;
drawck(x,y,6);
x-=15;y+=12;
drawck(x,y,3);
x-=15;y+=12;
drawck(x,y,5);
x-=15;y+=12;
drawlyj(260,110);
drawlyj(198,230);
drawdtj(170,275);
drawdtj(580,135);
x=15;y=4;z=150;a=140;b=28;
for(i=0;i<2;i++)
{
key(x,y,1,a,b,1);
x+=z;
}
setcolor(15);
settextstyle(0,0,1);
x=405;y=60;
for(i=0;i<2;i++)
{
drawrec(x,y,65,58);
key(x+6,y+7,1,52,20,4);
key(x+6,y+34,1,52,20,4);
setfillstyle(1,9);
bar(x+9,y+10,x+54,y+24);
sprintf(s,"%05.1f",buf2[i]);
outtextxy(x+13,y+14,s);
bar(x+9,y+37,x+54,y+51);
sprintf(s,"%05.1f",+0);
outtextxy(x+13,y+41,s);
x+=75;
}
x=50;y=100;
for(i=0;i<2;i++)
{
drawrec(x,y,50,30);
key(x+5,y+6,1,40,20,4);
setfillstyle(1,9);
bar(x+8,y+9,x+41,y+23);
sprintf(s,"%03d",+0);
outtextxy(x+13,y+13,s);
x+=55;
}
x=34;y=10;
put16hz(x,y,0,"退出运行",1,1,0);
x+=z;
put16hz(x,y,0,"查询数据",1,1,0);
setcolor(4);
settextjustify(0,2);
settextstyle(1,0,2);
x=114;y=6;
outtextxy(x,y,"F1");
x+=z;
outtextxy(x,y,"F2");
setcolor(4);
setlinestyle(0,0,3);
x=65;y=159;
line(620,115,620,210);
arrow(620,210,4,2);
line(585,160,585,185);
line(575,185,585,185);
arrow(575,185,4,3);
line(336,55,336,85);
arrow(336,85,4,2);
line(274,185,300,185);
line(274,130,274,205);
arrow(274,205,4,2);
line(212,250,212,350);
arrow(212,350,4,2);
line(175,295,175,300);
line(110,300,175,300);
line(110,300,110,305);
arrow(110,305,4,2);
setlinestyle(0,0,1);
put16hz(456,459,2,"报警",1,1,0);
put16hz(600,95,2,"熟料",1,1,4);
put16hz(340,59,2,"窑灰",1,1,4);
put16hz(230,250,2,"混合",1,1,4);
put16hz(236,177,2,"水泥",1,1,4);
put16hz(216,310,2,"成品",1,1,4);
x=380;
drawrec(x+88,271,120,46);
setcolor(0);
line(x+88,294,x+207,294);
setcolor(15);
line(x+89,295,x+206,295);
put16hz(x+92,275,0,"单位∶公斤/分",1,1,4);
put16hz(x+92,298,0,"产量单位∶吨",1,1,4);
x=300;
setlinestyle(0,0,1);
drawrec(x+8,271,136,46);
setcolor(0);
line(x+9,294,x+144,294);
setcolor(15);
line(x+9,295,x+144,295);
put16hz(x+12,275,0,"总产量",1,1,4);
put16hz(x+12,298,0,"班产量",1,1,4);
key_press(x+62,275,1,78,15);
key_press(x+62,298,1,78,15);
x=364;
setfillstyle(1,2);
setcolor(15);
settextstyle(0,0,1);
bar(x,277,x+74,288);
bar(x,300,x+74,311);
sprintf(s,"%09.3f",total1[8]/1000);
outtextxy(x+2,279,s);
sprintf(s,"%08.3f",total[8]/1000);
outtextxy(x+6,302,s);
}
void set()
{
int i,size,x,y,l,h,ch,x1,x2,y1,y2;
char *buffer,flag1=0;
x1=150;y1=130;x2=490;y2=350;
size=imagesize(x1,y1,x2,y2);
buffer=(char *)malloc(size);
getimage(x1,y1,x2,y2,buffer);
setfillstyle(1,9);
bar(x1,y1,x2,y2);
setcolor(15);
setlinestyle(0,0,1);
rectangle(x1+3,y1+3,x2-3,y2-3);
l=60;h=22;
key(300,146,1,l,h,9);
x=240;y=180;
for(i=0;i<4;i++)
{
key(x,y,1,l,h,9);
y+=(12+h);
}
x=400;y=180;
for(i=0;i<4;i++)
{
key(x,y,1,l,h,9);
y+=(12+h);
}
key(300,316,1,l,h,9);
put16hz(224,149,0,"磨机产量",1,1,14);
put16hz(370,149,0,"吨",1,1,14);
put16hz(180,183,0,MASTER1,1,1,14);
put16hz(340,183,0,MASTER2,1,1,14);
put16hz(306,319,0,"退 出",1,1,14);
setcolor(15);
settextjustify(0,2);
settextstyle(0,0,1);
sprintf(s,"%05.2f",buf1[0]);
outtextxy(310,153,s);
x=240;y=187;
for(i=1;i<8;i+=2)
{
sprintf(s,"%05.2f",buf1[i]);
outtextxy(x+5,y,s);
outtextxy(x+50,y,"%");
y+=(12+h);
}
x=400;y=187;
for(i=2;i<9;i+=2)
{
sprintf(s,"%05.2f",buf1[i]);
outtextxy(x+5,y,s);
outtextxy(x+50,y,"%");
y+=(12+h);
}
x=300;y=146;
key_press(x,y,1,l,h);
i=0;
while(flag1!=1)
{
ch=getch();
key_release(x,y,1,l,h);
switch(ch)
{
case 72:
if(i==9||i<=2)
{
i=0;
x=300;y=146;
}
else
{
if(i>2)
{
i-=2;
y-=(12+h);
}
}
break;
case 80:
if(i==0||i>=7)
{
i=9;
x=300;y=316;
}
else
{
if(i<7)
{
i+=2;
y+=(12+h);
}
}
break;
case 75:
switch(i)
{
case 0:
i=1;
x=240;y=180;
break;
HH.rar_水泥厂_称
版权申诉
177 浏览量
2022-09-24
15:21:06
上传
评论
收藏 8KB RAR 举报
Kinonoyomeo
- 粉丝: 77
- 资源: 1万+
最新资源
- Screenshot_20240601_132255.jpg
- Screenshot_20240601_132403.jpg
- Swift语言优质学习资料资源工具与案列应用场景开发文档教程资料.txt
- Screenshot_20240601_132415.jpg
- Fortran语言优质学习资源工具与案列应用场景开发文档.txt
- Oracle ASM + 12c R1 + Linux 6.5安装
- SQL语言优质学习资源工具与案列应用场景开发文档.txt
- PHP语言优质学习资源和工具与案列应用场景和开发文档.txt
- go语言优质学习资源和工具与案列应用场景.txt
- 23957825633dCar.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈