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

📄 lcd1.c

📁 该程序是医院用的CPCR记录仪的终端控制程序
💻 C
📖 第 1 页 / 共 5 页
字号:
const unsigned char gf9[]={0x3F,0xF8,0xCF,0xE7,0xF7,0xDF,0xF7,0xDF,0xF7,0xDD,0xC7,0xE1,0xFF,0xFD,0xFF,0xFF
	  		   			};		//黑底白字 G	
const unsigned char hf9[]={0xF7,0xDF,0x07,0xC0,0xF7,0xDE,0xFF,0xFE,0xFF,0xFE,0xF7,0xDE,0x07,0xC0,0xF7,0xDF
	  		   		     };	//黑底白字 H				
const unsigned char if9[]={0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,0x07,0xC0,0xF7,0xDF,0xF7,0xDF,0xFF,0xFF,0xFF,0xFF
	  		   			};		//黑底白字 I
const unsigned char jf9[]={0xFF,0x3F,0xFF,0x7F,0xF7,0x7F,0xF7,0x7F,0x07,0x80,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF
	                     };		//黑底白字 J
const unsigned char kf9[]={0xF7,0xDF,0x07,0xC0,0x77,0xDF,0x3F,0xFE,0xD7,0xD9,0xE7,0xC7,0xF7,0xDF,0xFF,0xFF
	  		            };		//黑底白字 K				 								 					 				 			 				 				 				 						 						 						 						 						 						 						  													  														
