19264液晶屏显示51单片机输出的数据的程序
时间: 2024-03-14 15:50:07 浏览: 44
以下是基于51单片机和19264液晶屏的程序示例,可以将单片机输出的数据显示在液晶屏上:
```c
#include <reg51.h>
// 定义液晶屏引脚
sbit RS = P1^0;
sbit RW = P1^1;
sbit E = P1^2;
sbit CS1 = P1^3;
sbit CS2 = P1^4;
// 定义全局变量
unsigned char xdata *p; // 显示缓存区地址指针
// 函数声明
void delay(unsigned int t);
void write_command(unsigned char command);
void write_data(unsigned char dat);
void init_lcm();
void clear_lcm();
void set_pos(unsigned char x, unsigned char y);
void write_char(unsigned char c);
void write_string(unsigned char *s);
void write_number(int num);
void main()
{
int num = 12345; // 需要显示的数字
unsigned char str[6]; // 数字转化为字符串存储
int i;
init_lcm(); // 初始化液晶屏
clear_lcm(); // 清屏
// 数字转字符串
for (i = 0; i < 5; i++)
{
str[4-i] = num % 10 + '0';
num /= 10;
}
str[5] = '\0';
// 在第1行第1列开始显示数字字符串
set_pos(0, 0);
write_string(str);
}
// 延时函数
void delay(unsigned int t)
{
unsigned int i, j;
for (i = 0; i < t; i++)
{
for (j = 0; j < 125; j++);
}
}
// 写入指令
void write_command(unsigned char command)
{
RS = 0;
RW = 0;
E = 1;
P0 = command;
E = 0;
}
// 写入数据
void write_data(unsigned char dat)
{
RS = 1;
RW = 0;
E = 1;
P0 = dat;
E = 0;
}
// 初始化液晶屏
void init_lcm()
{
CS1 = 1;
CS2 = 1;
write_command(0x34); // 扩充指令集
write_command(0x30); // 基本指令集
write_command(0x0c); // 开显示
write_command(0x06); // 光标右移
write_command(0x01); // 清屏
}
// 清屏
void clear_lcm()
{
int i;
p = 0x8000;
for (i = 0; i < 1024; i++)
{
*p = 0;
p++;
}
}
// 设置显示位置
void set_pos(unsigned char x, unsigned char y)
{
if (y == 0)
{
CS1 = 0;
CS2 = 1;
write_command(0x80 + x); // 第1页
}
else
{
CS1 = 1;
CS2 = 0;
write_command(0x80 + x + 40); // 第2页
}
}
// 显示字符
void write_char(unsigned char c)
{
unsigned char i;
for (i = 0; i < 8; i++)
{
write_data(cg_8x8[c][i]);
}
}
// 显示字符串
void write_string(unsigned char *s)
{
while (*s != '\0')
{
write_char(*s);
s++;
}
}
// 显示数字
void write_number(int num)
{
unsigned char str[6];
int i;
// 数字转字符串
for (i = 0; i < 5; i++)
{
str[4-i] = num % 10 + '0';
num /= 10;
}
str[5] = '\0';
// 显示数字字符串
write_string(str);
}
```
注意:以上代码仅供参考,具体实现还需要根据硬件和液晶屏型号进行调整。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)