📄 hpi.h
字号:
/*******************************Copyright (c)***************************************
人机介面说明
************************************************************************************/
#ifndef _HPI_H_
#define _HPI_H_
/*******************************键盘命令********************************************/
#define KEY_ENT (0x0F) //回车键
#define KEY_ENT_ON (KEY_ENT|0x80) //回车键__长按
#define KEY_UP (0x17) //上移键
#define KEY_UP_ON (KEY_UP|0x80) //上移键__长按
#define KEY_DOWN (0x1D) //下移键
#define KEY_DOWN_ON (KEY_DOWN|0x80) //下移键__长按
#define KEY_LEFT (0x1E) //左移键
#define KEY_LEFT_ON (KEY_LEFT|0x80) //左移键__长按
#define KEY_RIGHT (0x1B) //右移键
#define KEY_RIGHT_ON (KEY_RIGHT|0x80) //右移键__长按
/*******************************系统工作状态****************************************/
#define SYS_WORK_IDLE 0x00 //待机空闲状态
#define SYS_WORK_MENU_REC 0x01 //录音菜单状态
#define SYS_WORK_MENU_SAVE 0x02 //存储菜单状态
#define SYS_WORK_MENU_PLAY 0x03 //放音菜单状态
#define SYS_WORK_MENU_SET 0x04 //设定菜单状态
#define SYS_WORK_RUN_REC 0x05 //录音工作状态
#define SYS_WORK_RUN_SAVE 0x06 //存储工作状态
#define SYS_WORK_RUN_PLAY 0x07 //放音工作状态
#define SYS_WORK_SET_MENU_0 0x08 //参数设定菜单1
#define SYS_WORK_SET_MENU_1 0x09 //参数设定菜单2
#define SYS_WORK_SET_MENU_2 0x0A //参数设定菜单3
#define SYS_WORK_SET_MENU_3 0x0B //参数设定菜单4
#define SYS_WORK_REC_PLAY 0x0C //录音重放状态
#define SYS_WORK_SAVE_ENT 0x0D //存储确认状态
#define SYS_WORK_SEL_RAM_PLAY 0x0E //放音选择RAM状态
#define SYS_WORK_SEL_USB_PLAY 0x0F //放音选择USB状态
#define SYS_WORK_SEL_EXT_PLAY 0x10 //放音选择退出状态
#define SYS_WORK_USB_PLAY 0x11 //USB放音状态
/*---------------------------------------------------------------------------------*/
#define SYSTEM_FOSC 24000000 //系统时钟
#define BAUD_RATE 31250 //串口波特
#define RAM_SIZE 30582 //缓冲区长度
#define REC_SIZE (RAM_SIZE-8) //录音区长度
#define TH0_RELOAD ((65536-10000)/256)
#define TL0_RELOAD ((65536-10000)%256)
#define TXD_BUFFER_SIZE 64
#define TXD_BUFFER_MASK (TXD_BUFFER_SIZE-1)
#define RXD_BUFFER_SIZE 64
#define RXD_BUFFER_MASK (RXD_BUFFER_SIZE-1)
/*---------------------------------------------------------------------------------*/
struct Rtc
{
UBYTE Millis;
UBYTE Second;
UBYTE Minute;
};
/*---------------------------------------------------------------------------------*/
extern bit FlagRecRun; //录音器标记
extern bit FlagRecEnd; //录音完成标记
extern bit FlagPlayRun; //播放器标记
extern bit FlagTimer; //定时器标记
extern bit FlagTempo; //节拍器标记
extern bit FlagInput; //输入端标记
extern bit FlagOutput; //输出端标记
extern bit FlagSaveSel; //存储选择标记
extern UBYTE data ParamaTempo; //节拍器设定
extern UBYTE data ParamaVolume; //音量设定
extern UBYTE data SysWorkStatus; //系统状态
extern UBYTE idata InputNameLen; //输入名称长度
extern UBYTE idata InputFileName[]; //输入文件名称
extern UBYTE idata InputTableRow; //输入名称纵坐标
extern UBYTE idata InputTableCol; //输入名称横坐标
extern UHWORD idata FileIndex; //录音数据指针
extern UWORD idata DeltaTick; //放音事件时间
extern UWORD idata RecEvtTick; //录音事件时间
extern UBYTE idata RxdHead; //接收缓存指针头
extern UBYTE idata RxdTail; //接收缓存指针尾
extern UBYTE xdata RxdBuf[RXD_BUFFER_SIZE];//接收缓存区
extern UBYTE xdata DBUF[]; //公共缓存
extern UBYTE xdata InOutBuf[]; //进出缓存
/*---------------------------------------------------------------------------------*/
void SetSystemTimer0(void); //设定系统定时器0.
void SetSystemUart(void); //设定串行端口.
void UartSendData(UBYTE Value); //串口数据传送.
UBYTE GetKeyBoard(void); //获取键盘数据.
UHWORD HexToBcd(UBYTE Hex); //HEX转换BCD.
void SystemRtcTask(void); //系统时钟任务.
void ResetSystemRtc(void); //系统时钟复位.
UHWORD GetSystemRtc(void); //获取系统时钟.
void RamAreaSelect(UBYTE Select); //RAM区域选择.
void MidiPortSelect(void); //Midi端口选择.
void MidiOutChange(UBYTE Chane); //Midi输出通道切换.
void PianoSensorModify(void); //钢琴传感器调整.
/*---------------------------------------------------------------------------------*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -