TRANS=0XE2; //复位
TRANS2(); //发出控制命令
TRANS=0XA0; //ADC选择正常输出
TRANS2(); //发出控制命令
CLEAR2(); //清屏
LCDSTA2(); //判断液晶是否为空闲
DISP2(); //开显示
}
//LCD的E1边显示函数,调用一次该函数,则在相应的位置显示相应的字
void dis1()
{
TRANS=row;
TRANS1();
TRANS=PAGEADD;
TRANS1();
i=i*32; //i变成数组指示指针
for(k=0;k<16;k++) {
WRITE=table[i+k]; //查得需要显示的字节
WRITE1(); //在WRITE1子程序里面,列地址加1
}
CLMADD=CLMADD-16;//恢复列地址
PAGEADD=PAGEADD+1;//页地址加1
TRANS=PAGEADD;
TRANS1();
for(;k<32;k++) {
WRITE=table[i+k]; //查得需要显示的字节
WRITE1(); //在WRITE1子程序里面,列地址已经加1
}
}
//LCD的E2边显示函数,调用一次该函数,则在相应的位置显示相应的字
void dis2()
{
TRANS=row;
TRANS2();
TRANS=PAGEADD;
TRANS2();
i=i*32; //i变成数组指示指针
for(k=0;k<16;k++) {
WRITE=table[i+k]; //查得需要显示的字节
WRITE2(); //在WRITE1子程序里面,列地址已经加1
}
CLMADD=CLMADD-16;//恢复列地址
PAGEADD=PAGEADD+1;//页地址加1
TRANS=PAGEADD;
TRANS2();
for(;k<32;k++) {
WRITE=table[i+k]; //查得需要显示的字节
WRITE2(); //在WRITE1子程序里面,列地址已经加1
}
}
//主程序
main()
{
INITIAL(); //系统初始化
lcd1(); //E1边初始化
lcd2(); //E2边初始化
row=0XC0; //显示起始列为第0行
//以下显示不同的字符
PAGEADD=0XB8; //显示起始页为第0页
CLMADD=0X00; //起始列为第0列
i=0; //显示数组中对应的第一个字
dis1(); //调用显示函数
PAGEADD=0XB8; //显示起始页为第0页
CLMADD=16; //起始列为第16列
i=1; //显示数组中对应的第二个字
dis1(); //调用显示函数
PAGEADD=0XB8; //显示起始页为第0页
CLMADD=32; //起始列为第32列
i=2; //显示数组中对应的第三个字
dis1(); //调用显示函数
PAGEADD=0XB8; //显示起始页为第0页
CLMADD=48; //起始列为第48列
i=3; //显示数组中对应的第四个字
dis1(); //调用显示函数
PAGEADD=0XB8; //显示起始页为第0页
CLMADD=0; //起始列为第0列
i=4; //显示数组中对应的第五个字
dis2(); //调用E2边显示函数
PAGEADD=0XBA; //显示起始页为第2页
CLMADD=0X00; //起始列为第0列
i=0; //显示数组中对应的第一个字
dis1(); //调用显示函数
PAGEADD=0XBA; //显示起始页为第2页
CLMADD=16; //起始列为第16列
i=5; //显示数组中对应的第六个字
dis1(); //调用显示函数
PAGEADD=0XBA; //显示起始页为第2页
CLMADD=32; //起始列为第32列
i=2; //显示数组中对应的第三个字
dis1(); //调用显示函数
PAGEADD=0XBA; //显示起始页为第2页
CLMADD=48; //起始列为第48列
i=3; //显示数组中对应的第四个字
dis1(); //调用显示函数
PAGEADD=0XBA; //显示起始页为第2页
CLMADD=0; //起始列为第0列
i=4; //显示数组中对应的第五个字
dis2(); //调用E2边显示函数
while(1) {
;
}
}
上一页 [1] [2] [3]
本文关键字:程序 PIC单片机,单片机-工控设备 - PIC单片机