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

📄 lcd.c

📁 c8051f020+CH375读写U盘文件的程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/*******************************************
-------头文件信息--------------------------
*******************************************/
//#include "config_LCD.H"
#include "c8051f020.h"
#include "intrins.h"
#include "lcd.h"
/*xdata	unsigned short LCD_DATA1[64][8]={0};
unsigned char cc=0;

code unsigned char WindowsFronts[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};		 */


/***********************************************************/


unsigned char code tbl[10]={48,49,50,51,52,53,54,55,56,57};//0-9 ascii code

/**************************************************************
----------液晶配置子程序---------------------------------------
***************************************************************/

/*void LCD_Config (void)
	{
		WDTCN=0X07;
		WDTCN=0XDE;
		WDTCN=0XADL;

		OSCXCN=0X00;
		OSCICN=0x06;
	 } */

/**************************************************************
------延时US子程序---------------------------------------------
***************************************************************/
void Delay1us(unsigned char us)
{
	while (us)
	{
	  _nop_(); 
	  --us;
	}
}

/*****************************************************************
------延时MS子程序-----------------------------------------------
*****************************************************************/
void Delay1ms(unsigned char ms)
	{
	unsigned char i;
	while (ms)
		{ for(i=0;i<255;i++) 
				{ _nop_(); _nop_();}
	 	  for(i=0;i<255;i++)
				{ _nop_(); _nop_();}
	 	  for(i=0;i<255;i++) 
				{ _nop_(); _nop_();}
		  for(i=0;i<255;i++) 
				{ _nop_(); _nop_();}
	 	  for(i=0;i<255;i++) 
				{ _nop_(); _nop_();}
	 	  for(i=0;i<25;i++) 
				{ _nop_(); _nop_();}
		  --ms;
		}
	}

	


/************************************************************************
------等待LCD空闲子程序--------------------------------------------------
*************************************************************************
说明:入口参数:无
	  出口参数:无
************************************************************************/ 
void LCD_WaitReady(void) 			
	{
	//while(!(LCD_State()&0x80));
	Delay1us(40);
	}

/************************************************************************
------向LCD发送控制命令子程序--------------------------------------------
*************************************************************************
说明:入口参数:命令值
	  出口参数:无
*************************************************************************/ 

void LCD_WriteCommand(char ch) 			//
	{
	LCD_WaitReady();
	LCD_CMD=0x04;						//LCD_RW=0,LCD_RS=0,LCD_E=0;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	LCD_DATA=ch;
	Delay1us(20);
	Delay1us(20);
	Delay1us(10);
	Delay1us(10);
	LCD_CMD=!LCD_CMD;
	}




/*******************************************************************************
------向LCD发送数据命令子程序---------------------------------------------------
********************************************************************************
说明:入口参数:数据
	  出口参数:无
*******************************************************************************/
void LCD_WriteData(char ch)				//向LCD发送
	{
	LCD_WaitReady();
	LCD_CMD=0x05;						//LCD_RW=0,LCD_RS=1,LCD_E=1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	LCD_DATA=ch;
	Delay1us(20);
	Delay1us(20);
	Delay1us(10);
	Delay1us(10);
	LCD_CMD=!LCD_CMD;
	}

/*	
	unsigned short LCD_ReadData(void)
	{
	unsigned char state_H,state_L;
	LCD_WaitReady();
	LCD_CMD=0xff;						//LCD_RW=1,LCD_RS=1,LCD_E=1;
	_nop_();
	state_H=LCD_DATA;
    Delay1ms(4);
	state_L=LCD_DATA;
	LCD_CMD=!LCD_CMD;
	return state_H*256+state_L;
	}
*/
/********************************************************************
------图形界面初始化子程序----------------------------------------------
********************************************************************/
/*void LCD_GRAPH_CLEAR(void)
{
		unsigned char i,j;
	for(i=0;i<0x20;i++)
	{

		for(j=0;j<0x10;j++)
			{
			LCD_WriteCommand(0x80+i);
			LCD_WriteCommand(0x80+j);
			//Delay1ms(1);
			_nop_();
			LCD_WriteData(0x00);
			LCD_WriteData(0x00);
			}
	}	 
	 
}	*/

/********************************************************************
------向LCD初始化子程序----------------------------------------------
*********************************************************************
说明:入口参数:无
	  出口参数:无
*********************************************************************/
void LCD_Init(void)						//初始化LCD
	{
	Delay1ms(120);
	FUNCTION_BASIC();					//基本指令动作
	Delay1us(300);
	FUNCTION_BASIC();
	Delay1us(120);
	LCD_DISP_ON();				    	//开显示
	Delay1us(300);
	LCD_CLEAR();						//清屏
	Delay1ms(40);
	LCD_ENTRYMODE_INC();			    //光标移动方式为增加
	}


/**************************************************************************
------坐标变换子程序-------------------------------------------------------
***************************************************************************
说明:入口参数:坐标,坐标
	  出口参数:成功与否
**************************************************************************/
unsigned char LCD_Goto(unsigned char x,unsigned char y)
	{unsigned char cur;
	x=x-1;y=y-1;
	if((y>=0)&&(y<8))
		switch(x)
			{case 0:	 
				{
				cur=y;
				LCD_SETADD();
				break;
				}
			case 1:
				{
				cur=16+y;
				LCD_SETADD();
				break;}
			case 2:
				{
				cur=8+y;
				LCD_SETADD();
				break;
				}
			case 3:
				{
				cur=24+y;
				LCD_SETADD();
				break;
				}
			default:
				{break;}
			}
	else	
		return	ERR;
	}


/**************************************************************************
------向指定坐标位置写字符子程序-------------------------------------------------------
***************************************************************************
说明:入口参数:坐标,坐标,字符
	  出口参数:成功与否
**************************************************************************/

/*void LCD_PutChar(unsigned char x,unsigned char y, unsigned char ch)
	{LCD_Goto(x,y);
	 LCD_WriteData(ch);
	} */
			
/**************************************************************************
------向LCD指定位置写汉字子程序--------------------------------------------
***************************************************************************
说明:每次只能写一个汉字
	  入口参数:坐标,坐标,待写字符
	  出口参数:成功与否
***************************************************************************/	

⌨️ 快捷键说明

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