📄 rd_uselcdsp027.c
字号:
/***********************************************************
* 函数库说明:SP-027液晶段码显示器驱动函数库 *
* 版本: v1.00 *
* 作者: 王卓然 *
* 创建日期: 2006年5月11日 *
* -------------------------------------------------------- *
* [支 持 库] *
* 支持库名称:RD_UseLCDPS027.h *
* 需要版本: v1.00 *
* 支持库说明:SP-027液晶段码显示器驱动函数库 *
* -------------------------------------------------------- *
* [版本更新] *
* 修改: *
* 修改日期: *
* 版本: *
* -------------------------------------------------------- *
* [版本历史] *
* -------------------------------------------------------- *
* [说 明] *
***********************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
# include "RD_UseLCDSP027.h"
/********************
* 系 统 宏 定 义 *
********************/
/*------------------*
* 硬 件 连 接 定 义 *
*------------------*/
#ifndef SP027_DI
#error None defined SP027 PIN: DI
#endif
#ifndef SP027_CLK
#error None defined SP027 PIN: CLK
#endif
/********************
* 模块变量声明区 *
********************/
static unsigned char LCDSP027_DispBuff[5] = {0,0,0,0,0};
static unsigned char LCDSP027_DISPCODE[] = {0x09,0xcf,0x91,0x85,0x47,0x25,0x21,0x8f,0x01,0x05,
0x03,0x61,0x39,0xc1,0x31,0x33,0x29,0x43,0x7b,0xc9};
/********************
* 函 数 声 明 区 *
********************/
void Set_DISP_BUFF(char a,char b,char c,char d,char e);
void LCDSP027_Clear(void);
void LCDSP027_refresh_DISP_BUFF(void);
/********************
* 模块函数声明区 *
********************/
static void LCDSP027_Send_Data(char Data);
/***********************************************************
* 函数说明:显示缓冲区设置函数 *
* 输入: 要显示的5个数字量(BCD) *
* 输出: 无 *
* 调用函数:LCDSP027_refresh_DISP_BUFF() *
***********************************************************/
void Set_DISP_BUFF(char a,char b,char c,char d,char e)
{
LCDSP027_DispBuff[0] = a;
LCDSP027_DispBuff[1] = b;
LCDSP027_DispBuff[2] = c;
LCDSP027_DispBuff[3] = d;
LCDSP027_DispBuff[4] = e;
}
/***********************************************************
* 函数说明:刷新显示缓冲区函数 *
* 输入: 无 *
* 输出: 无 *
* 调用函数:LCDSP027_Send_Data() *
***********************************************************/
void LCDSP027_refresh_DISP_BUFF(void)
{
char n = 0;
LCDSP027_Clear();
for (n = 0;n<5;n++)
{
LCDSP027_Send_Data(LCDSP027_DISPCODE[LCDSP027_DispBuff[n]]);
}
SP027_CLK = LOW;
SP027_CLK = HIGH;
}
/***********************************************************
* 函数说明:清屏函数 *
* 输入: 无 *
* 输出: 无 *
* 调用函数:无 *
***********************************************************/
void LCDSP027_Clear(void)
{
char n = 0;
for (n = 0;n<40;n++)
{
SP027_CLK = LOW;
SP027_DI = HIGH;
SP027_CLK = HIGH;
}
}
/***********************************************************
* 函数说明:发送数据函数 *
* 输入: 无 *
* 输出: 无 *
* 调用函数:无 *
***********************************************************/
static void LCDSP027_Send_Data(char Data)
{
char n = 0;
for (n = 0;n<8;n++)
{
SP027_CLK = LOW;
if (Data<<n>>7)
{
SP027_DI = HIGH;
}
else
{
SP027_DI = LOW;
}
SP027_CLK = HIGH;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -