⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复件 demo2.c

📁 用SST89C58,对微型打印机和液晶的显示
💻 C
📖 第 1 页 / 共 5 页
字号:
code uchar time_x[6][2]={0,99,1,12,1,31,0,23,0,59,0,59};
uchar RS_buf[1];
code uchar D40_1[]={0x1b,0x38,0x00,0x1b,0x31,0x06,0xff};              //设置字和间距
code uchar D40_p1[4][15]={0x0d,0x1b,0x66,0x00,0x05,0xca,0xe4,0xd2,0xba,0xd5,0xef,0xb6,0xcf,0x0d,0xff,//输液诊断
                          0x0d,0x1b,0x66,0x00,0x05,0xca,0xe4,0xd2,0xba,0xd6,0xce,0xc1,0xc6,0x0d,0xff,//输液治疗
                          0x0d,0x1b,0x66,0x00,0x05,0xb2,0xe2,0xc1,0xbf,0xb9,0xac,0xc8,0xdd,0x0d,0xff,//测量宫容
                          0x0d,0x1b,0x66,0x00,0x05,0xc0,0xa9,0xb9,0xac,0xd6,0xce,0xc1,0xc6,0x0d,0xff};//扩宫治疗
code uchar D40_s1[]={0x0d,0xbb,0xbc,0x20,0x20,0xd5,0xdf,0x3a,0x20,0xff};        //患  者:
code uchar D40_s2[]={0x0d,0xd7,0xa2,0xd2,0xba,0xc1,0xbf,0x3a,0x20,0xff};        //注液量:
code uchar D40_s3[]={0x0d,0xb9,0xac,0x20,0x20,0xc8,0xdd,0x3a,0x20,0xff};        //宫  容:
code uchar D40_s4[]={0x0d,0xd5,0xef,0x20,0x20,0xb6,0xcf,0x3a,0x20,0xff};        //诊  断:
code uchar D40_s5[]={0x0d,0xd1,0xb9,0x20,0x20,0xc1,0xa6,0x3a,0x20,0xff};        //压  力:
code uchar D40_s6[]={0xcd,0xa8,0xb3,0xa9,0xff};
code uchar D40_s7[]={0xd3,0xd0,0xb6,0xc2,0xc8,0xfb,0xff};
code uchar D40_s8[]={0xb6,0xc2,0xc8,0xfb,0xff};
code uchar D40_s11[]={0x1b,0x36,0xff};
code uchar D40_x1[]={0x1B,0x27,0x03,50,100,150,0xFF};
code uchar D40_x2[]={0x1B,0x27,0x04,1,2,3,4,0xFF};     
code uchar D40_x3[]={0x1b,0x66,0x00,0x01,'N','o',':',0xff};
uint idata P_max; 
bit RS_input;
union 
{
uchar  list[20];
uint  A_data[4];
}M_D;
uchar idata save_y;
uint  idata save_x;
uchar idata zs;
uchar AD_Value = 0; 
/*********************/
/*     演示主程序    */
/*********************/
void main()
{ uchar code_l,i;
  uchar *p;
  uint  O_X,O_Y;
  uchar  ok;
  uchar code *pc;
  	  //disp_old(1);
      //save();
      
	  TH1 = 0xFA;
      TL1 = 0xFa;
      TH0_T = 10;
      TL0_T = 0;
  	  delay_2();
	  _nop_();
      INT_1();   /* 调初始化子程序 */
	  CGRAM();
	  O_X = 5; O_Y = 22; code_l = 0;
	  ES  = 1;
 for (i=0; i<10; i++) 
 {
     CCW2_PR24(O_X, O_Y, code_l); 
     O_X += 3; code_l++;
 }
     // Reset(0); 
     Bad = 0;
    
 while (1)
 {       
         SCON = 0x50;
         TMOD = 0x21;
         TR1  = 1;
		 EA   = 1; 
		 O_X = 5; O_Y = 22; code_l = 0;
      for (i=0; i<10; i++)  
      { 
         CCW2_PR24(O_X, O_Y, code_l);
         O_X += 3; code_l++;
      }

         ok = choose(O_X=15, O_Y=72, 3, 24, p=&DRAG_1[0][0]);
         V_ml = 0;
                 
      if (ok == 1) 
	  {       
	          CLEAR() ; TXD_c(2);
	          TXD_c(7); 
              TR0 = 1; ET0 = 1; DJ_run = 1;
			  ZD();
              Reset(1);
              TXD_c(9);
		      CLEAR();
			  DJ_run = 0;
			  continue;
	  }
	  if (ok == 2) 
	  {       
	          CLEAR(); TXD_c(2);
              TXD_c(8); 
              TR0 = 1; ET0 = 1; DJ_run = 1; Speed_V = 1;
              TXD_c(5);
		      ZL();
              Reset(1);
              TXD_c(10);
		      CLEAR(); 
			  DJ_run = 0;
              continue;
	  }
      if (ok == 3)
      {       
	          CLEAR(); TXD_c(2);
              TXD_c(7);
              TR0 = 1;ET0 = 1; DJ_run = 1; Speed_V=1;
              TXD_c(5);
		      GL();
              Reset(1);
              TXD_c(9);
		      CLEAR(); 
			  DJ_run = 0;
              continue;
      }
      if (ok == 4)
      {       
	          CLEAR(); TXD_c(2);
              TXD_c(8);
              TR0 = 1; ET0 = 1; DJ_run = 1; Speed_V = 1;
              TXD_c(6);
		      KG();
              Reset(1);
              TXD_c(10);
		      CLEAR(); 
			  DJ_run = 0;
              continue;
      }
	  if (ok == 5)   
      {      
	         CLEAR();
		     SFCF = 0xc0;
			 pc = 0xf03f;
			 i = *pc; 
	         if (i == 0xff)
             {
                 save_data(pc, 0);
             }
             i = *pc; 
			 if (i == 0)  
			 {    
			      p = TXT_4; 
			      TXT_S(16, 14, 1 ,p);
                do 
				{ 
				  i = RXD_c();
				}while (i == 0);
				 goto ch5_end;
			 }
			 code_l = i; ok = 1;
			 do
		     {    
			      disp_old(ok);
			 	  do
			      {   
					  i = RXD_c();
				  }while (i == 0);
				  switch (i)
				  {
			          case 1:
					  {
					       if (ok == code_l) ok = 1; else ok++;
					  } break;

                      case 2:
					  {
					       if (ok == 1) ok = code_l; else ok--;
					  } break;

					  case 3:
					  { 
					       CW_PR1(22, 8, 0x20); 
						   CW_PR1(23, 8, 0x20);
						   Disp_msg(16, 60, 6);
		                   do
					       {
						       i = RXD_c();
						   }while (!(i==3 || i==5));
						   if (i == 3) 
						   {
						       Print_40(ok, 1);
							   Disp_msg(16, 60, 14);
						   }
					  } break;

					  case 4:
					  {    
					       CW_PR1(22, 8, 0x20); 
					       CW_PR1(23, 8, 0x20);
						   Disp_msg(16, 60, 13); 
		                   do 
						   {
						       i = RXD_c();
						   }while (!(i==3 ||i ==5));
                           if (i == 3) 
						   {	
                               del_old(ok); code_l--;
							   if (code_l == 0) goto ch5_end;
						   }
                      } break;

					  case 5: goto ch5_end; break;
				  }

				  CLEAR();
			 }while (1);
   ch5_end:  
              SFCF = 0x00;
			  CLEAR();
              menu = 4;
              continue;
      }
	  if (ok == 6) write_time(1, 1);
      
  }
}
/******************************/
/**********输液诊断************/
/******************************/

