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

📄 lcddriver.h

📁 单片机 时钟程序,包含秒表
💻 H
字号:
#include <intrins.h>

#define dataport P0


//Port Definitions**********************************************************
sbit lcd_rs	= P2^0;
sbit lcd_rw	= P2^1;
sbit lcd_en  	= P2^2;

unsigned char lcd_wait(void)
{
	lcd_rs=0;
	lcd_rw=1;	
	_nop_();
	lcd_en=1;	
	_nop_();
	//while(dataport&0x80);//在用Proteus仿真时,注意用屏蔽此语句,在调用gotoxy()时,会进入死循环,
						 //可能在写该控制字时,该模块没有返回写入完备命令,即dataport&0x80==0x80
						 //实际硬件时打开此语句
	lcd_en=0;
	return dataport;		
}

void write_instruction(unsigned char input)
{
	lcd_en=0;
	lcd_rs=0;
	lcd_rw=0;		
	_nop_();
	dataport=input;	
	_nop_();//注意顺序
	lcd_en=1;		
	_nop_();//注意顺序
	lcd_en=0;		
	_nop_();
	lcd_wait();	
}

void write_data(unsigned char input)
{
	lcd_en=0;
	lcd_rs=1;
	lcd_rw=0;		
	_nop_();
	dataport=input;	
	_nop_();//注意顺序
	lcd_en=1;		
	_nop_();//注意顺序
	lcd_en=0;		
	_nop_();
	lcd_wait();	
}

//移动光标或屏幕************************************************************
/*
#define 0x02		0x02      
#define LCD_SCREEN		0x08
#define LCD_LEFT		0x00
#define LCD_RIGHT		0x04
void LCD_Move(unsigned char object, unsigned char direction)
{
	if(object==0x02)
		lcd_instruction(lcd_command,0x10|direction);
	if(object==LCD_SCREEN)
		lcd_instruction(lcd_command,0x18|direction);
}
*/
//初始化LCD************************************************************
void lcd_initial()
{
	lcd_en=0;
	write_instruction(0x38);           //8位数据端口,2行显示,5*7点阵
	write_instruction(0x38);
	write_instruction(0x0e);
	write_instruction(0x01);
	write_instruction(0x06);

}

//************************************************************************
//void cursor_flash(uchar a,uchar b)
//{
//write_instruction(0x80+a*0x40+b);
//write_instruction(0x14);
//write_instruction(0x0f);
//write_instruction(0x80+a*0x40+b);
//}

⌨️ 快捷键说明

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