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

📄 pt2322.c

📁 1602显示测试程序
💻 C
字号:
/* This program is a example */
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#define	uchar unsigned	char
#define	uint unsigned 	int
/*BIT*/
	sbit	lcd_rs=P2^5;
	sbit	lcd_rw=P2^6;
	sbit	lcd_en=P2^7;
/*function*/
void	Lcd_Comset(uchar lcd_comm,uint del_data);
void	Lcd_SetDdaddr(uchar  lcd_addr);
void	Lcd_Writedata(uchar	 lcd_data);
void	Delay_10us(uint  time_data);
void 	Disstr(uchar code *str);

extern	void data_input(uchar i,j);

#define	C_LCD_CLEAR		0X01
#define	C_LCD_IN_SET	0X06
#define	C_LCD_DIS_SET	0X0C
#define	C_LCD_DIS_SET2	0X0D
#define	C_LCD_MOVETO	0X10
#define	C_LCD_RETURN	0X02
#define	C_LCD_FC_SET	0X38

uchar code welc[]={"Welcome to use this test!!!!"};
uchar code ccode[]={"CODE:C7H00H00H  00H00H00H00H00H "};
uchar data old_key;
uchar data data_load;
uchar data bselect;
uchar data kaddr;
void	Delay_10us(uint  time_data)
{
	uchar i;
	while(time_data)
	{
		 time_data--;
		for(i=0;i<10;i++)_nop_();
	}	
}
void	Lcd_Comset(uchar   lcd_comm,uint del_data)
{
	lcd_rs=0;
	lcd_rw=0;
	P0=lcd_comm;
	lcd_en=1;
	lcd_en=0;	//r/w at the falling adge
	Delay_10us(del_data);
}
void	Lcd_SetDdaddr(uchar  addr)
{	
	lcd_rs=0;
	lcd_rw=0;
	addr=(addr&0x7f)|0x80;
	P0=addr;
	lcd_en=1;
	lcd_en=0;
	Delay_10us(4);	
}
void	Lcd_Writedata(uchar  lcd_data)
{	
	lcd_rs=1;
	lcd_rw=0;
	P0 =lcd_data;
	lcd_en=1;
	lcd_en=0;	
	Delay_10us(4);
}


void Disstr(uchar code *str)
{
	uchar data i;

	Lcd_SetDdaddr(0x00);
	for(i=0;i<16;i++)
	{	
		Lcd_Writedata(*str++);
	}

	Lcd_SetDdaddr(0x40);

	for(i=0;i<16;i++)
	{	
		Lcd_Writedata(*str++);
	}

}
//p1.0	select
//p1.2	hadd
//p1.1	hdec
//p1.4	sadd
//p1.3	sdec
//p1.5	ladd
//p1.6	ldec
//p1.7	enter

void	main()
{
//#define	C_LCD_CLEAR		0X01
//#define	C_LCD_IN_SET	0X06
//#define	C_LCD_DIS_SET	0X0C
//#define	C_LCD_DIS_SET2	0X0D
//#define	C_LCD_MOVETO	0X10
//#define	C_LCD_RETURN	0X02
//#define	C_LCD_FC_SET	0X38
	Lcd_Comset(C_LCD_CLEAR,200);

	Lcd_Comset(C_LCD_IN_SET,4);

	Lcd_Comset(C_LCD_DIS_SET2,4);

	Lcd_Comset(C_LCD_FC_SET,4);

	Lcd_Comset(C_LCD_RETURN,200);

	Disstr(ccode);
	Delay_10us(50000);
	while(1);
}



⌨️ 快捷键说明

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