📄 lcd1602.c
字号:
#include <iom16v.h>
#include <macros.h>
#include "LCD1602.H"
/*******************************
LCD_CheckBusy :查看忙碌子程序:
输入参数 :无
编写日期 :2007/6/14
;*******************************/
void LCD_CheckBusy(void)
{
int temp = 0x80;
while(temp&0x80)
{
LCD_DATA_IN;
LCD_DATA_PORT |= LCD_DATA;
LCD_RS_L; //选择指令暂存器。
asm("nop");
asm("nop");
LCD_RW_H; //选择读模式。
asm("nop");
asm("nop");
LCD_EN_L; //禁能LCD。
asm("nop");
asm("nop");
LCD_EN_H; //使能LCD。
asm("nop");
asm("nop");
temp=LCD_DATA_PIN&0xf0; //读LCD IR寄存器高4位。
LCD_EN_L; //禁能LCD。
asm("nop");
asm("nop");
//temp <<=4;
LCD_EN_H; //使能LCD。
asm("nop");
asm("nop");
//temp|=(LCD_DATA_PIN&0xf0); //读LCD IR寄存器低4位。
LCD_EN_L; //禁能LCD。
//temp >>=4;
LCD_DATA_CLR;
LCD_DATA_OU;
}
delay_nus(20); //调用延时程序。
}
/******************************
LCD_INIT : LCD初始化
输入参数 :无
编写日期 :2007/6/14
******************************/
void LCD_INIT(void)
{
LCD_DATA_DDR |= LCD_DATA | LCD_RS | LCD_RW | LCD_EN;
LCD_Write(0,0x28); //使用4Bits汇流排,显示两行,使用5*7的字型。
LCD_Write(0,0x0c); //显示器开,光标关,无光标闪烁。
LCD_Write(0,0x06); //字符不动,光标自动右移一格。
LCD_clear(); //清除LCD显示器
}
/*-----------------------------------------------------------------------
LCD_clear : 清除屏幕的函数
输入参数 : 无
编写日期 : 2007/6/14
-----------------------------------------------------------------------*/
void LCD_clear(void)
{
LCD_Write(0,0x01); //清除LCD显示器
}
/******************************
LCD_Write : 写一个字节
输入参数 : command, data
command = 0
写指令到IR寄存器
command != 0
写指令到DR寄存器
data 待写数据
编写日期 :2007/6/14
******************************/
void LCD_Write(unsigned char command,unsigned char data)
{
LCD_CheckBusy(); // 检查忙碌。
if(command)
LCD_RS_H; //选择资料寄存器。
else
LCD_RS_L; //选择指令暂存器。
asm("nop");
asm("nop");
LCD_EN_L; //禁能LCD。
asm("nop");
asm("nop");
LCD_RW_L; //选择写模式。
LCD_DATA_CLR;
LCD_DATA_PORT |= (data&LCD_DATA);// 输出到期LCD。
asm("nop");
LCD_EN_H; //使能LCD。
asm("nop");
asm("nop");
asm("nop");
LCD_EN_L; //禁能LCD。
LCD_DATA_CLR;
asm("nop");
LCD_DATA_PORT |= ((data<<4)&LCD_DATA);// 输出到期LCD。
LCD_EN_H; //使能LCD。
asm("nop");
asm("nop");
asm("nop");
LCD_EN_L; //禁能LCD。
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -