仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

单片机控制1601液晶屏只显示8个字符!?

邱佩妍 2016-10-22 13:16:35 463  浏览
  • 我使用的是1601液晶屏,但是屏幕上只有8个字符能正常显示,如果把对比度调高也只能看见8个字符块,另外8个一直都没亮!请求大侠帮忙!在线等1601LCD只有一行16个字符无初始话情况下就... 我使用的是1601液晶屏,但是屏幕上只有8个字符能正常显示,如果把对比度调高也只能看见8个字符块,另外8个一直都没亮! 请求大侠帮忙!在线等 1601LCD 只有一行 16个字符 无初始话情况下就不对,考虑会不会是外部电路的问题?? 展开

参与评论

全部评论(1条)

  • 甜蜜Love戀 2016-10-23 00:00:00
    你仿照这个程序改改你的显示 #include<reg52.h> #include <intrins.h> #include <math.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define LCD_DATA P0 sbit lcd_flag=P0^7; sbit LCD_RS=P3^0; sbit LCD_RW=P3^1; sbit LCD_E=P3^3; sbit p32=P3^2; sbit ST=P2^3; sbit OE=P2^4; sbit EOC=P2^5; static long int counter; static long float f; float Vbuf=0,xy,tmp,flag=0; void lcd_delay(int ms) //延时函数 { uchar i; while(ms--) { for(i=0;i<250;i++) { _nop_();_nop_();_nop_();_nop_(); } } } bit lcd_busy() //判断是否忙碌 RS=Low,RW=High,E=High:读状态 { bit flag; LCD_RS=0; //寄存器为Low LCD_RW=1; //是否读写为High LCD_E=1; //使能端为High if (lcd_flag==1) flag=1; else flag=0; LCD_E=0; return flag; //返回标志,判断是否LCD忙碌 } write_command(uchar command) //写指令时序 { while(lcd_busy()); LCD_RS=0; LCD_RW=0; LCD_E=0; LCD_DATA=command; //delay_1ms(5); LCD_E=1; LCD_E=0; } write_data(uchar da) //写数据时序 { while(lcd_busy()); LCD_RS=1; LCD_RW=0; LCD_E=0; // delay_1ms(5); LCD_DATA=da; LCD_E=1; LCD_E=0; } void LCD_INIT(void) { write_command(0x38); lcd_delay(1); //LCD为2行,5×7字 write_command(0x0c); lcd_delay(1); //打开显示,显示光标,光标不闪 write_command(0x06); lcd_delay(1); //每次右移一字符 } void main() { uchar i,j,n; uchar buff[16],buf[16]; LCD_INIT(); P2 &=0xf8; while(1) { flag++; if(flag >= 10) { ST = 0; OE = 0; ST = 1; ST = 0; if(EOC == 1) { OE = 1; xy = P1; OE =0; if(xy > tmp) { tmp = xy; Vbuf = xy*1.0/50; } } } if(flag < 10) { TMOD=0X09; TH0=0; TL0=0; while(p32==1); TR0=1; while(p32==0); while(p32==1); TR0=0; } counter=TH0*256+TL0; while(counter<=500) /*判断是否分频及计算分频次数*/ { P2++; i++; counter=counter*10; if(i==2) { P2 &= 0xf8; break; } } f=(1843200.0/(2*counter))*pow(10,i); sprintf(buf," V=%4.2fv",Vbuf); //if(f<1500) f = f / 1.3123; if(f<1000) { sprintf(buff,"f=%4.2fHZ",f); } else if(f<1000000) { f=f/1000; sprintf(buff,"f=%4.2fkHZ",f); } write_command(0x80); for( j=0;j<16&&buf[j] != '\0';j++) { write_data(buf[j]) ; } write_command(0xc0); for(n=0;n<16&&buff[n]!='\0';n++) { write_data(buff[n]); } } }

    赞(14)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

单片机控制1601液晶屏只显示8个字符!?
我使用的是1601液晶屏,但是屏幕上只有8个字符能正常显示,如果把对比度调高也只能看见8个字符块,另外8个一直都没亮!请求大侠帮忙!在线等1601LCD只有一行16个字符无初始话情况下就... 我使用的是1601液晶屏,但是屏幕上只有8个字符能正常显示,如果把对比度调高也只能看见8个字符块,另外8个一直都没亮! 请求大侠帮忙!在线等 1601LCD 只有一行 16个字符 无初始话情况下就不对,考虑会不会是外部电路的问题?? 展开
2016-10-22 13:16:35 463 1
为什么单色液晶屏只显示黑色和白色?
 
