资源简介
基于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
返回值 :
******************************************************************************/
- 上一篇:用opengl编写的二十面体
- 下一篇:LTC1865 程序
评论
共有 条评论