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

📄 复件 demo2.c

📁 用SST89C58,对微型打印机和液晶的显示
💻 C
📖 第 1 页 / 共 5 页
字号:
	    Link(15, 60, 160, 1);
        Disp_msg(16, 16, 1);
        DOT_s(16, 12, 94, 32, 0);
	    p = &DRAG_1[menu][0];
	    TXT_S(3, 14, 1, p); 
	    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 (Adend > 900) continue;
	         if (Adend < 120) 
			 {
			      if (Speed_V != 1) {TXD_c(5); Speed_V = 1;} 
				  goto ZL1; 
			 } 
	    	 if (Adend < 260)
		     {
			      if (Speed_V != 2) {TXD_c(6); Speed_V = 2;}
			      goto ZL1; 
			 }
	  	          else {
				             DJ_run = 0;TR0 = 0;ET0 = 0;TXD_c(3);
				             Disp_msg(16,16,7);
						     P_max = Adend;
			                 do { i = RXD_c(); } while(!(i==3 ||i ==5));
                             if (i==5)  goto ZL4;
							 over = 0; TXD_c(14);       /*手动处理*/
                             sa_v = V_ml;
           ZL3:              do
		                     { 
                                   if (i == 3) 
								   {
								         if (DJ_run == 0) 
										 {
										      TXD_c(2);DJ_run = 1;
										 } 
										 TR0 = 1; ET0 = 1; Disp_msg(16, 16, 8);
				                         Max192(0,21,5);
								         if (C_run) 
										 {
										      C_run = 0; 
											  Disp_2(Adend / 3);
											  Display(21, 7, 3, 5, V_ml, 1);
										 }
								         if (V_ml >= 100)
									     {
									           TXD_c(3); TXD_c(13);
								               for (i=0; i<0xff; i++) RXD_c();
								               DJ_run = 0;TR0 = 0;ET0 = 0;over = 1;
											   Disp_msg(16, 16, 3);
                                               do { i = RXD_c(); } while (i == 0);
											   do { i = RXD_c(); } while (i == 3);
                                               do { i = RXD_c(); } while (i == 0);
                                               goto ZL4;
										 }
                                 
								   }
					               i = RXD_c();
                                   if ( i== 5) { over = 1; TXD_c(13); break;}
                             } while (i == 3);
                             TR0 = 0;ET0 = 0;
					         if (DJ_run) {TXD_c(3); DJ_run = 0;}
                             if (over) 
					         {
					              V_ml = sa_v;
							      for (i=0; i<0xff; i++)
							      {
							           _nop_();_nop_();RXD_c();
							      }
							      goto ZL4;
					         }
                             goto ZL3;
				       }

ZL1:         if (P_max < Adend) P_max = Adend;  
             if (C_run) 
	         {
	               C_run = 0;
	               Disp_2(Adend / 3);
			       if (over == 0) Display(23, 7, 3, 5, V_ml, 1);
	               if (V_ml >= 100) 
			       {
			             DJ_run = 0;TR0 = 0;ET0 = 0;TXD_c(3);
			             over=1;Disp_msg(16,16,3);
                         do { i = RXD_c(); } while(i == 0);
                         goto ZL4;
                   }
             }
              /*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) 
	         {
	              if (DJ_run == 1) {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);
        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 ZL1;}
		     if (i == 3) break;		  
		} while (1); 
 ZL4:   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 GL()
{ uchar i;
  uchar *p;   
  bit over,pause = 0;
  
      save_x = 15; save_y = 219; zs = 0; over = 0;
	  Link(15, 220, 300, 0);
	  Link(15, 60, 160, 1);
      Disp_msg(16, 16, 1);
      DOT_s(16, 12, 94, 32, 0);
	  p= &DRAG_1[menu][0];
	  TXT_S(3, 14, 1, p); 
	  p = TXT1;
	  CW_PR(1, 6, p);
	  Display(4, 5, 0, 4, 260, 1);
	  Display(4, 7, 1, 5, 150, 1);
      do
      { 
            read_time(21, 0, 1);  
	        Max192(0, 23, 5);
            if (Adend > 900) continue;
	        if (Adend < 120) 
            {
                 if (Speed_V != 1) { TXD_c(5); Speed_V = 1; } 
                 goto GL1; 
            } 
	        if (Adend < 260)
            {
                 if (Speed_V != 2) { TXD_c(6); Speed_V = 2; }
                 goto GL1; 
            }
	             else { P_max = Adend; goto GL2; }

GL1:        if (P_max < Adend) P_max = Adend;  
            if (C_run)
            {
                 C_run = 0;
	             Disp_2(Adend/3);
		         if (over == 0) Display(23, 7, 3, 5, V_ml, 1);
                 if (V_ml >= 150) 
                 {
		          GL2:   DJ_run = 0; TR0 = 0; ET0 = 0; TXD_c(3); over = 1;
				         Disp_msg(16, 16, 9);
				         p = &string5[0][0];TXT_S(26, 16, 1, p);
                         Display(29, 3, 4, 5, V_ml, 1);
                         do { i = RXD_c(); } while (i == 0);
                         goto GL4;
		         }
	         }
      
             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) 
             {
                  if (DJ_run == 1) { 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);
      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 GL1;
           }
		   if (i == 3) break;		  
	  } while (1); 
GL4:  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 KG()
{   uchar i,b;
    uchar *p;   
    bit over,pause = 0;
    
      P_max = 450; b = 0;
      save_x = 15; save_y = 219; zs = 0; over = 0;
	  Link(15, 220, 300, 0);
	  Link(15, 60, 160, 1);
      Disp_msg(16, 16, 10);
      DOT_s(16, 12, 94, 32, 0);
	  p = &DRAG_1[menu][0];
	  TXT_S(3, 14, 1, p); 
	  p = TXT1;
	  CW_PR(1, 6, p);
	  Display(4, 5, 0, 4, P_max, 1);
	  Display(4, 7, 1, 5, 150, 1);
	  DJ_back = 0;
      do
	  {
             Display(4, 5, 0, 4, P_max, 1);  
             read_time(21, 0, 1);  
	         Max192(0, 23, 5);
	         if (Adend > 900) continue;
  	         if (Adend < P_max) 
			 {
			       if (Speed_V != 2) { TXD_c(6); Speed_V = 2;} 
			 }
	               else
			       { if (DJ_back) goto KG1;
		             DJ_back = 1; TXD_c(1);
                   }

KG1:  
             if (C_run)
	         {
	               C_run = 0;
	               if (DJ_back == 1) 
			       { 
			             if (b >= 10)   
			             {
				               DJ_back = 0; TXD_c(2); b++;
				         } 
				               else b++;
				         if (V_ml == 0)  { DJ_back = 0; TXD_c(2); b++;}
			       }
                         else  {  if (b > 0) b--;  }
	               if (DJ_back==0 && b==0) Disp_2(Adend / 3);
			       if (over == 0) Display(23, 7 , 3, 5, V_ml, 1);
                   if (V_ml >= 150)
			       {
			              DJ_run = 0; TR0 = 0; ET0 = 0; TXD_c(3); over = 1;
				          Disp_msg(16, 16, 11);
				          do { i = RXD_c(); } while (i == 0);
                          goto KG4;
			       }
	         }
      
             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) 
	         {
	                if (DJ_run == 1) 
			        { 
			                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);
	         }
             if (i == 1) { if (P_max < 500) P_max += 10; }
	         if (i == 2) { if (P_max > 260) P_max -= 10; }
      
	  } while(i != 5);
      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 KG1; }
		     if (i == 3) break;		  
				    
	  } while (1); 
KG4:  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 Disp_2(uchar ad)
{ 
       uchar i,j;
       uchar *p;
       uchar xdata *mem;
                  j = 219-ad;
				  i = V_ml; i--;
	              mem = &M8155;
                  mem = mem + i;
				  *mem = ad;
                  if (V_ml == 1) save_y = j;
	              if (save_y > j) 
                  {
                         for (i=1; i<=save_y-j; i++) W_DOT(15+V_ml, save_y-i);
                  }
				      else 
                  {
                         for (i=1; i<=j-save_y; i++) W_DOT(15+V_ml, save_y+i);
                  }
				  save_x = 15 + V_ml;
	              W_DOT(save_x, j);
				  save_y = j;
	              p = &string5[zs][0];
				  if (zs >= 4) zs = 0;  else zs++;
}
/****************************************************/
/********************输液量显示**********************/
/****************************************************/
void Display(uchar o_x, uchar o_y, uchar id, uchar id1, uint x, bit open)
{ 
      uchar *p;
      uchar i;
      p = M_D.list;
	  if (id==4 || id==5) i = 3;

⌨️ 快捷键说明

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