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

📄 ok.c

📁 这个原程序是关于液晶及蓝牙技术在焊接上的应用
💻 C
📖 第 1 页 / 共 2 页
字号:
			    GUI_KeyValue = 0;
			    break;
			    
			case 15:
			 UARTTxChar(0X0f);
			    GUI_KeyValue = 0;
			    break;
			
			case 16:
			 UARTTxChar(0X10);
			    GUI_KeyValue = 0;
			    break;
			    
			case 17:
		UARTTxChar(0X11);
			    GUI_KeyValue = 0;
			    break;
			    
			case 18:
			  UARTTxChar(0X12);
			    GUI_KeyValue = 0;
			    break;
			    
			case 20:
			UARTTxChar(0X13);
			    GUI_KeyValue = 0;
			    break;
			
			default:
			    GUI_KeyValue = 0;
			    break;
			}
		}
			if(k==3)
	{
		    switch(GUI_KeyValue)
		    {
			case 1:
			    UARTTxChar(0X01);
			    write10(0xb3,0x12,0x00 ,shuzi1);  
			    k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 2:
			    UARTTxChar(0X02);
			   write10(0xb3,0x12,0x00 ,shuzi2);  
			      k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 3:
			   UARTTxChar(0X03);
			   write10(0xb3,0x12,0x00 ,shuzi3); 
			      k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 4:
			   UARTTxChar(0X04);
			   write10(0xb3,0x12,0x00 ,shuzi4);
			      k=1; 
			    GUI_KeyValue = 0;
			    break;
			    
			case 5:
			   UARTTxChar(0X05);
			     write10(0xb3,0x12,0x00 ,shuzi5);  
			     k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 6:
			    UARTTxChar(0X06);
			    write10(0xb3,0x12,0x00 ,shuzi6);
			       k=1; 
			    GUI_KeyValue = 0;
			    break;
			    
			case 7:
			  UARTTxChar(0X07);
			  write10(0xb3,0x12,0x00 ,shuzi7); 
			     k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 8:
			 UARTTxChar(0X08);
			 write10(0xb3,0x12,0x00 ,shuzi8); 
			    k=1;
			    GUI_KeyValue = 0;
			    break;
			
			case 9:
			 UARTTxChar(0X09);
			 write10(0xb3,0x12,0x00 ,shuzi9); 
			    k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 10:
			 UARTTxChar(0X0a);
			 write10(0xb3,0x12,0x00 ,shuzi0); 
			    k=1;
			    GUI_KeyValue = 0;
			    break;
			    
			case 11:
		          UARTTxChar(0X0b);
			    GUI_KeyValue = 0;
			    break;
			    
			case 12:
			  UARTTxChar(0X0c);
			    GUI_KeyValue = 0;
			    break;
			    
			case 13:
			  UARTTxChar(0X0d);
			    GUI_KeyValue = 0;
			    break;
			    
			case 14:
			  UARTTxChar(0X0e);
			    GUI_KeyValue = 0;
			    break;
			    
			case 15:
			 UARTTxChar(0X0f);
			    GUI_KeyValue = 0;
			    break;
			
			case 16:
			 UARTTxChar(0X10);
			    GUI_KeyValue = 0;
			    break;
			    
			case 17:
		        UARTTxChar(0X11);
			    GUI_KeyValue = 0;
			    break;
			    
			case 18:
			  UARTTxChar(0X12);
			    GUI_KeyValue = 0;
			    break;
			    
			case 20:
			UARTTxChar(0X13);
			    GUI_KeyValue = 0;
			    break;
			
			default:
			    GUI_KeyValue = 0;
			    break;
			}
         }            
	
		if(UARTLSR.DR==1)  			   //如果有数据可以接收 
		{
			*RxHeadPtr++=UARTRxChar();	     //则接收数据
			if(RxHeadPtr>=(RxCharBuf+BUFSIZE))   //如果RxHeadPtr超出接收寄存器的范围
				RxHeadPtr=RxCharBuf;	//将RxHeadPtr指向接受寄存器头指针
				Rxcount++;		
		}		
		if(RxTailPtr!=RxHeadPtr)        //如果有反馈数据接收到  		 
		if( Rxcount==3)                //将接收到的反馈数据存放在反馈数据存储器
		{
		
		        p[2]=*RxTailPtr++;	
			if(RxTailPtr>=(RxCharBuf+BUFSIZE))
				RxTailPtr=RxCharBuf;
				p[1]=*RxTailPtr++;	
			if(RxTailPtr>=(RxCharBuf+BUFSIZE))
				RxTailPtr=RxCharBuf;	
				p[0]=*RxTailPtr++;	
			if(RxTailPtr>=(RxCharBuf+BUFSIZE))
				RxTailPtr=RxCharBuf;			
		          Rxcount=0;
/**************************************************
将接收的三个反馈数据分别显示在液晶显示器上
***************************************************/        
        switch(p[0])
        {
         case 1: write10(0xb3,0x12,0x00 ,shuzi1); 
            break;
         case 2: write10(0xb3,0x12,0x00 ,shuzi2); 
            break;
	     case 3: write10(0xb3,0x12,0x00 ,shuzi3); 
            break;
         case 4: write10(0xb3,0x12,0x00 ,shuzi4); 
            break;
            
         case 5: write10(0xb3,0x12,0x00 ,shuzi5); 
            break;
	     case 6: write10(0xb3,0x12,0x00 ,shuzi6); 
            break;
         case 7: write10(0xb3,0x12,0x00 ,shuzi7); 
            break;
              case 8: write10(0xb3,0x12,0x00 ,shuzi5); 
            break;
	     case 9: write10(0xb3,0x12,0x00 ,shuzi9); 
            break;
         case 10: write10(0xb3,0x12,0x00 ,shuzi0); 
            break;}
        switch(p[2])
        {
         case 1: write10(0xb3,0x13,0x00 ,shuzi1); 
            break;
         case 2: write10(0xb3,0x13,0x00 ,shuzi2); 
            break;
	     case 3: write10(0xb3,0x13,0x00 ,shuzi3); 
            break;
         case 4: write10(0xb3,0x13,0x00 ,shuzi4); 
            break;
            
         case 5: write10(0xb3,0x13,0x00 ,shuzi5); 
            break;
	     case 6: write10(0xb3,0x13,0x00 ,shuzi6); 
            break;
         case 7: write10(0xb3,0x13,0x00 ,shuzi7); 
            break;
              case 8: write10(0xb3,0x12,0x00 ,shuzi5); 
            break;
	     case 9: write10(0xb3,0x13,0x00 ,shuzi9); 
            break;
         case 10: write10(0xb3,0x13,0x00 ,shuzi0); 
            break;}
          switch(p[1])
        {
         case 1: write10(0xb3,0x14,0x00 ,shuzi1); 
            break;
         case 2: write10(0xb3,0x14,0x00 ,shuzi2); 
            break;
	     case 3: write10(0xb3,0x14,0x00 ,shuzi3); 
            break;
         case 4: write10(0xb3,0x14,0x00 ,shuzi4); 
            break;           
         case 5: write10(0xb3,0x14,0x00 ,shuzi5); 
            break;
	     case 6: write10(0xb3,0x14,0x00 ,shuzi6); 
            break;
         case 7: write10(0xb3,0x14,0x00 ,shuzi7); 
            break;
              case 8: write10(0xb4,0x12,0x00 ,shuzi5); 
            break;
	     case 9: write10(0xb3,0x14,0x00 ,shuzi9); 
            break;
         case 10: write10(0xb3,0x14,0x00 ,shuzi0); 
            break;}
		}	
		if(p[0]*p[1]*p[2]==125)   //当接收到三个数字都为5即其三者乘机为125时表明发送数据成功	
		{write10(0xb6,0x10,0x00 ,fa);   //显示“发送成功”的字样在液晶显示器上
		 write10(0xb6,0x11,0x00 ,song); 
		 write10(0xb6,0x12,0x00 ,cheng);
		 write10(0xb6,0x13,0x00 ,gong1); 
		 p[2]=0;                //然后清除接收的反馈数据准备接收下一次反馈数据
		 p[1]=0;
		 p[0]=0;
	    delay(2000);          //延时	 
        write10(0xb0,0x11,0x00 ,han1);   //液晶显示器显示焊接电流 A和数字000的字样
        write10(0xb0,0x13,0x00 ,jie1);
        write10(0xb0,0x15,0x00 ,dian);
        write10(0xb0,0x17,0x00 ,liu);
        write10(0xb3,0x15,0x00 ,A);
        write10(0xb6,0x10,0x00 ,han1);
        write10(0xb6,0x11,0x00 ,jie1);
        write10(0xb6,0x12,0x00 ,zhong);
        write10(0xb6,0x13,0x00 ,diann);
        write10(0xb6,0x14,0x00 ,diann);
        write10(0xb6,0x15,0x00 ,diann);
        write10(0xb3,0x13,0x00 ,shuzi0);
        write10(0xb3,0x12,0x00 ,shuzi0);  
        write10(0xb3,0x14,0x00 ,shuzi0);} 	
			
     		
}
}
#endif
/************************************
void intlcd(void)
初始化液晶显示器子程序
功能:初始化液晶显示器
入口参数:无
出口参数:无
调用方式:intlcd()
************************************/
 void intlcd(void)
{ 
   wr_led(0xa3);
   wr_led(0xa0);
   wr_led(0x2f);
   wr_led(0x2f);
   wr_led(0x23);
   wr_led(0x81); 
   wr_led(0x2c); 
   wr_led(0xc0); 
   wr_led(0xaf); 
   wr_led(0x40); 
}
/************************************
void clearlcd(void)
液晶清屏子程序
功能:清除液晶显示
入口参数:无
出口参数:无
调用方式:clearlcd()
*************************************/
void clearlcd()
 {  unsigned int lcdpage,loop1,loop2;
    lcdpage=0x00;
    lcdpage=lcdpage|0xB0;
     for(loop1=8;loop1>0;loop1--)
    { 
       wr_led( lcdpage);
       wr_led(0x10);
       wr_led(0x00);
       wr_led(0x00);
       for(loop2=129;loop2>0;loop2--)
       {  wr_leddat(0);  }
        lcdpage++;
      }
}
/************************************
void delay(int period)
延时子程序
功能:延时
入口参数:int period
出口参数:无
调用方式:intlcd()
************************************/     
 void delay(int period)
 {
    int h, v;
    for(h=0; h<period; h++)
    {
     for(v=0; v<period>>1; v++);
    }
 }
