stm32 12864b

时间: 2023-10-29 11:06:25 浏览: 37
STM32 12864B 是一款基于STM32微控制器的128x64像素点阵LCD模块。这个模块通常用于嵌入式系统,可以显示文本和图形。 STM32是意法半导体(STMicroelectronics)推出的一系列32位ARM Cortex-M微控制器。这些微控制器具有强大的处理能力和丰富的外设,适用于各种应用领域。 12864B是指该LCD模块的分辨率为128x64像素点阵。它采用的是非常常见的ST7920控制器,该控制器支持串行和并行通信方式。 使用STM32 12864B模块,你可以通过编程控制显示内容和图形,灵活地创建用户界面、显示数据等。你可以使用STM32的GPIO口来与该模块进行通信,从而实现显示控制和数据传输。 需要注意的是,为了使用STM32 12864B模块,你需要了解STM32微控制器的编程和LCD控制器的使用方法。你可以参考相关的文档和示例代码来帮助你开始开发。
相关问题

12864b stm32

12864b 是一种基于ST7920控制器的液晶显示屏,常用于嵌入式系统中。而 STM32 是一种基于ARM Cortex-M处理器架构的微控制器,常用于嵌入式系统中。如果你想在STM32上使用12864b液晶显示屏,你需要了解ST7920控制器的通信协议,然后使用STM32的GPIO口和SPI或者I2C接口与其进行通信。具体的实现方法可以参考相关的资料和例程。

12864b stm32代码

由于 12864B 液晶屏没有固定的接口标准,所以涉及到的代码会有所不同。下面是一个基于STM32的12864B液晶屏代码示例,仅供参考: ```c #include "stm32f10x.h" #include "delay.h" #define LCD_DATA_PORT GPIOA //数据口 #define LCD_WR PAout(2) #define LCD_RS PAout(3) #define LCD_CS PAout(4) #define LCD_DATA_OUT() {GPIOA->CRL&=0X00FFFFFF;GPIOA->CRL|=0X33000000;} #define LCD_DATA_IN() {GPIOA->CRL&=0X00FFFFFF;GPIOA->CRL|=0X88000000;} void LCD_WR_REG(u8 data) //写指令 { LCD_DATA_OUT(); LCD_CS = 0; LCD_RS = 0; LCD_WR = 0; GPIOA->ODR = data; asm("nop"); LCD_WR = 1; LCD_RS = 1; LCD_CS = 1; } void LCD_WR_DATA(u8 data) //写数据 { LCD_DATA_OUT(); LCD_CS = 0; LCD_RS = 1; LCD_WR = 0; GPIOA->ODR = data; asm("nop"); LCD_WR = 1; LCD_RS = 1; LCD_CS = 1; } void LCD_Init(void) //初始化 { RCC->APB2ENR |= 1 << 2; RCC->APB2ENR |= 1 << 3; GPIOA->CRL &= 0xFFF0FFFF; GPIOA->CRL |= 0x00030000; GPIOA->CRH &= 0xFF0FFFFF; GPIOA->CRH |= 0x00300000; LCD_WR_REG(0x30); delay_ms(20); LCD_WR_REG(0x0C); delay_ms(20); LCD_WR_REG(0x01); delay_ms(20); LCD_WR_REG(0x06); delay_ms(20); LCD_WR_REG(0x80); delay_ms(20); } void LCD_Clear(void) //清屏 { u8 i, j; for (i = 0; i < 8; i++) { LCD_WR_REG(0x80 | i); LCD_WR_REG(0x40); for (j = 0; j < 64; j++) { LCD_WR_DATA(0); } } } void LCD_DrawPoint(u8 x, u8 y, u8 t) //画点 { u8 pos, bx, temp = 0; if (x > 127 || y > 63) { return; } pos = 7 - y / 8; bx = y % 8; temp = 1 << (7 - bx); LCD_WR_REG(0x80 | pos); LCD_WR_REG(0x40 | x); if (t) { LCD_WR_DATA(temp); } else { LCD_WR_DATA(~temp); } } void LCD_ShowChar(u8 x, u8 y, u8 chr, u8 size, u8 mode) //显示字符 { u8 i, j; u8 temp; u8 y0 = y; chr = chr - ' '; //得到偏移后的值 for (i = 0; i < size; i++) { if (size == 12) { if (mode) { temp = asc2_1206[chr][i]; } else { temp = ~asc2_1206[chr][i]; } } else { if (mode) { temp = asc2_1608[chr][i]; } else { temp = ~asc2_1608[chr][i]; } } for (j = 0; j < 8; j++) { if (temp & 0x80) { LCD_DrawPoint(x, y, 1); } else { LCD_DrawPoint(x, y, 0); } temp <<= 1; y++; if ((y - y0) == size) { y = y0; x++; break; } } } } void LCD_ShowString(u8 x, u8 y, u8 *p, u8 size, u8 mode) //显示字符串 { while (*p != '\0') { if (x > 128 - size / 2) { x = 0; y += size; } if (y > 64 - size) { y = x = 0; LCD_Clear(); } LCD_ShowChar(x, y, *p, size, mode); x += size / 2; p++; } } int main(void) { delay_init(); LCD_Init(); LCD_Clear(); LCD_ShowString(0, 0, "Hello World!", 12, 1); while (1) { } } ``` 代码中使用了delay.h库和一些自定义的函数,需要根据实际情况进行调整。同时,还需要根据实际的硬件电路进行引脚配置。

相关推荐

最新推荐

recommend-type

STM32ASCII码表和转义字符

STM32ASCII码表和转义字符 在C 语言中,运算符的优先关系非常重要,如果没有了解其关系,当在一个公式内涉及多个数据的同 时计算,就可能会因为弄错优先关系而导致错误的计算结果。 例如: a | b * c 其中*的优先级...
recommend-type

STM32H750XBH6核心板原理图(pdf)

1、主芯片:STM32H750XBH6; 2、SDRAM:外扩2片32Mbytes SDRAM,组成32位宽,总容量64Mbytes; 3、QSPI Flash:外扩2片W25Q256,8位数据宽,总容量64Mbytes 4、6层板设计,模块尺寸大小29.5mmx32mm 5、模块内置限流...
recommend-type

STM32串口USART2程序

对控制LED指示灯的IO口进行了初始化,将端口配置为推挽上拉...否则无法配置成功,由于用到了端口B, 因此要对这个端口的时钟。进行使能,同时由于用到复用IO口功能用于配置串口。因此还要使能AFIO(复用功能IO)时钟。
recommend-type

基于STM32的宿舍防火防盗系统.pdf

核的STM32 单片机为主控核心, 利用IM1281B 电能计量模块,采 集宿舍交流电参数,包括电压、 电流、功率、因数,频率、电能 等多个电参量,通过分析这些参 数的规律实现电量计数,通过分 析,判断大功率电器的...
recommend-type

STM32工程在keil下怎么移植到IAR环境(stm32f103c8).docx

从STM32的keil开发环境移植到IAR开发环境,分为六步走。 首先安装IAR编译环境,这个自行安装。 第一步 新建文件夹 新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹, CMSISI:放系统启动相关文件 ,...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

解释minorization-maximization (MM) algorithm,并给出matlab代码编写的例子

Minorization-maximization (MM) algorithm是一种常用的优化算法,用于求解非凸问题或含有约束的优化问题。该算法的基本思想是通过构造一个凸下界函数来逼近原问题,然后通过求解凸下界函数的最优解来逼近原问题的最优解。具体步骤如下: 1. 初始化参数 $\theta_0$,设 $k=0$; 2. 构造一个凸下界函数 $Q(\theta|\theta_k)$,使其满足 $Q(\theta_k|\theta_k)=f(\theta_k)$; 3. 求解 $Q(\theta|\theta_k)$ 的最优值 $\theta_{k+1}=\arg\min_\theta Q(
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。