2017-02-13 02:30:54 404 1
单片机控制的信号发生器
我要做个系统,把传感器的数据传给单片机,然后单片机调节信号发生器的频率,这个的程序怎么写啊?哪里有类似的程序啊?... 我要做个系统,把传感器的数据传给单片机,然后单片机调节信号发生器的频率,这个的程序怎么写啊?哪里有类似的程序啊? 展开
2014-05-21 06:25:17 271 1
单片机PID控制问题
1.单片机在自动控制上有用到PID,比如一个恒温发热系统也可以用PID控制,但我用到现在单片机没用过PID,如果用单片机恒温可以使温度到达预定值就停止加热,低了就加热,用一个温度传感... 1.单片机在自动控制上有用到PID,比如一个恒温发热系统也可以用PID控制,但我用到现在单片机没用过PID,如果用单片机恒温可以使温度到达预定值就停止加热,低了就加热,用一个温度传感器反馈,这样算是一个自动控制吗?为什么有的用PID?是不是用PID要更精确? 2.我感觉很多单片机控制中可以用传感器反馈再用单片机逻辑判断,能简单的代替PID吗?? 哪位能简单讲下用单片机PID算法控制PWM,进行恒温系统的方法? 就是PWM参数是怎么用PID确认的?? 回答了再加分。 展开
2010-11-07 02:36:50 312 5
单片机控制步进电机调速
51单片机控制28BYJ-48步进电机我用的是中断方式使其旋转定时时间Z低只能设成1ms1ms时转速差不多4s/r吧定时时间调大会更慢怎么使转速调快点!定时时间过低或者过高电机不转会有震动怎... 51单片机控制28BYJ-48步进电机 我用的是中断方式使其旋转 定时时间Z低只能设成1ms 1ms时转速差不多4s/r吧 定时时间调大会更慢 怎么使转速调快点! 定时时间过低或者过高电机不转 会有震动 怎么回事 展开
2018-11-23 12:39:29 202 0
单片机控制与PLC控制的区别?
 
2010-12-01 01:09:26 280 6
基于51单片机8通道数据采集系统设计
设计要求:1、使用89C51和ADC0809构成8通道数据采集系统;2、要求有复位电路(包括上电复位和按键复位);3、要求上电以后,按下启动键后顺序采集各个通道的信号;4、先利用A/D转化器... 设计要求: 1、使用89C51和ADC0809构成8通道数据采集系统; 2、要求有复位电路(包括上电复位和按键复位); 3、要求上电以后,按下启动键后顺序采集各个通道的信号; 4、先利用A/D转化器对各路电压进行采样,得到相应的数字量,再经过数字量与模拟量的关系得到模拟电压值,然后在LED数码管上显示,采集信号的范围为:0-5V; 5、设置有停止按钮,按下后停止采集数据。 6、共用4个数码管,Z高位显示通道号,剩下3位,1位为整数位,两位为小数位。 展开
2012-06-25 06:31:58 333 1
单片机控制DS18B20的主程序
我只想知道单片机读取DS18B20的程序,不需要数码管或者液晶屏显示,该怎么编程啊?... 我只想知道单片机读取DS18B20的程序,不需要数码管或者液晶屏显示,该怎么编程啊? 展开
2016-06-13 08:32:13 634 1
怎么通过单片机控制蠕动泵
 
2017-04-18 13:34:43 276 1
如何使用单片机控制MQ135
 
2014-11-20 19:09:11 262 3
如何通过单片机控制光电传感器?
Z近想做一台避障小车,里面的光电传感器需要用单片机来控制,请问用STC89C52 的单片机可以控制吗?怎么控制呢?谢谢
2013-07-25 06:41:57 409 2
51单片机如何控制超声波传感器 ?
 
2018-12-04 16:38:54 353 0
51单片机通过伺服驱动器控制伺服电机?
我直接用单片机的4个引脚分别接伺服驱动器PUL+,PUL-,DIR+,DIR-,然后用单片机发送2个高电平的电压去控制伺服驱动的PUL+,DIR+,伺服电机不转动,测得单片机的这两个引脚的电压为4.7v左右... 我直接用单片机的4个引脚分别接伺服驱动器PUL+,PUL-,DIR+,DIR-,然后用单片机发送2个高电平的电压去控制伺服驱动的PUL+,DIR+,伺服电机不转动,测得单片机的这两个引脚的电压为4.7v左右,如果我想控制反向转动是不是把PUL-,DIR-设为低电平输入就行了呢?请问各位大神我该怎么才能完成控制,我还差那些条件呢,谢谢你们了,我是新手多多指点!谢谢了 展开
2013-11-05 04:43:44 936 3
电梯用plc还是单片机控制
 
2011-02-11 03:03:42 1354 4
单片机控制直流电机调速,求程序!!
硬件电路已经搭好了,就差程序了,哪位高手指导一下程序,或者提供一下程序,不胜感激!... 硬件电路已经搭好了,就差程序了,哪位高手指导一下程序,或者提供一下程序,不胜感激! 展开
2013-12-23 01:22:36 283 1
RTU通讯协议中的 3.5个字符的静止时间怎么写(单片机的程序) 谢谢!
RTU通讯协议中的 3.5个字符的静止时间怎么写(单片机的程序) 谢谢!
2014-06-26 01:07:04 509 2
如何用单片机控制煤气传感器?如何用单片机检测有害气体
 
2009-10-04 11:27:31 332 3
量子液晶屏于oled液晶屏哪个好
 
2017-12-18 03:32:43 616 1
LED液晶屏与普通液晶屏有什么区别
 
2013-12-31 00:30:31 442 2
单片机控制电源快速充电器的设计
 
2016-10-26 08:44:11 369 1

9月突出贡献榜

推荐主页

最新话题