设计 MCS-51 单片机(或者其他嵌入式系统,如普中 STM32- PZ6806L 开发板)与液晶显示模块 LCM-512-01A(或者你熟悉的市 面上流行的液晶模块)的接口电路,画出接口电路图并编写上下滚动 显示的控制程序
时间: 2023-06-24 17:04:03 浏览: 72
接口电路图如下:
![接口电路图](https://i.imgur.com/XC5XgPn.png)
液晶显示模块 LCM-512-01A 的引脚说明如下:
| 引脚 | 功能 |
|-----|-----|
| 1 | GND |
| 2 | VCC |
| 3 | V0(对比度调整) |
| 4 | RS(寄存器选择) |
| 5 | R/W(读写选择) |
| 6 | EN(使能) |
| 7 | DB0 |
| 8 | DB1 |
| 9 | DB2 |
| 10 | DB3 |
| 11 | DB4 |
| 12 | DB5 |
| 13 | DB6 |
| 14 | DB7 |
| 15 | A(LED正极) |
| 16 | K(LED负极) |
控制程序如下(使用 MCS-51 单片机):
```c
#include <reg52.h>
#define LCD_RS P1_0
#define LCD_RW P1_1
#define LCD_EN P1_2
#define LCD_DB P2
void lcd_write_cmd(unsigned char cmd) {
LCD_RS = 0;
LCD_RW = 0;
LCD_DB = cmd;
LCD_EN = 1;
LCD_EN = 0;
}
void lcd_write_data(unsigned char data) {
LCD_RS = 1;
LCD_RW = 0;
LCD_DB = data;
LCD_EN = 1;
LCD_EN = 0;
}
void lcd_init() {
lcd_write_cmd(0x38); // function set: 8-bit, 2 lines, 5x8 dots
lcd_write_cmd(0x06); // entry mode set: increment mode, no shift
lcd_write_cmd(0x0C); // display control: display on, cursor off, blink off
lcd_write_cmd(0x01); // clear display
}
void lcd_scroll(char* str) {
lcd_write_cmd(0x01); // clear display
lcd_write_cmd(0x80); // set cursor to first line
for (int i = 0; i < 16; i++) {
lcd_write_data(str[i]);
}
lcd_write_cmd(0xC0); // set cursor to second line
for (int i = 16; i < 32; i++) {
lcd_write_data(str[i]);
}
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 50; j++) {
lcd_write_cmd(0x18); // shift entire display to the left
}
lcd_write_cmd(0x80); // set cursor to first line
for (int j = i + 1; j < i + 17; j++) {
lcd_write_data(str[j % 32]);
}
lcd_write_cmd(0xC0); // set cursor to second line
for (int j = i + 17; j < i + 33; j++) {
lcd_write_data(str[j % 32]);
}
for (int j = 0; j < 10000; j++) {} // delay for scrolling effect
}
}
void main() {
lcd_init();
lcd_scroll("Hello, world! This is a scrolling message.");
while (1) {}
}
```
程序的功能是在液晶屏上显示一条上下滚动的消息。首先初始化液晶屏,然后将消息分成两行,逐字写入屏幕的第一行和第二行。接着进入循环,每次循环将整个屏幕向左移动一位,然后重新写入消息,以此实现滚动的效果。为了使滚动效果更明显,每次移动后加入一定的延时。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)