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

📄 复件 (2) demo2.c

📁 用SST89C58,对微型打印机和液晶的显示
💻 C
📖 第 1 页 / 共 5 页
字号:
								  do { i = RXD_c(); }while (i == 0);
                                  goto ZD4;
			 }
	         Disp_2(Adend/3);
		 }
              
         if (DJ_run) 
		 {    
		       if (Paus == FALSE) 
			   { 
			       if (pause == FALSE) {pause = 1;TR0 = FALSE;ET0 = FALSE;TXD_c(3);Disp_msg(16, 16, 2);}
               }
                   else 
				   {   
				        if (pause) {pause = FALSE;TR0 = 1;ET0 = 1;TXD_c(2);Disp_msg(16, 16, 1);}
				   }
	     }
         i = RXD_c();
         if (i == 4) 
		 {
	                 if (DJ_run) 
				     {
					      DJ_run = FALSE;TR0 = FALSE;ET0 = FALSE;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 = FALSE; TR0 = FALSE; ET0 = FALSE;
	     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;
	      
		 } while (1); 
ZD4:     Disp_msg(16, 16, 6);   // 提示是否打印
		 do 
		 {   
		        i = RXD_c(); 
				if (i == 5) break;
                if (i == 3)
	            {  
		             save();  
		             Print_40(0, 1);
					 break;
			    }
			
		  } while (1);
          Disp_msg(16, 16, 0);  // 提示系统复位

}
/*******************************/
/***********输液治疗************/
/*******************************/
void ZL()
{   uchar i;
    uchar *p,sa_v;   
    bit over, pause = 0;
        zs = 0;over = 0;P_max = 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, 250, 1);
	    do
		{ 
		     read_time(21,0,1);         
	         Max192(0,23,5,0);
			 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 = FALSE; TR0 = FALSE; ET0 = FALSE; 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 = FALSE;        /*手动处理*/
                             sa_v = V_ml;
							 Disp_msg(16, 16, 8);
                             TXD_c(13);
                             do
		                     {     

							       Max192(0,23,5,0);
							       i = RXD_c();
                                   if (i == 6) 
								   {
								         if (DJ_run == FALSE) 
										 {
										      TXD_c(2); DJ_run = 1; ET0 = 1; TR0 = 1;
										 } 
										 Max192(0,23,5,0);
								         if (C_run) 
										 {
										      C_run = FALSE; 
											  Disp_2(Adend / 3);
											  Display(23, 7, 3, 5, V_ml, 1);
										 }
								         if (V_ml >= 250)
									     {
									           TXD_c(3); 
								               for (i=0; i<0xff; i++) RXD_c();
								               DJ_run = FALSE; TR0 = FALSE; ET0 = FALSE; 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;
										 }
                                 
								   }
                                           else { TXD_c(3); DJ_run = 0; ET0 = 0; TR0 = 0;}
					               if ( i == 5) {   over = 1;  break;}
                             } while (1);
                             V_ml = sa_v;
							 goto ZL4;
					   }

ZL1:         if (P_max < Adend) P_max = Adend;  
             if (C_run) 
	         {
	               C_run = FALSE;
	               Disp_2(Adend / 3);
			       if (over == 0) Display(23, 7, 3, 5, V_ml, 1);
	               if (V_ml >= 250) 
			       {
			             DJ_run = FALSE; TR0 = FALSE; ET0 = 0; TXD_c(3);
			             over=1; Disp_msg(16,16,3);
                         do { i = RXD_c(); } while(i == 0);
                         goto ZL4;
                   }
             }
             
             if (DJ_run) 
		     {    
		           if (Paus == FALSE) 
			       { 
			               if (pause == FALSE) {pause = 1;TR0 = FALSE;ET0 = FALSE;TXD_c(3);Disp_msg(16, 16, 2);}
                   }
                         else 
				         {   
				                 if (pause) {pause = FALSE;TR0 = 1;ET0 = 1;TXD_c(2);Disp_msg(16, 16, 1);}
				         }
	         }
             i = RXD_c();
             if (i == 4) 
	         {
	              if (DJ_run) {DJ_run = FALSE;TR0 = FALSE;ET0 = FALSE;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 = FALSE;TR0 = FALSE;ET0 = FALSE;
	    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();
                if (i == 3)
	            {  
		             save();  
		             Print_40(0, 1);
			         break;
		        }
				if (i == 5) break;
		  } while (1);
        Disp_msg(16, 16, 0);
}
/**************************************/
/**************测量宫容****************/
/**************************************/
void GL()
{ uchar i;
  uchar *p;   
  bit over,pause = FALSE;
  
      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,0);
            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 = FALSE;
	             Disp_2(Adend/3);
		         if (over == 0) Display(23, 7, 3, 5, V_ml, 1);
                 if (V_ml >= 150) 
                 {
		          GL2:   DJ_run = FALSE; TR0 = FALSE; ET0 = FALSE; 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 == FALSE) 
		          { 
		                if (pause == FALSE) {pause = 1;TR0 = FALSE;ET0 = FALSE;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();
                if (i == 3)
	            {  
		             save();  
		             Print_40(0, 1);
			         break;
		        }
				if (i == 5) break;
		  } while (1);
      Disp_msg(16, 16, 0);
}
/*********************************/
/*************扩宫****************/
/*********************************/
void KG()
{   uchar i,b;
    uchar *p;   
	uint P_max2 = 0;
    bit over,pause = 0;
    
      P_max = 450; b = 0;
      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, 100, 1);
	  DJ_back = 0;
      do
	  {
             Display(4, 5, 0, 4, P_max, 1);  
             read_time(21, 0, 1);  
	         Max192(0, 23, 5,0);
	         if (Adend > 900) continue;
  	         if (Adend < P_max) 
			 {
			       if (Speed_V != 2) { TXD_c(6); Speed_V = 2;} 
			 }
	               else
			 { 
				        if (DJ_back == FALSE)
					    {
		                      if (V_ml < 1) goto KG5; 
						      DJ_back = 1; TXD_c(1);
						}
             }

KG1:         if (P_max2 < Adend) P_max2 = Adend;  
             if (C_run)
	         {
	               C_run = FALSE;
	               if (DJ_back) 
			       { 
			             if (b >= 10)   
			             {     
						       if (Adend > P_max) goto KG5;   /* 如果后退1ML,还大于设定压力.则停止 */
				               DJ_back = 0; TXD_c(2); b += 2;
				         } 
				               else b++;
				         if (V_ml <= 1)                       /* 如果后退时总输液量小于0.1ML时,则停止 */
					     {     
						       if (Adend > P_max) goto KG5; 
					           DJ_back = 0; TXD_c(2);
						 }
			       }
                         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 >= 100)
			       {
			              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;
			       }

⌨️ 快捷键说明

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