📄 fang.c
字号:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
sbit SS=P2^0;
sbit MOSI=P2^1;
sbit MOSO=P2^2;
sbit ISD_SCK=P2^3;
sbit INTT=P2^4;
sbit p07=P0^7;
sbit p27=P2^7;
void del10ms()
{
uchar i,j;
for(i=0;i<10;i++)
for(j=0;j<121;j++);
}
void del40ms()
{
uchar i,j;
for(i=0;i<40;i++)
for(j=0;j<121;j++);
}
void ISD4003(uchar ISD_HDATA,uchar ISD_LDATA)
{ uchar i;
SS=0;
ISD_SCK=0;
for(i=0;i<8;i++)
{
ISD_LDATA>>=1;
MOSI=CY;
_nop_();
_nop_();
ISD_SCK=1;
_nop_();
_nop_();
ISD_SCK=0;
_nop_();
}
for(i=0;i<8;i++)
{
ISD_HDATA>>=1;
MOSI=CY;
_nop_();
_nop_();
ISD_SCK=1;
_nop_();
_nop_();
ISD_SCK=0;
_nop_();
}
SS=1;
}
void ISD_play(uchar hh,uchar h,uchar l)
{
p27=0;
ISD4003(hh,l);
_nop_();
ISD4003(h,l);
while(1)
{
if(INTT==0)
{
p27=1;
break;
}
}
}
/***上电*/
void up_power()
{
ISD4003(0X20,0X00);
del40ms();
}
void scan_key()
{
uchar j,i,key;
j=0xfe;
key=0xff;
for (i=0;i<4;i++)
{ del10ms();
P0=j;
if ((P0&0xf0)!=0xf0)
{
key=P0;
break;
}
j=_crol_(j,1);//左循环一次
}
switch (key)
{ case 0x7e:
{ ISD_play(0xe0,0xf0,0x28);
break;
}
case 0x7d:
{ ISD_play(0xe0,0xf0,0x50);
break;}
case 0x7b:
{ ISD_play(0xe0,0xf0,0x78);
break;}
case 0x77:
{ISD_play(0xe0,0xf0,0xa0);
break;
}
case 0xbe:
{ ISD_play(0xe0,0xf0,0xa0);
break;
}
case 0xbd:
{ ISD_play(0xe0,0xf0,0xc8);
break;}
case 0xbb:
{ ISD_play(0xe0,0xf0,0xf0);
break;}
case 0xb7:
{ISD_play(0xe0,0xf0,0xa0);
break;
}
}
}
void main()
{
up_power();
while(1)
{
scan_key();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -