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

📄 ks0108.h

📁 全国电子设计大赛:智能电动车的设计.实现功能:以AT89C52单片机为核心
💻 H
字号:
//*************************************************************************************************
//  Module Name :  KS0108.H
//  CreateDate  :  2004-11-23
//  ModifData   :  2005-05-03
//  Description :  
//  Author      :  李远正
//  Version     :  V2.0
//*************************************************************************************************

#ifndef __KS0108_H__
#define __KS0108_H__

//-------------------------------------------------------------------------------------------------
// 管脚定义
// ( C8051F022 )
//	A15,A14,A13,A12	---0x90	时允许对LCD操作,否则所有命令无效
//	A8		---	W/R
//	A9		---	D/I  
//	A10		---	CS2
//	A11		---	CS1

//            CS1    CS2  	D/I    R/W  	               
//		      A11	 A10	A9		A8	
// 读数据1	: 0    	 1    	1   	1      0x9700
// 读状态1	: 0    	 1    	0   	1      0x9500
// 写数据1	: 0    	 1    	1   	0      0x9600
// LCD设置1	: 0    	 1    	0   	0      0x9400

// 读数据2	: 1    	 0    	1       1      0x9B00
// 读状态2	: 1    	 0    	0   	1      0x9900
// 写数据2	: 1    	 0    	1   	0      0x9A00
// LCD设置2	: 1    	 0    	0   	0      0x9800
//-------------------------------------------------------------------------------------------------
// 左半屏
#define SET_LEFT 			XBYTE	[0x9400]	//LCD设置指令地址
#define READ_Status_LCD1 	XBYTE 	[0x9500]	//DB7	DB6	 DB5    	DB4		DB3	DB2	DB1	DB0
												//BUSY		 ON/OFF	    RESET
#define WRITE_DATA_LCD1 	XBYTE 	[0x9600]
#define READ_DATA_LCD1 		XBYTE	[0x9700]

//右半屏
#define SET_RIGHT 			XBYTE	[0x9800]
#define READ_Status_LCD2 	XBYTE	[0x9900]
#define WRITE_DATA_LCD2 	XBYTE	[0x9A00]
#define READ_DATA_LCD2 		XBYTE	[0x9B00]

//*************************************************************************************************
// 外部命令码
#define CMD_KS0108_DispOn  	    0x3F	// 显示开
#define CMD_KS0108_DispOff 	    0x3E	// 显示关

#define CMD_KS0108_PageAdd 	    0xB8	// 页设置
#define CMD_KS0108_TierAdd  	0x40	// 列设置

//-----------------------------------------------
#define CMD_KS0108_FirstLine 	0xC0	// 起始行设置为第1行
// 起始行设置参数 :unsigned char 
// bit7   bit6   bit5   bit4   bit3   bit2   bit1   bit0 
// 1      1    
// 输入数据范围: row = 0~63 
// 参数设定 :unsigned char,适用于 KS0108WriteCMD( ) 
#define MAKE_KS0108_FIRSTLINE( row )	(  CMD_KS0108_FirstLine | row ) 

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
// KS0108 procedure
extern void KS0108WriteCMD( bit Left ,unsigned char command );     // 写命令到LCD
extern void KS0108WriteDAT( bit Left ,unsigned char datum );       // 写数据到LCD

//---------------------------------------------------------
extern void LCDInit( void );              // 初始化 LCD 屏
extern void LCDClear( void );             // 将所有 RAM 单元清零

extern void DisplayChinese( unsigned char page,unsigned char tier,unsigned char code *chinese );
extern void DisplayPic( unsigned char page,unsigned char tier,unsigned char code *chinese,unsigned char tier_num );
extern void DisplayRevChinese( unsigned char page,unsigned char tier,unsigned char code *chinese );

extern void DisplayBigNumber( unsigned char page,unsigned char tier,unsigned char number );
extern void DisplayNumber( unsigned char page,unsigned char tier,unsigned char number );
extern void DisplayRevNumber( unsigned char page,unsigned char tier,unsigned char number );

// 在指定的地址显示16×16点阵汉字
// 在指定的地址显示16×16点阵渐出图形
// 在指定的地址反显16×16点阵汉字

// 在指定的地址显示16×32点阵数字
// 在指定的地址显示 8×16数字
// 在指定的地址反显 8×16反显数字

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------

#endif

⌨️ 快捷键说明

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