完善资料让更多小伙伴认识你,还能领取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的速度监控
9943 浏览 0 评论
60659 浏览 77 评论
5676 浏览 3 评论
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
33104 浏览 219 评论
9833 浏览 0 评论
209浏览 1评论
【教程】使用Arduino和ATFC043彩屏将LM35温度数值图形化显示
4243浏览 1评论
2143浏览 1评论
请教:esp32中用u8g2显示shtc3传感器数据到i2c液晶屏,显示不稳定的问题
922浏览 1评论
1042浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 04:18 , Processed in 0.412810 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号