lcd.c

来自「ucos-ii for hc12 in codewarrior」· C语言 代码 · 共 79 行

C
79
字号
#include "io_map.h"

extern byte runminute;
extern word runhour;

void InitLcd(void) 																					 //初始化LCD模块
{
  LCDCR0_LCDEN=0;
  LCDCR0=0X34;
  
  LCDCR1=0X01;
  FPENR0=0XFF;
  FPENR1=0XFF;
  FPENR2=0X3F;
 //FPENR3=0X00;
  
  
  LCDCR0_LCDEN=1;
}


void Display(void)																					 //LCD显示,上排为当次里程,下排为总里程
{
 
  char i,j;
  byte minute[4]={0,0};
  byte hour[4]={0,0,0,0};
  unsigned char *p=&LCDRAM0;

  minute[1]=(byte)(runminute/10);
  minute[0]=(byte)(runminute%10);
 
  hour[3]=(byte)(runhour/1000);
  hour[2]=(byte)((runhour%1000)/100);
  hour[1]=(byte)((runhour%100)/10);
  hour[0]=(byte)(runhour%10);
  
  
  for(i=0;i<2;i++) 
  {
    switch(minute[i])
    {
      case 0: *p=0XD7;p++;break;
      case 1: *p=0X06;p++;break;
      case 2: *p=0XE3;p++;break;
      case 3: *p=0XA7;p++;break;
      case 4: *p=0X36;p++;break;
      case 5: *p=0XB5;p++;break;
      case 6: *p=0XF5;p++;break;
      case 7: *p=0X07;p++;break;
      case 8: *p=0XF7;p++;break;
      case 9: *p=0XB7;p++;break;
      default: break;
    }
  }
   
    for(j=0;j<4;j++) 
    {
    switch(hour[j])
    {
      case 0: *p=0XD7;p++;break;
      case 1: *p=0X06;p++;break;
      case 2: *p=0XE3;p++;break;
      case 3: *p=0XA7;p++;break;
      case 4: *p=0X36;p++;break;
      case 5: *p=0XB5;p++;break;
      case 6: *p=0XF5;p++;break;
      case 7: *p=0X07;p++;break;
      case 8: *p=0XF7;p++;break;
      case 9: *p=0XB7;p++;break;
      default: break;
    }
  }
  //*p=0x07;
  LCDRAM2_FP4BP3=1;
                                    //显示维修标志
  p=&LCDRAM0;
  																									
}

⌨️ 快捷键说明

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