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

📄 lcd.h

📁 51上的贪吃蛇程序
💻 H
字号:
//driver extern address and drive select, out from P2 ,
//A8--A16,A9--A17,A10--A18,
//A18=0:29EE020; A16-A16(29EE202); A17-A17(29EE202);
//A18=1;A16=0;A15=1,A17=0: selet 62256
//A18=1;A16=1;A15=0,A17=0: selet 12887
//A18=1;A16=1;A15=1,A17=0: selet 16c550
//data to p2
#define  CS_020      00
#define  CS_256      04
#define  CS_12887    05
#define  CS_16550    05
#define	 CS_LCD		 06
#define  CS_KEY      06	
//---------------------------------------------
//
#define RAM_MATRAX      ((byte xdata*)0x8000)
//--------------------------------------------
//BYTE 16c550  Register address Definitions
 #define UART      ((byte xdata*)0x8000)
 #define RHR       (*(byte xdata *)(UART+0x00))
 #define THR       (*(byte xdata *)(UART+0x00))
 #define IER       (*(byte xdata *)(UART+0x01))
 #define FCR       (*(byte xdata *)(UART+0x02))
 #define ISR       (*(byte xdata *)(UART+0x02))
 #define LCR       (*(byte xdata *)(UART+0x03))
 #define MCR       (*(byte xdata *)(UART+0x04))
 #define LSR       (*(byte xdata *)(UART+0x05))
 #define MSR       ((byte xdata *)(0x06))
 #define SPR       (*(byte xdata *)(UART+0x07))
 #define DLL       (*(byte xdata *)(UART+0x00))
 #define DLM       (*(byte xdata *)(UART+0x01))

#define	RTS	0x01

#define 	setbit(B,b)			((B)|=(0x01<<(b)))
#define 	clrbit(B,b)			((B)&=~(0x01<<(b)))
#define 	tstbit(B,b)			((B)&(0x01<<(b)))
//--------------------------------------------
// remoter clock(12887)  address     
 #define CLK_ADR      ((byte xdata*)0x0000)
 #define CLK_SEC      (*(byte xdata*)(CLK_ADR+0x00))
 #define CLK_MIN      (*(byte xdata *)(CLK_ADR+0x02))
 #define CLK_HR       (*(byte xdata *)(CLK_ADR+0x04))
 #define CLK_WK       (*(byte xdata *)(CLK_ADR+0x06))
 #define CLK_DD       (*(byte xdata *)(CLK_ADR+0x07))
 #define CLK_MON      (*(byte xdata *)(CLK_ADR+0x08))
 #define CLK_YY       (*(byte xdata *)(CLK_ADR+0x09))
 #define CLK_REGA     (*(byte xdata *)(CLK_ADR+0x0a))
 #define CLK_REGB     (*(byte xdata *)(CLK_ADR+0x0b))
 #define CLK_REGC     (*(byte xdata *)(CLK_ADR+0x0c))
 #define CLK_REGD     (*(byte xdata *)(CLK_ADR+0x0d))
 ////===========
 #define  BRIGHT_PUL     (*(byte xdata *)(CLK_ADR+0x20))
 #define  EDIT_STATE_KEEP     (*(byte xdata *)(CLK_ADR+0x21)) 
 #define  SAVE_CUR_NO     (*(byte xdata *)(CLK_ADR+0x22)) 
 #define  SAVE_TOTAL_NUM     (*(byte xdata *)(CLK_ADR+0x23)) 
 //==============
 #define SAVE_YY_RAM       (*(byte xdata *)(CLK_ADR+0x30))
 #define SAVE_MON_RAM      (*(byte xdata *)(CLK_ADR+0x31))
 #define SAVE_DD_RAM       (*(byte xdata *)(CLK_ADR+0x32))
 #define SAVE_HR_RAM       (*(byte xdata *)(CLK_ADR+0x33))
 #define SAVE_MIN_RAM      (*(byte xdata *)(CLK_ADR+0x34))
 #define SAVE_SEC_RAM      (*(byte xdata *)(CLK_ADR+0x35))
 #define SAVE_WK_RAM       (*(byte xdata *)(CLK_ADR+0x36))
 //
 #define SAVE_YY_10       	(*(byte xdata *)(CLK_ADR+0x37))
 #define SAVE_YY_1       	(*(byte xdata *)(CLK_ADR+0x38)) 
 #define SAVE_MON_10      	(*(byte xdata *)(CLK_ADR+0x39))
 #define SAVE_MON_1      	(*(byte xdata *)(CLK_ADR+0x3a))
 #define SAVE_DD_10       	(*(byte xdata *)(CLK_ADR+0x3b))
 #define SAVE_DD_1       	(*(byte xdata *)(CLK_ADR+0x3c))
 #define SAVE_HR_10       	(*(byte xdata *)(CLK_ADR+0x3d))
 #define SAVE_HR_1       	(*(byte xdata *)(CLK_ADR+0x3e))
 #define SAVE_MIN_10      	(*(byte xdata *)(CLK_ADR+0x3f))
 #define SAVE_MIN_1      	(*(byte xdata *)(CLK_ADR+0x40))
 #define WRITE_TIME_BUF     ((byte xdata *)(CLK_ADR+0x30))
 
 
