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

📄 lcd.h

📁 在MSP430下操作IC卡以及FLASH以及ADS1242
💻 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 + -