lcd12864代码
时间: 2023-07-02 13:06:07 浏览: 39
以下是一个简单的LCD12864的代码示例,可以在Arduino上运行。注意,这个代码只是演示了基本的用法,实际应用中需要根据具体情况进行修改和优化。
```
#include <U8glib.h>
U8GLIB_ST7920_128X64_1X u8g(13, 11, 10, 9, 8); // 使用ST7920驱动器,接口分别为CLK,MOSI,MISO,CS,A0
void setup() {
u8g.setFont(u8g_font_6x10); // 设置字体大小
}
void loop() {
u8g.firstPage();
do {
draw(); // 绘制屏幕
} while (u8g.nextPage());
delay(1000); // 延迟1秒钟
}
void draw() {
u8g.drawStr(0, 10, "Hello World!"); // 在屏幕上绘制字符串
u8g.drawCircle(64, 32, 30); // 在屏幕上绘制圆形
}
```
相关问题
IIC驱动lcd12864代码
以下是使用IIC驱动LCD12864的示例代码。请注意,此代码仅供参考,具体实现可能因硬件和软件环境而异。
```c
#include <Wire.h> // 引入 Wire 库
#define LCD_I2C_ADDR 0x27 // LCD12864 I2C 地址
void LCD_Init() {
Wire.beginTransmission(LCD_I2C_ADDR); // 开始传输数据
Wire.write(0x38); // 基本指令设置
Wire.write(0x0C); // 显示开、光标关、闪烁关
Wire.write(0x06); // 光标右移、字符不移动
Wire.write(0x01); // 显示清屏
Wire.endTransmission(); // 结束传输数据
}
void LCD_Clear() {
Wire.beginTransmission(LCD_I2C_ADDR);
Wire.write(0x01); // 显示清屏
Wire.endTransmission();
}
void LCD_Write_Char(char c) {
Wire.beginTransmission(LCD_I2C_ADDR);
Wire.write(0x40); // 数据指令设置
Wire.write(c);
Wire.endTransmission();
}
void LCD_Write_String(const char* s) {
while (*s) {
LCD_Write_Char(*s++);
}
}
void setup() {
Wire.begin(); // 初始化 I2C 总线
LCD_Init(); // 初始化 LCD
}
void loop() {
LCD_Clear(); // 清屏
LCD_Write_String("Hello, world!"); // 显示字符串
delay(2000); // 延时 2 秒
}
```
基于stm32的lcd12864代码
以下是基于STM32的LCD12864的代码,使用的是4位并行通信方式:
```c
#include "stm32f10x.h"
#include "delay.h"
#define LCD_RS GPIO_Pin_0
#define LCD_RW GPIO_Pin_1
#define LCD_EN GPIO_Pin_2
#define LCD_DATA GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6
void LCD_WriteCmd(uint8_t cmd);
void LCD_WriteData(uint8_t dat);
void LCD_Init(void);
void LCD_GotoXY(uint8_t x, uint8_t y);
void LCD_Clear(void);
int main(void)
{
LCD_Init();
LCD_WriteCmd(0x01); //清屏
LCD_GotoXY(0,0);
LCD_WriteData('S');
LCD_WriteData('T');
LCD_WriteData('M');
LCD_WriteData('3');
LCD_WriteData('2');
LCD_WriteData('F');
LCD_WriteData('1');
LCD_WriteData('0');
LCD_WriteData('x');
LCD_WriteData('x');
LCD_GotoXY(0,1);
LCD_WriteData('L');
LCD_WriteData('C');
LCD_WriteData('D');
LCD_WriteData('1');
LCD_WriteData('2');
LCD_WriteData('8');
LCD_WriteData('6');
LCD_WriteData('4');
while(1)
{
}
}
void LCD_WriteCmd(uint8_t cmd)
{
GPIO_ResetBits(GPIOB,LCD_RS);
GPIO_ResetBits(GPIOB,LCD_RW);
GPIO_SetBits(GPIOB,LCD_EN);
GPIO_Write(GPIOB,cmd<<3);
delay_us(1);
GPIO_ResetBits(GPIOB,LCD_EN);
delay_us(50);
}
void LCD_WriteData(uint8_t dat)
{
GPIO_SetBits(GPIOB,LCD_RS);
GPIO_ResetBits(GPIOB,LCD_RW);
GPIO_SetBits(GPIOB,LCD_EN);
GPIO_Write(GPIOB,dat<<3);
delay_us(1);
GPIO_ResetBits(GPIOB,LCD_EN);
delay_us(50);
}
void LCD_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = LCD_RS|LCD_RW|LCD_EN|LCD_DATA;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
delay_ms(50);
LCD_WriteCmd(0x30);
delay_ms(5);
LCD_WriteCmd(0x30);
delay_ms(1);
LCD_WriteCmd(0x30);
delay_ms(1);
LCD_WriteCmd(0x38);
LCD_WriteCmd(0x08);
LCD_WriteCmd(0x01);
LCD_WriteCmd(0x06);
LCD_WriteCmd(0x0C);
}
void LCD_GotoXY(uint8_t x, uint8_t y)
{
uint8_t addr;
if(y == 0)
{
addr = 0x80 + x;
}
else
{
addr = 0x80 + 0x40 + x;
}
LCD_WriteCmd(addr);
}
void LCD_Clear(void)
{
LCD_WriteCmd(0x01);
}
```
注意:以上代码仅供参考,具体实现需要根据实际情况进行修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)