?? pt2313.c
字號:
#include <reg52.h>
#include <VIIC_C51.H>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00
};
uchar data s[3];
uchar keys,plag=0,m1,m2,m3;
uchar keyscan();
sbit sda=P2^7;
sbit scl=P2^6;
sbit ADDvol=P1^0;
sbit SUBvol=P1^1;
sbit ADDbass=P1^2;
sbit SUBbass=P1^3;
sbit ADDtreb=P1^4;
sbit SUBtreb=P1^5;
sbit mute=P1^6;
void delay(uint x)
{
uchar y;
for(;x>0;x--)
for(y=100;y>0;y--);
}
void main()
{
ISendByte(0x88,0x9f);/*----------------------初始化--------------------*/
delay(1);
ISendByte(0x88,0xbf);
delay(1);
ISendByte(0x88,0xdf);
delay(1);
ISendByte(0x88,0xff);
delay(10);
ISendByte(0x88,0x51);
delay(1);
ISendByte(0x88,0x52);
delay(1);
ISendByte(0x88,0x53);
delay(1);
ISendByte(0x88,0x54);
delay(10);
ISendByte(0x88,0x80);
delay(1);
ISendByte(0x88,0xa0);
delay(1);
ISendByte(0x88,0xc0);
delay(1);
ISendByte(0x88,0xe0);
delay(10);
ISendByte(0x88,0x00);/*-----------------測試段-----------------*/
delay(1);
ISendByte(0x88,0x6f);
delay(1);
ISendByte(0x88,0x7f);
delay(10);
IRcvStr(0xa0,0x00,&s,3);
delay(10);
ISendByte(0x88,s[0]);
delay(1);
ISendByte(0x88,s[1]);
delay(1);
ISendByte(0x88,s[2]);
delay(10); /*-----------------初始化結(jié)束-------------*/
m1=s[0]&&0x3f;
m2=s[1]&&0x68;
m3=s[2]&&0x78;
while(1)
{
switch (keyscan())
{
case 1:m1--;if(m1==0xff)m1=0x00;ISendByte(0x88,m1);delay(1);
ISendStr(0x00,0x00,&m1,1); delay(1);break;
case 2:m1++;if(m1==0x40)m1=0x3f;ISendByte(0x88,m1);delay(1);
ISendStr(0x00,0x00,&m1,1); delay(1);break;
case 3:m2--;if(m2==0x67)m2=0x68;ISendByte(0x88,m2);delay(1);
ISendStr(0x00,0x00,&m2,1); delay(1);break;
case 4:m2++;if(m2==0x70)m2=0x6f;ISendByte(0x88,m2);delay(1);
ISendStr(0x00,0x00,&m2,1); delay(1);break;
case 5:m3--;if(m3==0x77)m3=0x78;ISendByte(0x88,m3);delay(1);
ISendStr(0x00,0x00,&m3,1); delay(1);break;
case 6:m3++;if(m3==0x80)m3=0x7f;ISendByte(0x88,m3);delay(1);
ISendStr(0x00,0x00,&m3,1); delay(1);break;
case 7: ISendByte(0x88,0x80);
delay(1);
ISendByte(0x88,0xa0);
delay(1);
ISendByte(0x88,0xc0);
delay(1);
ISendByte(0x88,0xe0);
delay(1);break;
case 8: ISendByte(0x88,0x9f);
delay(1);
ISendByte(0x88,0xbf);
delay(1);
ISendByte(0x88,0xdf);
delay(1);
ISendByte(0x88,0xff);
delay(1);break;
}
}
}
uchar keyscan()
{ uchar a=0;
P1=0xff;
keys=P1;
while(keys!=0xff)
{
delay(5);
keys=P1;
while(keys==0xfe)
{
plag=1;
keys=0xff;
}
while(keys==0xfd)
{
plag=2;
keys=0xff;
}
while(keys==0xfb)
{
plag=3;
keys=0xff;
}
while(keys==0xf7)
{
plag=4;
keys=0xff;
}
while(keys==0xef)
{
plag=5;
keys=0xff;
}
while(keys==0xdf)
{
plag=6;
keys=0xff;
}
while(keys==0xbf)
{ a++;
if(a==2)a=0;
if(a==0)
plag=7;
if(a==1)
plag=8;
while(!P1)
keys=0xff;
}
}
return plag;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -