⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_port.h

📁 数字频率计数字频率计数字频率计数字频率计
💻 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 + -