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