Comprender el principio de la pantalla OLED - Varias maneras de utilizar los módulos OLED
El módulo OLED tiene cuatro modos de trabajo, a saber, interfaces paralelas 6800 y 8080, modo de interfaz SPI serial de 4 cables y modo de interfaz IIC.La relación entre los ajustes BS1/BS2 y el modo de interfaz del módulo se muestra en el cuadro siguiente.:
La configuración predeterminada del módulo OLED de SAEF Technology es BS0 a GND, BS1 y BS2 a VCC (modo 8080), si desea configurarlo en otros modos,usted necesita modificar las configuraciones BS0-BS2 con un soldador en la parte posterior del OLED(Cambio de hardware)
Por el esquema, podemos saber que hay un total de 16 pines dibujados, y de las 16 líneas, usamos sólo 15 pines, y uno de ellos está colgando.y quedan 13En diferentes modos, el número de líneas de señal que necesitamos es diferente, en el modo 8080, los 13 son necesarios, uno de los cuales es común, es decir, la línea de restablecimiento RST (RES),que podemos conectar directamente al restablecimiento de la MCU (para confirmar que el método de restablecimiento es el mismo)En el modo IIC, sólo se necesitan 2 líneas.
El modo de trabajo del IIC sólo necesita dos líneas, y el modo de trabajo del IIC es usar dos cables para simular el IIC para obtener datos.
El controlador OLED es SSD1306, es decir: la pantalla desnuda está impulsada por SSD1306, que también es un chip de controlador LED más utilizado.
Memoria de vídeo del módulo OLED
El propio OLED no tiene memoria de vídeo, y su memoria de vídeo depende de SSD1306 para proporcionar.Cada página contiene 128 bytes, un total de 8 páginas, que es exactamente 128 * 64 tamaño de la matriz de puntos.
Sin embargo, debido a que el OLED no puede controlar una matriz de puntos a la vez, sólo puede controlar una matriz de 8 puntos; y es un control de barrido vertical;
Debido a que cada escritura se escribe en bytes, hay un problema, si usamos el modo de escritura única para operar el módulo, entonces, tenemos que escribir 8 puntos a la vez, así que cuando dibujamos un punto,Debemos averiguar el estado actual de cada bit del byte donde el punto a establecer se encuentra (0/1De lo contrario, los datos escritos se sobrescribirán el estado anterior, y el resultado será que algunos puntos que no necesitan ser mostrados se muestran,o los que deberían mostrarse no se muestranEn el modo legible, podemos leer el byte a escribir primero, obtener la situación actual, y luego escribirlo en el gramo después de modificar el bit a ser reescrito,para que no afecte a la situación anteriorSin embargo, esto requiere la capacidad de leer la GRAM, para el modo SPI de 3 o 4 cables, el módulo no admite la lectura, y el modo de lectura->-a->escritura también es relativamente lento.
Así que el método que usamos es crear una GRAM OLED (un total de 128 bytes) dentro de la STM32, y en cada modificación, sólo modificar la GRAM en la STM32 (en realidad SRAM), y después de la modificación,escribir el GRAM en el STM32 al GRAM OLED a la vezPor supuesto, este método también tiene desventajas, es decir, para aquellos microcontroladores con SRAM muy pequeña (como la serie 51), es más problemático.
Memoria de vídeo de OLED
El formato de almacenamiento es el siguiente:
¿Qué es eso?
//[1]0 1 2 3... 127
//[2]0 1 2 3... 127
¿Qué es esto?
//[4]0 1 2 3... 127
//[5]0 1 2 3... 127
//[6]0 1 2 3... 127
//[7]0 1 2 3... 127
U16 OLED_GRAM[128][8];
Actualizar la memoria de vídeo a la pantalla LCD
el valor de las emisiones de CO2 es el valor de las emisiones de CO2 de los combustibles renovables.
{
U8 i, n;
para ((i=0; i<8; i++)
{
El número de bits de la pantalla de OLED_WR_Byte (0xb0+i,OLED_CMD); Se establece la dirección de la página (0~7)
OLED_WR_Byte (0x00,OLED_CMD); Establecer la posición de visualización dirección inferior de la columna
OLED_WR_Byte (0x10,OLED_CMD); Establecer la posición de visualización dirección de altura de columna
el número de unidades de control de las instalaciones de control de las instalaciones de control de las instalaciones de control de las instalaciones de control de las instalaciones;
}
}
El comando SSD1306
1: Comando 0X81: Establecer el contraste. Contiene dos bytes, el primer 0X81 es el comando, y el siguiente byte es el valor del contraste a establecer.Cuanto más brillante sea la pantalla.
2: Comando 0XAE/0XAF: 0XAE para desactivar el comando de visualización; 0XAF para activar el comando de visualización.
3: Comando 0X8D: contiene 2 bytes, el primero es la palabra de comando, el segundo es el valor establecido, el segundo byte de BIT2 indica el estado de conmutación de la bomba de carga, el bit es 1,la bomba de carga está encendidaCuando el módulo se inicializa, esto debe estar habilitado, de lo contrario no verá la pantalla.
4: Comando 0XB0~B7: Se utiliza para establecer la dirección de la página, y los tres dígitos inferiores corresponden a la dirección de la página del GRAM.
5: Comando 0X00~0X0F: Se utiliza para establecer los cuatro dígitos inferiores de la dirección de la columna de inicio al mostrar.
6: Comando 0X10~0X1F: Se utiliza para establecer la dirección de la columna de inicio de la pantalla cuatro dígitos más alta.
Para más comandos, por favor, consulte esto, se recomienda mucho que lo vea, es muy detallado: SSD1306 (OLED driver chip) instrucciones en detalle
Después de introducir el modo de trabajo y el chip del conductor, podemos empezar a utilizar este módulo IIC OLED
Código detallado
#define OLED_CMD 0 // escribir el comando
#define OLED_DATA 1 //Escribe datos
Iniciar el OLED
Inicie el SSD1306
el valor de las emisiones de CO2 es el valor de las emisiones de CO2
La estructura de los datos de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad.
RCC_APB2PeriphClockCmd ((RCC_APB2Periph_GPIOA, Activa); Habilitar el reloj en el puerto A
El sistema de control de las emisiones de gases de efecto invernadero se utilizará para determinar el nivel de emisiones de gases de efecto invernadero.
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; salida de empuje y extracción
La velocidad de los datos de las unidades de ensayo se calculará en función de la velocidad de los datos de ensayo.
GPIO_Init ((GPIOA, & GPIO_InitStructure); Iniciar el GPIO
Se trata de un sistema de control de datos basado en el sistema de control de datos.
el tiempo de espera es de 200 ms;
El valor de las emisiones de gases de efecto invernadero se calcula en función de las emisiones de gases de efecto invernadero.
El número de bits de la dirección de la columna
El número de bits de la dirección de OLED_WR_Byte ((0x10,OLED_CMD);
El número de bits de la línea de inicio de la dirección de la línea de inicio.
El valor de las emisiones de gases de efecto invernadero se calcula en función de las emisiones de gases de efecto invernadero.
El control de los contratos se realiza por medio de un sistema de control de los datos.
El uso de la tecnología de la información en el ámbito de la seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad de los sistemas de seguridad.
Se trata de un sistema de control de las emisiones de gases de efecto invernadero.
El valor de las emisiones de CO2 de las emisiones de gases de efecto invernadero es el valor de las emisiones de CO2 de las emisiones de gases de efecto invernadero.
Las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes.
El uso de las tecnologías de la información y la comunicación en el ámbito de las comunicaciones electrónicas no debe limitarse a las tecnologías de la información.
La dirección de exploración de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes
Las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes de las imágenes
El sistema de control de las emisiones de gases de efecto invernadero se utiliza para determinar el nivel de emisiones de gases de efecto invernadero.
El sistema de control de las emisiones de gases de efecto invernadero (SOE) es el sistema de control de las emisiones de gases de efecto invernadero (SOE) de los Estados miembros.
El sistema de control de las emisiones de gases de efecto invernadero se utiliza para determinar el nivel de emisiones de gases de efecto invernadero.
El valor de las emisiones de CO2 de los sistemas de radiofrecuencia se calcula en función de las emisiones de CO2 de los sistemas de radiofrecuencia.
El sistema de control de las emisiones de gases de efecto invernadero se utiliza para determinar el nivel de emisiones de gases de efecto invernadero.
El valor de las emisiones de CO2 de las instalaciones eléctricas se calculará en función de las emisiones de CO2 de las instalaciones eléctricas.
Los datos de las pruebas de detección se pueden utilizar para evaluar la eficacia de las pruebas de detección.
El número de unidades de control de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla de la pantalla
Se trata de un sistema de control de las emisiones de gases de efecto invernadero.
El valor de las emisiones de gases de efecto invernadero se calcula en función de las emisiones de gases de efecto invernadero.
Los datos de las pruebas de detección se pueden utilizar para determinar si el sistema de detección está funcionando correctamente o no.
El valor de las emisiones de CO2 de los combustibles renovables se calculará en función de las emisiones de CO2 de los combustibles renovables de los combustibles renovables.
El sistema de control de las emisiones de gases de efecto invernadero se utiliza para controlar el efecto invernadero de los gases de efecto invernadero.
El valor de las emisiones de gases de efecto invernadero se calculará en función de las emisiones de gases de efecto invernadero.
OLED_Clear ((); Limpia la pantalla, se recomienda limpiar la pantalla primero después de cada inicialización se completa
Función de pantalla limpia, después de limpiar la pantalla, toda la pantalla está negra! ¡Es lo mismo que no iluminar!!
el valor de las emisiones de CO2 es el valor de las emisiones de CO2
{
U8 i, n;
para ((i=0; i<8; i++)
{
El número de bits de la pantalla de OLED_WR_Byte (0xb0+i,OLED_CMD); Se establece la dirección de la página (0~7)
OLED_WR_Byte (0x00,OLED_CMD); Establecer la posición de visualización dirección inferior de la columna
OLED_WR_Byte (0x10,OLED_CMD); Establecer la posición de visualización dirección de altura de columna
Para las aplicaciones de las categorías IIa y IIIa, se utilizará el código de código de las categorías IIa y IIIa.
} // Actualizar la pantalla
}
En el auto módulo que usualmente usamos, hay dos formas comunes de tomar el modular, uno es 6 * 8, y el otro es 8 * 16,La primera es sacar los caracteres que queremos en una tabla rectangular con 8 filas y 6 columnas, y el segundo es extraer los caracteres en una tabla rectangular con 16 filas y 8 columnas.espacio para la página siguiente necesita ser utilizadoAsí que tenemos el tamaño de la fuente que usamos normalmente, por supuesto, estos son los tamaños de fuente comúnmente utilizados, también podemos hacer nuestro propio tamaño de fuente favorito a través de software de modulación de caracteres.
/* Muestra un carácter en la ubicación especificada, incluyendo algunos caracteres
x:0~127
y:0~63
Tamaño: Seleccione la fuente 16/12*/
el valor de las emisiones de CO2 de las emisiones de CO2 de las emisiones de CO2 de las emisiones de CO2 de las emisiones de CO2 de las emisiones de CO2
{
el char sin firma c=0,i=0;
c=chr-' '; El valor de desplazamiento se puede obtener a partir del patrón de fuente, el primero es'', y el carácter correspondiente se puede obtener restando
si(x>Max_Column-1) {x=0; y=y+2; } //Max_Column: Máxima columna: 128; x: establece el número de columnas; y: establece el número de páginas
if(Char_Size ==16) // En este caso, se requiere la misma columna de dos páginas, y se requiere la matriz de puntos de 8 * 16
{
OLED_Set_Pos(x,y); Si x = y = 2, a continuación, establecerlo en la columna 3 en la página 3, nota: sólo hay ocho filas por página
para ((i=0; i<8; i++)
OLED_WR_Byte ((F8X16[c*16+i],OLED_DATA); Incrementando la i, los puntos se dibujan en un bucle, y las 8 filas de la segunda columna en la página 2 se escriben en los datos
OLED_Set_Pos(x,y+1); Dado que el número de puntos no es suficiente, es necesario continuar los puntos en la columna 2 en la página 3
para ((i=0; i<8; i++)
El dibujo se realizará en el siguiente modo:
}
otras
{
OLED_Set_Pos ((x,y); matriz de puntos 6x8, sin necesidad de otras páginas para continuar la pintura
para ((i=0; i<6; i++)
OLED_WR_Byte ((F6x8[c][i],OLED_DATA); En una matriz bidimensional, C controla las filas e I controla las columnas, por lo que no se necesitan otras operaciones para terminar el dibujo
}
}
El siguiente si ((x>120) no es un error, porque el anterior x + = 8; Hay una explicación en las notas siguientes, así que puede pensar en ello.
Void OLED_ShowString ((u8 x,u8 y,u8 *chr,u8 Char_Size) // Muestra la cadena
{
char sin firmar j=0;
mientras que (chr[j]!='0') // Compruebe si la cadena termina
{
OLED_ShowChar ((x,y,chr[j],Char_Size); Dibuja los caracteres uno por uno
x + = 8; x se establece en una columna, el tamaño de un carácter es 8 * 16, es decir, la fila es 16 y la columna es 8, y cada vez que se muestra como uno, usted necesita mover 8 columnas a la columna superior
si(x>120) {x=0; y+=2; } // El máximo es de 128 columnas, si se excede, es necesario comenzar desde la columna cero de nuevo, porque usted necesita otras páginas para continuar la pintura en este momento,para evitar la superposición, necesitas y + = 2.
j++; Dibuja cuerdas en un bucle
}
}
Se muestran 2 números, ambos escritos en el código de abajo, y debe tenerse en cuenta que el "" de abajo representa el valor ASCII de 32
M^n función
El número de unidades de carga de las unidades de carga de las unidades de carga de las unidades de carga de las unidades de carga de las unidades de carga de las unidades de carga.
{
u32 resultado=1;
mientras que el resultado*=m;
el resultado de la devolución;
}
Muestra 2 números
x,y: coordenadas de inicio
len: el número de dígitos del número
tamaño: el tamaño de la fuente
modo: modo 0, modo de llenado; 1. modo de superposición
num: valor numérico (0~4294967295);
el número de pantallas OLED no válido (u8 x,u8 y,u32 num,u8 len,u8 size2)
{
U8 t,temp;
u8 enshow=0;
para t=0; t { el número de unidades de producción de las unidades de producción de las unidades de producción de las unidades de producción de las unidades de producción de las unidades de producción. si (muestra) 0 y (no) 1 { si (temporalmente) { Las señales de luz de las pantallas OLED_ShowChar ((x+(size2/2) *t,y,' ',size2); seguir adelante; Si no, se muestra 1. } Las señales de luz de las pantallas OLED deberán estar equipadas con un dispositivo de control de velocidad de la pantalla de las pantallas. } Los varios anteriores son nuestro uso más básico, algunos Xi quieren usarlo para completar más operaciones diferentes, lo siguiente es, antes de la introducción,primero presentar nuestro software de modelado comúnmente utilizado. PC para LCD 2002 ¡Así es como funciona! Cuando lo utilizamos, primero abrimos el archivo en la esquina superior izquierda y crear uno nuevo.Hay una cosa como un engranaje en la esquina superior., y tenemos que abrirlo una vez que hemos establecido el tamaño. Una vez que tienes todo encima, puedes dibujar lo que quieras. porque OLED es 128 x 64, nuestro tamaño máximo es este, podemos escribir en 128 x 64, dibujar, etc, lo que sale es una imagen completa,que también es una forma de llenar la pantalla, y hay una especie de software de impresión en la parte posterior, que se obtiene como una imagen, como algunos personajes de anime. ¡Ahora que hemos introducido las herramientas, estamos listos para pasar a nuestras operaciones! 1Dibuja una línea recta. 2: Mostrar imágenes (como algunos personajes de anime) Parece un poco largo. Hay más maneras de jugar, para actualizar a continuación.
Por lo general usamos el mismo punto que en la figura de abajo cuando queremos dibujar una línea recta, siempre obtenemos un punto, esto es porque el tamaño de carácter que generalmente se utiliza es 6 * 8 o 8 * 16,y el tamaño del punto en el interior no está lleno de todo el rectángulo (explicado anteriormente), lo que tenemos que hacer es abrir nuestro software de personajes y hacer el punto más grande!
Persona de Contacto: Mrs. Christina
Teléfono: +8618922869670
Fax: 86-755-2370-9419