可以帮我看看程序吗 - 爱问答

(爱问答)

可以帮我看看程序吗

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar table[] = "Hello everyone!";
uchar table1[] = "Welcome to here!";
uchar num;
void main(void)
{
  unsigned char i;
for(i=0;i<16;i++)
{
LcdWriteData(uchar [i]);
}
 
while(1);   
}
void Lcd1602_Delay1ms(uint c)
{
uchar a,b;
for(;c>0;c--)
{
for(b=199;b>0;b--)
{
for(a=1;a>0;a--);
}
}
}
#ifndef LCD1602_4PINS
void LcdWriteCom(uchar com)
{
LCD1602_E=0;
LCD1602_RS=0;
LCD1602_RW=0;
LCD1602_DATAP=com;
Lcd1602_Delay1ms(1);
LCD1602_E=1;
Lcd1602_Delay1ms(10);
LCD1602_E=0;
}
#else
void LcdWriteCom(uchar com)
{
LCD1602_E=0;
LCD1602_RS=0;
LCD1602_RW=0;
LCD1602_DATAPINS=com;
LCD1602_Delay(1);
LCD1602_E=1;
lcd1602_Delay1ms(10);
LCD1602_E=0;
lcd1602_Delay1ms(1);
LCD1602_DATAPINS=com<<4;
Lcd1602_Delay1ms(1);
LCD1602_E=1;
Lcd1602_Delay1ms(10);
LCD1602_E=0;
}
#endif
#ifndef LCD1602_4PINS
void LcdWriteData(uchar dat)
{
LCD1602_E=0;
LCD1602_RS=1;
LCD1602_RW=0;
LCD1602_DATAPINS=dat;
LCD1602_Delay1ms(1);
LCD1602_E=1;
LCD1602_Delay1ms(10);
LCD1602_E=0;
}
#else
void LcdWriteData(uchar dat)
{
LCD1602_E=0;
LCD1602_RS=1;
LCD1602_RW=0;
LCD1602_DATAPINS=dat;
Lcd1602_Delay1ms(1);
LCD1602_E=1;
Lcd1602_Delay1ms(10);
LCD1602_E=0;
LCD1602_DATAPINS=dat<<4;
Lcd1602_Delay1ms(1);
LCD1602_E=1;
Lcd1602_Delay1ms(10);
LCD1602_E=0;
}
#endif
#ifndef LCD1602_4PINS
void LcdInit()
{
LcdWriteCom(0x38);
LcdWriteCom(0x0c);
LcdWriteCom(0x06);
LcdWriteCom(0x01);
LcdWriteCom(0x80);
}
#else
void LcdInit()
{
LcdWriteCom(0x32);
LcdWriteCom(0x28);
LcdWriteCom(0x0c);
LcdWriteCom(0x06);
LcdWriteCom(0x01);
LcdWriteCom(0x80);
}
#endif
#ifndef _LCD_H_
#define _LCD_H_
#define LCD1602_4PINS
#include<reg52.h>
#ifdef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
#define LCD1602_DATAPINS P0
sbit LCD1602_E=P2^2;
sbit LCD1602_RW=P2^1;
sbit LCD1602_RS=P2^0;
void LCD1602_Delay1ms(uint c);
void LcdWriteCom(uchar Com);
void LcdWriteDaTa(uchar dat);
void LcdInit();
#endif

程序完全不对

首先,最后一段程序从

#ifndef _LCD_H_ #define _LCD_H_

开始,它是单独的一个.h文件,如lcd.h

而从

#ifndef LCD1602_4PINS

又应该是一个单独的文件或放在lcd.h的后面,且要定义LCD1602_4PINS

另外

#ifdef uchar

也是错的,应该是

#ifndef uchar

再有main()中更有问题,少头文件,且

LcdWriteData(uchar [i]);

根本也不符合C语法,table,table1定义了没有用

。。。。

你完全还没有入门,先从最基础的程序开始学习下(你上面的涉及工程了,多头文件)

下一篇:输入3个整数a、b、c,求a、b、c的平均值。结果保留2位小数C++

上一篇:可以帮我看看这段代码出了什么问题吗

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?