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

📄 p89lpc934_for_lm240128r.txt

📁 P89LPC934_for_ LM240128R的驱动程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
    lcd_text_display("02号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x20);   
    lcd_text_display("04号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x30);   
    lcd_text_display("06号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x40);   
    lcd_text_display("08号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x50);   
    lcd_text_display("10号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x60);   
    lcd_text_display("12号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x70);   
    lcd_text_display("14号:");   
}   
void page1_en(void)   
{   
    lcd_cmd_send(0x60);lcd_cmd_send(0x08);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x00);    
    lcd_cmd_send(0xf1);lcd_cmd_send(0x0f);   
    lcd_text_display("Each voltage(V)");   
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x10);   
    lcd_text_display("NO.01:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x20);   
    lcd_text_display("NO.03:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x30);   
    lcd_text_display("NO.05:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x40);   
    lcd_text_display("NO.07:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x50);   
    lcd_text_display("NO.09:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x60);   
    lcd_text_display("NO.11:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x70);   
    lcd_text_display("NO.13:");   
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x10);   
    lcd_text_display("NO.02:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x20);   
    lcd_text_display("NO.04:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x30);   
    lcd_text_display("NO.06:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x40);   
    lcd_text_display("NO.08:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x50);   
    lcd_text_display("NO.10:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x60);   
    lcd_text_display("NO.12:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x70);   
    lcd_text_display("NO.14:");   
}   
void page2_cn(void)   
{   
    //lcd_box_display(79,0,176,17,1);    
    lcd_cmd_send(0x60);lcd_cmd_send(0x08);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x00);    
    lcd_cmd_send(0xf1);lcd_cmd_send(0x0f);   
    lcd_text_display("电池温度(℃)");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x18);   
    lcd_text_display("01号:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x18);   
    lcd_text_display("02号:");       
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x30);   
    lcd_text_display("充电电流:");   
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x48);   
    lcd_text_display("错误代码:");   
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x60);   
    lcd_text_display("充电时间:");   
}   
void page2_en(void)   
{   
    lcd_cmd_send(0x60);lcd_cmd_send(0x08);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x00);    
    lcd_cmd_send(0xf1);lcd_cmd_send(0x0f);   
    lcd_text_display("Temperature(℃)");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x18);   
    lcd_text_display("NO.01:");   
    lcd_cmd_send(0x60);lcd_cmd_send(0x0f);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x18);   
    lcd_text_display("NO.02:");       
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x30);   
    lcd_text_display("Current:");   
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x48);   
    lcd_text_display("Error Code:");   
       
    lcd_cmd_send(0x60);lcd_cmd_send(0x00);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x60);   
    lcd_text_display("Charge Time:");   
}   
   
void adc_display(void)   
{   
    lcd_cmd_send(0x60);lcd_cmd_send(0x06);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x10);   
    num_m=receive_num[5];   
    num_m<<=8;   
    num_m|=receive_num[4];   
    num_x=num_m;   
    num_x/=10000;    
    lcd_float_display(num_x);   
   
    lcd_cmd_send(0x60);lcd_cmd_send(0x16);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x10);   
    num_m=receive_num[7];   
    num_m<<=8;   
    num_m|=receive_num[6];   
    num_x=num_m;   
    num_x/=10000;    
    lcd_float_display(num_x);   
}   
   
void ds18b20_display(void)   
{   
    lcd_cmd_send(0x60);lcd_cmd_send(0x06);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x18);   
    num_m=receive_num[33];   
    num_m<<=8;   
    num_m|=receive_num[32];   
    num_x=num_m;   
    num_x/=100;    
    lcd_float_display(num_x);   
   
    lcd_cmd_send(0x60);lcd_cmd_send(0x16);   
    lcd_cmd_send(0x70);lcd_cmd_send(0x18);   
    num_m=receive_num[35];   
    num_m<<=8;   
    num_m|=receive_num[34];   
    num_x=num_m;   
    num_x/=100;    
    lcd_float_display(num_x);   
}   
   
/**********串口初始化函数**********/   
void uart_init()    
{    
 SCON=0x50;    //使能接收选择串口模式1     
 SSTAT=0x60;   //选择独立的Tx/Rx中断     
 BRGR0=0xF0;   //9600 baud @ 7.373MHz     
 BRGR1=0x02;    
 //BRGR0=0x70; //19200 baud @ 7.373MHz     
 //BRGR1=0x01;     
 //BRGR0=0x30; //115200 baud @ 7.373MHz     
 //BRGR1=0x00;     
 BRGCON =0x03; //使能BRG     
 ESR=1;        //接收中断开     
}     
/**********串口接收中断函数**********/          
void uart_rcv() interrupt 4 //当接收完一个字节,RI置1进入Recieve中断     
{    
 uart_temp=SBUF;   
 if((uart_temp==0xaa)&&(flag0==0))   
  {flag0=1;}   
 else if(flag0==1)   
  {   
   num_flag=uart_temp;   
   flag0=2;   
  }   
 else if(flag0==2)   
  {   
   receive_num[num_flag++]=uart_temp;   
   flag0=3;   
  }   
 else if(flag0==3)   
  {   
   receive_num[num_flag]=uart_temp;   
   flag0=0;   
  }   
 RI=0;          //RI清0以等待下次发送     
}                                              
/**********串口发送函数**********/    /*        
void uart_send(uchar send_num)  
{  
 TI=0;         //TI清0准备发送  
 SBUF=send_num;//发送数据   
 while(!TI);   //当TI为1时发送完毕   
}           */                         
   
void main(void)   
{   
  EA=0;//关总中断     
  port_init();   
  rtc_init();   
  uart_init();   
  lcd_init();   
  lcd_clean();   
  delay_ms(500);   
  EA=1;//开总中断    
  while(1)   
  {    
   if((page!=receive_num[2])||(language!=receive_num[0])) //页面或语言变换    
    {   
      page=receive_num[2];   
      language=receive_num[0];   
      lcd_clean();   
      if(page==1)   
       {   
         if(language==0)   
          {page1_cn();}   
         else page1_en();   
         adc_display();   
       }   
      else if(page==2)   
       {   
         if(language==0)   
          {page2_cn();}   
         else page2_en();   
         ds18b20_display();   
         time_display();   
       }   
    }   
   else if(page==1)  //第一页数据更新    
    {adc_display();}   
   else if(page==2)  //第二页数据更新    
    {   
     ds18b20_display();   
     time_display(); //每秒数据更新一次    
    }   
  }   
}   
   

⌨️ 快捷键说明

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