📄 lcd.h
字号:
/*
* copyright (c) 兰州瑞德高科技有限公司电专项目组
* all rights reserved.
* 文件名称: lcd.c
* 摘 要: lcd的显示控制
* 当前版本: v1.0
* 作 者: 杨晓卫
* 完成日期: 2004.7.29
*/
#ifndef LCD_H
#define LCD_H
#include <msp430x41x.h>
#include "predef.h"
char *LCD=LCDMEM;
uchar BufferDat[10];
uchar number[10]={
0xfa ,//0
0x60 ,//1
0xd6 ,//2
0xf4 ,//3
0x6c ,//4
0xBC ,//5
0xbe ,//6
0xe0 ,//7
0xfe ,//8
0xfc //9
};
void Clear_LCD(void);
//void Off_LCD(void);
void Set_digit(uchar digit,uchar data);
//void Set_day(void);
void Set_hour(void);
void Set_pleasebuy(void);//请存
void Set_cunru(void); //存入
void Set_cardwrong(void);//插卡错
//void Set_ganrao(void);// 电磁干扰
void Set_chaibiao(void);//拆表破坏
//void Set_xianlu(void);// 线路破坏
void Set_fakai(void);// 阀开
void Set_faguan(void);// 阀关
void Set_reliang(void);//reliang
void Set_battery(void);// battery
void Set_left(void);//余额
void Set_temp(void);//温度
void Set_point(uchar digit);//
void delay10us(void);
void Set_MWh(void);
void Set_KWh(void);
void Set_MJ(void);
void Set_GJ(void);
void Set_leiji(void);//累积
void Set_shunshi(void);//瞬时
void Set_liuliang(void);
void Set_cardok(void);
void Set_number(ulongint number,int decimal);
void Set_input(void);
void Set_output(void); //进水回水温度指示
void Clear_LCD(void)
{
uchar i;
for(i=0;i<10;i++)
{
LCD[i]=0;
}
}
void Set_digit(uchar digit,uchar data)
{
LCD[8-digit]|=number[data];
}
/*
void Set_day(void)
{
LCD[9]|=0X04;
}
*/
void Set_hour(void)
{
LCD[9]|=0X08;
}
void Set_pleasebuy(void)
{
LCD[9]|=0x02;
}
void Set_cunru(void)
{
LCD[9]|=0x01;
}
void Set_cardwrong(void)
{
LCD[9]|=0X80;
}
/*
void Set_ganrao(void)
{
LCD[9]|=0x40;
}
*/
void Set_chaibiao(void)
{
LCD[9]|=0x20;
}
/*
void Set_xianlu(void)
{
LCD[9]|=0x10;
}
*/
void Set_fakai(void)
{
LCD[1]|=0X01;
}
void Set_faguan(void)
{
LCD[4]|=0X01;
}
void Set_reliang(void)
{
LCD[8]|=0X04;
}
void Set_battery(void)
{
LCD[8]|=0x02;
}
void Set_left(void)
{
LCD[8]|=0x08;
}
void Set_temp(void)
{
LCD[7]|=0X01;
}
void Set_point(uchar digit)
{
if(digit!=0)
LCD[7-digit]|=0x01;
}
void Set_MWh(void)
{
LCD[8]|=0X40;
}
void Set_KWh(void)
{
LCD[8]|=0X80;
}
void Set_MJ(void)
{
LCD[8]|=0X20;
}
void Set_GJ(void)
{
LCD[8]|=0X10;
}
void Set_leiji(void)
{
LCD[0]|=0X01;
}
void Set_input(void)
{
LCD[0]|=0X20;
}
void Set_output(void)
{
LCD[0]|=0X36;
}
void Set_shunshi(void)
{
LCD[2]|=0X01;
}
void Set_liuliang(void)
{
LCD[3]|=0X01;
}
void Set_number(ulongint number,int decimal) //decimal小数点
{
uint rest;
uint i=0;
if((number<100)&&(decimal==1))
{
while((number!=0)||(i<(decimal+1)))
{
rest=number%10;
number=number/10;
i++;
Set_digit(i,rest);
Set_digit(3,0);
}
Set_point(decimal);
}
else if(!((number<1000)&&(decimal==2)))
{
while((number!=0)||(i<(decimal+1)))
{
rest=number%10;
number=number/10;
i++;
Set_digit(i,rest);
}
Set_point(decimal);
}
if((number<1000)&&(decimal==2))
{
while((number!=0)||(i<(decimal+1)))
{
rest=number%10;
number=number/10;
i++;
Set_digit(i,rest);
Set_digit(4,0);
}
Set_point(decimal);
}
else if(!((number<100)&&(decimal==1)))
{
while((number!=0)||(i<(decimal+1)))
{
rest=number%10;
number=number/10;
i++;
Set_digit(i,rest);
}
Set_point(decimal);
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -