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

📄 disp.c

📁 51系列单片机去动12232的程序
💻 C
字号:
#include"reg51.h"

#define	lcd_cs1_kz 0x8000
#define	lcd_cs2_kz 0x8100
#define	lcd_cs1_w  0x8001
#define	lcd_cs2_w  0x8101
#define	lcd_cs1_r  0x8002
#define	lcd_cs1_r  0x8102

unsigned char xdata *lcd_zk_Address = lcd_cs2_w;

void		disp();
void		disp_rest();		//液晶驱动芯片复位
void		disp_clr();		//液晶显示缓冲清零
void		disp_data1(unsigned char x,unsigned char y);
void		disp_data2(unsigned char x,unsigned char y);
void		out_data(unsigned int data_add,unsigned char a);
unsigned char	in_data(unsigned int data_add);
/**************************************************************
//显示程序,显示由显示缓冲带来的字符,每次显示一屏
**************************************************************/
void	disp()
{	
	lcd_zk_Address = 0x0023;
	disp_data1(0,0);
	disp_data2(0,0);
}


void disp_rest()
{	
	unsigned char a;
	out_data(lcd_cs1_kz,0xe2);		//LCD1复位
	out_data(lcd_cs2_kz,0xe2);		//LCD2复位
	out_data(lcd_cs1_kz,0xc0);		//LCD1设置显示初始行
	out_data(lcd_cs2_kz,0xc0);		//LCD2设置显示初始行
	out_data(lcd_cs1_kz,0xa1);		//设置正向序列
	out_data(lcd_cs2_kz,0xa1);
	out_data(lcd_cs1_kz,0xa4);		//进入工作状态
	out_data(lcd_cs2_kz,0xa4);
	out_data(lcd_cs1_kz,0xa9);		//设置占空比为32
	out_data(lcd_cs2_kz,0xa9);
	out_data(lcd_cs1_kz,0xae);		//关闭显示
	out_data(lcd_cs2_kz,0xae);
	out_data(lcd_cs1_kz,0xaf);		//开启显示
	out_data(lcd_cs2_kz,0xaf);
	a = in_data(lcd_cs1_r);		//读状态
	disp_clr();			//清除显示缓冲区(清屏)
}

void	disp_clr()
{
	unsigned char a,b;
	for(b=0;b<4;b++)
	{
		out_data(lcd_cs1_kz,b+0xb8);		//页面设置为0页
		out_data(lcd_cs2_kz,b+0xb8);
		for(a=0;a<61;a++)
		{	out_data(lcd_cs1_w,0x00);		//显示缓冲清零
			out_data(lcd_cs2_w,0x00);
		}
	}
}

void	disp_data1(unsigned char x,unsigned char y) 
{
	unsigned char a;	
	out_data(
			lcd_cs1_kz,0xb8+y);
	out_data(lcd_cs1_kz,x);
	for(a=0;a<61;a++)
		{	out_data(lcd_cs1_w,*lcd_zk_Address);
			lcd_zk_Address = lcd_zk_Address+1;
		}
} 

void	disp_data2(unsigned char x,unsigned char y) 
{
	unsigned char a;	
	out_data(lcd_cs2_kz,0xb8+y);
	out_data(lcd_cs2_kz,x);
	for(a=0;a<61;a++)
		{	out_data(lcd_cs2_w,*lcd_zk_Address);
			lcd_zk_Address = lcd_zk_Address+1;
		}
} 

void 	out_data(unsigned int data_add,unsigned char a)
{
	unsigned char xdata *address;
	address = data_add;
	*address = a;	
}

unsigned char in_data(unsigned int data_add)
{
	unsigned char xdata *address;
	unsigned char a;
	address = data_add;
	a = *address;
	return a; 
}	

⌨️ 快捷键说明

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