📄 main.c
字号:
#include <reg51.h>
#include "address.h"
void maii( );
void rec( );
void play( );
void checkfull( );
void mrest( );
unsigned char chesr1( );
void waitrdy( );
void rdstatus( );
unsigned char chesr0( );
void clrint( );
void powerup( );
void stopp( );
void chk_mem( );
void fwd( );
void dstop( );
void gerase( );
void rest( );
void wr_apc(unsigned char a1,unsigned char a2);
void delay10ms( );
void delayms(unsigned char ts);
unsigned char SPOI(unsigned char instr);
void main( )
{
SP=0x70;
P1=0xff;
P2=0xff;
P3=0xff;
P0=0xff;
EA=0;
maii( );
}
void maii( )
{
unsigned char apc1,apc2;
rest( );
dstop( );
LED=1;
if(STOP==0)
{
mrest( );
}
do{}while(AN==1);
delay10ms( );
if(AN==0)
{
powerup( );
if(MORA==1)
{
apc1=0x40;
apc2=0x04;
}
else
{
apc1=0x80;
apc2=0x04;
}
wr_apc(apc1,apc2);
waitrdy( );
while(1)
{
clrint( );
waitrdy( );
chk_mem( );
if(PR==1)
{
rec( );
}
else
{
play( );
}
}
}
}
void rec( )
{
bdata unsigned char resta;
unsigned char i;
delayms(50);
do
{
resta=SPOI(0x41);
resta=SPOI(0x00);
SS=1;
resta=chesr1( );
}while(resta^3==0);
LED=0;
for(i=0;i<200;i++)
{
while(AN==0)
{
checkfull( );
}
}
LED=1;
clrint( );
stopp( );
do
{
if(STOP==0) mrest( );
}while(AN==1);
clrint( );
stopp( );
}
void play( )
{
bdata unsigned char resr;
do{ }while(AN==0);
do
{
resr=SPOI(0x40);
resr=SPOI(0x00);
SS=1;
resr=chesr0( );
}while(resr^0==1);
LED=0;
do
{
if(STOP==0) mrest( );
resr=chesr1( );
}while(resr^0==0);
LED=1;
stopp( );
do
{
if(STOP==0) mrest( );
}while(AN==1);
fwd( );
}
void checkfull( )
{
bdata unsigned char i;
unsigned char j;
rdstatus( );
i=SPOI(05);
if(i^1==1)
{
while(1)
{
LED=1;
for(j=0;j<10;j++)
{
delayms(5);
if(AN==0) mrest( );
}
LED=0;
for(j=0;j<10;j++)
{
delayms(5);
if(AN==0) mrest( );
}
}
}
}
void mrest( )
{
unsigned char i,j;
for(i=0;i<60;i++)
{
if(STOP==1) break;
if(i==59)
{
gerase( );
for(j=0;j<3;j++)
{
LED=0;
delayms(40);
LED=1;
delayms(40);
}
}
}
stopp( );
clrint( );
maii( );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -