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

📄 lcd.h

📁 以c8051f120为主控芯片,AD0采集的8路模拟信号经过简单计算处理通过Uart0发送到计算机。可以通过串口助手观察结果。通道0和1以及片上温度传感器采集的数据经过简单计算处理在Lcd上显示。
💻 H
字号:
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: LCDC_Driver.H
* 文件标识: none
* 适用器件: C8051F120 DMC12864
* 
* 摘 要: 本文件是LCD显示子程序;使用外部22.1184MHz晶振
* 
* 当前版本:1.1
* 作 者:刘大伟
* 完成日期:2007年2月1日
*
* 历史版本:1.0
* 作 者:卢 阳
* 完成日期:2004年11月14日
*
* 历史版本:0.9 
* 原作者 : 李林利
* 完成日期:2004年1月1日
*************************************************************************************/
#ifndef __lcd_driver_h__
#define __lcd_driver_h__

/************************************************************************************/
#define DISABLE_INTERRUPTS   EA=0	//关闭总中断
#define	ENABLE_INTERRUPTS    EA=1	//打开总中断
#define Lcd_Cs 			0x9000		//Lcd片选信号
#define Lcd_CsChip		0x000c		//Lcd控制端片选信号;2/3位分别是块1块2片选位 高有效 在此全部选中
#define Lcd_Cs2			0x0008		//Lcd控制端片选信号;只有cs2选中
#define Lcd_Cs1			0x0004		//Lcd控制端片选信号;只有cs1选中
#define Lcd_WrCmd		0x0000		//Lcd写命令
#define Lcd_WrDat		0x0001		//Lcd写数据
#define Lcd_RdSta		0x0002		//Lcd读状态
#define Lcd_RdDat		0x0003		//Lcd读数据
#define Unto_Lcd		0x0800		//外部地址变量改变,使其不指向Lcd 
#define Lcd_Dsl			0xc0		//Display start line (z_address)
#define z_addr			0x3f		//length of z_address
#define y_addr			0x3f		//length of y_address
#define St_Addr			0x40		//Set address (y_address)
#define x_addr			0x07		//length of x_address
#define St_Page			0xb8		//Set Page (x_address)
#define Dis_ON			0x3f		//Display ON
#define Chip_Busy		0x80		//Chip is busy
#define Clr				0x00		//清屏
#define Full			0xff		//满屏

/******************************函数外部引用声明***************************************/

/**************************************************************************************
* 函数名称:LCDC_Init;
*
* 函数功能描述:lcd_init;
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    具体Lcd操作请参考DMC12864.PDF;
*************************************************************************************/
void  LCDC_Init(void);

/*************************************************************************************
* 函数名称:LCDC_CheckBusy;
*
* 函数功能描述: 判断LCD忙等待;
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    none;
*************************************************************************************/
void  LCDC_CheckBusy(void);

/*************************************************************************************
* 函数名称:LCDC_DisFull;
*
* 函数功能描述: 清屏函数(全部写慢或清空);
*              
* 输入参数:unsigned char类型数据,0x00是清屏;0xff是写满屏;
*
* 返回数据:none;
*
* 注意:    none;
*************************************************************************************/
void  LCDC_DisFull(unsigned char Flag);

/*************************************************************************************
* 函数名称:LCDC_WrCmd;
*
* 函数功能描述: 向LCD写命令;
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    none;
*************************************************************************************/
void  LCDC_WrCmd(unsigned char dd);

/*************************************************************************************
* 函数名称:LCDC_SetXY;
*
* 函数功能描述: LCD读写位置变换;
*              
* 输入参数:unsigned char类型坐标x,y;
*
* 返回数据:none;
*
* 注意:    详细请参考DMC12864.PDF;程序中X,Y方向定义与屏定义不同
*************************************************************************************/
void  LCDC_SetXY(unsigned char x,unsigned char y);

/*************************************************************************************
* 函数名称:LCDC_WrData;
*
* 函数功能描述:向LCD写数据;
*              
* 输入参数:unsigned char类型坐标x,y, unsigned char类型写入数据dd;
*
* 返回数据:none;
*
* 注意:    none;
*************************************************************************************/
void  LCDC_WrData(unsigned char x,unsigned char y,unsigned char dd);

/*************************************************************************************
* 函数名称:LCDC_RdData;
*
* 函数功能描述:从LCD中读数据;
*              
* 输入参数:unsigned char类型坐标x,y, 
*
* 返回数据:unsigned char类型读出数据;
*
* 注意:    none;
*************************************************************************************/
unsigned char LCDC_RdData(unsigned char x,unsigned char y);

/*************************************************************************************
* 函数名称:LCDC_DrawByte;
*
* 函数功能描述:向LCD写一个字节数据;
*              
* 输入参数:BYTE类型坐标x,y;BYTE类型字节数据value;
*
* 返回数据:none;
*
* 注意:    数据显示在液晶点(x,y)(x,y+1)(x,y+2)(x,y+3)(x,y+4)(x,y+5)(x,y+6)(x,y+7)上,
*           请参考DMC12864.pdf;
*************************************************************************************/
void  LCDC_DrawByte(unsigned char x,y,value);

/*************************************************************************************
* 函数名称:LCDC_DispWord;
*
* 函数功能描述:向LCD写一组数据,显示黑字符;
*              
* 输入参数:unsiggned char类型写入起始坐标x,y,unsigned char类型写入数据code区指针p;
*	    unsigned char类型占用空间line*8行,length列,图形颜色取反标志位;
*
* 返回数据:none;
*
* 注意:    none;
**************************************************************************************/
void  LCDC_DispWord(unsigned char x,y,unsigned char code *p,unsigned char line,length,Flag);

/**************************************************************************************
* 函数名称:LCDC_DispFWord;
*
* 函数功能描述:向LCD写一组数据,显示黑字符;
*              
* 输入参数:BYTE类型写入起始坐标x,y; BYTE类型写入数据xdata区指针p;
*	    BYTE类型占用空间line*8行,length列;BYTE类型显示数据取反标志位
*		(非零为正常显示,零为取反)
*
* 返回数据:none;
*
* 注意:    none;
***************************************************************************************
void  LCDC_DispFWord(unsigned char x,y,unsigned char xdata *p,unsigned char line,length,Flag);

/**************************************************************************************/
#endif

/***************************************************************************************
* 文件结束
***************************************************************************************/

⌨️ 快捷键说明

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