📄 remote.h
字号:
#include <sst89x5x4.h>
#define uchar unsigned char
#define uint unsigned int
//#define KINDADDR 0x0000
//#define DEVICEBASE 0x0080
/*使用89C554RC芯片,地址分配为程序使用0x0000-0x5FFF,参数文件使用0x6000-0x6FFF*/
//#define KINDADDR 0x6000
//#define DEVICEBASE 0x6080
/*使用89C564RD芯片,地址分配为程序使用0x0000-0xDFFF,参数文件使用0xE000-0xFFFF*/
#define KINDADDR 0x0E000
#define DEVICEBASE 0x0E080
//键盘和FLASH接口
extern uchar kb_scan(void);
extern void FLASH_read( uint faddr,void *RBuff,uchar nLength );
extern void FLASH_write( uint faddr,void *WBuff,uchar nLength );
extern uchar FLASH_read_B( uint addr );
extern uchar FLASH_write_B( uint addr, uchar datawrite );
extern void FLASH_erase_S( uint addr );
extern void dlms(void);
//红外接口
extern uchar code_handle( uint addr, uchar kind );
//LCD接口
extern void init_lcd(void);//模块初始化
extern void clear(void); //清屏
extern void disp_char(uchar, uchar, uchar, uchar ); //显示一个英文字符
extern void disp_string( uchar *, uchar, uchar, uchar);//显示一串英文字符
extern void open_cursor(void); //开光标
extern void close_cursor( void);//关光标
extern void set_cursor(uchar,uchar); //设置光标到指定点
extern void cursor_next_station(void);//光标后移一位
extern void cursor_last_station(void);//光标前移一位
extern void display_hanzi_str(uchar *,uchar ,uchar ,uchar);//显示汉字
//主控模块
void system_init( void );
uchar display( uchar dispNo,uchar mode );
void key_handle( );
void disp_handle( void );
void NumKey_handle( uchar Num );
void timer0_init( void );
void char_input( void );
void input_handle( void );
void disp_save( void );
void dev_select( void );
void dev_sel_handle( void );
void dev_watch( uint readaddr );
void dev_watch_handle( void );
void R232_down( void );
void R232_down_handle( void );
//系统数据结构
struct kind_info//类别信息
{
uchar kind_num;//类别数目
uchar curr_kind_index;//当前类别
uint down_pointer;//下载指针
};
struct device_info//机型信息
{
uchar kind_name[10];//类别名
uchar device_num; //机型数目
uchar curr_device_index;//当前机型
};
struct device//机型项
{
uchar factory[10];//厂家
uchar typeNo[8]; //型号
uint param_addr;//参数地址
};
struct param_file_info//参数文件信息
{
uchar code_type; // 控制码类型
uchar code_length;//控制码长度
uchar carrier; //载波参数
uchar kind_index; //类别
uchar device_index;//机型
uchar work_disp_num;//工作画面数目
uchar set_disp_num; //设置画面数目
};
struct dev_loc
{
uchar kind_index; //类别索引
uchar dev_index; //机型索引
uchar dev_name[12];
};
struct kind_info kind_info1;//系统类别
struct device_info device_info1;//当前类别
struct device curr_device;//当前机型
struct param_file_info curr_param_file_info;//当前参数文件信息
struct dev_loc dev_loc1[8];
//系统全局变量
extern uchar cursor_x;//光标行坐标
extern uchar cursor_y; //光标列坐标
uchar curr_chan; //TV当前频道
uchar page_flag;//画面标志
uchar page_kind;//当前画面类别
uchar old_page_flag;//最近一次画面标志
uint disp_base_addr;//当前设备画面参数基址
uint param_size;//当前画面参数长度
uchar fun_ctrlH;//画面功能字高字节
uchar fun_ctrlL;//画面功能字低字节
uchar incept_state;//接收之单双状态
uchar param[10][10];//参数缓冲区
uchar key_value; //按键值
uchar old_key_value;//上次按键值
uchar key_counter; //按同键次数
uchar in_enable;//输入状态
uchar t0_counter;//输入状态定时累计器
uchar roll_station;//滚动位置
uchar keytable[8][6] = {"2ABC-","3DEF ","4GHI","5JKL","6MNO","7PQRS","8TUV","9WXYZ"};//复用键表
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -