标题:
单片机程序下载到板子上1602液晶板不显示,偶尔显示一下,只看到一排黑块是咋回事?
[打印本页]
作者:
duangushan
时间:
2020-7-17 21:44
标题:
单片机程序下载到板子上1602液晶板不显示,偶尔显示一下,只看到一排黑块是咋回事?
#include <REGX51.H>
#include"LCD1602.h"
void Delay1ms(unsigned int xms) //@12.000MHz
{
while(xms)
{
unsigned char i, j; //定义毫秒的延时
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void dierduan ()
{
int years = 2020; //万年历 //定义初始值
int months = 7;
int date = 15;
int hour = 0; //从零开始
int minute = 0;
int second = 0;
LCD_Init();
LCD_ShowString(1,1,"Date"); //LCD显示
LCD_ShowNum(1,6, years,4);
LCD_ShowNum(1,11, months,2);
LCD_ShowNum(1,14,date,2);
LCD_ShowString(2,1,"Time");
LCD_ShowNum(2,6, hour,2);
LCD_ShowNum(2,9, minute,2);
LCD_ShowNum(2,12, second,2);
LCD_ShowString(2,15,"WE");
while(1)
{
if (second<60) //秒数增加
{
second++;
Delay1ms(1000);
LCD_ShowNum(2,12, second,2);
}
if(second==60) //分钟增加
{
second = 0;
minute++;
LCD_ShowNum(2,9, minute,2);
}
if(minute==60) //小时增加
{
minute = 0;
hour++;
LCD_ShowNum(2,9, minute,2);
LCD_ShowNum(2,6, hour,2);
}
if(hour==24) //天数增加
{
hour=0;
date++;
LCD_ShowNum(2,6, hour,2);
LCD_ShowNum(1,14,date,2);
LCD_ShowString(2,15,"WE");
}
if(date==30) //月份增加
{
date=0;
months++;
LCD_ShowNum(1,11, months,2);
LCD_ShowNum(1,14,date,2);
}
if(months==12) //年份增加
{
months=0;
years++;
LCD_ShowString(1,1,"Date");
LCD_ShowNum(1,6, years,4);
LCD_ShowNum(1,11, months,2);
}
if(P3_0==0) //长按键增加秒数
{
Delay1ms(10);
while(P3_0);
Delay1ms(10);
++second;
LCD_ShowNum(2,12, second,2);
}
else if(P3_1==0) //长按键减少秒数
{
Delay1ms(10);
while(P3_1);
Delay1ms(10);
--second;
LCD_ShowNum(2,12, second,2);
}
else if(P3_2==0)
{ //长按键增加天数
Delay1ms(10);
while(P3_2);
Delay1ms(10);
++date;
LCD_ShowNum(1,14,date,2);
}
else if(P3_3==0) //长按键减少天数
{
Delay1ms(10);
while(P3_3);
Delay1ms(10);
date--;
LCD_ShowNum(1,14,date,2);
}
}
}
main ()
{
LCD_Init();
LCD_ShowString(1,1,"Hello!"); //LCD显示Hello
Delay1ms(10000); //延迟显示10秒
LCD_Init();
LCD_ShowString(1,1,"WL1908104020"); // LCD显示
Delay1ms(6000); // 延迟6秒
LCD_Init();
LCD_ShowString(1,1,"DUANZUNCHENG"); // LCD显示
Delay1ms(9000); // 延迟9秒
dierduan () ;
while (1)
{
}
}
作者:
xxpp2011
时间:
2020-7-17 22:59
引脚定义是否符合,对比度电位器是否需要调,1602有没有插反
作者:
man1234567
时间:
2020-7-18 11:20
一般是接线 错误
网上找个1602程序试试确定是否硬件接错
作者:
模电混子
时间:
2020-7-18 11:30
man1234567 发表于 2020-7-18 11:20
一般是接线 错误
网上找个1602程序试试确定是否硬件接错
你这个好像是引脚的定义有错误吧,然后看看接线的问题,
作者:
物业tuan
时间:
2020-7-18 18:07
程序编写有错误,首先定义引脚哦
作者:
2538076292
时间:
2020-7-18 20:40
把驱动文件贴出来啊,只看主程序不知道你驱动部分咋写的没法诊断啊。
作者:
TTQ001
时间:
2020-7-18 20:52
可能不一定是由于软件引起的,也可能是由于接线错误引起的。 请贴原理图。
作者:
556cv
时间:
2020-7-18 22:19
大概率是程序问题,当然要先排除接线错误
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1