点阵字符型 LCD 液晶显示通过什么实现屏幕显示
时间: 2024-04-17 12:23:11 浏览: 146
点阵字符型 LCD(液晶显示)通过液晶分子的电场控制来实现屏幕显示。它包含一系列液晶单元和驱动电路。每个液晶单元由一个字符的点阵组成,每个点阵都可以通过电场的作用来调整光的透过程度。驱动电路会根据输入的字符数据,控制液晶单元中的液晶分子排列,使得特定的点阵透明或不透明,从而形成字符的显示。这种显示技术在很多字符型显示器中被使用,如计算器、数字钟等。
相关问题
提供一个8051单片机的程序和电路设计,实现在字符型LCD液晶屏上以左移的效果显示“Welcome to China!We are family!”
电路设计:
程序代码:
#include <reg51.h>
#define LCD_data P0 //LCD数据口定义
sbit RS = P2^0; //LCD命令/数据选择端口
sbit RW = P2^1; //LCD读写端口
sbit E = P2^2; //LCD使能端口
void delay(unsigned int i) //延时函数
{
while(i--);
}
void LCD_init() //LCD初始化函数
{
delay(500);
LCD_data = 0x38; //8位数据线,双行,5x7点阵字体
RS = 0; //选择命令
RW = 0; //写入操作
E = 1; //使能
delay(5);
E = 0; //失能
delay(5);
LCD_data = 0x06; //光标右移,不移动屏幕
RS = 0;
RW = 0;
E = 1;
delay(5);
E = 0;
delay(5);
LCD_data = 0x0C; //开显示,无光标,不闪烁
RS = 0;
RW = 0;
E = 1;
delay(5);
E = 0;
delay(5);
LCD_data = 0x01; //清屏幕
RS = 0;
RW = 0;
E = 1;
delay(5);
E = 0;
}
void LCD_write(unsigned char data) //写数据函数
{
LCD_data = data;
RS = 1; //选择数据
RW = 0; //写入操作
E = 1; //使能
delay(5);
E = 0; //失能
}
void LCD_string(unsigned char *str) //写字符串函数
{
while(*str)
{
LCD_write(*str++);
delay(10);
}
}
void main()
{
unsigned char str[] = "Welcome to China! We are family!";
unsigned char i, j;
LCD_init(); //LCD初始化
while(1)
{
for(i = 0; i < 32; i++)
{
LCD_write(0x80); //第1行第1个字符
j = i;
while(j < i + 16 && str[j])
{
LCD_write(str[j]);
j++;
}
delay(50000);
LCD_write(0x01); //清屏幕
}
}
}
阅读全文