📄 lcd_port.h
字号:
#include <iom16v.h> //包含型号头文件
#include <macros.h> //包含"位"操作头文件
/******************数据类型宏定义******************/
#define uchar unsigned char
#define uint unsigned int
/*******************************************
函数名称: Delayus
功 能: 延时指定微秒(8M晶振)
参 数: US--延时的微秒数(大约,不是很精确,MS越大越准确)
返回值 : 无
/********************************************/
void Delayus(uint US)
{
uint i;
US=US*5/4; //5/4是在8MHz晶振下,通过软件仿真反复实验得到的数值
for( i=0;i<US;i++);
}
/*******************************************
函数名称: Delayms
功 能: 延时指定毫秒(8M晶振)
参 数: MS--延时的毫秒数
返回值 : 无
/********************************************/
void Delayms(uint MS)
{
uint i,j;
for( i=0;i<MS;i++)
for(j=0;j<1141;j++); //1141是在8MHz晶振下,通过软件仿真反复实验得到的数值
}
#define iDat 1 //数据标志
#define iCmd 0 //指令标志
/******************12864液晶常量及操作******************/
#define LCDb_CTRL PORTB //12864控制端口定义
#define LCDb_CTRL_DDR DDRB //控制端口方向寄存器定义
#define LCDb_RS PB4 //定义四个控制引脚
#define LCDb_RW PB5
#define LCDb_E PB6
#define LCDb_RST PB7
#define LCDb_L1 0x80 //第一行的地址
#define LCDb_L2 0x90 //第二行的地址
#define LCDb_L3 0x88 //第三行的地址
#define LCDb_L4 0x98 //第四行的地址
#define LCDb_CGRAM_ADDR 0x40 //CGRAM的开始地址
#define LCDb_CGMAX 64 //CGRAM存储的最大字节数
#define LCDb_SET_RS LCDb_CTRL|=BIT(LCDb_RS) //四个控制管脚的控制操作
#define LCDb_SET_RW LCDb_CTRL|=BIT(LCDb_RW)
#define LCDb_SET_E LCDb_CTRL|=BIT(LCDb_E)
#define LCDb_SET_RST LCDb_CTRL|=BIT(LCDb_RST)
#define LCDb_CLR_RS LCDb_CTRL&=~BIT(LCDb_RS)
#define LCDb_CLR_RW LCDb_CTRL&=~BIT(LCDb_RW)
#define LCDb_CLR_E LCDb_CTRL&=~BIT(LCDb_E)
#define LCDb_CLR_RST LCDb_CTRL&=~BIT(LCDb_RST)
#define LCDb_DO PORTA //输出数据总线端口定义
#define LCDb_DI PINA //输入数据总线端口定义
#define LCDb_DATA_DDR DDRA //数据总线方向寄存器定义
#define LCDb_FUNCTION 0x38 // 液晶模式为8位,2行,5*8字符
#define LCDb_BASCMD 0x30 // 基本指令集
#define LCDb_CLS 0x01 // 清屏
#define LCDb_HOME 0x02 // 地址返回原点,不改变DDRAM内容
#define LCDb_ENTRY 0x06 // 设定输入模式,光标加,屏幕不移动
#define LCDb_C2L 0x10 // 光标左移
#define LCDb_C2R 0x14 // 光标右移
#define LCDb_D2L 0x18 // 屏幕左移
#define LCDb_D2R 0x1C // 屏幕又移
#define LCDb_ON 0x0C // 打开显示
#define LCDb_OFF 0x08 // 关闭显示
#define LCDb_EXTCMD1 0x34 // 扩充指令集,关闭绘图显示
#define LCDb_EXTCMD2 0x36 // 扩充指令集,打开绘图显示
#define LCDb_EXTCLS 0x01 // 清屏
#define LCDb_REVL1 0x04 // 反显第1行
#define LCDb_REVL2 0x05 // 反显第1行
#define LCDb_REVL3 0x06 // 反显第1行
#define LCDb_REVL4 0x07 // 反显第1行
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -