📄 f15play.c
字号:
#define CPUJT x11
////////接收协议
#define NETIN_TMN_STATE 0x01 //设置终端状态
#define NETIN_SERVER_INFO 0x02 //服务器信息
#define NETIN_TMN_RESET 0x03 //终端复位
#define NETIN_STUDENT_ON 0x04 //学生登陆应答
#define NETIN_RESID_TONGZHI 0x05 //源句柄通知
#define NETIN_TXT_TRANS 0x06 //文本传输
#define NETIN_SOUND_TRANS 0x07 //音频传输
#define NETIN_FANYI_TXT 0x08 //翻译文本
#define NETIN_FAJUAN_TONGZHI 0x09 //发卷通知
#define NETIN_SHOUJUAN_TONGZHI 0x0a //收卷通知
#define NETIN_DATA_DOWN 0x0b //数据下传
#define NETIN_ONE_MINU 0x0c //时钟
#define NETIN_HELP 0x0E //帮助文本
#define NETIN_ANSWER_TRANS 0x0F //答案传输
/////////发送协议
#define NETOUT_TMN_ON 0x31 //终端启动通知
#define NETOUT_CALL_START 0x32 //呼叫开始
#define NETOUT_CALL_END 0x33 //呼叫结束
#define NETOUT_ANSWER_SEND 0x34 //答案提交
#define NETOUT_DENGLU_REQ 0x35 //登陆请求
#define NETOUT_TXT_REQ 0x36 //文本请求
#define NETOUT_SOUND_REQ 0x37 //音频请求
#define NETOUT_SOUND_CTL 0x38 //音频操作
#define NETOUT_ZIDIAN_REQ 0x39 //字典请求
#define NETOUT_CHENGJI 0x3a //收卷应答
#define NETOUT_TMN_ONLINE 0x3b //终端在线
#define NETOUT_CANEL 0x3c //返回上级
#define NETOUT_OK_NOW 0x3d //选定当前
#define NETOUT_ER_REQ 0x3e //二进制请求
#define NETOUT_INFO_REQ 0x3f //信息请求
#define NETOUT_SHUAXIN 0x40 //刷新请求
#define NETOUT_HELP 0x41 //在线帮助请求
#define NETOUT_ANSWER_REQ 0x42 //答案传输请求
#define NETOUT_EDIT_TXT 0x43 //作文文本应答
#define NETOUT_SOUND_SENDUP 0x50 //adpcm数据上传(协议号0x38)
#define INFO_HELP 0x01 //帮助信息
#define INFO_1 0x02 //综合信息
#define INFO_2 0x03 //使用注意事项信息
#define INFO_3 0x04 //教师发布的信息
#define INFO_4 0x05 //随机幽默信息
#define INFO_5 0x06 //计费信息
/////////键盘组
#define KEY_OFF 0x00 //键盘关
#define KEY_TCH_TXT 0x01 //教师普通文本键盘
#define KEY_TCH_FILE 0x02 //教师目录文本键盘
#define KEY_TCH_ANSWTXT 0x03 //教师试题文本键盘
#define KEY_STU_FILE 0x04 //学生目录文本键盘
#define KEY_STU_TXT 0x05 //学生普通文本键盘
#define KEY_STU_ANSWTXT 0x06 //学生试题文本键盘
#define KEY_STU_SOUND_MP3 0x07 //学生mp3音频键盘
#define KEY_STU_SOUND_ADPCM 0x08 //学生adpcm音频键盘
#define KEY_DENGLU 0x09 //学生登录键盘
#define KEY_IP 0x0a //终端ip设置键盘
#define KEY_ANSWER 0x0b //抢答键盘
#define KEY_COMON 0x0c //公共键盘组
///////////键盘组过滤器
#define KEY_OFF_VAL 0x0000 //键盘关的值
#define KEY_TCH_TXT_VAL 0x0002 //教师普通文本键盘的值
#define KEY_TCH_FILE_VAL 0x0004 //教师目录文本键盘的值
#define KEY_ANSWER_VAL 0x0008 //答卷键盘的值
#define KEY_STU_FILE_VAL 0x0010 //学生目录文本键盘的值
#define KEY_STU_TXT_VAL 0x0020 //学生普通文本键盘的值
#define KEY_EDIT_TXT_VAL 0x0040 //学生可编辑文本
//#define KEY_STU_ANSWTXT_VAL 0x0040 //学生试题文本键盘的值
#define KEY_STU_SOUND_MP3_VAL 0x0080 //学生mp3音频键盘的值
#define KEY_STU_SOUND_ADPCM_VAL 0x0100 //学生adpcm音频键盘的值
#define KEY_DENGLU_VAL 0x0200 //学生登录键盘的值
#define KEY_IP_VAL 0x0400 //终端ip设置键盘的值
//#define KEY_ANSWER_VAL 0x0800 //临时答案键盘的值
#define KEY_COMON_VAL 0x1000 //公共键盘组的值
//////源定义
#define RES_TCH_FILE 0x21 //教师目录文本源
#define RES_TCH_TXT 0x22 //教师普通文本源
//#define RES_TCH_TEST 0x23 //教师试题文本源
#define RES_TCH_MP3 0x24 //教师mp3音频源
#define RES_TCH_ADPCM 0x25 //教师adpcm音频源
#define RES_ANSWER 0x31 //答卷源
#define RES_STU_FILE 0x01 //学生目录文本源
#define RES_STU_TXT 0x02 //学生普通文本源
//#define RES_STU_TEST 0x03 //学生试题文本源
#define RES_STU_MP3 0x04 //学生mp3音频源
#define RES_STU_ADPCM 0x05 //学生adpcm音频源
#define RES_ERJINZHI 0x08 //二进制数字源
#define RES_EDIT_TXT 0x10 //可编辑文本源
#define RES_SND_NULL 0x62 //音频空源
#define RES_TXT_NULL 0x61 //文本空源
#define RES_ANSWER_NULL 0x63 //答案空源
//////模拟电路的状态 cmos_state
#define EQM_ALLCALL 0x01 //全班通话态 受话开,送话关,监听关,自己音关,侧音开, 音量(设置+1),脉冲静音
#define EQM_SHIFAN 0x02 //被示范态 受话开,送话关,监听关,自己音关,侧音开,音量(设置+1),脉冲静音
#define EQM_HUIHUA 0x03 //会话态 受话开,送话开,监听关,自己音关,侧音开,音量(设置+n/2),脉冲静音
#define EQM_ONECALL 0x04 //个别通话态 受话开,送话开,监听关,自己音关,侧音开,音量(设置+n/2),脉冲静音
#define EQM_MONITOR 0x05 //监听态 受话关,送话关,监听开,自己音关,侧音(设置),音量(设置)
#define EQM_ZHIXI 0x06 //自习态 受话关,送话关,监听关,自己音开,侧音(设置),音量(设置) 脉冲静音
///////数字设备的模式: digi_state
#define EQM_WAIT 0x01 //待机状态
#define EQM_SHOUKE 0X11 //授课状态
#define EQM_KAOSHI 0X12 //考试状态
#define EQM_ZIXI 0X13 //自习状态
#define EQM_DENGLU 0X14 //密码登陆
#define EQM_IP 0X15 //IP设置
#define EQM_PINDAO 0X16 //频道设置
#define EQM_XIAZAI 0x17 //数据下载
#define EQM_CHENGJI 0x18 //显示成绩
#define CBYTE ((unsigned char volatile *) 0x50000L)
#define DBYTE ((unsigned char volatile *) 0x40000L)
#define PBYTE ((unsigned char volatile *) 0x30000L)
#define XBYTE ((unsigned char volatile *) 0x20000L)
#define CWORD ((unsigned int volatile *) 0x50000L)
#define DWORD ((unsigned int volatile *) 0x40000L)
#define PWORD ((unsigned int volatile *) 0x30000L)
#define XWORD ((unsigned int volatile *) 0x20000L)
#define NULL ((void *) 0L)
extern void _nop_ (void);
extern bit _testbit_ (bit);
extern unsigned char _cror_ (unsigned char, unsigned char);
extern unsigned int _iror_ (unsigned int, unsigned char);
extern unsigned long _lror_ (unsigned long, unsigned char);
extern unsigned char _crol_ (unsigned char, unsigned char);
extern unsigned int _irol_ (unsigned int, unsigned char);
extern unsigned long _lrol_ (unsigned long, unsigned char);
sfr ckcon =0x8e;
sfr scon1 =0xc0;
sfr sbuf1 =0xc1;
sfr rommap=0xc2;
sfr ta =0xc7;
sfr wdcon =0xd8;
sfr eie =0xe8;
sbit sm0_1=scon1^7;
sbit sm1_1=scon1^6;
sbit sm2_1=scon1^5;
sbit ren_1=scon1^4;
sbit tb8_1=scon1^3;
sbit rb8_1=scon1^2;
sbit ti_1=scon1^1;
sbit ri_1=scon1^0;
//POD8751
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
#ifdef CPUJT==x11
sfr P4 = 0xA6;
sfr p4 = 0xA6;
#else
sfr P4 = 0xA5;
sfr p4 = 0xA5;
#endif
sfr p0 = 0x80;
sfr p1 = 0x90;
sfr p2 = 0xA0;
sfr p3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;
sfr psw = 0xD0;
sfr acc = 0xE0;
sfr a = 0xE0;
sfr A = 0xE0;
sfr b = 0xF0;
sfr sp = 0x81;
sfr dpl = 0x82;
sfr dph = 0x83;
sfr pcon = 0x87;
sfr tcon = 0x88;
sfr tmod = 0x89;
sfr tl0 = 0x8A;
sfr tl1 = 0x8B;
sfr th0 = 0x8C;
sfr th1 = 0x8D;
sfr ie = 0xA8;
sfr ip = 0xB8;
sfr scon = 0x98;
sfr sbuf = 0x99;
/* 8052 Extensions */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
sfr t2con = 0xC8;
sfr rcap2l = 0xCA;
sfr rcap2h = 0xCB;
sfr tl2 = 0xCC;
sfr th2 = 0xCD;
/* BIT Registers */
/* PSW */
sbit CY = 0xD7;
sbit AC = 0xD6;
sbit F0 = 0xD5;
sbit RS1 = 0xD4;
sbit RS0 = 0xD3;
sbit OV = 0xD2;
sbit P = 0xD0;
sbit cy = 0xD7;
sbit c =0xD7;
sbit C =0xD7;
sbit ac = 0xD6;
sbit f0 = 0xD5;
sbit rs1 = 0xD4;
sbit rs0 = 0xD3;
sbit ov = 0xD2;
sbit p = 0xD0;
/* TCON */
sbit TF1 = 0x8F;
sbit TR1 = 0x8E;
sbit TF0 = 0x8D;
sbit TR0 = 0x8C;
sbit IE1 = 0x8B;
sbit IT1 = 0x8A;
sbit IE0 = 0x89;
sbit IT0 = 0x88;
sbit tf1 = 0x8F;
sbit tr1 = 0x8E;
sbit tf0 = 0x8D;
sbit tr0 = 0x8C;
sbit ie1 = 0x8B;
sbit it1 = 0x8A;
sbit ie0 = 0x89;
sbit it0 = 0x88;
/* IE */
sbit EA = 0xAF;
sbit ES = 0xAC;
sbit ET1 = 0xAB;
sbit EX1 = 0xAA;
sbit ET0 = 0xA9;
sbit EX0 = 0xA8;
sbit ea = 0xAF;
sbit es = 0xAC;
sbit et1 = 0xAB;
sbit ex1 = 0xAA;
sbit et0 = 0xA9;
sbit ex0 = 0xA8;
/* IP */
sbit ps1 = 0xBE;
sbit PS = 0xBC;
sbit PT1 = 0xBB;
sbit PX1 = 0xBA;
sbit PT0 = 0xB9;
sbit PX0 = 0xB8;
sbit ps = 0xBC;
sbit pt1 = 0xBB;
sbit px1 = 0xBA;
sbit pt0 = 0xB9;
sbit px0 = 0xB8;
//#ifndef POD8751
/* P3 */
sbit RD = 0xB7;
sbit WR = 0xB6;
sbit T1 = 0xB5;
sbit T0 = 0xB4;
sbit INT1 = 0xB3;
sbit INT0 = 0xB2;
sbit TXD = 0xB1;
sbit RXD = 0xB0;
sbit rd = 0xB7;
sbit wr = 0xB6;
sbit t1 = 0xB5;
sbit t0 = 0xB4;
sbit int1 = 0xB3;
sbit int0 = 0xB2;
sbit txd = 0xB1;
sbit rxd = 0xB0;
//#endif
/* SCON */
sbit SM0 = 0x9F;
sbit SM1 = 0x9E;
sbit SM2 = 0x9D;
sbit REN = 0x9C;
sbit TB8 = 0x9B;
sbit RB8 = 0x9A;
sbit TI = 0x99;
sbit RI = 0x98;
sbit sm0 = 0x9F;
sbit sm1 = 0x9E;
sbit sm2 = 0x9D;
sbit ren = 0x9C;
sbit tb8 = 0x9B;
sbit rb8 = 0x9A;
sbit ti = 0x99;
sbit ri = 0x98;
/* 8052 Extensions */
/* IE */
sbit ET2 = 0xAD;
sbit et2 =0xAD;
/* IP */
sbit PT2 = 0xBD;
sbit pt2 = 0xBD;
/* P1 */
sbit T2EX = 0x91;
sbit T2 = 0x90;
sbit t2ex = 0x91;
sbit t2 = 0x90;
/* T2CON */
sbit TF2 = 0xCF;
sbit T2IP = 0xCE;
sbit T2IE = 0xCD;
sbit T2RSE = 0xCC;
sbit BGEN = 0xCB;
sbit TR2 = 0xCA;
sbit C_T2 = 0xC9;
sbit CP_RL2= 0xC8;
sbit tf2 = 0xCF;
sbit t2ip = 0xCE;
sbit t2ie = 0xCD;
sbit t2rse = 0xCC;
sbit bgen = 0xCB;
sbit tr2 = 0xCA;
sbit c_t2 = 0xC9;
sbit cp_rl2= 0xC8;
sbit exf2=t2con^6;
sbit rclk=t2con^5;
sbit tclk=t2con^4;
sbit exen2=t2con^3;
/* *****************
77E58
********************* */
sfr pmr=0xc4;
sfr PMR=0xc4;
sbit es1=IE^6;
sbit b_0=b^0;
sbit b_1=b^1;
sbit b_2=b^2;
sbit b_3=b^3;
sbit b_4=b^4;
sbit b_5=b^5;
sbit b_6=b^6;
sbit b_7=b^7;
sbit cp_rl=0xc8;
sbit a_0=a^0;
sbit a_1=a^1;
sbit a_2=a^2;
sbit a_3=a^3;
sbit a_4=a^4;
sbit a_5=a^5;
sbit a_6=a^6;
sbit a_7=a^7;
sbit p3_4=p3^4;
sbit p3_5=p3^5;
sbit p3_6=p3^6;
sbit p3_7=p3^7;
sbit p2_6=p2^6;
sbit p2_7=p2^7;
sbit p3_3=p3^3;
sbit p2_5=p2^5;
sbit p2_1=p2^1;
sbit p2_2=p2^2;
sbit p2_3=p2^3;
sbit p2_4=p2^4;
sbit p0_0=p0^0;
sbit p0_1=p0^1;
sbit p0_2=p0^2;
sbit p0_3=p0^3;
sbit p0_4=p0^4;
sbit p0_5=p0^5;
sbit p0_6=p0^6;
sbit p0_7=p0^7;
sbit p3_0=p3^0;
sbit p1_5=p1^5;
sbit p1_7=p1^7;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -