📄 saa7120.c
字号:
#include"reg51.h"
sbit Led1=P1^7;
sbit Led2=P3^5;
sbit Led3=P3^4;
sbit Led4=P3^3;
sbit Led5=P3^2;
sbit Led6=P3^1;
sbit SDA=P1^0;
sbit SCL=P1^1;
sbit key2=P1^2;
sbit key3=P1^3;
sbit key4=P3^7;
sbit A4052=P1^5;
sbit B4052=P1^4;
sbit Set4053=P1^6;
unsigned char code pal[128]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x7D,0xAF,0x23,0x2e,0x2e,
0x00,0x06,0x2F,0xCB,0x8A,0x09,0x2A,0x00,0x00,0x00,0x00,0x20,0x36,0x15,0x80,0x00,
0x80,0xe8,0x10,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x1F,0x40,0x00,0x00,0x00
/*0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x7D,0xAF,0x23,0x35,0x35,
0x00,0x06,0x2F,0xCB,0x8A,0x09,0x2A,0x00,0x00,0x00,0x00,0x20,0x01,0x30,0xa0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
*/};
unsigned char code ntsc[128]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x76,0xA5,0x2a,0x2e,0x2e,
0x00,0x15,0x3F,0x1f,0x7c,0xf0,0x21,0x00,0x00,0x00,0x00,0x20,0x26,0x15,0x80,0x00,
0x80,0xe8,0x10,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x1F,0x40,0x00,0x00,0x00};
bit write_reg(unsigned char sla,unsigned char suba,unsigned char c);
bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no);
bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no);
//----------5ms-delay-----------*
void delay_5ms()
{
unsigned int k;
for(k=0;k<1000;k++)
;
}
void Dly(unsigned char i) /*延时*/
{
unsigned char j,k;
for(k=0;k<i;k++)
{
for(j=0;j<200;j++);
}
}
void main(void)
{
unsigned char i;unsigned char g;unsigned char *mm;
bit m=0,n=0,p=0;
unsigned char status[3];
for(i=0;i<3;i++)
{
Led1=0;Led2=1;Led3=1;Led4=1;Led5=1;Led6=1;Dly(2000);
Led1=1;Led2=0;Led3=1;Led4=1;Led5=1;Led6=1;Dly(2000);
Led1=1;Led2=1;Led3=0;Led4=1;Led5=1;Led6=1;Dly(2000);
Led1=1;Led2=1;Led3=1;Led4=0;Led5=1;Led6=1;Dly(2000);
Led1=1;Led2=1;Led3=1;Led4=1;Led5=0;Led6=1;Dly(2000);
Led1=1;Led2=1;Led3=1;Led4=1;Led5=1;Led6=0;Dly(2000);
}
//******************************************************初始设置
Led1=0;//Led2=1;Led3=0;Led4=1;Led5=0;Led6=1;
//A4052=0;B4052=0;Set4053=1;
// goto PAL;
IRcvStr(0xa0,0,status,3);Dly(50);
if(status[2]==0)
{Set4053=0;Led2=0;p=1;}
else {Set4053=1;Led2=1;p=0;}
if(status[1]==0)
{A4052=1;B4052=0;Led3=1;Led4=0;n=1;}
else {A4052=0;B4052=0;Led3=0;Led4=1;n=0;}
if(status[0]==0)goto NTSC;else goto PAL;
//*****************************************************************
for(;;)
{
key2=1;key3=1;key4=1;
sw:
if(~key4)
{
delay_5ms();
if(~key4)
{
while(~key4);
//Led1=0;Led2=1;Dly(2000);Led1=1;Led2=0;Dly(2000);Led2=1;
//RES7121=0;Dly(50);RES7121=1;
Dly(255);
if(m==1)
{
PAL:
write_reg(0xa0,0,1);Dly(50);m=0;Led5=0;Led6=1;
for(i=0;i<128;i++){write_reg(0x88,i,pal[i]);Dly(10);}
Dly(1000);
g=IRcvStr(0x8a,0,mm,1);//if(g==0)Led3=0;
Dly(200);
write_reg(0x8a,0x00,0x03);Dly(50);
write_reg(0x8a,0x01,0xc0);Dly(50);
write_reg(0x8a,0x02,0x00);Dly(50); //相位
goto sw;
}
if(m==0)
{
NTSC: write_reg(0xa0,0,0);Dly(50);m=1;Led5=1;Led6=0;
for(i=0;i<128;i++){write_reg(0x88,i,ntsc[i]);Dly(10);}
Dly(1000);
g=IRcvStr(0x8a,0,mm,1);//if(g==0)Led3=0;
Dly(200);
write_reg(0x8a,0x00,0x03);Dly(50);
write_reg(0x8a,0x01,0x00);Dly(50);
write_reg(0x8a,0x02,0x1f);Dly(50); //相位
goto sw;
}
}
}
if(~key3)
{
delay_5ms();
if(~key3)
{
while(~key3);
if(n==0){A4052=1;B4052=0;Led3=1;Led4=0;n=1;write_reg(0xa0,1,0);Dly(50);goto sw;}
if(n==1){A4052=0;B4052=0;Led3=0;Led4=1;n=0;write_reg(0xa0,1,1);Dly(50);goto sw;}
}
}
if(~key2)
{
delay_5ms();
if(~key2)
{
while(~key2);
if(p==0){Set4053=0;Led2=0;p=1;write_reg(0xa0,2,0);Dly(50);goto sw;}
if(p==1){Set4053=1;Led2=1;p=0;write_reg(0xa0,2,1);Dly(50);goto sw;}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -