在Proteus和开发板上编程实现LCD1602显示两行固定字符,第一行为:“www.lzit.edu.cn”,第二行为“你姓名的拼音”。要求:(1)画出电路图和程序流程图;(2)写出源程序代码。
时间: 2024-06-10 14:05:49 浏览: 61
LM016.rar_LM0_lcd1602 原理图_lm016 lcd_proteus lcd1602_site:www.pud
好的,我明白您的问题了。
首先,您需要连接开发板和LCD1602显示屏。连接电路图如下:
![电路图](https://img-blog.csdnimg.cn/20220422204511279.png)
接着,您需要编写一份源程序,实现您的要求。代码如下所示:
```c
#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
#define LCD1602_RS P2_5
#define LCD1602_RW P2_6
#define LCD1602_E P2_7
#define LCD1602_DATA P0
void delay_ms(uint ms)
{
uint i, j;
for (i = ms; i > 0; i--)
for (j = 110; j > 0; j--);
}
void lcd1602_write_cmd(uchar cmd)
{
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_DATA = cmd;
LCD1602_E = 1;
delay_ms(1);
LCD1602_E = 0;
delay_ms(1);
}
void lcd1602_write_data(uchar dat)
{
LCD1602_RS = 1;
LCD1602_RW = 0;
LCD1602_DATA = dat;
LCD1602_E = 1;
delay_ms(1);
LCD1602_E = 0;
delay_ms(1);
}
void lcd1602_init()
{
lcd1602_write_cmd(0x38); // 8位数据总线,2行显示,5x8点阵字符
lcd1602_write_cmd(0x0c); // 显示开,光标不闪烁
lcd1602_write_cmd(0x06); // 光标右移,字符固定显示
lcd1602_write_cmd(0x01); // 显示清屏,光标回到起点
}
void lcd1602_display_string(uchar x, uchar y, uchar *str)
{
uchar i;
if (y == 0)
lcd1602_write_cmd(0x80 + x);
else
lcd1602_write_cmd(0xc0 + x);
for (i = 0; i < 16 && *str != '\0'; i++, str++)
lcd1602_write_data(*str);
}
void main()
{
lcd1602_init();
lcd1602_display_string(0, 0, "www.lzit.edu.cn");
lcd1602_display_string(0, 1, "ni xing ming de pin yin");
while (1);
}
```
程序流程图如下所示:
![程序流程图](https://img-blog.csdnimg.cn/20220422204511801.png)
完成以上步骤后,您可以下载程序到开发板,即可在LCD1602上显示您想要的内容。注意,代码中涉及的引脚和程序的具体实现需要根据您的开发板和LCD1602显示屏的实际情况进行修改。
阅读全文