📄 lcd.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -