?? lcdc_driver.h
字號:
/************************************************************************************
* Copyright (c) 2004,西安銘朗電子科技有限責(zé)任公司
* All rights reserved.
*
* 文件名稱: LCDC_Driver.H
* 文件標(biāo)識: none
* 適用器件: C8051F020 DMC12864
*
* 摘 要: 本文件是LCD顯示子程序頭文件;使用外部22.1184MHz晶振
*
* 當(dāng)前版本: 1.1
* 作 者: 劉大偉
* 完成日期: 2007年2月1日
*
* 歷史版本: 1.0
* 作 者: 盧 陽
* 完成日期: 2004年11月14日
*
* 歷史版本: 0.9
* 原 作者: 李林利
* 完成日期: 2004年1月1日
*************************************************************************************/
#ifndef __lcdc_driver_h__
#define __lcdc_driver_h__
/************************************************************************************/
#define DISABLE_INTERRUPTS EA=0 //關(guān)閉總中斷
#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寫數(shù)據(jù)
#define Lcd_RdSta 0x0002 //Lcd讀狀態(tài)
#define Lcd_RdDat 0x0003 //Lcd讀數(shù)據(jù)
#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 //滿屏
/******************************函數(shù)外部引用聲明***************************************/
/**************************************************************************************
* 函數(shù)名稱:LCDC_Init;
*
* 函數(shù)功能描述:lcd_init;
*
* 輸入?yún)?shù):none;
*
* 返回數(shù)據(jù):none;
*
* 注意: 具體Lcd操作請參考DMC12864.PDF;
*************************************************************************************/
void LCDC_Init(void);
/*************************************************************************************
* 函數(shù)名稱:LCDC_CheckBusy;
*
* 函數(shù)功能描述: 判斷LCD忙等待;
*
* 輸入?yún)?shù):none;
*
* 返回數(shù)據(jù):none;
*
* 注意: none;
*************************************************************************************/
void LCDC_CheckBusy(void);
/*************************************************************************************
* 函數(shù)名稱:LCDC_DisFull;
*
* 函數(shù)功能描述: 清屏函數(shù)(全部寫慢或清空);
*
* 輸入?yún)?shù):unsigned char類型數(shù)據(jù),0x00是清屏;0xff是寫滿屏;
*
* 返回數(shù)據(jù):none;
*
* 注意: none;
*************************************************************************************/
void LCDC_DisFull(unsigned char Flag);
/*************************************************************************************
* 函數(shù)名稱:LCDC_WrCmd;
*
* 函數(shù)功能描述: 向LCD寫命令;
*
* 輸入?yún)?shù):none;
*
* 返回數(shù)據(jù):none;
*
* 注意: none;
*************************************************************************************/
void LCDC_WrCmd(unsigned char dd);
/*************************************************************************************
* 函數(shù)名稱:LCDC_SetXY;
*
* 函數(shù)功能描述: LCD讀寫位置變換;
*
* 輸入?yún)?shù):unsigned char類型坐標(biāo)x,y;
*
* 返回數(shù)據(jù):none;
*
* 注意: 詳細(xì)請參考DMC12864.PDF;程序中X,Y方向定義與屏定義不同
*************************************************************************************/
void LCDC_SetXY(unsigned char x,unsigned char y);
/*************************************************************************************
* 函數(shù)名稱:LCDC_WrData;
*
* 函數(shù)功能描述:向LCD寫數(shù)據(jù);
*
* 輸入?yún)?shù):unsigned char類型坐標(biāo)x,y, unsigned char類型寫入數(shù)據(jù)dd;
*
* 返回數(shù)據(jù):none;
*
* 注意: none;
*************************************************************************************/
void LCDC_WrData(unsigned char x,unsigned char y,unsigned char dd);
/*************************************************************************************
* 函數(shù)名稱:LCDC_RdData;
*
* 函數(shù)功能描述:從LCD中讀數(shù)據(jù);
*
* 輸入?yún)?shù):unsigned char類型坐標(biāo)x,y,
*
* 返回數(shù)據(jù):unsigned char類型讀出數(shù)據(jù);
*
* 注意: none;
*************************************************************************************/
unsigned char LCDC_RdData(unsigned char x,unsigned char y);
/*************************************************************************************
* 函數(shù)名稱:LCDC_DrawByte;
*
* 函數(shù)功能描述:向LCD寫一個字節(jié)數(shù)據(jù);
*
* 輸入?yún)?shù):BYTE類型坐標(biāo)x,y;BYTE類型字節(jié)數(shù)據(jù)value;
*
* 返回數(shù)據(jù):none;
*
* 注意: 數(shù)據(jù)顯示在液晶點(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);
/*************************************************************************************
* 函數(shù)名稱:LCDC_DispWord;
*
* 函數(shù)功能描述:向LCD寫一組數(shù)據(jù),顯示黑字符;
*
* 輸入?yún)?shù):unsiggned char類型寫入起始坐標(biāo)x,y,unsigned char類型寫入數(shù)據(jù)code區(qū)指針p;
* unsigned char類型占用空間line*8行,length列,圖形顏色取反標(biāo)志位;
*
* 返回數(shù)據(jù):none;
*
* 注意: none;
**************************************************************************************/
void LCDC_DispWord(unsigned char x,y,unsigned char code *p,unsigned char line,length,Flag);
/**************************************************************************************
* 函數(shù)名稱:LCDC_DispFWord;
*
* 函數(shù)功能描述:向LCD寫一組數(shù)據(jù),顯示黑字符;
*
* 輸入?yún)?shù):BYTE類型寫入起始坐標(biāo)x,y; BYTE類型寫入數(shù)據(jù)xdata區(qū)指針p;
* BYTE類型占用空間line*8行,length列;BYTE類型顯示數(shù)據(jù)取反標(biāo)志位
* (非零為正常顯示,零為取反)
*
* 返回數(shù)據(jù):none;
*
* 注意: none;
***************************************************************************************/
void LCDC_DispFWord(unsigned char x,y,unsigned char xdata *p,unsigned char line,length,Flag);
/**************************************************************************************/
#endif
/***************************************************************************************
* 文件結(jié)束
***************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -