📄 lcd.c
字号:
#include <p30f4011.h>
#include "adr_port_define.h"
#include "extern_define.h"
unchar a[12]__attribute__ ((noload))={0};
UnWord data_high,data_low;
void DelayUmSec(UnDuWord N) //1ms delay
{
do{
}while(--N);
}
void clrram(void)
{
Nop();
wr_lcd(comm,0x30);
Nop();
wr_lcd(comm,0x01);
Nop();
}
void init_lcdsetup()
{
wr_lcd(comm,0x30); //fuction setting 72us
wr_lcd(comm,0x01); //clr display 1.6ms
wr_lcd(comm,0x06); //entrance piont setting 72us
wr_lcd(comm,0x0F); //view staus switch 72us
}
unchar chk_busy()
{
TRISB=0XFF;
Nop();
_TRISD0=0;
_TRISD2=0;
_TRISE8=0;
rs=0;
Nop();
Nop();
Nop();
Nop();
wr=1;
Nop();
Nop();
Nop();
Nop();
lcdcs=1;
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
lcdcs=0;
BUSY=busy;
TRISB=0X00;
Nop();
return(BUSY);
}
void wr_lcd(unchar dat_comm,unchar content)
{
TRISB=0X00; //RB0-RB7 DATA BUS
_TRISD0=0;
_TRISD2=0;
_TRISE8=0;
if(LCD_FLAG==1)
DelayUmSec(4000);
PORTB=content;
if(dat_comm)
{
rs=1; //write data
}
else
{
rs=0; //write instruction
}
Nop();
wr=0;
Nop();
Nop();
lcdcs=1;
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
lcdcs=0;
}
void array(UnWord data_num,UnWord m)
{
if(m==1000)
{
q=5;
k=4;
a[5]=11;
a[6]=11;
a[7]=13;
a[8]=14;
}
else if(m==100)
{
q=4;
k=3;
}
for(i=1;i<q;i++)
{
a[i]=data_num/m;
data_num=data_num- m*a[i];
m=m/10;
}
}
void array_num(UnDuWord data_number,UnWord mm)
{
Nop();
data_high=data_number/1000;
Nop();
data_low=data_number-data_high*1000;
mm=100;
for(i=1;i<4;i++)
{
a[i]=data_high/mm;
data_high=data_high - mm*a[i];
mm=mm/10;
}
mm=100;
for(i=4;i<7;i++)
{
a[i]=data_low/mm;
data_low=data_low - mm*a[i];
mm=mm/10;
}
Nop();
Nop();
k=10;
a[10]=12;
a[9]=11;
a[8]=11;
a[7]=a[6];
a[6]=a[5];
a[5]=a[4];
a[4]=10;
Nop();
}
void number_data()
{
for(i=1;i<=k;i++)
{
if(LCD_FLAG==1)
DelayUmSec(4000);
number(i);
}
}
void number(unchar qq)
{
rs=1;
Nop();
Nop();
wr=0;
Nop();
Nop();
lcdcs=1;
Nop();
Nop();
switch(a[qq])
{
case 0:
PORTB=0X30;
Nop();
Nop();
lcdcs=0;
case 1:
PORTB=0X31;
Nop();
Nop();
lcdcs=0;
case 2:
PORTB=0X32;
Nop();
Nop();
lcdcs=0;
case 3:
PORTB=0X33;
Nop();
Nop();
lcdcs=0;
case 4:
PORTB=0X34;
Nop();
Nop();
lcdcs=0;
case 5:
PORTB=0X35;
Nop();
Nop();
lcdcs=0;
case 6:
PORTB=0X36;
Nop();
Nop();
lcdcs=0;
case 7:
PORTB=0X37;
Nop();
Nop();
lcdcs=0;
case 8:
PORTB=0X38;
Nop();
Nop();
lcdcs=0;
case 9:
PORTB=0X39;
Nop();
Nop();
lcdcs=0;
case 10:
PORTB=0X2E;
Nop();
Nop();
lcdcs=0;
case 11:
PORTB=0X6D;
Nop();
Nop();
lcdcs=0;
case 12:
PORTB=0X20;
Nop();
Nop();
lcdcs=0;
case 13:
PORTB=0X2F;
Nop();
Nop();
lcdcs=0;
case 14:
PORTB=0X73;
Nop();
Nop();
lcdcs=0;
default:
break;
}
}
void chn_disp1(unchar const *chn1)
{
if(LCD_FLAG==1)
{
wr_lcd(comm,0x30);
wr_lcd(comm,0x80); //adress
for(j=0;j<6;j++)
{
wr_lcd(dat,chn1[j]);
if(LCD_FLAG==1)
DelayUmSec(4000);
}
}
else
{
if(xx_photo==1)
{
if(EXCHANGE==7)
{
j=0;
wr_lcd(dat,chn1[j]);
}
else if(EXCHANGE==8)
{
j=1;
wr_lcd(dat,chn1[j]);
}
else if(EXCHANGE==9)
{
j=2;
wr_lcd(dat,chn1[j]);
}
else if(EXCHANGE==10)
{
j=3;
wr_lcd(dat,chn1[j]);
}
else if(EXCHANGE==11)
{
j=4;
wr_lcd(dat,chn1[j]);
}
else if(EXCHANGE==12)
{
j=5;
wr_lcd(dat,chn1[j]);
}
}
}
}
void chn_disp2(unchar const *chn2)
{
if(LCD_FLAG==1)
{
wr_lcd(comm,0x30);
wr_lcd(comm,0x90); //adress
for(j=0;j<6;j++)
{
wr_lcd(dat,chn2[j]);
if(LCD_FLAG==1)
DelayUmSec(4000);
}
}
else
{
if(xx_photo==1)
{
if(EXCHANGE==15)
{
j=0;
wr_lcd(dat,chn2[j]);
}
else if(EXCHANGE==16)
{
j=1;
wr_lcd(dat,chn2[j]);
}
else if(EXCHANGE==17)
{
j=2;
wr_lcd(dat,chn2[j]);
}
else if(EXCHANGE==18)
{
j=3;
wr_lcd(dat,chn2[j]);
}
else if(EXCHANGE==19)
{
j=4;
wr_lcd(dat,chn2[j]);
}
else if(EXCHANGE==20)
{
j=5;
wr_lcd(dat,chn2[j]);
}
}
}
}
void chn_disp3(unchar const *chn3)
{
if(LCD_FLAG==1)
{
wr_lcd(comm,0x30);
wr_lcd(comm,0x88); //adress
for(j=0;j<6;j++)
{
wr_lcd(dat,chn3[j]);
if(LCD_FLAG==1)
DelayUmSec(4000);
}
}
else
{
if(xx_photo==1)
{
if(EXCHANGE==23)
{
j=0;
wr_lcd(dat,chn3[j]);
}
else if(EXCHANGE==24)
{ j=1;
wr_lcd(dat,chn3[j]);
}
else if(EXCHANGE==25)
{
j=2;
wr_lcd(dat,chn3[j]);
}
else if(EXCHANGE==26)
{
j=3;
wr_lcd(dat,chn3[j]);
}
else if(EXCHANGE==27)
{
j=4;
wr_lcd(dat,chn3[j]);
}
else if(EXCHANGE==28)
{
j=5;
wr_lcd(dat,chn3[j]);
}
}
}
}
void chn_disp4(unchar const *chn4)
{
if(xx_photo==2)
{
if(EXCHANGE==7)
{
// chk_busy();
j=0;
wr_lcd(dat,chn4[j]);
}
else if(EXCHANGE==8)
{
// chk_busy();
j=1;
wr_lcd(dat,chn4[j]);
}
else if(EXCHANGE==9)
{
// chk_busy();
j=2;
wr_lcd(dat,chn4[j]);
}
else if(EXCHANGE==10)
{
// chk_busy();
j=3;
wr_lcd(dat,chn4[j]);
}
}
}
void chn_disp5(unchar const *chn5)
{
if(xx_photo==2)
{
if(EXCHANGE==13)
{
j=0;
wr_lcd(dat,chn5[j]);
}
else if(EXCHANGE==14)
{
j=1;
wr_lcd(dat,chn5[j]);
}
else if(EXCHANGE==15)
{
j=2;
wr_lcd(dat,chn5[j]);
}
else if(EXCHANGE==16)
{
j=3;
wr_lcd(dat,chn5[j]);
}
else if(EXCHANGE==17)
{
j=4;
wr_lcd(dat,chn5[j]);
}
else if(EXCHANGE==18)
{
j=5;
wr_lcd(dat,chn5[j]);
}
}
}
void chn_disp6(unchar const *chn6)
{
if(xx_photo==2)
{
if(EXCHANGE==21)
{
j=0;
wr_lcd(dat,chn6[j]);
}
else if(EXCHANGE==22)
{
j=1;
wr_lcd(dat,chn6[j]);
}
else if(EXCHANGE==23)
{
j=2;
wr_lcd(dat,chn6[j]);
}
else if(EXCHANGE==24)
{
j=3;
wr_lcd(dat,chn6[j]);
}
else if(EXCHANGE==25)
{
j=4;
wr_lcd(dat,chn6[j]);
}
else if(EXCHANGE==26)
{
j=5;
wr_lcd(dat,chn6[j]);
}
}
}
void chn_disp7(unchar const *chn7)
{
if(xx_photo==3)
{
if(EXCHANGE==7)
{
j=0;
wr_lcd(dat,chn7[j]);
}
else if(EXCHANGE==8)
{
j=1;
wr_lcd(dat,chn7[j]);
}
else if(EXCHANGE==9)
{
j=2;
wr_lcd(dat,chn7[j]);
}
else if(EXCHANGE==10)
{
j=3;
wr_lcd(dat,chn7[j]);
}
}
}
void chn_disp8(unchar const *chn8)
{
if(xx_photo==3)
{
if(EXCHANGE==13)
{
j=0;
wr_lcd(dat,chn8[j]);
}
else if(EXCHANGE==14)
{
j=1;
wr_lcd(dat,chn8[j]);
}
else if(EXCHANGE==15)
{
j=2;
wr_lcd(dat,chn8[j]);
}
else if(EXCHANGE==16)
{
j=3;
wr_lcd(dat,chn8[j]);
}
}
}
void chn_disp9(unchar const *chn9)
{
if(xx_photo==3)
{
if(EXCHANGE==19)
{
j=0;
wr_lcd(dat,chn9[j]);
}
else if(EXCHANGE==20)
{
j=1;
wr_lcd(dat,chn9[j]);
}
else if(EXCHANGE==21)
{
j=2;
wr_lcd(dat,chn9[j]);
}
else if(EXCHANGE==22)
{
j=3;
wr_lcd(dat,chn9[j]);
}
}
}
void chn_disp10(unchar const *chn10)
{
if(xx_photo==4)
{
if(EXCHANGE==7)
{
j=0;
wr_lcd(dat,chn10[j]);
}
else if(EXCHANGE==8)
{
j=1;
wr_lcd(dat,chn10[j]);
}
else if(EXCHANGE==9)
{
j=2;
wr_lcd(dat,chn10[j]);
}
else if(EXCHANGE==10)
{
j=3;
wr_lcd(dat,chn10[j]);
}
}
}
void chn_disp11(unchar const *chn11)
{
if(xx_photo==4)
{
if(EXCHANGE==13)
{
j=0;
wr_lcd(dat,chn11[j]);
}
else if(EXCHANGE==14)
{
j=1;
wr_lcd(dat,chn11[j]);
}
else if(EXCHANGE==15)
{
j=2;
wr_lcd(dat,chn11[j]);
}
else if(EXCHANGE==16)
{
j=3;
wr_lcd(dat,chn11[j]);
}
else if(EXCHANGE==17)
{
j=4;
wr_lcd(dat,chn11[j]);
}
else if(EXCHANGE==18)
{
j=5;
wr_lcd(dat,chn11[j]);
}
}
}
void chn_disp12(unchar const *chn12)
{
if(xx_photo==4)
{
if(EXCHANGE==21)
{
j=0;
wr_lcd(dat,chn12[j]);
}
else if(EXCHANGE==22)
{
j=1;
wr_lcd(dat,chn12[j]);
}
else if(EXCHANGE==23)
{
j=2;
wr_lcd(dat,chn12[j]);
}
else if(EXCHANGE==24)
{
j=3;
wr_lcd(dat,chn12[j]);
}
else if(EXCHANGE==25)
{
j=4;
wr_lcd(dat,chn12[j]);
}
else if(EXCHANGE==26)
{
j=5;
wr_lcd(dat,chn12[j]);
}
}
}
void chn_disp13(unchar const *chn13)
{
if(KR_input==3)
{
j=0;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==4)
{
j=1;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==5)
{
j=2;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==6)
{
j=3;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==7)
{
j=4;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==8)
{
j=5;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==9)
{
j=6;
wr_lcd(dat,chn13[j]);
}
else if(KR_input==10)
{
j=7;
wr_lcd(dat,chn13[j]);
}
}
void chn_disp14(unchar const *chn14)
{
if(KR_input==3)
{
j=0;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==4)
{
j=1;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==5)
{
j=2;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==6)
{
j=3;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==7)
{
j=4;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==8)
{
j=5;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==9)
{
j=6;
wr_lcd(dat,chn14[j]);
}
else if(KR_input==10)
{
j=7;
wr_lcd(dat,chn14[j]);
}
}
void chn_disp15(unchar const *chn15)
{
if(KR_input==3)
{
j=0;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==4)
{
j=1;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==5)
{
j=2;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==6)
{
j=3;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==7)
{
j=4;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==8)
{
j=5;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==9)
{
j=6;
wr_lcd(dat,chn15[j]);
}
else if(KR_input==10)
{
j=7;
wr_lcd(dat,chn15[j]);
}
}
void chn_disp16(unchar const *chn16)
{
if(KR_input==3)
{
j=0;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==4)
{
j=1;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==5)
{
j=2;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==6)
{
j=3;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==7)
{
j=4;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==8)
{
j=5;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==9)
{
j=6;
wr_lcd(dat,chn16[j]);
}
else if(KR_input==10)
{
j=7;
wr_lcd(dat,chn16[j]);
}
}
void chn_disp17(unchar const *chn17)
{
if(KR_input==3)
{
j=0;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==4)
{
j=1;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==5)
{
j=2;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==6)
{
j=3;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==7)
{
j=4;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==8)
{
j=5;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==9)
{
j=6;
wr_lcd(dat,chn17[j]);
}
else if(KR_input==10)
{
j=7;
wr_lcd(dat,chn17[j]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -