• 大小: 6KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: ltc1865  

资源简介

基于51的ltc1865的程序,已经调通了

资源截图

代码片段和文件信息



#include
#include

#define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long 

#define TRUE  1
#define FALSE 0

#define disp_dot 0x2e
#define disp_V   0x56
#define disp_A   0x41
#define disp_W   0x57

#define data1602 P2                // 定义LCD1602数据接口

uchar code disp_code[]={0x300x310x320x330x340x350x360x370x380x39};

ulong voltage_data;
ulong current_data;


sbit rs1602 = P1^5;                  
sbit rw1602 = P1^6;
sbit e1602  = P1^7;

sbit SDI    = P1^3;
sbit CONV   = P1^2;
sbit SCK    = P1^1;
sbit SDO    = P1^0;

/*******************************************************************************
函数名称:delay(uchar n)
功能描述:延时
调用函数:
写入值  :n
返回值  :
*******************************************************************************/
void delay(uchar n)

 uchar i;
 for(;n>0;n--)
 for(i=250;i>0;i--);
}

/******************************************************************************
函数名称: write_1602(uchar wdata)
功能描述: LCD1602写入数据
调用函数: delay()
写入值  : wdata
返回值  :   
******************************************************************************/
void write_1602(uchar wdata)

 data1602 = wdata;
 rs1602   = 1;
 rw1602   = 0; 
 e1602    = 1; 
 delay(4);
 e1602    = 0;
}

/******************************************************************************
函数名称: write_order(uchar odata)
功能描述: LCD1602写命令
调用函数: delay()
写入值  : odata
返回值  :   
******************************************************************************/
void write_order(uchar odata)

 data1602 = odata;
 rs1602   = 0;
 rw1602   = 0;
 e1602    = 1;
 delay(4);
 e1602    = 0;
}

/******************************************************************************
函数名称: init_1602()
功能描述: LCD1602初始化
调用函数: write_order(uchar odata)
写入值  : 
返回值  :   
******************************************************************************/
void init_1602(void)
{
 write_order(0x01);     // 清屏幕
 write_order(0x38); // 数据长度为8位双行显示5*7字符
 write_order(0x0c); // 打开显示开关光标不闪烁
 write_order(0x06); // 地址计数递增,显示屏不移动
}

/******************************************************************************
函数名称: position(uchar rowuchar colum)
功能描述: LCD1602写位置
调用函数: write_order()
写入值  : rowcolum
返回值  :   
******************************************************************************/
position(uchar rowuchar colum)
{
 uchar pos;
 if(row==1)
   {
 pos=0x80+colum;
   }
 else
   {
     pos=0xC0+colum;   
     
   }
 write_order(pos);
}

/******************************************************************************
函数名称: write_byte(uchar *s)
功能描述: LCD1602字符串
调用函数: write_1602()
写入值  : *s
返回值  :   
******************************************************************************/

评论

共有 条评论