51和12864显示古诗鹅鹅鹅
时间: 2024-02-29 17:57:07 浏览: 21
好的,以下是51单片机和12864液晶屏幕的C语言代码,可以显示古诗《鹅鹅鹅》:
```
#include <reg52.h> // 51单片机头文件
#include <stdio.h> // 标准输入输出头文件
#include <stdlib.h> // 标准库头文件
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^0; // 液晶屏幕控制引脚
sbit RW=P2^1;
sbit EN=P2^2;
sbit PSB=P2^3;
void delay(uint xms) // 延时函数
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void write_com(uchar com) // 写命令函数
{
PSB=1; // 并口模式
RS=0;
RW=0;
P0=com;
EN=0;
delay(5);
EN=1;
delay(5);
EN=0;
}
void write_data(uchar dat) // 写数据函数
{
PSB=1; // 并口模式
RS=1;
RW=0;
P0=dat;
EN=0;
delay(5);
EN=1;
delay(5);
EN=0;
}
void init() // 初始化函数
{
write_com(0x30); // 设置为8位数据接口
delay(5);
write_com(0x0c); // 开启显示,光标关闭
delay(5);
write_com(0x01); // 清屏
delay(5);
write_com(0x06); // 光标右移,字符不移动
delay(5);
}
void main()
{
init(); // 初始化液晶屏幕
write_com(0x80); // 设置光标位置为第一行第一列
delay(5);
write_data('鹅'); // 写入第一个字符
write_data('鹅');
write_data('鹅');
write_data(',');
write_data('曲');
write_data('项');
write_data('向');
write_data('天');
write_data('歌');
write_com(0x80+0x40); // 设置光标位置为第二行第一列
delay(5);
write_data('白');
write_data('毛');
write_data('浮');
write_data('绿');
write_data('水');
write_data(',');
write_data('红');
write_data('掌');
write_data('拨');
write_data('清');
write_data('波');
while(1); // 无限循环
}
```
注意,以上代码使用的是12864液晶屏幕,并且需要连接到51单片机的并口口线上,因此需要设置控制引脚和数据口线的对应关系。如果您使用的是其他型号的液晶屏幕或者单片机,请根据具体情况进行修改。