const unsigned char kongge[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const unsigned char wuxing[]={0x40,0x00,0xC0,0x00,0x40,0x41,0x40,0x39,0x40,0x26,0x60,0x10,0x1C,0x10,0x03,0x08,
	  		   		          0x1C,0x08,0x60,0x10,0x40,0x26,0x40,0x39,0x40,0x41,0xC0,0x00,0x40,0x00,0x00,0x00
							  };	 //☆	
const unsigned char dayuhao[]={0x00,0x00,0x08,0x20,0x10,0x10,0x20,0x08,0x40,0x04,0x80,0x02,0x00,0x01,0x00,0x00
	  		   		          };      //>
const unsigned char xiaoyuhao[]={0x00,0x00,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x08,0x10,0x10,0x08,0x20,0x00,0x00
	  		   		          };	//<
const unsigned char xiaom[]={0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x00,0x80,0x3F,0x80,0x20,0x80,0x00,0x00,0x3F
	  		   		          };	//m
const unsigned char xiaoi[]={0x00,0x00,0x80,0x20,0x98,0x20,0x98,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00
	  		   		         };	    //i
const unsigned char xiaon[]={0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20
	  		   		         };		//n					 						  						  						  						  					 				  								
const unsigned char k1[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,
	  		   		      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };    //(1)
const unsigned char k2[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0x18,0x38,0x04,0x24,0x04,0x22,0x04,0x22,
	  		   		      0x04,0x21,0xF8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };   //(2)
const unsigned char k3[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0x18,0x18,0x04,0x20,0x84,0x20,0x84,0x20,
	  		   		      0x44,0x21,0x38,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };   //(3)		
const unsigned char k4[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0x80,0x03,0x60,0x02,0x1C,0x02,0x02,0x02,
	  		   		      0xFE,0x3F,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };	//(4)
const unsigned char k5[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0xFC,0x19,0x84,0x20,0x44,0x20,0x44,0x20,
	  		   		      0x44,0x20,0x84,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };    //(5)						  					  				  						  
const unsigned char k6[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0xF8,0x1F,0x04,0x21,0x84,0x20,0x84,0x20,
	  		   		      0x84,0x20,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };   //(6)
const unsigned char k7[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0x1C,0x00,0x04,0x00,0x04,0x00,0x04,0x3E,
	  		   		      0xC4,0x01,0x24,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };  //(7)
const unsigned char k8[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0x78,0x1F,0x84,0x20,0x84,0x20,0x84,0x20,
	  		   		      0x84,0x20,0x78,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };   //(8)
const unsigned char k9[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0xF8,0x18,0x04,0x21,0x04,0x21,0x04,0x21,
	  		   			  0x84,0x20,0xF8,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						  };    //(9)
const unsigned char k10[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xF8,0x1F,
	  		   		       0x04,0x20,0x04,0x20,0x04,0x20,0xF8,0x1F,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						   };   //(10)
const unsigned char k11[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,
	  		   		       0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						   };  //(11)
const unsigned char k12[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x18,0x3C,0x04,0x22,
	  		   		       0x04,0x21,0x04,0x21,0x84,0x20,0x78,0x38,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						   };   //(12)
const unsigned char k13[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x18,0x18,0x04,0x20,
	  		   			   0x84,0x20,0x84,0x20,0x44,0x21,0x38,0x1E,0x00,0x00,0x02,0x40,0xFC,0x3F,0x00,0x00
						   };   //(13)
const unsigned char k14[]={0xFC,0x3F,0x02,0x40,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x04,
	  		   		       0x38,0x04,0x04,0x04,0xFC,0x3F,0x00,0x04,0x00,0x04,0x02,0x40,0xFC,0x3F,0x00,0x00
						   };    //(14)						   						   						   						   						  						  						  						  



unsigned char line;
unsigned char pagenum;
void lcd_init(void)
{
 	 CLEAR_LRST();
//	 NOP();
//	 NOP();
	 SET_LRST();
//	 NOP();
//	 NOP();
	 lcdwr(0,0,0xa4);
	 lcdwr(1,0,0xa4);
	 lcdwr(0,0,0xa9);
	 lcdwr(1,0,0xa9);
	 lcdwr(0,0,0xa0);
	 lcdwr(1,0,0xa0);
	 lcdwr(0,0,0xc0);
	 lcdwr(1,0,0xc0);
	 lcdwr(0,0,0xaf);
	 lcdwr(1,0,0xaf);
}
void clear_lcd(void)
{
     line=61;
 	 LCDF(2);
	 LCDF(0);
	 line=62;
	 LCDF(2);
	 LCDF(0);
}
void LCDF(unsigned char pagenum)
{
 	 unsigned char dd,i;
	 unsigned char rlflg,diflg,lenth;
	 unsigned char sd;
 	 if(line>61)
	 	 {
		 	rlflg=1;
		 	sd=line-62;
			lenth=122-line+1;
    	  }
	 else 
	 	 {
		 	rlflg=0;
			sd=0;
			lenth=line;
		 }
	 diflg=0;
	 dd=0xb8|pagenum;
	 lcdwr(rlflg,diflg,dd);
	 for(i=0;i<lenth;i++)
	 {
	    diflg=0;
		lcdwr(rlflg,diflg,sd+i);
		diflg=1;
		lcdwr(rlflg,diflg,0);
	 }
	 pagenum=pagenum+1;
	 diflg=0;
	 dd=0xb8|pagenum;
	 lcdwr(rlflg,diflg,dd);
	 for(i=0;i<lenth;i++)
	 {
	    diflg=0;
		lcdwr(rlflg,diflg,sd+i);
		diflg=1;
		lcdwr(rlflg,diflg,0);
	 }
}

void LCD_DIS(unsigned char width,unsigned char const*chardata)
{ 
  	 unsigned char dd,rlflg,diflg;
	 unsigned char sd,i;
 	 if(line<61)
	 	 {
	 	  	rlflg=0;
			sd=line;
		  }
	 else 
	 	 {
		   	rlflg=1;
		 	sd=line-61;
		 }
	 for(i=0;i<width;i++)
	 {	 
	 	 diflg=0;
	 	 dd=0xb8|pagenum;
	 	 lcdwr(rlflg,diflg,dd);
	 	 lcdwr(rlflg,diflg,sd+i);
	 	 diflg=1;
	 	 lcdwr(rlflg,diflg,chardata[2*i]);
	 	 pagenum=pagenum+1;
	 	 diflg=0;
	 	 dd=0xb8|pagenum;
	 	 lcdwr(rlflg,diflg,dd);
	 	 pagenum=pagenum-1;
	 	 lcdwr(rlflg,diflg,sd+i);
	 	 diflg=1;
	 	 lcdwr(rlflg,diflg,chardata[2*i+1]);
	 }
	 line=line+width; 
}

void lcdwr(unsigned char rlflg,unsigned char diflg,unsigned char data)  
                                      // RLFLG(0:L,1:R),DIFLG(D:1,I:0),A(DATA)
{
 	unsigned char i;
 	SET_E1();
	SET_E2();
    for(i=0;i<10;i++);

    CLEAR_ALE();
    NOP();
    NOP();
    if (diflg)    
    SET_ALE();
    NOP(); 
    NOP();
    DDRA = ~data;
    NOP();
    CLEAR_LCDE12(rlflg);
	if(rlflg)  
    for(i=0;i<10;i++);
    SET_LCDE12(rlflg);
    CLEAR_ALE();
}
void display_1(void)          //display 中大附属一院,内科手术记录仪
{
	 line=5;
	 pagenum=2;
	 LCDF(2);
	 LCD_DIS(8,zhongz9);
	 LCD_DIS(8,zhongy9);
	 LCD_DIS(16,da9);
	 LCD_DIS(16,fu9);
	 LCD_DIS(8,yiz);
	 LCD_DIS(8,yiy);	 
	 LCD_DIS(16,ji88);
	 LCD_DIS(16,zheng204);
	 LCD_DIS(16,ke9);
	 LCDF(2);

	 line=21;
	 pagenum=0;
	 LCDF(0);
	 LCD_DIS(8,c9);
	 LCD_DIS(8,p9);
	 LCD_DIS(8,c9);
	 LCD_DIS(8,rr9);
	 LCD_DIS(8,jiz);
	 LCD_DIS(8,jiy);
	 LCD_DIS(16,lu9);
	 LCD_DIS(16,yi999);
	 LCDF(0);
}

unsigned char u_ser(void)
{
 	 unsigned int i;
	 unsigned char j=0,y1,y2,y3;
	 unsigned char ss0,ss1;
	 timecounter=0;
gg:	 while(j<3)
	 {
	  	if(timecounter>200)
		return 1;
	  	ss0=scankey();
	 	if(ss0==0)
	 	{
	  	 	for(i=0;i<20000;i++);
	  		ss1=keyvalue();
			if(ss1>=0x0a)
				goto gg;
			else
			{
			 	if(j==0)
				{
				 		y1=ss1;
						line=70;
						pagenum=0;
						get_b(y1);
						LCD_DIS(8,cc1);
						while(!scankey()){;}
						j++;
				}
				else if(j==1)
				{
				 		y2=ss1;
						get_b(y2);
						LCD_DIS(8,cc1);
						while(!scankey()){;}
						j++;
				}
				else if(j==2)
				{
				 	 	y3=ss1;
						get_b(y3);
						LCD_DIS(8,cc1);
						while(!scankey()){;}
						j++;
				}
			}
	 	}
	 }
	 cradserno=y1*100+y2*10+y3;
	 return 0;
}



void display_setuptime(void)
{
 	 line=13;
	 pagenum=2;
	 LCDF(2);
	 LCD_DIS(16,xiu);
	 LCD_DIS(16,zheng);
	 LCD_DIS(16,xi011);
	 LCD_DIS(16,tong011);
	 LCD_DIS(16,shi0);
	 LCD_DIS(16,jian011);
	 LCDF(2);
	 
}
void update_time(void)
{
 	 line=5;
	 pagenum=2;
	 LCDF(2);
	 LCD_DIS(8,kongbai);
	 LCD_DIS(8,kongbai);
	 LCD_DIS(8,nian011);
	 LCD_DIS(8,kongbai);
	 LCD_DIS(8,kongbai);
	 LCD_DIS(8,yue011);
	 LCD_DIS(8,kongbai);
	 LCD_DIS(8,kongbai);	 
	 LCD_DIS(8,ri011);

⌨️ 快捷键说明

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