📄 hx8312.c
字号:
unsigned int i,j;
addr();
for(j=0;j<160;j++)
{
for(i=0;i<15;i++)
{
WriteDAT(0x00,0x00);//1
}
for(i=15;i<30;i++)
{
WriteDAT(0x10,0x82);//2
}
for(i=30;i<45;i++)
{
WriteDAT(0x21,0x04); //3
}
for(i=45;i<60;i++)
{
WriteDAT(0x31,0x86); //4
}
for(i=60;i<75;i++)
{
WriteDAT(0x42,0x08); //5
}
for(i=75;i<90;i++)
{
WriteDAT(0x52,0x8a); //6
}
for(i=90;i<105;i++)
{
WriteDAT(0x63,0x0c); //7
}
for(i=105;i<120;i++)
{
WriteDAT(0x73,0x8e); //8
}
for(i=120;i<135;i++)
{
WriteDAT(0x7b,0xcf); //9
}
for(i=135;i<150;i++)
{
WriteDAT(0x94,0x92); //10
}
for(i=150;i<165;i++)
{
WriteDAT(0xa5,0x14); //11
}
for(i=165;i<180;i++)
{
WriteDAT(0xb5,0x96); //12
}
for(i=180;i<195;i++)
{
WriteDAT(0xc6,0x18); //13
}
for(i=195;i<210;i++)
{
WriteDAT(0xd6,0x9a); //14
}
for(i=210;i<225;i++)
{
WriteDAT(0xe7,0x1c); //15
}
for(i=225;i<240;i++)
{
WriteDAT(0xff,0xff); //16
}
}
for(j=160;j<320;j++)
{
for(i=0;i<120;i++)
{
WriteDAT(0x00,0x00);
}
for(i=120;i<240;i++)
{
WriteDAT(0xff,0xff);
}
}
}
void Pattern4() //vertical
{
unsigned int i,j;
addr();
for(i=0;i<320;i++)
{
for (j=0;j<120;j++)
{
WriteDAT(0xff,0xff);
WriteDAT(0x00,0x00);
}
}
}
void Pattern5() //horizontal
{
unsigned int i,j;
addr();
for(i=0;i<160;i++)
{
for (j=0;j<240;j++)
{
WriteDAT(0xff,0xff);
}
for (j=0;j<240;j++)
{
WriteDAT(0x00,0x00);
}
}
}
void Pattern6() //snow
{
unsigned int i,j;
addr();
for(i=0;i<160;i++)
{
for (j=0;j<120;j++)
{
WriteDAT(0xff,0xff);
WriteDAT(0x00,0x00);
}
for (j=0;j<120;j++)
{
WriteDAT(0x00,0x00);
WriteDAT(0xff,0xff);
}
}
}
void Pattern7() //All on
{
unsigned int i,j;
WriteRegister(0x4200);
WriteRegister(0x4300);
WriteRegister(0x4400);
for(i=0;i<320;i++)
{
for (j=0;j<240;j++)
{
WriteDAT(0xff,0xff);
}
}
}
/*void Pattern8() //Display picture/
{
int i,j;
int x,y;
WriteRegister(0x4200);
WriteRegister(0x4300);
WriteRegister(0x4400);
for(i=0;i<1;i++)
{
for (j=0;j<240;j++)
{
WriteDAT(0xff,0xff);
}
}
for(j=0;j<1;j++)
{
x=50878;
y=50879;
for(i=0;i<25440;i++)
{
WriteDAT(pic2[x],pic2[y]);
x=x-2;
y=y-2;
}
}
for(j=0;j<1;j++)
{
x=50878;
y=50879;
for(i=0;i<25440;i++)
{
WriteDAT(pic2[x],pic2[y]);
x=x-2;
y=y-2;
}
}
for(j=0;j<1;j++)
{
x=50878;
y=50879;
for(i=0;i<25440;i++)
{
WriteDAT(pic2[x],pic2[y]);
x=x-2;
y=y-2;
}
}
for(i=0;i<1;i++)
{
for (j=0;j<240;j++)
{
WriteDAT(0xff,0xff);
}
}
}
*/
void Pattern9()
{
unsigned int i,j;
WriteRegister(0x4200);
WriteRegister(0x4300);
WriteRegister(0x4400);
for(i=0;i<320;i++)
{
for (j=0;j<40;j++)
{
WriteDAT(0xf8,0x00);//R
}
for (j=0;j<40;j++)
{
WriteDAT(0x07,0xe0);//G
}
for (j=0;j<40;j++)
{
WriteDAT(0x00,0x1f);//B
}
for (j=0;j<40;j++)
{
WriteDAT(0xff,0xe0);//RG
}
for (j=0;j<40;j++)
{
WriteDAT(0xf8,0x1f);//RB
}
for (j=0;j<40;j++)
{
WriteDAT(0x07,0xff);//GB
}
}
}
void Pattern10() //Display picture
{
unsigned int i,j;
addr();
for(j=0;j<1;j++)
{
for(i=0;i<240;i++)
{
WriteDAT(0xff,0xff);
}
}
for(i=1;i<319;i++)
{
for (j=0;j<1;j++)
{
WriteDAT(0xf8,0x00); //R
}
for (j=1;j<239;j++)
{
WriteDAT(0x00,0x00); //all off
}
for (j=239;j<240;j++)
{
WriteDAT(0x00,0x1f); //B
}
}
for(j=319;j<320;j++)
{
for(i=0;i<240;i++)
{
WriteDAT(0xff,0xff);
}
}
}
void press(void) // STEP or AUTO Status
{
while(STEPB==1&AUTOB==0)
{
delayms(5);
}
if(STEPB==0)
{
delayms(5);
while(STEPB==0)
{
delayms(4);
}
delayms(5);
}
else if(AUTOB==1)
{
delayms(70);
}
delayms(5);
}
void delayms(int count) // X10ms
{
int i,j;
for(i=0;i<count;i++)
for(j=0;j<500;j++);
}
void showrom1PIC()
{
unsigned char j,k,n,m,r=0;
unsigned int s=0,i;
for(k=0;k<3;k++)
{
addr();
for(i=0;i<320;i++)
{
for (j=0;j<240;j++)
{ ChipSelect=0;
if(s==0xffff)
{
s=0;
r=r+1;
}
P1=0xff&r;
CSROM1=0;
CSROM2=1;
if(s==0)
{ m=XBYTE[s];
n=XBYTE[s+1];
s=s+1;
}
else
{ m=XBYTE[s+1];
n=XBYTE[s+2];
s=s+2;
}
CSROM1=1;
CSROM2=1;
ChipSelect=1;
WriteDAT(m,n);//GB
// if(p>66535)
//{BankPort0=1;BankPort1=0;BankPort2=0;}
}
}
delayms(100);
press();
}
}
void showrom2PIC()
{
unsigned char j,k,n,m,r=0;
unsigned int s=0,i;
for(k=0;k<3;k++)
{
addr();
for(i=0;i<320;i++)
{
for (j=0;j<240;j++)
{ ChipSelect=0;
if(s==0xffff)
{
s=0;
r=r+1;
}
P1=0xff&r;
CSROM1=1;
CSROM2=0;
if(s==0)
{ m=XBYTE[s];
n=XBYTE[s+1];
s=s+1;
}
else
{ m=XBYTE[s+1];
n=XBYTE[s+2];
s=s+2;
}
CSROM1=1;
CSROM2=1;
ChipSelect=1;
WriteDAT(m,n);
// if(p>66535)
//{BankPort0=1;BankPort1=0;BankPort2=0;}
}
}
delayms(100);
press();
}
}
void selectDISROM(void) interrupt 0
{
showrom1PIC();
showrom2PIC();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -