📄 f45_main.c
字号:
#define ROOT
#include "F45_main.h"
//sfr CHPCON = 0xbf; /* TOPRO TP2804HP */
void main(){
// CHPCON = 0x10;
MDEBUG(1);
TMOD = TMODE_8bitAutoTimer0 | TMODE_16bitTimer1;
TH0 = cTBT125uS;
TH1 = 225;
TL1 = 30;
IE = IE_EA | IE_EX0 | IE_ET0 | IE_ET1;
IP = IP_PX0;
TCON = TCON_TR0 | TCON_IT0;
MDIPInitialize();
gPKeyScan = cPKeyDigitHome; //有关按键的
MDELAY(255);
MDELAY(255);
MSSB_Initialize();
while (1){
MSSB_Polling();
if (g10msTimer > 9){
g10msTimer = 0;
if (++g100msTimer > 10) {
F100msTimer = 1;
g100msTimer = 0;
if (++g500msTimer > 4){
g500msTimer = 0;
F500msTimer = 1;
// MSSB_ReadFileInfo();
}
}
MPKeyScan();
F100msTimer = 0;
F500msTimer = 0;
}
}
}
void MSSB_USB_Insert(){
return;
}
void MSSB_USB_Remove(){
return;
}
void MSSB_TrackEnd(){
return;
}
void MSSB_TrackTimer(){
BYTE gLocal_1;
BYTE gLocal_2;
gLocal_2 = g2SSB_ReceiveBuffer[0]/60;
gLocal_1 = MLIBWriteCharacter(0, 1, gMenuSelectTm / 10 + '0');
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, gMenuSelectTm % 10 + '0');
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, '-');
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, gLocal_2 / 10 + '0');
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, gLocal_2 % 10 + '0');
gLocal_2 = g2SSB_ReceiveBuffer[0]%60;
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, ':');
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, gLocal_2 / 10 + '0');
gLocal_1 = MLIBWriteCharacter(gLocal_1, 1, gLocal_2 % 10 + '0');
return;
}
void MSSB_TrackNumber(){
gMenuSelectTm = g2SSB_ReceiveBuffer[0];
return;
}
void MSSB_TrackName(){
MDIP_LineClear(2,0,128);
MLIBWriteString(0,2,g2SSB_ReceiveBuffer);
/*
MDEBUG(g2SSB_ReceiveBuffer[0] & 0xff);
MDEBUG(g2SSB_ReceiveBuffer[0] >> 8);
MDEBUG(g2SSB_ReceiveBuffer[1] & 0xff);
MDEBUG(g2SSB_ReceiveBuffer[1] >> 8);
MDEBUG(g2SSB_ReceiveBuffer[2] & 0xff);
MDEBUG(g2SSB_ReceiveBuffer[2] >> 8);
MDEBUG(g2SSB_ReceiveBuffer[3] & 0xff);
MDEBUG(g2SSB_ReceiveBuffer[3] >> 8);
MDEBUG(g2SSB_ReceiveBuffer[4] & 0xff);
MDEBUG(g2SSB_ReceiveBuffer[4] >> 8);
MDEBUG(g2SSB_ReceiveBuffer[5] & 0xff);
MDEBUG(g2SSB_ReceiveBuffer[5] >> 8);
*/
return;
}
void MPKeyScan(){
if (FPKeyDecodeOk) {
FPKeyDecodeOk = 0;
FPKeyStep = 1;
FDirectUp = 0;
MDEBUG(GPKeyData);
switch(GPKeyData){
case 0x35:
MSSB_Write(0x00,0x8000); //要求暂停
break;
case 0x36:
MSSB_Write(0x00,0x4000); //要求播放
break;
case 0x21:
MSSB_Write(0x00,0x2000); //要求播放完一曲后停止
break;
case 0x2e:
MSSB_Write(0x01,0x0004); //指定曲目播放
break;
case 0x2d:FDirectUp = 1;
// case 0x1d:
FPKeyStep = 0;
if(FDirectUp){
if(gVolme < 0x60) ++gVolme;
}
else {
if(gVolme > 0x00) --gVolme;
}
MSSB_Write(0x02,gVolme); //主音量控制
break;
case 0x3a:FDirectUp = 1;
case 0x39:
FPKeyStep = 0;
if(FDirectUp){
if(gBass < 10) ++gBass;
}
else {
if(gBass > 0x00) --gBass;
}
MSSB_Write(0x03,gTreble << 8 | gBass); //音调控制 D0 ~ D7 低音控制 D8 ~ D15 高音控制
break;
case 0x1e:FDirectUp = 1;
case 0x1d:
FPKeyStep = 0;
if(FDirectUp){
if(gTreble < 10) ++gTreble;
}
else {
if(gTreble > 0x00) --gTreble;
}
MSSB_Write(0x03,gTreble << 8 | gBass); //音调控制 D0 ~ D7 低音控制 D8 ~ D15 高音控制
break;
default: break;
}
}
gMain00 = IOP1 & ~gPKeyScan;
IOP1 &= 0x80; //没有参加的脚位
IOP1 = gMain00;
gPKeyBuffer = IOP1 & cPKeyMask;
if ((gMain00 & cPKeyMask) != gPKeyBuffer){
GPKeyData = gPKeyBuffer;
FPKeyDetect = 1;
}
if (FPKeyDetect){
if (!FPKeyStep){
if (++gPKeyConfirmTm > 10){
gPKeyConfirmTm = 0;
if (GPKeyData == gPKeyBuffer){
FPKeyDecodeOk = 1;
}
else FPKeyDetect = 0;
}
}
else{
if ((gMain00 & cPKeyMask) == gPKeyBuffer){
if (++gPKeyConfirmTm > 10){
gPKeyConfirmTm = 0;
FPKeyStep = 0;
FPKeyDetect = 0;
}
}
else gPKeyConfirmTm = 0;
}
}
else{
gPKeyScan <<= 1;
if (gPKeyScan == cPKeyDigitEnd) gPKeyScan = cPKeyDigitHome;
}
IOP1 &= 0x80; //没有参加的脚位
IOP1 |= gMain00 | cPKeyMask;
return;
}
void MUSDELAY(BYTE gLocal_1){
if (gLocal_1 > 6){
while (--gLocal_1 != 0);
}
return;
}
void MDELAY(BYTE gLocal_1){
WORD g2Local_1;
do {
g2Local_1 = 159;
while (--g2Local_1 != 0);
} while (--gLocal_1 != 0);
return;
}
void TBascTimer(void) interrupt 1 using 2 {
if (++gTBascTimer > 7){
gTBascTimer = 0;
++g10msTimer;
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -