51单片机用lcd屏滚动显示 welcome to the world of mcu
时间: 2024-02-24 21:56:52 浏览: 105
LCD1602显示屏滚动显示英文设计-C51单片机软件设计源码.rar
5星 · 资源好评率100%
这是一个比较基础的51单片机和LCD屏幕的应用。首先,需要将LCD接口和51单片机进行连接,然后通过51单片机的程序控制,向LCD屏幕发送数据进行滚动显示。
以下是一个简单的示例代码,可以实现LCD屏幕的滚动显示 "welcome to the world of mcu":
```
#include <reg51.h>
#define LCD_DB P0 // 数据总线
sbit RS = P1^0; // RS引脚
sbit EN = P1^1; // EN引脚
// 延时函数
void Delay(unsigned int t)
{
while(t--);
}
// 初始化LCD屏幕
void LCD_Init()
{
LCD_DB = 0x38; // 8位数据总线,两行显示,5x7点阵字符
RS = 0; // 发送命令
EN = 1; // 使能
Delay(10); // 延时
EN = 0; // 禁止
LCD_DB = 0x0c; // 打开显示,光标不显示
RS = 0; // 发送命令
EN = 1; // 使能
Delay(10); // 延时
EN = 0; // 禁止
LCD_DB = 0x06; // 光标右移,字符不移动
RS = 0; // 发送命令
EN = 1; // 使能
Delay(10); // 延时
EN = 0; // 禁止
}
// 向LCD屏幕发送一个字符
void LCD_Write_Char(unsigned char c)
{
LCD_DB = c; // 发送字符
RS = 1; // 发送数据
EN = 1; // 使能
Delay(10); // 延时
EN = 0; // 禁止
}
// 向LCD屏幕发送一个字符串
void LCD_Write_String(unsigned char *str)
{
while(*str) // 遍历字符串
{
LCD_Write_Char(*str++); // 发送字符
}
}
// 主函数
int main()
{
unsigned char str[] = "welcome to the world of mcu";
LCD_Init(); // 初始化LCD屏幕
while(1)
{
unsigned char i;
for(i = 0; i < sizeof(str) - 1; i++) // 遍历字符串
{
LCD_DB = 0x01; // 清屏
RS = 0; // 发送命令
EN = 1; // 使能
Delay(10); // 延时
EN = 0; // 禁止
LCD_DB = 0x80; // 光标移动到第一行第一列
RS = 0; // 发送命令
EN = 1; // 使能
Delay(10); // 延时
EN = 0; // 禁止
LCD_Write_String(str + i); // 发送字符串
Delay(50000); // 延时
}
}
return 0;
}
```
这段代码实现了LCD屏幕的初始化、字符和字符串的发送以及滚动显示。你可以根据自己的需求进行修改和扩展。
阅读全文