51单片机编写lcd1602显示程序,第一行显示自己的姓名,第二行显示学号

51单片机编写lcd1602显示程序,第一行显示自己的姓名,第二行显示学号,第1张

1、首先我们打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并启动器添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。

2、导入51单片机的头文件以及LCD1602的头文件。

3、创建一个延时函数,可以传入想要具体延时的时长,其内部实现是由一个二重循环,两个循环的次数相乘积。

4、然后创建写命令的函数,指定RS和E同时为0时,才可以写入命令,设定完成后,将com写入输出端口,规定写命令时,E为正脉冲,然后空 *** 作一个机器周期等待机器反应。

5、然后创建写数据的函数,规定写数据时,E为正脉冲,规定当RS=1和RW=0时才可以写入数据,然后将数据从输出端口输出,最后让E产生正跳变。

6、然后创建初始化LCD1602的函数,指定显示模式位两行显示,5*7,8位数据、整体显示,无光标,无闪烁、写入一个字符后地址指针加1,最后进行清屏 *** 作。

7、最后在主函数中首先执行LCD1602的初始化函数,首先创建一个无限循环,然后添加两个字符串,这里以两行显示百度经验的网址为例,再进行延时以及使用清屏函数进行刷新。

您好,您的问题是关于单片机LCD显示屏程序不亮的问题。首先,您需要检查您的硬件连接是否正确,以确保所有连接都得到正确的电源和信号。其次,您需要检查您的程序代码,确保它们正确地控制LCD显示屏,并且您的程序没有任何错误。最后,您可以尝试重新编程,以确保您的程序正确地写入到LCD显示屏中。如果以上措施都没有解决您的问题,您可以尝试更换LCD显示屏,以确保它仍然有效。

#include <reg51.h>//51寄存器文件

#include <intrins.h>

typedef unsigned char BYTE//用BYTE代替unsigned char

typedef unsigned int WORD//WORD代替unsigned int

typedef bit BOOL //用BOOL代替bit

sbit rs = P2^6//复位端

sbit rw = P2^5//写数据端

sbit ep = P2^7//使能端

BYTE code dis1[] = {"welcome!,I'm Tom"}

//LCD侧忙函数

BOOL lcd_bz()

{

BOOL result

rs = 0

rw = 1

ep = 1

_nop_()

_nop_()

_nop_()

_nop_()

result = (BOOL)(P0 &0x80)//检测P0最高位是否为1

ep = 0

return result//返回侧忙结果

}

// 写入指令数据到LCD

lcd_wcmd(BYTE cmd)

{

while(lcd_bz())

rs = 0

rw = 0

ep = 0

_nop_()

_nop_()

P0 = cmd//将8位指令通过P0口传给1602

_nop_()

_nop_()//用于产生一个脉冲宽度

_nop_()

_nop_()

ep = 1

_nop_()

_nop_()

_nop_()

_nop_()

ep = 0

}

//设定显示位置

lcd_pos(BYTE pos)

{

lcd_wcmd(pos | 0x80)

}

//写入字符显示数据到LCD

lcd_wdat(BYTE dat)

{

while(lcd_bz())

rs = 1

rw = 0

ep = 0

P0 = dat//将8位数据通过P0口传给1602

_nop_()

_nop_()

_nop_()//用于产生一个脉冲宽度

_nop_()

ep = 1

_nop_()

_nop_()

_nop_()

_nop_()

ep = 0

}

//LCD初始化设定

lcd_init()

{

lcd_wcmd(0x38) ////16*2显示,5*7点阵,8位数据

lcd_wcmd(0x0c) //显示开,关光标

lcd_wcmd(0x06) //移动光标

lcd_wcmd(0x01) //清除LCD的显示内容

}

main()

{

BYTE i

lcd_init() //初始化LCD

lcd_pos(4) //设置显示位置为第一行的第5个字符

i = 0

while(dis1[i] != '\0')

{ //显示字符"welcome!"

lcd_wdat(dis1[i])

i++

}

while(1)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7772114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存