//-------------------------------------------
// 020 assign
// charactor assign 
 #define  ROW_PIECE_SIZE        128

 #define  GALLERY_INDEX        ((byte xdata*)0x4080)             // remoter gallery_index  2K  byte
 #define  GALLERY              ((byte xdata*)0x4880)             // remoter gallery  0x4800_0xFFFF(piece 0) 
 #define  SHORTCUT0            ((byte xdata*)0x0000)             // remoter  shortcut0  0x0000_0xFFFF(piece 1)
 #define  SHORTCUT_WTH         0x2000

 #define  CHAR_FONT5x7         ((byte xdata*)(0x0080))           // remoter character font 5x7 address code 2K  byte
 #define  CHAR_FONT6x8         ((byte xdata*)(0x0080))           // remoter character font 6x8 address code 2K  byte
 #define  CHAR_FONT8x8         ((byte xdata*)(0x0880))           // remoter character font 8x8 address code 2K  byte
 #define  CHAR_FONT8x12        ((byte xdata*)(0x1080))           // remoter character font 8x12 address code 4K  byte
 #define  CHAR_FONT16x16       ((byte xdata*)(0x1C80))           // remoter character font 16x16 address code 8K  byte
 #define  SET_SCR_LEN     (*(byte xdata *)(0x02))
 #define  SET_SCR_WTH     (*(byte xdata *)(0x03))


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


#define  VERH         1
#define  VERL         6
#define  WAIT_TIME    250
#define  NO_KEY_TIME  200
#define  CHARGE_DELAY_TIME 1000
//--------------------------------------------
//RAM assign
#define DISP_BUF           ((byte xdata*)0x8000)               //128*8 BYTE
#define DISP_CHAR_BUF      ((byte xdata*)0x8300)               //256 BYTE
#define EDIT_BUF           ((byte xdata*)0x8800)                //12K BYTE  800-3FFF
#define REV_COM1_BUF      	((byte xdata*)0xB800)               // CPU RECEIVE BUF 12K BYTE
#define SEND_COM1_BUF     	((byte xdata*)0xE800)               //CPU SEND BUF 512 BYTE
#define SEND_COM1_HEAD     (*(byte xdata*)0xE900) 
#define SEND_COM1_END     	(*(byte xdata*)0xE901) 
#define SEND_COM1_STATE    (*(byte xdata*)0xE902)  
#define SEND_COM1_SIZE     256
#define REV_COM2_BUF      	((byte xdata*)0xEA00)               //16C550 RECEIVE BUF 512 BYTE
#define REV_COM2_HEAD      (*(byte xdata*)0xEB00)
#define REV_COM2_END      	(*(byte xdata*)0xEB01)
#define REV_COM2_STATE     (*(byte xdata*)0xEB02)
#define REV_COM2_SIZE     	256
#define SEND_COM2_BUF     	((byte xdata*)0xEc00)               //16C550 SEND BUF 512 BYTE
#define SEND_COM2_HEAD     (*(byte xdata*)0xED00) 
#define SEND_COM2_END     	(*(byte xdata*)0xED01) 
#define SEND_COM2_STATE    (*(byte xdata*)0xED02)  
#define SEND_COM2_SIZE     256

#define ASCI_EDIT_BUF      ((byte xdata*)0xee00)               //CPU SEND BUF 512 BYTE
#define WRITE_EEPROW_BUF   ((byte xdata*)0xF000)               //256 BYTE

#define PICTURE_BUF			((byte xdata*)0xF800)

//--------------------------------------------
 #define  ENTER         0xfe                     /* remoter key  code     */
 #define  ESC           0xfd 
 #define  TAB           0xfc
 #define  F1            0xfb       
 #define  F2            0xfa
 #define  OPEN          0xf9
 #define  FONT          0xf8
 #define  DEL           0xf7
 #define  DIMMER       	0xf6
 #define  SAVE          0xf5 
 #define  ADD           0xf4
 #define  UP            0xf3
 #define  DOWN          0xf2
 #define  RIGHT         0xf1
 #define  LEFT          0xf0
 #define  F3          	0xEF

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





⌨️ 快捷键说明

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