void ZD(void)
{ 
  uchar i;
  uchar *p=NULL;
  bit over = 0, pause = 0;
      save_x = 15; save_y = 219; P_max = 0; zs = 0;
	  Disp_msg(16, 16, 1);
	  Link(15, 220, 300, 0);
	  Link(15, 60, 160, 1);
      DOT_s(16, 12, 94, 32, 0);
	  p = &DRAG_1[menu][0];
	  TXT_S(3, 14, 1, p); 
  	  Speed_V = 0; 
	  TXD_c(4);
	  p = TXT1;
	  CW_PR(1, 6, p);
	  Display(4, 5, 0, 4, 260, 1);
      Display(4, 7, 1, 5, 250, 1);
	      
 do
 {    
         read_time(21, 0, 1); 
	     Max192(0, 23, 5);
		 //if (send_kpa) {send_kpa = 0; TXD_pc(0);}
   	     //TXD_pc(0x0);

	     if (Adend < 120) {if (Speed_V != 0) {TXD_c(4); Speed_V = 0; } goto ZD1; }
	     if (Adend < 200) {if (Speed_V != 1) {TXD_c(5); Speed_V = 1; } goto ZD1; }
	     if (Adend < 260) {if (Speed_V != 2) {TXD_c(6); Speed_V = 2; } goto ZD1; }
	         else 
			 {
			     P_max = Adend; 
				 goto ZD2;
			 }

ZD1:     if (P_max < Adend) P_max = Adend;
         if (C_run)
		 {
		     C_run = 0;
	         TXD_pc(0x0a);
	         if (over == 0) Display(23, 7, 3, 5, V_ml, 1);
             if (V_ml >= 250) 
			 {
			  ZD2:                Disp_2(Adend/3);
			                      DJ_run = 0; TR0 = 0; ET0 = 0; 
								  TXD_c(3); over = 1;
								  Disp_msg(16, 16, 5);
				                  p = &string5[0][0]; 
								  TXT_S(26, 16, 1, p);
                                  TXD_pc(0);
                                  if (P_max < 160) 
								  {
							          p = &string6[0][0]; 
									  goto ZD3;
								  }
								  if (P_max < 260) 
								  {   
								      p = &string6[1][0];
                                  }
								     else p = &string6[2][0];
			  ZD3:		          TXT_S(29, 16, 1, p);
								  do { i = RXD_c(); }while (i == 0);
                                  goto ZD4;
			 }
	         Disp_2(Adend/3);
		 }
         if (RS_input) 
         {   
		      RS_input = 0; 
			  switch (RS_buf[0]) 
			  {
			           case 5: break;
					   case 6: goto pc6;
					   case 7: goto pc7;
					   default: break;
			  }
         }
       /*i=Io8155_A;
	   i&=4;
	   if (DJ_run) {if (i==0) { if (pause==0) {pause=1;TR0=0;ET0=0;TXD_c(3);Disp_msg(16,16,2);}
                              }
                       else {   if (pause) {pause=0;TR0=1;ET0=1;TXD_c(2);Disp_msg(16,16,1);}
					        }
	               }*/
         if (DJ_run) 
		 {    
		       if (Paus == 0) 
			   { 
			       if (pause == 0) {pause = 1;TR0 = 0;ET0 = 0;TXD_c(3);Disp_msg(16, 16, 2);}
               }
                   else 
				   {   
				        if (pause) {pause = 0;TR0 = 1;ET0 = 1;TXD_c(2);Disp_msg(16, 16, 1);}
				   }
	     }
         i = RXD_c();
         if (i == 4) 
		 {
	            pc6: if (DJ_run) 
				     {
					      DJ_run = 0;TR0 = 0;ET0 = 0;TXD_c(3);Disp_msg(16, 16, 2);continue;
					 }
	                 DJ_run = 1;TR0 = 1;ET0 = 1;TXD_c(2);Disp_msg(16, 16, 1);
		 }
 } while(i != 5);
  pc7:    Disp_msg(16, 16, 4);
          TXD_c(3);
		  DJ_run = 0;TR0 = 0;ET0 = 0;
	     do
		 {    
		       i = RXD_c();
          
               if (i == 5) 
			   {
		             TXD_c(2); Disp_msg(16, 16, 1);
			         DJ_run = 1; TR0= 1; ET0 = 1; goto ZD1;
			   }
		       if (i == 3) break;	
	      
		  /*if (RS_input) 
              { RS_input=0; 
			    switch (RS_buf[0]) {
			             case 5:goto ZD4;
					     case 7:goto pc1;
				                   }
               }*/		    
	     } while (1); 
ZD4:     Disp_msg(16, 16, 6);   // 提示是否打印
		 do 
		 {   

          i = RXD_c();
          } while (!(i==3 || i==5));
		  if (i == 3)
	      {  
		       save();  
		       Print_40(0, 1);
			
		  }
          Disp_msg(16, 16, 0);  // 提示系统复位

}
/*******************************/
/***********输液治疗************/
/*******************************/
void ZL()
{   uchar i;
    uchar *p,sa_v;   
    bit over, pause = 0;
        save_x = 15; save_y = 219; zs = 0;over = 0;P_max = 0;
	    Link(15, 220, 300, 0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -