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

📄 lcd.h

📁 使用RTX-51 tiny操作系统的em12864液晶驱动程序
💻 H
字号:
#ifdef IN_LCD

#define HEADDEF

#else

#define HEADDEF extern

#endif
#define	Uchar unsigned char
#ifdef IN_LCD
/***********液晶显示器接口引脚定义***************/
#ifdef USE_RW
sbit	 s_LCDportRST		= P1^1;	
sbit	 s_LCDportCS1		= P1^3;	
sbit	 s_LCDportCS2 		= P1^2;
sbit	 s_LCDportRW		= P1^4;	
sbit	 s_LCDportDI		= P1^5;	
#define  S_LCDportDataB	XBYTE[0xc000] /* LCD CONTROL register ADDRESS */
#else
#define	 S_LCDportDataB 	P0	
sbit  	 s_LCDportE		= P1^0;			/*          */
sbit	 s_LCDportRST		= P1^1;	
sbit	 s_LCDportCS1		= P1^3;	
sbit	 s_LCDportCS2		= P1^2;
sbit	 s_LCDportRW		= P1^4;	
sbit	 s_LCDportDI		= P1^5;	
#endif

#endif
#define	lcd_set_rst()		(s_LCDportRST=1)
#define	lcd_clear_rst()	(s_LCDportRST=0)
#define	lcd_sel_read()		(s_LCDportRW=1)
#define	lcd_sel_write()	(s_LCDportRW=0)
#define	lcd_sel_data()		(s_LCDportDI=1)
#define	lcd_sel_comm()		(s_LCDportDI=0)
#define	lcd_set_cs1()		(s_LCDportCS1=1)/* 片选 */
#define	lcd_clear_cs1()	(s_LCDportCS1=0)
#define	lcd_set_cs2()		(s_LCDportCS2=1)
#define	lcd_clear_cs2()	(s_LCDportCS2=0)
#define	f_LCD_BF	    0x80						/* LCM忙判断位 */
#define	f_LCD_REST		0x10						/* LCM忙判断位 */
#define	f_LCD_BUSY		0x90						/* LCM忙判断位 */

/***********常用操作命令和参数定义***************/
#define	 n_DISPON		0x3f	/*显示on		*/
#define	 n_DISPOFF		0x3e	/*显示off		*/
#define	 n_DISPFIRST	0xc0	/*显示起始行定义	*/
#define	 n_SETX			0x40	/*X定位设定指令(页)	*/
#define	 n_SETY			0xb8	/*Y定位设定指令(列)	*/
/**************显示分区边界位置*****************/
#define	 n_LCDlAdr 	0x00	/*左区	*/
#define	 n_LCDrAdr		0x40	/*右区	*/
#define	 n_LCDaAdr 	0x80	/*全区	*/
#define	 n_LCDlMin  	0x80	/*显示区的右边界	*/
#define	 n_LCD_COM		0x00		/*	*/
#define	 n_LCD_DATA	0x01		/*	*/
#define	 n_LCD_ADDR	0x02		/*	*/

/****************全局变量定义*******************/
HEADDEF Uchar  col,row;		/*col:列x 0-128;row:行(页)y 0-7*/
HEADDEF Uchar  cbyte;		/* 输出数据		*/
/*****************函数列表**********************/
//HEADDEF void demo(void);
HEADDEF void circle(Uchar Ox,Uchar Oy,Uchar Rx);
HEADDEF void Linexy(Uchar x0,Uchar y0,Uchar xt,Uchar yt);
HEADDEF void point(void);
HEADDEF void Rollscreen(Uchar x);
HEADDEF void Putstr(Uchar x,Uchar y,Uchar *puts,Uchar i);
HEADDEF void Putedot(Uchar x,Uchar y,Uchar *Lib,Uchar Order,Uchar	widthw);
HEADDEF void Read_lcd_data(void);
HEADDEF void Locatexy(void);
HEADDEF void Lcmcls( void );
HEADDEF void black( void );
HEADDEF void Lcminit(void);
HEADDEF void Read_LCD(void);
HEADDEF void Write_LCD(Uchar wdata,Uchar lies,Uchar type);
HEADDEF void Wait_not_busy(void);
#ifndef USE_RW
HEADDEF void lcd_set_e(void);
HEADDEF void lcd_clear_e(void);
HEADDEF void lcd_delay( Uchar x );
#endif

#undef HEADDEF


⌨️ 快捷键说明

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