資源簡介
基于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 程序
評論
共有 條評論