全部评论(1条)
-
- wypwyp98 2016-11-08 00:00:00
- unsigned char str1[]={"temperature: "}; unsigned char str2[]={" "}; unsigned char disdata[5]; /*************************lcd1602程序**************************/ void delay1ms(uint z) { uint t,y; for(t=z;t>0;t--) for(y=300;y>0;y--); } void wr_com(unsigned char com)//写指令// { //delay1ms(15); RS_0; RW_0; // EN_0; P4OUT=com; delay1ms(10); EN_1; delay1ms(15); EN_0; } void wr_dat(unsigned char dat)//写数据// { //delay1ms(1);; RS_1; RW_0; //EN_0; P4OUT=dat ; delay1ms(10); EN_1; delay1ms(15); EN_0; } /**************lcd初始化**************/ void lcd_init()//初始化设置// { //delay1ms(150); wr_com(0x38);//delay1ms(50); wr_com(0x0c);//delay1ms(50); wr_com(0x06);//delay1ms(50); wr_com(0x01);//delay1ms(50); //wr_com(0x08);//delay1ms(50); } void display(unsigned char *p)//显示// { while(*p!='\0') { wr_dat(*p); p++; delay1ms(15); } } init_play()//初始化显示 { lcd_init(); wr_com(0x80); display(str1); wr_com(0xc0); display(str2); } 部分代码。供参考。
-
赞(5)
回复(0)
热门问答
- lcd1602怎么使用?
- 程序?... 程序? 展开
2016-11-07 18:06:51
251
1
- C51单片机怎么让lcd1602显示两行?
2012-12-17 03:50:22
363
4
- LCD1602如何接单片机?
- 希望是您本身就做过这个实验,因为我LED-接单片机的地,LED+接单片机的电源VCC,三个(E,RW,RS)控制引脚接P2口,8个数据信号接P1口。VSS接单片机地,VCC接单片机的电源VCC,还有一个... 希望是您本身就做过这个实验,因为我LED-接单片机的地,LED+接单片机的电源VCC,三个(E,RW,RS)控制引脚接P2口,8个数据信号接P1口。VSS接单片机地,VCC接单片机的电源VCC,还有一个好像是液晶驱动(液晶第3脚)接单片机电源VCC,结果亮,但程序不能显示。(程序没问题的) 大都说的都很好,只能投票了 展开
2010-06-03 16:32:34
385
7
- LCD1602为什么有时要测忙
2017-05-20 20:08:14
733
2
- LCD1602液晶屏的第二行不显示??
- 程序都没有问题,我焊完diyi块板子,测试了一下,显示正常。又焊了第二块板子,结果只能diyi行显示,第二行显示不出来!哪位经验丰富的大侠指点一下……我深刻怀疑是单片机焊接除了问题... 程序都没有问题,我焊完diyi块板子,测试了一下,显示正常。又焊了第二块板子,结果只能diyi行显示,第二行显示不出来! 哪位经验丰富的大侠指点一下…… 我深刻怀疑是单片机焊接除了问题,但控制LCD的引脚反复检查了,没有虚焊也没有短路。还有什么原因会导致上述现象呢? 展开
2013-05-12 20:18:55
359
3
- 求通过使用pcf8951模块,获得土壤湿度传感器YL-69的湿度,在LCD1602上显示
- 有pcf的测试程序... 有pcf的测试程序 展开
2015-11-22 04:38:07
476
1
- 基于51单片机用LCD1602液晶显示的频率计程序
- 求程序——————
2013-04-23 19:11:42
305
1
- 有一段程序,应该是关于LCD1602的 ,看不懂。。所以求教
- voidlcd_pos(ucharpos){WriteCommandLCM(pos|0x80);//数据指针=80+地址变量}voidplay(){uchari;for(i=0;i<4;i++){display2[i]=display[i]+0x30;}display2[5]=display[4]/10+0x30;//时... void lcd_pos(uchar pos) { WriteCommandLCM(pos|0x80); //数据指针=80+地址变量 } void play() { uchar i; for(i=0;i<4;i++) { display2[i]=display[i]+0x30; } display2[5]=display[4]/10+0x30; //时单位数据处理 display2[4]=display[4]%10+0x30; lcd_pos(0x40); WriteDataLCM(display2[5]); //显示时 WriteDataLCM(display2[4]); WriteDataLCM(0x3a); //显示':' WriteDataLCM(display2[3]); //显示分 WriteDataLCM(display2[2]); WriteDataLCM(0x3a); //显示':' WriteDataLCM(display2[1]); //显示秒 WriteDataLCM(display2[0]); } void ba() { display4[0]=display3[0]+0x30; display4[1]=display3[1]+0x30; display4[2]=display3[2]+0x30; display4[3]=display3[3]+0x30; display4[5]=display3[5]+0x30; //时单位数据处理 display4[4]=display3[4]+0x30; lcd_pos(0x40); WriteDataLCM(display4[5]); WriteDataLCM(display4[4]); //显示秒WriteDataLCM(display4[5]); WriteDataLCM(0x3a); //显示':' WriteDataLCM(display4[3]); WriteDataLCM(display4[2]); //显示分 WriteDataLCM(0x3a); //显示':' WriteDataLCM(display4[1]); WriteDataLCM(display4[0]); //显示时 } 展开
2016-08-23 22:38:17
372
1
- LCD1602 从八位数据输出转四位数据输出 要做哪些改变
- C编写,具体是哪些函数需要改变?我就改了初始化函数和写命令、写数据函数,但是输出屏幕空白代码如下voidLCD_Init(void)//初始化的{LCD_CTRL_DIR=0x00;//LCD控制用寄存器置为输出LCD... C编写,具体是哪些函数需要改变?我就改了初始化函数和写命令、写数据函数,但是输出屏幕空白
代码如下
void LCD_Init(void) //初始化的
{
LCD_CTRL_DIR = 0x00; // LCD控制用寄存器置为输出
LCD_DATA_DIR = 0x00; //LCD数据用寄存器也置为输出
LCD_DATA = 0x00; //清数据寄存器
DelayMS(5); //数据手册要求大于4.1ms
// 开始输出软件复位序列
LCD_Write_CMD(0x28);
DelayMS(1); //数据手册要求等待时间大于100us
LCD_Write_CMD(0x28);
DelayMS(1); //数据手册要求等待时间大于40us
LCD_Write_CMD(0x28);
DelayMS(1); //数据手册要求查忙信号或者等待时间超过40us
LCD_E = 1 ;
NOP();
NOP();
LCD_E = 0 ;
LCD_Write_CMD(0x28); //显示模式设为2行,8位数据模式
DelayMS(1); //数据手册要求查忙信号或者等待时间超过40us
LCD_Write_CMD(DISP_OFF); // 关显示
DelayMS(1); //数据手册要求查忙信号或者等待时间超过40us
LCD_Write_CMD(ENTRY_INC); //设定输入方式为地址增量
DelayMS(1); //数据手册要求查忙信号或者等待时间超过40us
LCD_Write_CMD(CLR_DISP); // 清空屏幕显示
DelayMS(1) ; //数据手册要求查忙信号或者等待时间超过40us
// 复位序列结束
LCD_Write_CMD(DISP_ON); // 开启LCD显示
DelayMS(1);
} //向LCD写指令 void LCD_Write_CMD( unsigned char LCD_CMD) {DelayMS(1);
LCD_RS=0;
LCD_DATA &= 0x0F;
LCD_DATA |= (LCD_CMD&0xF0);
LCD_E = 1 ;
NOP();
NOP();
LCD_E = 0 ;
DelayMS(1) ;
LCD_CMD=LCD_CMD<<4;
LCD_DATA &= 0x0F;
LCD_DATA |= LCD_CMD&0xF0;
LCD_E = 1 ;
NOP();
NOP();
LCD_E = 0 ;
DelayMS(1) ;
} //向LCD写数据 void LCD_Write_Data( unsigned char LCD_CMD) { DelayMS(1); LCD_RS=0; LCD_DATA &= 0x0F; LCD_DATA |= (LCD_CMD&0xF0); LCD_E = 1 ; NOP(); NOP(); LCD_E = 0 ; DelayMS(1) ; LCD_CMD=LCD_CMD<<4; LCD_DATA &= 0x0F; LCD_DATA |= LCD_CMD&0xF0; LCD_E = 1 ; NOP(); NOP(); LCD_E = 0 ; DelayMS(1) ; } 展开
2012-07-05 05:28:00
443
3
- OLED与lcd1602在显示上有什么不同以及用法
2018-11-16 20:30:15
415
0
- 电泳仪怎么使用?
- 电泳仪怎么使用?
2019-06-24 17:30:52
948
1
- 水准仪怎么使用?
2013-10-26 02:09:40
493
3
- 水准仪怎么使用?
2016-03-19 01:32:02
407
3
- 振荡器怎么使用?
- 我男朋友抱在身边,想买一个可以震动的性用品,有没有用过的朋友?好不好把那个震坏了?哪里有卖?... 我男朋友抱在身边,想买一个可以震动的性用品,有没有用过的朋友?好不好把那个震坏了?哪里有卖? 展开
2009-08-13 17:16:28
318
2
- 压力真空表怎么使用
2017-10-27 16:55:47
593
1
- 压力真空表怎么使用
2011-10-05 03:58:08
659
4
- 人工气候箱怎么使用
2011-11-30 16:35:10
675
3
- 钳形电流表怎么使用?
- 哪位大哥大姐知道详细点的请指点
2010-04-30 05:06:06
243
2
- 钳形电流表怎么使用﹖
2013-06-13 03:02:12
350
2
9月突出贡献榜
- 单位预算忏悔
- 饿啊地方
- 空中有牛
- 依然相信你会
- 本生(天津)健康科技有限公司
- 猫合宝
- 广东皓天检测仪器有限公司
- 武汉安德信检测设备有限公司
- 上海一科仪器有限公司
- 牛牛麻麻2
- 东莞市皓天试验设备有限公司
- futu888
推荐主页
最新话题
参与评论
登录后参与评论