📄 240128.c
字号:
#include<aduc841.h>
#include<math.h>
#include<240128.h>
#include<absacc.h>
//#include<hz.h>
void set_ram_pointer(unsigned int idata addstart,unsigned char idata x,unsigned char idata y)
{
unsigned int idata tmp;
tmp=addstart+y*30+x;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=(tmp)&0xff;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=(tmp>>8)&0xff;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x24; //address pointer set 32k
}
/*
void set_cursor_1(unsigned char idata x,unsigned char idata y)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=x;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=y;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x21;
}
void set_cursor_2(unsigned char idata x,unsigned char idata y)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=x;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=y+0x10;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x21;
}
*/
void set_text_ramstart(unsigned int idata add)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=add&0xff;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=(add>>8)&0xff;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x40;
}
void set_graph_ramstart(unsigned int idata add)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=add&0xff;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=(add>>8)&0xff;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x42;
}
void set_text_area(unsigned char idata col)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=col;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=0;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x41;
}
void set_graph_area(unsigned char idata col)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=col;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=0;
while(((LCD_inst)&0x03)!=0x03); //check STA0
LCD_inst=0x43;
}
void set_mode(unsigned char idata mode,unsigned char ie)// mode:'a'-and mode,'o'-or mode,'x'-xor mode,'t'-text mode
{
if (mode=='a')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0x83+0x08*(unsigned char)(ie);
}
if (mode=='o')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0x80+0x08*(unsigned char)(ie);
}
if (mode=='x')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0x81+0x08*(unsigned char)(ie);
}
if (mode=='t')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0x84+0x08*(unsigned char)(ie);
}
}
void set_onoff(bit c_blink,bit c_show,bit text_show,bit graph_show)
{
unsigned char idata tmp=0x90;
if (graph_show) tmp=tmp+0x08;
if (text_show) tmp=tmp+0x04;
if (c_show) tmp=tmp+0x02;
if (c_blink) tmp=tmp+0x01;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=tmp;
}
/*
void set_cursor_shape(unsigned char idata shape)
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0x14+shape;
}
*/
void write_ramauto(unsigned char indata[],unsigned int idata num)
{
unsigned int idata tmp;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0xb0;
for(tmp=0;tmp<num;tmp++)
{
while(!((LCD_inst)&0x08)); //check STA3
LCD_data=indata[tmp];
}
while(((LCD_inst)&0x03)!=0x03); //check STA3
LCD_inst=0xb2;
}
void write_ramautoc(unsigned char indata[],unsigned char idata num)
{
unsigned char idata tmp;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0xb0;
for(tmp=0;tmp<num;tmp++)
{
while(!((LCD_inst)&0x08)); //check STA3
LCD_data=indata[tmp]-0x20;
}
while(!((LCD_inst)&0x08)); //check STA3
LCD_inst=0xb2;
}
void write_ramonce(unsigned char idata indata,unsigned char idata mode) //mode:'i'-increase,'d'-decrease,'n'-nonvolatile
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_data=indata;
if(mode=='i')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0xc0;
}
if(mode=='d')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0xc2;
}
if(mode=='n')
{
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=0xc4;
}
}
void write_rambit(bit setclr,unsigned char idata nbit)
{
unsigned char idata tmp=0xf0;
if (setclr) tmp=tmp+0x08;
while(((LCD_inst)&0x03)!=0x03); //check STA1
LCD_inst=tmp+nbit;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -