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

📄 lcd.h

📁 通讯误码仪测试软件
💻 H
字号:
/*
*********************************************************************************************************
*						MPT 1327
*					 Trunking radio system
*
*				  (c) Copyright 2002-2005, Hu Jia Xi  胡家熙
*					   All Rights Reserved
*
*					 M16C620  Specific code
*					   Singal Chip	Model
*
* File : lcd.H
* By   : Hu Jia Xi
*********************************************************************************************************
*/
#ifndef		__LCD_H__
#define		__LCD_H__

#include        "os.h"
#include        "mcu.h"
#include        "sfr62.h"

#ifdef  LCD_GLOBALS
#define LCD_EXT
#else
#define LCD_EXT  extern
#endif

#define LCD_DISPLAY_ON			0x0af
#define LCD_DISPLAY_OFF			0x0ae
#define LCD_REFERENCE_V			0x81
#define LCD_ADC_ON			0x0a1
#define LCD_ADC_OFF			0x0a0
#define LCD_REVERSE_ON			0x0a7
#define LCD_REVERSE_OFF			0x0a6
#define LCD_ENTIRE_ON			0x0a5
#define LCD_ENTIRE_OFF			0x0a4
#define LCD_BIAS_ON			0x0a3
#define LCD_BIAS_OFF			0x0a2
#define LCD_MODIFYREAD_ON		0x0e0
#define LCD_MODIFYREAD_OFF		0x0ee
#define LCD_RESET			0x0e2
#define LCD_SHL_ON			0x0c8
#define LCD_SHL_OFF			0x0c0
#define LCD_SM_ON			0x0ad
#define LCD_SM_OFF			0x0ac
#define LCD_LINE			0x40
#define LCD_PAGE			0x0b0
#define LCD_COLUMN_H			0x10
#define LCD_COLUMN_L			0x0
#define LCD_POWER			0x28
#define LCD_REGULATOR			0x20

#define LCD_DISLINE			5
#define LCD_CHLINE			5
#define LCD_ENGLINE			5
#define LCD_CHROW			8//7
#define LCD_ENGROW			16//14
#define LCD_DOTROW			112
#define LCD_DOTLINE			64
#define LCD_CHLIBDOTROW			12
#define LCD_CHDOTROW			14//16
#define LCD_ENGLIBDOTROW		8
#define LCD_ENGDOTROW			7//8

#define CHAR_CODE_ENGH			0x80
#define CHAR_CODE_ENGL			0x20
#define CHAR_CODE_CHL			0xA1
#define CHAR_CODE_CHHH			0xf7
#define CHAR_CODE_CHLH			0xfe
#define CHAR_CODE_CHCHAR		0xa94f
#define CHAR_CODE_CHASCIIL		0xaaa1
#define CHAR_CODE_CHASCIIH		0xaafe
#define CHAR_CODE_CHWORDL		0xb0a1
#define CHAR_CODE_CHWORDH		0xf7fe
#define CHAR_CODE_CHL_LENGTH		94
#define CHAR_CODE_CHWORDH		0xf7fe

#define CODE_CH_SPACE			0xA1A1
#define CODE_ASCII_SPACE		0x20
#define CODE_CH_CURSOR			0x0
#define CODE_ASCII_CURSOR		0x0
#define CODE_ASCII_END			0x0

#define STATUS_CODE_INVALID		0x0
#define STATUS_CODE_ASCII		0x1
#define STATUS_CODE_CHCHAR		0x2
#define STATUS_CODE_CHASCII		0x3
#define STATUS_CODE_CH1			0x4
#define STATUS_CODE_CH2			0x5
#define STATUS_CODE_CH3			0x6
#define STATUS_CODE_INVALIDASCII	0x7
#define STATUS_CODE_INVALIDCH		0x8
#define STATUS_CODE_NOASCII		0x9
#define STATUS_CODE_NOCH		0xa
#define STATUS_CODE_ASCIICTRL		0xb
#define STATUS_CODE_ASCIIEND		0xc


typedef struct{
		INT8U buf[8][112];
		INT16U char_dot[LCD_CHDOTROW];
		INT8U code[LCD_DISLINE][LCD_ENGROW];
		INT8U edit_upline;
		INT8U edit_downline;
		INT8U cursorl;		//当前光标所在行
		INT8U cursorr;		//当前光标所在列
		INT8U status;		//lcd当前显示模式或画面编号
		}SLCD;
LCD_EXT SLCD slcd;

typedef struct{
		INT16U		reflash:	1;
		INT16U		:		15;
		}LCD_SYMBOL;
LCD_EXT LCD_SYMBOL lcd_symbol;


LCD_EXT const INT8U LCD_LINE_PARA[LCD_DISLINE][6]; 

LCD_EXT void lcd_line(INT8U line);
LCD_EXT void lcd_column(INT8U column);
LCD_EXT void lcd_page(INT8U page);
LCD_EXT void lcd_definition(INT16U definition);
LCD_EXT void lcd_sleep(void);
LCD_EXT void lcd_standby(INT8U type);
LCD_EXT void lcd_open(void);
LCD_EXT void lcd_write_command(INT8U data0,INT8U data1,INT8U num);
LCD_EXT INT8U lcd_read_status(void);
LCD_EXT void delay(INT16U time);
LCD_EXT void lcd_write(INT8U data);
LCD_EXT INT8U lcd_read(void);

LCD_EXT void lcd_writes_page(INT8U page,INT8U data);
LCD_EXT void lcd_write_page(INT8U page,INT8U *pdata);
LCD_EXT void lcd_writes_data(INT8U data,INT8U num);
LCD_EXT void lcd_write_data(INT8U *pdata,INT8U num);
LCD_EXT void lcd_alls(INT8U data);

LCD_EXT void lcd_init_hw(void);
LCD_EXT void lcd_init(void);
LCD_EXT void lcd_clear_buf(void);
LCD_EXT void lcd_write_line(INT8U line);
LCD_EXT void lcd_all(void);

LCD_EXT void put_dot_line(INT8U line);
LCD_EXT void put_dot_all(void);
LCD_EXT INT16U get_code_type(INT16U charcode);
LCD_EXT INT16U get_valid_code(INT16U code);
LCD_EXT void get_dot_eng(INT8U charcode);
LCD_EXT void get_dot_ch(INT16U charcode);
LCD_EXT void put_dot_eng(INT8U charcode,INT8U line,INT8U engrow);
LCD_EXT void put_dot_ch(INT16U charcode,INT8U line,INT8U engrow);
LCD_EXT void put_dot(INT8U line,INT8U engrow,INT8U num);
LCD_EXT void clear_line_dot(INT8U line);
LCD_EXT void move_line_dot(INT8U sline,INT8U dline);
LCD_EXT INT16U get_linerow_dot(INT8U line,INT8U row);
LCD_EXT void put_linerow_dot(INT8U line,INT8U row,INT16U data);
LCD_EXT void get_lineeng_dot(INT8U line,INT8U row);
LCD_EXT void put_lineeng_dot(INT8U line,INT8U row);

LCD_EXT void lcd_up_line(void);
LCD_EXT void lcd_down_line(void);

#endif

⌨️ 快捷键说明

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