📄 lcd.h
字号:
//**************************************************//
//*******************我爱铅笔***********************//
//**************************************************//
//》》》》》》》》》》》》》》》》》》》》》》》》》》
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#ifndef __LCD_H
#define __LCD_H
#include "LCDport.h"
#include "ZIKu.h"
#include "FONT8_8.h"
#include "Pubfuction.h"
//(((((((((((((((((((((((((((((((((((((((((((((((((((
#ifndef _SHORT
#define _SHORT
#define uchar unsigned char
#define uint unsigned int
#endif //endif _SHORT
//)))))))))))))))))))))))))))))))))))))))))))))))))))
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#ifndef _DELAY
#define _DELAY
void Delay(uint tc)
/***********************************************************************
* 名称:Delay()
* 功能:软件延时。
* 入口参数:无
* 出口参数:无
***********************************************************************/
{
while(tc--);
} //延时
#endif //endif _DELAY
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
class LCD
{
public:
LCD();
~LCD();
void Wcmd(uchar command);
/***********************************************************************
* 名称:Wcmd()
* 功能:写命令子程序
* 入口参数:command 要写入LCM的命令字
* 出口参数:无
* 说明:函数会设置LCM数据总线为输出方式
***********************************************************************/
void Wdata(uchar wrdat);
/***********************************************************************
* 名称:Wdata()
* 功能:写数据子程序
* 入口参数:wrdat 要写入LCM的数据
* 出口参数:无
***********************************************************************/
void Wbyt(uchar x,uchar y,uchar wrdat);
/***********************************************************************
* 名称:Wbyt()
* 功能:向指定点写数据(一字节)
* 入口参数:wrdat 要写入LCM的数据
* x x座标值(0-127)
* y y座标值(0-63)
* 出口参数:无
* 说明:会重新设置CS1/CS2,及其内部指针
***********************************************************************/
uchar Rbyt(uchar x,uchar y);
/***********************************************************************
* 名称:Rbyt()
* 功能:读取指定点上的数据。
* 入口参数: x x坐标的值(0-127)
y y坐标的值(0-63)
* 出口参数:返回该点上的字节数据
***********************************************************************/
void DispFill(uchar filldata);
/***********************************************************************
* 名称:DispFill()
* 功能:向显示缓冲区填充数据。
* 入口参数: filldata 要写入LCM的填充数据
* 出口参数:此函数会设置显示起始行为0,且会自动选中CS1有效
***********************************************************************/
void FillSCR(TCOLOR dat);
/***********************************************************************
* 名称:FillSCR()
* 功能:全屏填充.直接使用数据填充显示缓冲区.
* 入口参数: dat
* 出口参数:无
* 说明:用户根据LCM的实际情况编写此函数.
***********************************************************************/
void Clc();
/****************************************************************************
* 名称:Clc()
* 功能:清屏。
* 入口参数:无
* 出口参数:无
* 说明:用户根据LCM的实际情况编写此函数。
****************************************************************************/
uchar Point(uchar x, uchar y, TCOLOR color);
/***********************************************************************
* 名称:Point()
* 功能:在指定位置上画点.
* 入口参数: x 指定点所在列的位置
* y 指定点所在行的位置
* color 显示颜色(对于黑白LCM,为0时灭,为1时显示)
* 出口参数:返回值为1时,表示操作成功,为0时表示操作失败.
* 说明:操作失败原因是指定地址超出缓冲区范围.
***********************************************************************/
int RPoint(uchar x, uchar y, TCOLOR *ret);
/****************************************************************************
* 名称:RPoint()
* 功能:读取指定点的颜色。
* 入口参数:x 指定点所在列的位置
* y 指定点所在行的位置
* ret 保存颜色值的指针
* 出口参数:返回0时表示指定地址超出有效范围。
* 说明:对于单色,设置ret的d0位为1或0,4级灰度则为d0、d1有效,8位RGB则d0--d7有效,
* RGB结构则R、G、B变量有效。
****************************************************************************/
void HLine(uchar x0, uchar y0, uchar x1, TCOLOR color);
/****************************************************************************
* 名称:HLine()
* 功能:画水平线。
* 入口参数: x0 水平线起点所在列的位置
* y0 水平线起点所在行的位置
* x1 水平线终点所在列的位置
* color 显示颜色(对于黑白色LCM,为0时灭,为1时显示)
* 出口参数:无
* 说明:操作失败原因是指定地址超出缓冲区范围。
****************************************************************************/
void RLine(uchar x0, uchar y0, uchar y1, TCOLOR color);
/****************************************************************************
* 名称:RLine()
* 功能:画垂直线。
* 入口参数: x0 垂直线起点所在列的位置
* y0 垂直线起点所在行的位置
* y1 垂直线终点所在行的位置
* color 显示颜色(对于黑白色LCM,为0时灭,为1时显示)
* 出口参数:无
* 说明:操作失败原因是指定地址超出缓冲区范围。
****************************************************************************/
uchar LoadLine(uchar x, uchar y, uchar *dat, uchar no);
/****************************************************************************
* 名称:LoadLine()
* 功能:输出单色图形的一行数据。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* dat 要输出显示的数据。
* no 要显示此行的点个数
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
uchar PutWd(uchar x, uchar y, uchar *dat, uchar hno, uchar lno);
/****************************************************************************
* 名称:PutHZ()
* 功能:显示汉字。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* dat 要输出显示的汉字点阵数据。
* hno 要显示此行的点个数
* lno 要显示此列的点个数
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
uchar PutChar(uchar x, uchar y, uchar ch);
/****************************************************************************
* 名称:PutChar()
* 功能:显示ASCII码,显示值为20H-7FH(若为其它值,则显示' ')。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* ch 要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。(显示格式为6*8)
****************************************************************************/
void PutStr(uchar x, uchar y, char *str);
/****************************************************************************
* 名称:PutStr()
* 功能:输出显示字符串((8*8字体,没有自动换行功能)。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* str 要显示的ASCII码字符串
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void PutF(uchar x, uchar y, float data);
/****************************************************************************
* 名称:PutF()
* 功能:输出显示字符串((8*8字体,没有自动换行功能)。
* 入口参数: x 指定显示位置,x坐标
* y 指定显示位置,y坐标
* data 浮要显示的点数据
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void Axis_on();
/****************************************************************************
* 名称:Axis_on()
* 功能:显示座标轴
* 入口参数: 无
*
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -