📄 ks0108.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 + -