完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
int LCD1602_RS=12; //定义LCD显示屏的数据、命令选择端
int LCD1602_RW=11; //定义LCD显示屏的读写选择端 int LCD1602_EN=10; //定义LCD显示屏使能信号端 int DB[]={6,7,8,9}; //定义4总线的数字IO口 char str1[]="Welcome to";//定义第一行显示能容 char str2[]="Robot.cn";//第二行显示内容 void LCD_Command_Write(int command)//写命令 { int i,temp; digitalWrite(LCD1602_RS,LOW); digitalWrite(LCD1602_RW,LOW); digitalWrite(LCD1602_EN,LOW); temp=command & 0xf0; for (i=DB[0];i<=9;i++) {digitalWrite(i,temp & 0x80); temp<<=1; } digitalWrite(LCD1602_EN,HIGH); delayMicroseconds(1); digitalWrite(LCD1602_EN,LOW); temp=(command & 0x0f)<<4; for (i=DB[0];i<=10;i++) { digitalWrite(i,temp & 0x80); temp<<=1; } digitalWrite(LCD1602_EN,HIGH); delayMicroseconds(1); digitalWrite(LCD1602_EN,LOW); } void LCD_Date_Write(int dat) //写数据 { int i=0,temp; digitalWrite(LCD1602_RS,HIGH); digitalWrite(LCD1602_RW,LOW); digitalWrite(LCD1602_EN,LOW); temp=dat & 0xf0; for (i=DB[0];i<=9;i++) { digitalWrite(i,temp & 0x80); temp<<=1; } digitalWrite(LCD1602_EN,HIGH); delayMicroseconds(1); digitalWrite(LCD1602_EN,LOW); temp=(dat &0x0f)<<4; for (i=DB[0];i<=10;i++) { digitalWrite(i,temp & 0x80); temp<<=1; } digitalWrite(LCD1602_EN,HIGH); delayMicroseconds(1); digitalWrite(LCD1602_EN,LOW); } void LCD_SET_XY(int x,int y) //设置坐标 { int address; if ( y==0) address =0x80 + x; else address =0xC0 + x; LCD_Command_Write(address); } void LCD_Write_Char(int x,int y,int dat) //写字符 { LCD_SET_XY(x,y); LCD_Data_Write(dat); } void LCD_Write_String(int x,int y,char *s) //写字符串 { LCD_SET_XY(x,y);//设置地址 while(*s);//写字符串 { LCD_Date_Write(*s); s ++; } } void setup(void) { int i = 0; for (i=6,i<=12,i++) { pinMode(i,OUTPUT); } delay(100); LCD_Command_Write(0x28);//4线2行 5x7 delay(50); LCD_Command_Write(0x06); delay(50); LCD_Command_Write(0x0c); delay(50); LCD_Command_Write(0x80); delay(50); LCD_Command_Write(0x01); delay(50); } void loop(void) { LCD_Command_Write(0x02);//光标返回首地址 delay(50); LCD_Write_String(3,0,str1);//第一行,第四个地址起 delay(50); LCD_Write_String(1,1,str2);//第二行,第二个位置起 while(1); } |
|
相关推荐
2个回答
|
|
看报错啊同志!setup函数里,有个for循环你里面用的是逗号啊!!!!
还有LCD_Date_Write这个函数,有时候写的是LCD_Data_Write,名字都不一样,肯定会说没声明 |
|
|
|
lfjd05 发表于 2016-6-5 16:54 谢谢!非常感谢!我这就去看。 |
|
|
|
只有小组成员才能发言,加入小组>>
WIO Terminal +MCP2515 实现车辆OBD的速度监控
10374 浏览 0 评论
60659 浏览 77 评论
5965 浏览 3 评论
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
36121 浏览 219 评论
10028 浏览 0 评论
491浏览 1评论
请教:esp32中用u8g2显示shtc3传感器数据到i2c液晶屏,显示不稳定的问题
1256浏览 1评论
1396浏览 1评论
606浏览 0评论
725浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 09:15 , Processed in 0.736579 second(s), Total 73, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号