/************************************
void wr_led(unsigned int num)
向MCBSP口发送数据子程序
功能:发送数据
入口参数:int num
出口参数:无
调用方式:wr_led(unsigned int num)
************************************/      
 void wr_led(unsigned int num)
{
   	*(volatile unsigned int *) 0X3d=0X00;
	while(mcbsp1_xrdy() == 0);
	{	
		*DXR10 = num;
	}
}
/************************************
void wr_leddat(unsigned int num1)
向MCBSP口发送数据子程序
功能:发送数据
入口参数:int num1
出口参数:无
调用方式:wr_leddat(unsigned int num1)
************************************/
void wr_leddat(unsigned int num1)
{
	while(mcbsp1_xrdy() == 0);
	{	
		*DXR10 = num1;
	}
	*(volatile unsigned int *) 0X3d=0Xff;
} 
/*******************************************************************************************
void write10(unsigned int page,unsigned int ch,unsigned int cl,const unsigned  *ld)
液晶
显示数据子程序
功能:液晶上显示数据
入口参数:unsigned int page,unsigned int ch,unsigned int cl,const unsigned  *ld
出口参数:无
调用方式:write10(unsigned int page,unsigned int ch,unsigned int cl,const unsigned  *ld)
******************************************************************************************/
  void write10(unsigned int page,unsigned int ch,unsigned int cl,const unsigned  *ld) 
  {
      unsigned int loop4;
      wr_led(page);
      wr_led(ch);
      wr_led(cl);
      wr_led(cl);    
      for(loop4=0;loop4<16;loop4++)
     {      wr_leddat(*(ld+loop4));    }
      page++;
     wr_led(page);
      wr_led(ch);
      wr_led(cl);
      wr_led(cl);    
      for(loop4=16;loop4<32;loop4++)
     {      wr_leddat(*(ld+loop4));    }
}

⌨️ 快捷键说明

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