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

📄 lcdser.h

📁 wince下ST7920串口驱动
💻 H
字号:

#include <windows.h>
#include <types.h>
#include <excpt.h>
#include <tchar.h>
#include <cardserv.h>
#include <cardapi.h>
#include <tuple.h>
#include <devload.h>
#include <Dbgapi.h>
#include <stdio.h>

#include "s2410.h"


#ifdef __cplusplus
extern "C" {
#endif

	BOOL VirtualCopy( LPVOID, LPVOID, DWORD, DWORD );

#ifdef __cplusplus
}
#endif

//基本指令,RE=0
#define DISP_CLEAR                           0x01
#define DDRAM_ADDR_RESET                     0x02
#define DISP_STATUS_ALLDISP_ON               0x0c
#define DISP_STATUS_ALLDISP_OFF              0x08
#define DISP_STATUS_CUR_ON                   0x0e
#define DISP_STATUS_CUR_OFF                  0x0c
#define DISP_STATUS_CUR_REVERS               0x0f
#define DISP_STATUS_CUR_REVERS_OFF           0x0e
//#define RW_CUR_DIRECTION_                          //进入点设定  ?
//#define                                            //游标或显示移位控制 ?
#define FOUNCTION_SET_RE0_4BIT               0x20
#define FOUNCTION_SET_RE0_8BIT               0x30
#define SET_CGRAM_ADDR                       101
#define SET_DDRAM_ADDR                       102   //设定DDRAM的显示位置

#define WRITE_TO_RAM                         104
#define READ_FROM_RAM                        105

//以下指令必须 首先设置 指令模式为 扩充指令,RE=1,
#define WAIT_ORDER_MODE                      0x01
#define INPUT_ROLL_ADDR_EN                   0x03
#define INPUT_IRAM_CGRAM_ADDR_EN             0x02
#define ROW1_REVERS                          0x05   //选择两行中的任意一行反白显示,初始值:R1R2=00
#define ROW2_REVERS                          0x06   //第一次设定位反白显示,再次设定变回正常
#define ROW_REVERS_ALL                       0x07   
#define ENTER_SLEEP_MODE                     0x08
#define EXIT_SLEEP_MODE                      0x0C
#define FOUNCTION_SET_RE1_4BIT_ENPLOT        0x26
#define FOUNCTION_SET_RE1_4BIT_DISPLOT       0x24
#define FOUNCTION_SET_RE1_8BIT_ENPLOT        0x36
#define FOUNCTION_SET_RE1_8BIT_DISPLOT       0x34
#define SET_PLOT_ADDR                        107


#define DBGMSGON                             1

class CItsLcd
{
public:

	volatile IOPreg *v_pIOPRegs;
	CHAR cCurrentFun;
	
	CItsLcd();
	virtual ~CItsLcd();

	void LCD_PowerUp();
	void LCD_PowerDown();
	
	void CtlCode(uchar command_data);
	BOOL MapPIO();
	BOOL lcd_init();
	
	void LCDPrint(PCHAR DatStr, CHAR Position);
	void LCDPrint(PCHAR DatStr, INT iVar, CHAR Position);
	void LCD_ReverseVideo(DWORD row);
	void LCD_Cursor(DWORD OnorOff, CHAR Position);
	
	void LCD_CS(BOOL x);
	void LCD_SET_DAT(BOOL x);
	void LCD_SCLK_JUMP();
	void LCD_SEND_BYTE(UCHAR dat);
	void Delay_n_us(int n);

protected:
private:
	
};






/*
example
v_pIOPregs->rGPFCON  &= ~(0x3 << 0);		// Set EINT0(GPF0) as EINT0							
v_pIOPregs->rGPFCON  |=  (0x2 << 0);
*/

⌨️ 快捷键说明

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