📄 8255._c
字号:
delay(1);
LCDCS21;
LCDCS11;
delay(100);
write_command(Disp_Off);
write_command((Page_Add+0));
write_command((Start_Line+0));
write_command((Col_Add+0));
write_command((Disp_On));
}
void init_IO()
{
DDRE=0xEF;
PORTE=0xff;
DDRB=0xff;
PORTB=0xff;
DDRD=0xf0;
PORTD=0xf0;
DDRF=0xfb;
PORTF=0xfb;
DDRG=0xff;
PORTG=0xff;
DDRA=0XFF;
PORTA=0XFF;
DDRC=0XFF;
PORTC=0XFF;
}
//TLC5615
void startDA(unsigned int da)
{
unsigned char i;
da<<=6;
CS_DA0;asm("nop");
SPI_CLK0;
for (i=0;i<11;i++)
{
if((da&0x8000)==0x8000)
SPI_DATA1;
if((da&0x8000)!=0x8000)
SPI_DATA0;
SPI_CLK1;
da<<=1;
SPI_CLK0;
}
CS_DA1;
SPI_CLK0;
for (i=0;i<11;i++);
}
//TLC2543
unsigned int startAD(unsigned char CHN)
{
unsigned char i,CHN1,k;
unsigned int backcode=0;
CHN1=CHN;
for(k=0;k<50;k++)
{ CHN=CHN1;backcode=0;
CHN <<= 4;
tlc2543_cs1;
tlc2543_clk0;
tlc2543_cs0;
for(i=0;i<12;i++)
{
if(i < 8)
{
if(CHN & 0x80) tlc2543_din1;
else tlc2543_din0;
CHN<<=1;
}
backcode <<= 1;
if(tlc2543_dout==0x04)
backcode|= 1;
else backcode|= 0;
tlc2543_clk1;
asm("nop");
asm("nop");
tlc2543_clk0;
}
tlc2543_cs1;
date2=(date2*1000+backcode )/1000;
}
date1=(date2/50)*1000; date2=0;
return(date1) ;
}
//ad9851
void ad9851( unsigned long int pinlv)
{ char i;
kongzhi[0]=0x09;
kongzhi[1]=12*pinlv/256/256;
kongzhi[2]=12*pinlv/256%256;
kongzhi[3]=12*pinlv%256;
kongzhi[4]=1490*pinlv%256;
wclk0; fqud0;
for (i=0;i<5;i++)
{
ad9851shuju=kongzhi[i];
delay(1);
wclk1;
delay(1);
wclk0;
}
fqud1;
delay(1);
fqud0;
}
//显示部分
void startmsg()
{int nu;
unsigned char nm=0;
Clr_Scr();
LCDCS21;LCDCS10;
disp_hz(0,32, huan);
delay(3000);
disp_hz(0,48, ying);
delay(3000);
LCDCS20;LCDCS11;
disp_hz(0,0, shi);
delay(3000);
disp_hz(0,16, yong);
LCDCS21;LCDCS10;
disp_hz(4,16, shu);
delay(3000);
disp_hz(4,32, kong);
delay(3000);
disp_hz(4,48, wen);
delay(3000);
LCDCS20;LCDCS11;
disp_hz(4,0, dya);
delay(3000);
disp_hz(4,16, ddian);
delay(3000);
disp_hz(4,32, yuan);
for(nu=0;nu<100;nu++)
{fengmingqiON;delay(30);fengmingqiOFF;delay(30);}
fengmingqiOFF;/*erjiguanOFF;*/
delay(30000);
}
void caidan(void)
{ Clr_Scr();
Clr_Scr();
LCDCS21;LCDCS10;
disp_zf(0,8, sz1);
disp_zf(0,16,xiaoshu);
disp_hz(0,32,wen);
disp_hz(0,48,dya);
delay(1000);
LCDCS20;LCDCS11;
disp_hz(0,0,chu);
disp_hz(0,16,cu);
delay(1000);
LCDCS21;LCDCS10;
disp_zf(2,8, sz2);
disp_zf(2,16,xiaoshu);
disp_hz(2,32,heng);
disp_hz(2,48,dliu);
delay(1000);
LCDCS20;LCDCS11;
disp_hz(2,0,chu);
disp_hz(2,16,cu);
delay(1000);
LCDCS21;LCDCS10;
disp_zf(4,8, sz3);
disp_zf(4,16,xiaoshu);
disp_hz(4,32,bo);
disp_hz(4,48,xing);
delay(1000);
LCDCS20;LCDCS11;
disp_hz(4,0,chu);
disp_hz(4,16,cu);
delay(10000);
}
void xianshi10()
{Clr_Scr();
Clr_Scr();
LCDCS21;LCDCS10;
disp_hz(0,0, dqing);
disp_hz(0,16, chu);
disp_hz(0,32, ru);
disp_hz(0,48, you);
LCDCS20;LCDCS11;
disp_hz(0,0, xiao);
disp_hz(0,16, ddian);
disp_hz(0,32, dya);
LCDCS21;LCDCS10;
disp_zf(2,0, sz2);
disp_zf(2,8, zhixian);
disp_zf(2,16, sz1);
disp_zf(2,24, sz5);
disp_zf(2,32, zfv);
LCDCS20;LCDCS11;
disp_zf(2,16, sz0);
disp_zf(2,24, sz0);
disp_zf(2,32, xiaoshu);
disp_zf(2,40, sz0);
disp_zf(2,48, zfv);
}
void xianshi11()
{Clr_Scr();
Clr_Scr();
LCDCS21;LCDCS10;
disp_hz(2,0, yu);
disp_hz(2,16, zhi);
disp_hz(2,32, ddian);
disp_hz(2,48, dya);
LCDCS20;LCDCS11;
disp_zf(2,16, num[jianzhi[0]]);
disp_zf(2,24, num[jianzhi[1]]);
disp_zf(2,32, xiaoshu);
disp_zf(2,40, num[jianzhi[2]]);
disp_zf(4,48, zfv);
disp_zf(2,48, zfv);
LCDCS21;LCDCS10;
disp_hz(4,0, si);
disp_hz(4,16, ji);
disp_hz(4,32, ddian);
disp_hz(4,48, dya);
}
void xianshiAD1(unsigned char CHN)
{ int da;
unsigned char x;
for(x=0;x<2;x++)
da=3*startAD(CHN);
LCDCS20;LCDCS11;
disp_zf(4,16, num[da/10000]);
disp_zf(4,24, num[(da/1000)%10]);
disp_zf(4,32, xiaoshu);
disp_zf(4,40, num[(da/100)%10]);
}
void xianshi20()
{Clr_Scr();
Clr_Scr();
LCDCS21;LCDCS10;
disp_hz(0,0, dqing);
disp_hz(0,16, chu);
disp_hz(0,32, ru);
disp_hz(0,48, you);
LCDCS20;LCDCS11;
disp_hz(0,0, xiao);
disp_hz(0,16, ddian);
disp_hz(0,32, dliu);
LCDCS21;LCDCS10;
disp_zf(2,0, sz2);
disp_zf(2,8, sz0);
disp_zf(2,16, zhixian);
disp_zf(2,24, sz2);
disp_zf(2,32, sz0);
disp_zf(2,40, sz0);
disp_zf(2,48, sz0);
disp_zf(2,56, zfm);
LCDCS20;LCDCS11;
disp_zf(2,0, zfA);
disp_zf(2,16, sz0);
disp_zf(2,24, sz0);
disp_zf(2,32, sz0);
disp_zf(2,40, sz0);
disp_zf(2,48, zfm);
disp_zf(2,56, zfA);
}
void xianshi21()
{Clr_Scr();
Clr_Scr();
LCDCS21;LCDCS10;
disp_hz(2,0, yu);
disp_hz(2,16, zhi);
disp_hz(2,32, ddian);
disp_hz(2,48, dliu);
LCDCS20;LCDCS11;
disp_zf(2,16, num[jianzhi[0]]);
disp_zf(2,24, num[jianzhi[1]]);
disp_zf(2,32, num[jianzhi[2]]);
disp_zf(2,40, num[jianzhi[3]]);
disp_zf(2,48, zfm);
disp_zf(2,56, zfA);
disp_zf(4,48, zfm);
disp_zf(4,56, zfA);
LCDCS21;LCDCS10;
disp_hz(4,0, si);
disp_hz(4,16, ji);
disp_hz(4,32, ddian);
disp_hz(4,48, dliu);
}
void xianshiAD2(unsigned char CHN)
{ int da;
unsigned char x;
for(x=0;x<2;x++)
da=startAD(CHN)/2;
LCDCS20;LCDCS11;
disp_zf(4,16, num[da/1000]);
disp_zf(4,24, num[(da/100)%10]);
disp_zf(4,32, num[(da/10)%10]);
disp_zf(4,40, num[da%10]);
}
void guoliu()
{Clr_Scr(); Clr_Scr();
LCDCS21;LCDCS10;
disp_hz(2,16, guo);
disp_hz(2,32, dliu);
LCDCS20;LCDCS11;
disp_hz(2,0, dqing);
disp_hz(2,16, chong);
disp_hz(2,32, qi);
}
void xianshi30()
{Clr_Scr();
LCDCS11;LCDCS20;
disp_zf(2,0,sz0) ;
disp_zf(2,8,sz0) ;
disp_zf(2,16,sz0) ;
disp_zf(2,24,sz0) ;
disp_zf(2,40,sz0) ;
LCDCS10;LCDCS21;
disp_hz(0,0,dqing);
disp_hz(0,16,chu);
disp_hz(0,32,ru);
disp_hz(0,48,yu);
LCDCS11;LCDCS20;
disp_hz(0,0,zhi);
disp_hz(0,16,pin);
disp_hz(0,32,lv);
LCDCS10;LCDCS21;
disp_zf(2,0,sz0) ;
disp_zf(2,8,zhixian) ;
disp_zf(2,16,sz5) ;
disp_zf(2,24,zfM) ;
}
void xianshi31()
{Clr_Scr();
LCDCS10;LCDCS21;
disp_hz(2,0,yu);
disp_hz(2,16,zhi);
disp_hz(2,32,pin);
disp_hz(2,48,lv);
LCDCS11;LCDCS20;
disp_zf(2,0,num[jianzhi[0]]) ;
disp_zf(2,8,num[jianzhi[1]]) ;
disp_zf(2,16,num[jianzhi[2]]) ;
disp_zf(2,24,num[jianzhi[3]]) ;
disp_zf(2,40,num[jianzhi[4]]) ;
disp_zf(2,48,zfk) ;
LCDCS10;LCDCS21;
disp_zf(4,0,num[kongzhi[1]/100]) ;
disp_zf(4,8,num[(kongzhi[1]/10)%10]) ;
disp_zf(4,16,num[kongzhi[1]%10]) ;
disp_zf(4,32,num[kongzhi[2]/100]) ;
disp_zf(4,40,num[(kongzhi[2]/10)%10]) ;
disp_zf(4,48,num[kongzhi[2]%10]) ;
LCDCS11;LCDCS20;
disp_zf(4,0,num[kongzhi[3]/100]) ;
disp_zf(4,8,num[(kongzhi[3]/10)%10]) ;
disp_zf(4,16,num[kongzhi[3]%10]) ;
disp_zf(4,32,num[kongzhi[4]/100]) ;
disp_zf(4,40,num[(kongzhi[4]/10)%10]) ;
disp_zf(4,48,num[kongzhi[4]%10]) ;
}
void dianyabujin()
{unsigned int re;
if(((key&0x0f)==14))
{while((key&0x0f)==14); writeDA=writeDA+8; if(writeDA>=1000) writeDA=1000;
re=writeDA*12;
startDA(writeDA);
LCDCS20;LCDCS11;
disp_zf(2,16, num[re/10000]);
disp_zf(2,24, num[(re/1000)%10]);
disp_zf(2,32, xiaoshu);
disp_zf(2,40, num[(re/100)%10]);
}
if(((key&0x0f)==13))
{while((key&0x0f)==13);writeDA=writeDA-8;if(writeDA<=0) writeDA=0; re=writeDA*12;
startDA(writeDA);
LCDCS20;LCDCS11;
disp_zf(2,16, num[re/10000]);
disp_zf(2,24, num[(re/1000)%10]);
disp_zf(2,32, xiaoshu);
disp_zf(2,40, num[(re/100)%10]);
}
}
void dianliubujin()
{ unsigned int re;
if(((key&0x0f)==14))
{while((key&0x0f)==14);writeDA=writeDA+4; if(writeDA>=1000) writeDA=1000 ; re=writeDA*2;
startDA(writeDA);
LCDCS20;LCDCS11;
disp_zf(2,16, num[re/1000]);
disp_zf(2,24, num[(re/100)%10]);
disp_zf(2,32, num[(re/10)%10]);
disp_zf(2,40, num[re%10]);
}
if(((key&0x0f)==13))
{while((key&0x0f)==13);writeDA=writeDA-4;if(writeDA<=0) writeDA=0; re=writeDA*2;
startDA(writeDA);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -