你这个使用更简单,先说一下你那几个脚:
VCC:工作电源
GND:电源地
CS:选择信号(使用DigitalPin(),引脚不冲突即可)
DATA:数据信号(使用DigitalPin(),引脚不冲突即可)
CLK:时钟信号(使用DigitalPin(),引脚不冲突即可)
显示什么的要用自己的函数(自己编的),我这有点参考资料,直接给你粘上去好了。
————————————————————————————————————————
函数说明:
initialLCD1602():初始化液晶屏接口
LCD1602Display(byte asciis[]):显示16*2个字符,其中asciis[]有32个字符的ASCII码
setLCD1602(byte address,byte ascii):单独显示某个字符,address是要显示字符的地址,
ascii是字符的ASCII码。
使用范例
//CS,DATA,CLK
int lcd1602pins[3]={2,1,0};
byte asciis[32]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; void setup()
{
initialLCD1602();
} void setLCD1602(byte address,byte ascii)
{
int i;
digitalWrite(lcd1602pins[0],LOW);
for(i=0;i<5;i++)
{
digitalWrite(lcd1602pins[2],LOW);
digitalWrite(lcd1602pins[1],bitRead(address,4-i));
digitalWrite(lcd1602pins[2],HIGH);
}
for(i=0;i<8;i++)
{
digitalWrite(lcd1602pins[2],LOW);
digitalWrite(lcd1602pins[1],bitRead(ascii,7-i));
digitalWrite(lcd1602pins[2],HIGH);
}
digitalWrite(lcd1602pins[0],HIGH);
}
void initialLCD1602()
{
char i;
for(i=0;i<3;i++)
pinMode(lcd1602pins[i],OUTPUT);
//set CS line HIGH
digitalWrite(lcd1602pins[0],HIGH);
//set CLK line HIGH
digitalWrite(lcd1602pins[2],HIGH);
delay(500);
} void LCD1602Display(byte asciis[])
{
int i;
for(i=0;i<0x20;i++)
{
setLCD1602(i,asciis[i]);
}
} void loop()
{
setLCD1602(0x17,0x38);
LCD1602Display(asciis);
}
VCC:工作电源
GND:电源地
CS:选择信号(使用DigitalPin(),引脚不冲突即可)
DATA:数据信号(使用DigitalPin(),引脚不冲突即可)
CLK:时钟信号(使用DigitalPin(),引脚不冲突即可)
显示什么的要用自己的函数(自己编的),我这有点参考资料,直接给你粘上去好了。
————————————————————————————————————————
函数说明:
initialLCD1602():初始化液晶屏接口
LCD1602Display(byte asciis[]):显示16*2个字符,其中asciis[]有32个字符的ASCII码
setLCD1602(byte address,byte ascii):单独显示某个字符,address是要显示字符的地址,
ascii是字符的ASCII码。
使用范例
//CS,DATA,CLK
int lcd1602pins[3]={2,1,0};
byte asciis[32]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; void setup()
{
initialLCD1602();
} void setLCD1602(byte address,byte ascii)
{
int i;
digitalWrite(lcd1602pins[0],LOW);
for(i=0;i<5;i++)
{
digitalWrite(lcd1602pins[2],LOW);
digitalWrite(lcd1602pins[1],bitRead(address,4-i));
digitalWrite(lcd1602pins[2],HIGH);
}
for(i=0;i<8;i++)
{
digitalWrite(lcd1602pins[2],LOW);
digitalWrite(lcd1602pins[1],bitRead(ascii,7-i));
digitalWrite(lcd1602pins[2],HIGH);
}
digitalWrite(lcd1602pins[0],HIGH);
}
void initialLCD1602()
{
char i;
for(i=0;i<3;i++)
pinMode(lcd1602pins[i],OUTPUT);
//set CS line HIGH
digitalWrite(lcd1602pins[0],HIGH);
//set CLK line HIGH
digitalWrite(lcd1602pins[2],HIGH);
delay(500);
} void LCD1602Display(byte asciis[])
{
int i;
for(i=0;i<0x20;i++)
{
setLCD1602(i,asciis[i]);
}
} void loop()
{
setLCD1602(0x17,0x38);
LCD1602Display(asciis);
}