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

📄 1602lcd_driver.c

📁 该压缩包内还有51单片机常用各类外设驱动C程序源码(128*64点阵屏
💻 C
字号:
#include "AT89S52.H"
#include <intrins.h>

typedef unsigned char uchar;

sbit rs	= P2^0;		
sbit rw = P2^1;
sbit ep = P2^2;


bit lcd_bz()       // 测试LCD忙碌状态
{							
	bit result;
	rs = 0;
	rw = 1;
	ep = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	result=(bit)(P0&0x80);
	ep = 0;
	return result;	
}



void lcd_wcmd(uchar cmd)      	// 写入指令数据到LCD
{						
	while(lcd_bz());
	rs = 0;
	rw = 0;
	ep = 0;
	_nop_();
	_nop_();	
	P0 = cmd;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 0;		
}


void lcd_wdat(uchar dat)	            //写入字符显示数据到LCD
{							
	while(lcd_bz());
	rs = 1;
	rw = 0;
	ep = 0;
	_nop_();
	_nop_();	
	P0 = dat;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 0;	
}


void lcd_init()           //LCD初始化设定
{							
	lcd_wcmd(0x38);			
	lcd_wcmd(0x0c);		
	lcd_wcmd(0x06);			
	lcd_wcmd(0x01);			//清除LCD的显示内容
}





void lcd_pos(uchar pos)              //设定显示位置 
{							
	lcd_wcmd(pos | 0x80);
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -