中景园电子0.96寸OLED使用文档新手必看V2.0

合集下载

0.96寸OLED显示屏用户手册说明书

0.96寸OLED显示屏用户手册说明书

0.96inch OLEDUser Manual 1.Driver Chip SSD1306Interface 3-wire SPI、4-wire SPI、I2CResolution 128x64Display Size 0.96 inchDimension 29mm*33mmColors Yellow, BlueVisible Angle >160°Operating Temp. (℃) -20℃~70℃Storage Temp. (℃) -30℃~80℃2.We will illustrate the usage of the module with an example of 4-wire SPI mode (defaultworking mode) by connecting Waveshare Open103R development board (STM32V MCU onboard).2.1.Hardware configurationThis module provides 3 kinds of driver interfaces; they are 3-wire SPI, 4-wire SPI and I2C interface. In its factory settings, BS0/BS1 pins are set to 0/0 and 4-wire SPI is selected as default.Different working mode and pin function of the module can be set by hardware selection on BS0/BS1 pins. (Notice: In this operation, welding is required. Any changes under no guidance from Waveshare will be considered as a waiver of warranty).Table 1: Working mode setting122.2.Software configurationOpen the project file .\IDE\ OLED.uvproj in Keil, navigate to the following text, delete the ‘//’ (Double slash) before #define INTERFACE_4WIRE_SPI After compiling successfully, download the project to Open103R development board. Note: You should delete the ‘//’ (Double slash) corresponding to the mode selection2.3. Hardware connectionsConnect module to the SPI2 interface of Open103R development board, power up. OLED displays information as Figure 1 shows.Figure 1: OLED information display3. 4-wire SPI and I2C interfaces of SSD1306 OLEDThis module provides 3 kinds of driver interfaces. We introduce 4-wire SPI and I2C interfaceshere. You can read Chap. 8.1 from SSD1306-Revision_1.1.pdf for more details.The 4-wire serial interface consists of serial clock: SCLK, serial data: SDIN, D/C#, CS#. In 4-wire SPI mode,D0 acts as SCLK, D1 acts as SDIN. For the unused data pins, D2 should be left open. The pins from D3 to D7, E and R/W# (WR#)# can be connected to an external ground.Table 2: 4-wire SPI Control pins of 4-wire Serial interfaceNote(1) H stands for HIGH in signal(2) L stands for LOW in signalSDIN is shifted into an 8-bit shift register on every rising edge of SCLK in the order of D7, D6 0D/C# is sampled on every eighth clock and the data byte in the shift register is written to the Graphic Display Data RAM (GDDRAM) or command register in the same clock.Under serial mode, only write operations are allowed.Figure 2: Write procedure in 4-wire Serial interface modeThe I2C-bus interface gives access to write data and command into the device. Please referto Figure 2 for the write mode of I2C-bus in chronological order.a)Slave address bit (SA0)SSD1306 has to recognize the slave address before transmitting or receiving any information by the I2C-bus. The device will respond to the slave address following by the slave address bit (“SA0”bit) and the read/write select bit (“R/W#” bit) with the following byte format,b7 b6 b5 b4 b6 b2 b1 b00 1 1 1 1 0 SA0 R/W#“SA0” bit provides an extension bit for the slave address. Either “0111100” or3“0111101”, can be selected as the slave address of SSD1306. D/C# pin acts as SA0 for slave address selection. “R/W#” bit is used to determine the operation mode of the I2C-bus interface.R/W#=1, it is in read mode. R/W#=0, it is in write mode.b)I2C-bus data signal (SDA)SDA acts as a communication channel between the transmitter and the receiver. The data and the acknowledgement are sent through the SDA.It should be noticed that the ITO track resistance and the pulled-up resistance at “SDA” pinbecomes a voltage potential divider. As a result, the acknowledgement would not be possible to attain a valid logic 0 level in “SDA””SDAIN” and “SDAOUT” are tied together and serve as SDA. The “SDAIN” pin must be connected to act as SDA. The “SDAOUT” pin may be disconnected. When “SDAOUT” pin is disconnected, the acknowledgement signal will be ignored in the I2C-bus.c)I2C-bus clock signal (SCL)The transmission of information in the I2C-bus is following a clock signal, SCL. Each transmission of data bit is taken place during a single clock period of SCL.Table 3. I2C I2C-bus data format1)The slave address is following the start condition for recognition use. For the SSD1306, the slaveaddress is either “b0111100” or “b0111101” by changing the SA0 to LOW or HIGH (D/C pin acts as SA0).2)The write mode is established by setting the R/W# bit to logic “0”43)An acknowledgement signal will be generated after receiving one byte of data, including theslave address and the R/W# bit.4)After the transmission of the slave address, either the control byte or the data byte may be sentacross the SDA. A control byte mainly consists of Co and D/C# bits following by six “0” ‘s.a)If the Co bit is set as logic “0”, the transmission of the following information will containdata bytes only.b)The D/C# bit determines the next data byte is acted as a command or a data. If the D/C# bitis set to logic “0”, it defines the following data byte as a command. If the D/C# bit is set tologic “1”, it defines the following data byte as a data which will be stored at the GDDRAM.The GDDRAM column address pointer will be increased by one automatically after eachdata write.5)Acknowledge bit will be generated after receiving each control byte or data byte.5。

0.96'OLED(4Pin)模块学习手册(STM8S版)

0.96'OLED(4Pin)模块学习手册(STM8S版)

S1
通讯地址
0
0x78
1
0x7a
通讯地址选择表
2、模块用途
OLED,即有机发光二极管( Organic Light Emitting Diode)。 OLED 由于同时具备自发光,不需背光 源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等特 性,被认为是下一代的平面显示器新兴应用技术 。
3.3 模块的电源电路设计
SSD1306 的电源有 VCC:显示屏工作电压;VDD:逻辑电路工作电压。VCC 的工作电压比较高,但是有两种 供电方式:第一种是外部给 VCC 供电,电压范围 8.5V~9.5V;第二种是使用 SSD1306 的内部 DC/DC 电路生成的 电压对 VCC 进行供电,供电范围 7.0V~7.5V(可参考官方手册 2、3.2 部分内容)。一般的系统的工作电压是 3.3V 或 5V,所以电源电路设计采用 SSD1306 的内部 DC/DC 设计(可参考官方手册 1.62、部分内容),VCC 由内部的 DC/DC 电路供电,只需要给 VBAT 与 VDD 供电,供电电压为 3.3V。
深圳市技新电子科技有限公司 www.jixin.pro
0.96’OLED(4Pin)V1.0.0.0
0.96’OLED(4Pin)模块学习手册(STM8S 版)
1、模块介绍
1.1 模块特点
0.96’OLED(4Pin)模块采用 SSD1306 为主芯片,像素为 128*64,通讯方式为 IIC,地址可选(默认地 址 0x78),接口简单,模块带有稳压芯片,支持 3.3V~5V 电压供电,上电自动复位,自发光自由视角,功耗 低。主要特点如下:
11
BS1
这些引脚由 MCU 接口选择输入,选择如下

基于Arduino控制的OLED显示模块的电子实践教学研究

基于Arduino控制的OLED显示模块的电子实践教学研究

基于Arduino控制的OLED显示模块的电子实践教学研究*王红敏1,王燕1,刘军强2,宁生科1(1.西安工业大学工业中心,陕西西安710021;2.西安工业大学机电工程学院,陕西西安710021)Arduino开源平台[1]的应用为我校电子类专业创新人才的培养提供了新的方向。

其具有价格低廉、编程简单、应用方便、强扩展能力,且不需要过于深厚的理论知识作为开发基础等诸多优点,使得项目开发过程中的原型制作更加快捷简单。

因此,在实践应用中,学生可以自主挖掘日常生活或工业生产中的潜在需求,完全不会受到理论知识的限制,通过Arduino开源平台快速制作原型来进行验证,并在此基础上进行方案的持续优化。

整个实践[2]形成一个新鲜有趣的创新思维的迭代过程,从而激发学生的学习兴趣,培养创新工程实践能力。

OLED被称为有机发光显示器(Organic lighting emitting device,OLED),其具有自发光、响应时间短、低功耗、高亮度、工作温度范围宽、抗震性好以及轻薄等特点,已经在中小尺寸显示领域得到快速的发展。

并且OLED与以CRT为代表的第一代显示器和以LCD为代表的第二代显示器相比,有着明显的技术优势,已逐渐取代传统LCD显示屏在电子实践教学环节的主流地位,并广泛应用于智能家电、通信、军工、工业仪器仪表及大学生科技竞赛等领域。

针对OLED显示屏的广泛应用及适用前沿技术的发展,我校对传统电子工艺实习课程进行转型优化,对课程内容、实验设置等方面进行了调整。

2018年开始应用0.96寸OLED显示模块等实验装置,并开设出利用Arduino开源平台控制OLED显示屏的综合性、设计性实践项目[3],为学生提供了多样性选择,提高了综合性、设计性实验内容的比例,培养了学生的自主创新能力。

一、OLED显示模块的工作原理在基于Arduino的实验教学中开发的液晶显示主要采用支持众多图形显示的OLED显示模块[4],0.96寸OLED 是目前最常见的图形液晶显示器,该模块分辨率为128像素伊64像素,也称为12864OLED。

0.96寸OLED_I2C例程

0.96寸OLED_I2C例程
}
}
}
//显示16x16点阵图像、汉字、生僻字或16x16点阵的其他图标
void display_graphic_16x16(uchar page,uchar column,uchar *dp)
{
uchar i,j;
for(j=0;j<2;j++)
{
lcd_address(page+j,column);
transfer_command(column&0x0f); //设置clear_screen()
{
unsigned char i,j;
for(j=0;j<8;j++)
{
lcd_address(1+j,1);
for(i=0;i<128;i++)
delay(1000); //延时保证OLED复位
transfer_command(0xae); //关显示
transfer_command(0xd5); //晶振频率
transfer_command(0x80);
transfer_command(0xa8); //duty设置
page+=2;
}
while(text[i]>0x00)
{
if((text[i]>=0x20)&&(text[i]<=0x7e))
{
j=text[i]-0x20;
for(n=0;n<2;n++)
{
lcd_address(page+n,column);
transfer_command(0xd9); //Set Pre-Charge Period

aoc 22b2h led 背光 lcd 螢幕使用手冊说明书

aoc 22b2h led 背光 lcd 螢幕使用手冊说明书

LCD 螢幕使用手冊22B2H LED 背光1安全性 (3)符號慣例 (3)電源 (4)安裝 (5)清潔 (6)其他 (7)安裝 (8)包裝盒內容 (8)安裝底座 (9)調整視角 (10)連接螢幕 (11)快捷鍵 (12)OSD Setting(OSD 設定) (14)Luminance(亮度) (15)Image Setup(影像設定) (16)Color Setup(彩色設定) (17)Picture Boost (圖片增強) (18)OSD Setup(OSD 設定) (19)Extra(其他) (20)Exit(結束) (21)LED 指示燈號 (22)i-Menu (23)e-Saver (24)Screen+ (25)故障排除 (26)規格 (28)一般規格 (28)預設顯示模式 (29)接腳 (30)即插即用 (31)臺灣RoHS (31)安全性符號慣例下列子章節說明本文件中使用的符號慣例。

附註、注意及警告事項在本指南中,文字區塊可能會透過圖示與粗體或斜體印刷顯示。

這些區塊屬於附註、注意及警告事項,使用方式如下:附註:「附註」代表重要資訊,可協助您更有效利用電腦系統。

注意:「注意」代表會對硬體造成潛在的損害或遺失資料,並告知您如何避免此類問題。

警告:「警告」代表會對人體造成潛在的傷害,並告知您如何避免此類問題。

部分警告事項會以其他格式顯示,且不會伴隨圖示。

在此情況下,需由主管機關強制執行特定的警告事項。

本顯示器限制使用標籤所示的電源。

如不明住家使用的電源種類,請洽經銷商或當地的電力公司。

雷雨期或長時間不使用時,請拔掉本顯示器插頭,以防電源突波造成損壞。

請勿使電源線及延長線過載,否則可能會導致失火或觸電。

為確保操作順暢,本顯示器僅可使用於通過UL 認可,且備有適當電源(100 - 240V ~,最小 1.5A)插座的電腦。

市電插座應安裝於設備附近便於插拔的位置。

僅適用隨附的電源變壓器(輸出20Vdc)製造商:福建捷聯電子有限公司機型:ADPC1925EX (19VDC,1.31A)4請勿將螢幕放置在不穩固的推車、底座、三腳架、托架或電腦桌上。

中景园电子1.3OLED显示屏_数据手册

中景园电子1.3OLED显示屏_数据手册
"A" 0.23 0.21
P0.23x64-0.02=14.7 0.23 0.21
Segment 129
( Column 1 )
Common 1
( Row 63 )
Common 63
( Row 1 )
Segment 2
( Column 128 )
Common 0
( Row 64 )
Common 62
31.42± 0.2 (V/A)
29.42± 0.2 (A/A)
10
5
1.4± 0.1
Item
Date
A
20130605
Remark Original Drawing
P0.23x128-0.02=29.42 "A"
(2.1) (1.1) 0.5± 0.5
0.21 0.23 P0.23x64-0.02=14.7
P This is a ground pin. It acts as a reference for the logic pins. It must be
connected to external ground.
Power Supply for OEL Panel
P
This is the most positive voltage supply pin of the chip. A stabilization capacitor should be connected between this pin and VSS when the converter is used. It
must be connected to external source when the converter is not used.

0.96寸OLED液晶屏模块

0.96寸OLED液晶屏模块

0.96寸OLED显示屏一、OLED简介OLED,即有机发光二级管(Organic Light Emitting Diode)。

OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于扭曲性面板、使用温度范围广、构造及制作较简单等优异的特性,被认为是下一代的平面显示器新兴应用技术。

LCD都需要背光,而OLED不需要,因为它是自发光的。

这样同样的显示,OLED效果要来得好一些。

以目前的技术,OLED的尺寸还难以大型化,但是分辨率确可以做到很高。

在此我们使用的是中景园电子的0.96寸OLED显示屏,该屏有以下特点:1、0.96寸OLED有黄蓝、白、蓝三种颜色可以选择,其中黄蓝是屏上1/4部分为黄光,下3/4位蓝光,而且是固定区域显示固定颜色,颜色和显示区域均不能修改。

白光则为纯白,也就是黑底白字。

蓝光则为纯蓝,也就是黑底蓝字。

2、分辨率为128*64,每个像素都是一个LED。

3、多种接口方式,OLED裸屏的接口方式有5种:6800、8080两种并行接口方式、3线或4线的串行SPI接口方式、I2C接口方式(只需要用到2根线就可以控制OLED了!),这5种接口方式是通过屏上的BS0~BS2来配置的。

4、中景园电子的屏开发了两种接口的DEMO板,接口分别为七针的SPI/I2C兼容模块,四针的I2C模块,两种模块都很方便使用,我们可以根据实际需求来选择不同的模块。

二、模块特点:1、0.96寸OLED裸屏外观裸屏为30Pin,从屏正面看左下角为1脚,右下角为30脚。

在设计的时候一定要注意不要弄反了。

具体的接口方式请大家查看0.96寸OLED官方数据手册,里面有详细介绍。

2、0.96寸OLED模块(1)SPI/I2C接口模块(7脚)(2)I2C接口模块(4脚)3、0.96寸OLED的驱动IC芯片(SSD1306)本屏所用的驱动IC芯片为SSD1306,其具有内部升压功能,所以在设计的时候就不需要再专门设计升压电路了。

0.96英寸IPS屏显示模块用户手册说明书

0.96英寸IPS屏显示模块用户手册说明书

0.96inch LCD ModuleUser ManualOVERVIEWThis is a general LCD display Module, IPS screen, 0.96inch diagonal, 160x80 HD resolution, with embedded controller, communicating via SPI interface.Examples are provided for testing. Examples are compatible with Raspberry Pi (bcm2835, wiringPi and python), STM32 and ArduinoSPECIFICATIONOperating Voltage : 3.3VInterface : SPIType : TFTControl Driver : ST7735SResolution : 160 (V) RGB x 80 (H) mmViewing Area : 21.7 (V) x 10.8 (H) mmPixel size : 0.1356(V)x 0.135(H)mmDimension : 32.5 x 26.00 (mm)PINOUTOverview (1)Specification (1)Pinout (2)Hardware (5)Controller (5)Communication protocol (5)Demo codes (7)Download (7)Raspberry Pi (7)Copy to Raspberry Pi (7)Libraries install (8)Hardware connection (10)Running examples (10)Expected result (11)STM32 (12)Hardware connection (12)Expected result (12)Arduino (13)Hardware connection (13)Expected result (13)FAQ (14)CONTROLLERST7735S is a controller for 162 x RGB x132 LCD. Note that the resolution of this LCD module is 160(H)RGBx80(V) indeed.ST7735S supports RGB444, RGB565 and RGB666 three formats. This LCD module we use RGB565.Because that the first pixel of the LCD is different with the origin point of controller, therefore, we should offset the position when initialize the module: Horizontal: begin from the second pixel; Vertical: begin from the 27th pixel. Make sure that the display position of LCD is same as RAM.For most of the LCD controller, there are several interfaces for choosing, this module we use SPI interface which is fast and simple.COMMUNICATION PROTOCOLNote: It is not like the tradition SPI protocol, it only uses MOSI to send data from master to slave for LCD display. For details please refer to Datasheet Page 105. RESX: Reset, should be pull-down when power on, set to 1 other time.CSX: Slave chip select. The chip is enabled only CS is set LowD/CX: Data/Command selection; DC=0, write command; DC=1, write dataSDA: Data transmitted. (RGB data)SCL: SPI clockThe SPI communication protocol of the data transmission uses control bits: clock phase (CPHA) and clock polarity (CPOL):CPOL defines the level while synchronization clock is idle. If CPOL=0, then it is LOW. CPHA defines at wh ish clock’s tick the data transmission starts. CPHL=0 – at the first one, otherwise at the second oneThis combination of two bits provides 4 modes of SPI data transmission. The commonly used is SPI0 mode, i.e. GPHL=0 and CPOL=0.According to the figure above, data transmitting begins at the first falling edge, 8bit data are transmitted at one clock cycle. It is SPI0. MSB.DOWNLOADVisit Waveshare wiki and search for 0.96inch LCD Module. Download the demo code:Extract and get the folders as below:Arduino: For Arduino UNORaspberry Pi: Includes three examples, BCM2835, WiringPi and PythonSTM32: For XNUCLEO-F103RB, which integrate STM32F103RBT6RASPBERRY PICOPY TO RASPBERRY PI1.Insert SD card which has Raspbian installed to your PC2.Copy RaspberryPi extracted to root directory (BOOT) of SD card3.Power on your Raspberry Pi and open Terminal, you can find that the examples islisted in boot directory4.Copy the RaspberryPi folder to /home/pi and change its execute permission.LIBRARIES INSTALLTo use the demo codes, you need to first install librariesInstall BCM2835:xx is the version of library. For example, if the library you download is bcm2835-1.52, the command should be : sudo tar zxvf bcm2835-1.52.tar.gzInstall wiringPi:Install Python libraries:HARDWARE CONNECTIONRUNNING EXAMPLESEnter the folder: cd RaspberryPi/bcm2835 example:Press Ctrl and C to stop running wiringpi example:Press Ctrl and C to stop running python example:Press Ctrl and C to stop running EXPECTED RESULT1.Clear screen2.Display number and strings3.Draw figures4.Display 40 x 40 image5.Display 160x80 imageSTM32The development board used is XNUCLEO-F103RB, based on HAL library HARDWARE CONNECTIONEXPECTED RESULT1.Clear screen2.Display number and strings3.Draw figures4.Display 40x40 image5.Display 160x80 imageARDUINOThis example is compatible with Arduino UNO HARDWARE CONNECTIONEXPECTED RESULT1.Clear screen2.Display number and strings3.Display figures4.Display 40x40 imageFAQ1.How to control backlight?- You can use the function LCD_SetBacklight() to control the backlight2.Why the LCD is black when working with Raspberry Pia) Check if SPI interface was enabledb) Check if the BL pin work normally, if the pin has no output, please try todisconnect the BL control pin3.What does it happen if using Raspberry Pi improperly?If you run python or bcm2835 examples after wiringPi, the LCD may cannot work normally, please try to restart Raspberry Pi can try again.4.How to rotate display?-You can use the function Paint_SetRotate(Rotate) to rotate display. Rotate should be 0, 90, 180 or 270.-Python can call rotate(Rotate) function for any angle.5.Python Image library- For some of the OS, you should execute command to install python-imaging library: sudo apt-get install python-imaging。

中景园电子0.96OLED显示屏_模块说明书

中景园电子0.96OLED显示屏_模块说明书

中景园电子0.96OLED显示屏_模块说明书
一、OLED技术特点
(1)OLED 器件的核心层厚度很薄,厚度可以小于1mm,为液晶的1/3。

(2)OLED 器件为全固态机构,无真空,液体物质,抗震性好,可以适应巨大的加速度,振动等恶劣环境。

(3)主动发光的特性使OLED 几乎没有视角限制,视角一般可达到170 度,具有较宽的视角,从侧面也不会失真。

(4)OLED 显示屏的响应时间超过TFT—LCD 液晶屏。

TFT—LCD 的响应时间大约是几十毫秒,现在做得最好的TFT—LCD 响应时间也只有12 毫秒。

而OLED 显示屏的响应时间大约是几微秒到几十微秒。

(5)OLED 低温特性好,在零下40 摄氏度都能正常显示,目前航天服上也使用OLED 作为显示屏。

而TFT—LCD 的响应速度随温度发生变化,低温下,其响应速度变慢,因此,液晶在低温下显示效果不好。

(6)OLED 采用有机发光原理,所需材料很少,制作上比采用液体发光的液晶工序少,液晶显示屏少 3 道工序,成本大幅降低。

(7)OLED 采用的二极管会自行发光,因此不需要背面光源,发光转化效率高,能耗比液晶低,OLED 能够在不同材质的基板上制造,厂家甚至可以将电路印刷在弹性材料上——做成能弯曲的柔软显示器。

(8)低电压直流驱动,5V 以下,用电池就能点亮。

高亮度,可达300 明流以上。

70PD9000 96 使用手冊说明书

70PD9000 96 使用手冊说明书

使用手冊Philips LED背光源智慧型顯示器70PD9000/96目錄1 安裝 41.1 閱讀安全指示41.2 顯示器底座和壁面架設4 1.3 電源線41.4 擺放位置提示42 遙控器 52.1 按鍵瀏覽52.2 將遙控器與顯示器配對6 2.3 語音搜尋62.4 IR 感應器62.5 電池62.6 清潔73 開啟和關閉 83.1 開啟或待機83.2 顯示器上的按鍵84 連接裝置 94.1 關於各種連接94.2 家庭劇院 - HTS94.3 藍光光碟播放器104.4 藍牙104.5 耳機104.6 遊戲機114.7 USB 外接式硬碟114.8 USB 鍵盤124.9 USB 隨身碟124.10 相機124.11 攝影機134.12 電腦135 應用程式 145.1 關於應用程式145.2 Google Play145.3 開始或停止應用程式155.4 鎖定應用程式155.5 管理應用程式165.6 儲存166 網際網路 186.1 啟動網際網路186.2 網際網路選項187 輸入源 197.1 切換至裝置197.2 顯示器輸入源選項197.3 裝置名稱及類型197.4 重新掃描已連接的裝置198 網路 218.1 網路218.2 藍牙219 設定 229.1 畫面229.2 聲音259.3 Ambilight (流光溢彩) 設定26 9.4 一般設定289.5 時鐘、地區及語言設定309.6 Android 設定309.7 鎖定設定3010 影片、相片和音樂 3210.1 來自電腦或 NAS3210.2 最受歡迎選單與上次播放選單32 10.3 來自 USB 連接裝置3210.4 播放您的影片/視訊3210.5 觀看您的相片3310.6 播放您的音樂3511 遊戲 3611.1 必要準備3611.2 遊戲控制器3611.3 玩遊戲3612 Ambilight (流光溢彩) 37 12.1 Ambilight (流光溢彩) 風格37 12.2 關閉 Ambilight (流光溢彩)37 12.3 Ambilight (流光溢彩) 設定37 12.4 Lounge Light 模式3712.5 Ambisleep3812.6 Ambilight 延伸3813 Netflix 4014 Alexa 4114.1 關於 Alexa4114.2 使用 Alexa4115 日出喚醒鬧鐘 4216 軟體 4316.1 更新軟體4316.2 檢視軟體更新紀錄4316.3 軟體版本4316.4 自動軟體更新4316.5 開放原始碼軟體4316.6 公告4417 規格 4517.1 環境保護4517.2 電源4517.3 作業系統4517.4 接收4517.5 顯示器類型4517.6 顯示器輸入解析度4517.7 連接4617.8 尺寸和重量4617.9 聲音4617.10 多媒體4618 協助說明與支援 4718.1 註冊您的顯示器4718.2 使用協助說明4718.3 疑難排解4718.4 線上協助說明4918.5 支援及維修4919 安全與照護 5019.1 安全性5019.2 螢幕照護5119.3 RoHS 法規要求5120 使用條款 5220.1 使用條款 - 顯示器5221 版權 5321.1 HDMI5321.2 Dolby Vision and Dolby Atmos 杜比視界及杜比全景聲5321.3 DTS-HD5321.4 Wi-Fi Alliance5321.5 Kensington5321.6 HEVC Advance 5321.7 其他商標5322 針對第三方所提供服務及/或軟體的免責聲明 54索引 551安裝1.1閱讀安全指示使用顯示器之前請先閱讀安全指示。

0.96寸OLED介绍第二讲

0.96寸OLED介绍第二讲

0.96寸OLED显示屏介绍0.96 寸OLED 显示屏使用方法(以中景园电子的0.96 寸OLED 显示屏为例)0.96寸OLED显示屏实物图七针SPI/IIC 0.96寸OLED显示屏使用方法:七针SPI/IIC 0.96寸OLED显示屏共有七个管脚,1~7 分别为GDN、VCC、D0、D1、RES、DC、CS。

此模块支持四线SPI、三线SPI、IIC 接口。

0.96寸OLED显示屏裸屏是支持五种不同接口的,除了前面的三种还有6800、8080 并口方式;由于这两种接口占用数据线比较多;而且不太常用,所以模块在设计的时候没有引出来。

模块的通信接口是通过BS0,BS1,BS2三个管脚来配置的。

在SPI 接口中,R1,R2,R8 三个电阻是不焊接的。

在IIC 接口中,需要将R3换到R1上,R8 可以焊接也可不焊接。

七针SPI/IIC 0.96寸OLED显示屏正面丝印如下,如果想用IIC接口,在IIC接口中需要将RES接高电平,可以与VCC对接,使OLED复位脚一直操持高电平,也就是不复位的状态;同时需要将DC,CS 接电源地;IIC 通信中只需要GND ,VCC,D0(时钟信号),D1(数据信号)四根线。

如果感觉比较麻烦;也可以直接选用四针的IIC接口的0.96寸OLED显示屏。

四针IIC接口相对比较简单一些,只有两个信号线。

1、GND:电源地。

2、VCC:电源正(3~5.5V)。

3、SCL:OLED 的D0 脚,在IIC 通信中为时钟管脚。

4、SDA:OLED 的D1 脚,在IIC 通信中为数据管脚。

0.96 寸OLED显示屏例程:/****************0.96英寸OLED显示信息***************** 处理器:STM32F103C8T6程序功能:开发板上电后在oled液晶屏中显示一些提示信息。

*****************************************************/ #include "sys.h"#include "stdlib.h"#define OLED_RST_Clr() PCout(13)=0 //RST#define OLED_RST_Set() PCout(13)=1 //RST#define OLED_RS_Clr() PBout(4)=0 //DC#define OLED_RS_Set() PBout(4)=1 //DC#define OLED_SCLK_Clr() PCout(15)=0 //SCL#define OLED_SCLK_Set() PCout(15)=1 //SCL#define OLED_SDIN_Clr() PCout(14)=0 //SDA#define OLED_SDIN_Set() PCout(14)=1 //SDA#define OLED_CMD 0 //写命令#define OLED_DATA 1 //写数据void delay_init(u8 SYSCLK);void delay_ms(u16 nms);void delay_us(u32 nus);void OLED_WR_Byte(u8 dat,u8 cmd);void OLED_Display_On(void);void OLED_Display_Off(void);void OLED_Refresh_Gram(void);void Oled_Init(void);void OLED_Clear(void);void OLED_DrawPoint(u8 x,u8 y,u8 t);void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size,u8 mode); void OLED_ShowNumber(u8 x,u8 y,u32 num,u8 len,u8 size); void OLED_ShowString(u8 x,u8 y,const u8 *p);void Oled_Show(void);u8 OLED_GRAM[128][8];const unsigned char oled_asc2_1206[95][12]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ {0x00,0x00,0x00,0x00,0x3F,0x40,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/ {0x00,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x40,0x00,0x00,0x00},/*""",2*/ {0x09,0x00,0x0B,0xC0,0x3D,0x00,0x0B,0xC0,0x3D,0x00,0x09,0x00},/*"#",3*/ {0x18,0xC0,0x24,0x40,0x7F,0xE0,0x22,0x40,0x31,0x80,0x00,0x00},/*"$",4*/ {0x18,0x00,0x24,0xC0,0x1B,0x00,0x0D,0x80,0x32,0x40,0x01,0x80},/*"%",5*/ {0x03,0x80,0x1C,0x40,0x27,0x40,0x1C,0x80,0x07,0x40,0x00,0x40},/*"&",6*/ {0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x20,0x40,0x40,0x20},/*"(",8*/ {0x00,0x00,0x40,0x20,0x20,0x40,0x1F,0x80,0x00,0x00,0x00,0x00},/*")",9*/ {0x09,0x00,0x06,0x00,0x1F,0x80,0x06,0x00,0x09,0x00,0x00,0x00},/*"*",10*/ {0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0x00,0x00},/*"+",11*/ {0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/ {0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00},/*"-",13*/ {0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/ {0x00,0x20,0x01,0xC0,0x06,0x00,0x38,0x00,0x40,0x00,0x00,0x00},/*"/",15*/ {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"0",16*/ {0x00,0x00,0x10,0x40,0x3F,0xC0,0x00,0x40,0x00,0x00,0x00,0x00},/*"1",17*/ {0x18,0xC0,0x21,0x40,0x22,0x40,0x24,0x40,0x18,0x40,0x00,0x00},/*"2",18*/ {0x10,0x80,0x20,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"3",19*/ {0x02,0x00,0x0D,0x00,0x11,0x00,0x3F,0xC0,0x01,0x40,0x00,0x00},/*"4",20*/ {0x3C,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x23,0x80,0x00,0x00},/*"5",21*/ {0x1F,0x80,0x24,0x40,0x24,0x40,0x34,0x40,0x03,0x80,0x00,0x00},/*"6",22*/ {0x30,0x00,0x20,0x00,0x27,0xC0,0x38,0x00,0x20,0x00,0x00,0x00},/*"7",23*/ {0x1B,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"8",24*/ {0x1C,0x00,0x22,0xC0,0x22,0x40,0x22,0x40,0x1F,0x80,0x00,0x00},/*"9",25*/ {0x00,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/ {0x00,0x00,0x00,0x00,0x04,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/ {0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40},/*"<",28*/ {0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x00,0x00},/*"=",29*/ {0x00,0x00,0x40,0x40,0x20,0x80,0x11,0x00,0x0A,0x00,0x04,0x00},/*">",30*/ {0x18,0x00,0x20,0x00,0x23,0x40,0x24,0x00,0x18,0x00,0x00,0x00},/*"?",31*/ {0x1F,0x80,0x20,0x40,0x27,0x40,0x29,0x40,0x1F,0x40,0x00,0x00},/*"@",32*/ {0x00,0x40,0x07,0xC0,0x39,0x00,0x0F,0x00,0x01,0xC0,0x00,0x40},/*"A",33*/ {0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"B",34*/ {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x30,0x80,0x00,0x00},/*"C",35*/ {0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"D",36*/ {0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x40,0x30,0xC0,0x00,0x00},/*"E",37*/ {0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x00,0x30,0x00,0x00,0x00},/*"F",38*/ {0x0F,0x00,0x10,0x80,0x20,0x40,0x22,0x40,0x33,0x80,0x02,0x00},/*"G",39*/ {0x20,0x40,0x3F,0xC0,0x04,0x00,0x04,0x00,0x3F,0xC0,0x20,0x40},/*"H",40*/ {0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x00,0x00},/*"I",41*/ {0x00,0x60,0x20,0x20,0x20,0x20,0x3F,0xC0,0x20,0x00,0x20,0x00},/*"J",42*/ {0x20,0x40,0x3F,0xC0,0x24,0x40,0x0B,0x00,0x30,0xC0,0x20,0x40},/*"K",43*/{0x20,0x40,0x3F,0xC0,0x20,0x40,0x00,0x40,0x00,0x40,0x00,0xC0},/*"L",44*/ {0x3F,0xC0,0x3C,0x00,0x03,0xC0,0x3C,0x00,0x3F,0xC0,0x00,0x00},/*"M",45*/ {0x20,0x40,0x3F,0xC0,0x0C,0x40,0x23,0x00,0x3F,0xC0,0x20,0x00},/*"N",46*/ {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"O",47*/ {0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x00,0x18,0x00,0x00,0x00},/*"P",48*/ {0x1F,0x80,0x21,0x40,0x21,0x40,0x20,0xE0,0x1F,0xA0,0x00,0x00},/*"Q",49*/ {0x20,0x40,0x3F,0xC0,0x24,0x40,0x26,0x00,0x19,0xC0,0x00,0x40},/*"R",50*/ {0x18,0xC0,0x24,0x40,0x24,0x40,0x22,0x40,0x31,0x80,0x00,0x00},/*"S",51*/ {0x30,0x00,0x20,0x40,0x3F,0xC0,0x20,0x40,0x30,0x00,0x00,0x00},/*"T",52*/ {0x20,0x00,0x3F,0x80,0x00,0x40,0x00,0x40,0x3F,0x80,0x20,0x00},/*"U",53*/ {0x20,0x00,0x3E,0x00,0x01,0xC0,0x07,0x00,0x38,0x00,0x20,0x00},/*"V",54*/ {0x38,0x00,0x07,0xC0,0x3C,0x00,0x07,0xC0,0x38,0x00,0x00,0x00},/*"W",55*/ {0x20,0x40,0x39,0xC0,0x06,0x00,0x39,0xC0,0x20,0x40,0x00,0x00},/*"X",56*/ {0x20,0x00,0x38,0x40,0x07,0xC0,0x38,0x40,0x20,0x00,0x00,0x00},/*"Y",57*/ {0x30,0x40,0x21,0xC0,0x26,0x40,0x38,0x40,0x20,0xC0,0x00,0x00},/*"Z",58*/ {0x00,0x00,0x00,0x00,0x7F,0xE0,0x40,0x20,0x40,0x20,0x00,0x00},/*"[",59*/ {0x00,0x00,0x70,0x00,0x0C,0x00,0x03,0x80,0x00,0x40,0x00,0x00},/*"\",60*/ {0x00,0x00,0x40,0x20,0x40,0x20,0x7F,0xE0,0x00,0x00,0x00,0x00},/*"]",61*/ {0x00,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00},/*"^",62*/ {0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10},/*"_",63*/ {0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/ {0x00,0x00,0x02,0x80,0x05,0x40,0x05,0x40,0x03,0xC0,0x00,0x40},/*"a",65*/ {0x20,0x00,0x3F,0xC0,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00},/*"b",66*/ {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x06,0x40,0x00,0x00},/*"c",67*/ {0x00,0x00,0x03,0x80,0x04,0x40,0x24,0x40,0x3F,0xC0,0x00,0x40},/*"d",68*/ {0x00,0x00,0x03,0x80,0x05,0x40,0x05,0x40,0x03,0x40,0x00,0x00},/*"e",69*/ {0x00,0x00,0x04,0x40,0x1F,0xC0,0x24,0x40,0x24,0x40,0x20,0x00},/*"f",70*/ {0x00,0x00,0x02,0xE0,0x05,0x50,0x05,0x50,0x06,0x50,0x04,0x20},/*"g",71*/ {0x20,0x40,0x3F,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40},/*"h",72*/ {0x00,0x00,0x04,0x40,0x27,0xC0,0x00,0x40,0x00,0x00,0x00,0x00},/*"i",73*/ {0x00,0x10,0x00,0x10,0x04,0x10,0x27,0xE0,0x00,0x00,0x00,0x00},/*"j",74*/ {0x20,0x40,0x3F,0xC0,0x01,0x40,0x07,0x00,0x04,0xC0,0x04,0x40},/*"k",75*/ {0x20,0x40,0x20,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x00,0x00},/*"l",76*/ {0x07,0xC0,0x04,0x00,0x07,0xC0,0x04,0x00,0x03,0xC0,0x00,0x00},/*"m",77*/ {0x04,0x40,0x07,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40},/*"n",78*/ {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00},/*"o",79*/ {0x04,0x10,0x07,0xF0,0x04,0x50,0x04,0x40,0x03,0x80,0x00,0x00},/*"p",80*/ {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x50,0x07,0xF0,0x00,0x10},/*"q",81*/ {0x04,0x40,0x07,0xC0,0x02,0x40,0x04,0x00,0x04,0x00,0x00,0x00},/*"r",82*/ {0x00,0x00,0x06,0x40,0x05,0x40,0x05,0x40,0x04,0xC0,0x00,0x00},/*"s",83*/ {0x00,0x00,0x04,0x00,0x1F,0x80,0x04,0x40,0x00,0x40,0x00,0x00},/*"t",84*/ {0x04,0x00,0x07,0x80,0x00,0x40,0x04,0x40,0x07,0xC0,0x00,0x40},/*"u",85*/ {0x04,0x00,0x07,0x00,0x04,0xC0,0x01,0x80,0x06,0x00,0x04,0x00},/*"v",86*/ {0x06,0x00,0x01,0xC0,0x07,0x00,0x01,0xC0,0x06,0x00,0x00,0x00},/*"w",87*/{0x04,0x40,0x06,0xC0,0x01,0x00,0x06,0xC0,0x04,0x40,0x00,0x00},/*"x",88*/{0x04,0x10,0x07,0x10,0x04,0xE0,0x01,0x80,0x06,0x00,0x04,0x00},/*"y",89*/{0x00,0x00,0x04,0x40,0x05,0xC0,0x06,0x40,0x04,0x40,0x00,0x00},/*"z",90*/{0x00,0x00,0x00,0x00,0x04,0x00,0x7B,0xE0,0x40,0x20,0x00,0x00},/*"{",91*/{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00,0x00},/*"|",92*/{0x00,0x00,0x40,0x20,0x7B,0xE0,0x04,0x00,0x00,0x00,0x00,0x00},/*"}",93*/{0x40,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x40,0x00},/*"~",94*/};const unsigned char oled_asc2_1608[95][16]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/ {0x00,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x00,0x00},/*""",2*/ {0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x00,0x00},/*"#",3*/ {0x00,0x00,0x0E,0x18,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00,0x00,0x00},/*"$",4*/ {0x0F,0x00,0x10,0x84,0x0F,0x38,0x00,0xC0,0x07,0x78,0x18,0x84,0x00,0x78,0x00,0x00},/*"%",5*/ {0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x24,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08},/*"&",6*/ {0x08,0x00,0x68,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00},/*"(",8*/ {0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/ {0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00},/*"*",10*/ {0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00},/*"+",11*/ {0x00,0x01,0x00,0x0D,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/ {0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80},/*"-",13*/ {0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/ {0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00},/*"/",15*/ {0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"0",16*/ {0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"1",17*/ {0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00},/*"2",18*/ {0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00},/*"3",19*/ {0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00},/*"4",20*/ {0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00},/*"5",21*/ {0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00},/*"6",22*/ {0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00},/*"7",23*/ {0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/*"8",24*/ {0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00},/*"9",25*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/ {0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/ {0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00},/*"<",28*/ {0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x00},/*"=",29*/ {0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00},/*">",30*/ {0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0x6C,0x10,0x80,0x0F,0x00,0x00,0x00},/*"?",31*/ {0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x24,0x17,0xC4,0x08,0x28,0x07,0xD0,0x00,0x00},/*"@",32*/ {0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04},/*"A",33*/ {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00},/*"B",34*/{0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"D",36*/ {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00},/*"E",37*/ {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00},/*"F",38*/ {0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00},/*"G",39*/ {0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04},/*"H",40*/ {0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00},/*"I",41*/ {0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00},/*"J",42*/ {0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00},/*"K",43*/ {0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00},/*"L",44*/ {0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00},/*"M",45*/ {0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00},/*"N",46*/ {0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"O",47*/ {0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00},/*"P",48*/ {0x07,0xF0,0x08,0x18,0x10,0x24,0x10,0x24,0x10,0x1C,0x08,0x0A,0x07,0xF2,0x00,0x00},/*"Q",49*/ {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04},/*"R",50*/ {0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00},/*"S",51*/ {0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00},/*"T",52*/ {0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00},/*"U",53*/ {0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00},/*"V",54*/ {0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00},/*"W",55*/ {0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04},/*"X",56*/ {0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00},/*"Y",57*/ {0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00},/*"Z",58*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00},/*"[",59*/ {0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00},/*"\",60*/ {0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/ {0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00},/*"^",62*/ {0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01},/*"_",63*/ {0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/ {0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04},/*"a",65*/ {0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"b",66*/ {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00},/*"c",67*/ {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04},/*"d",68*/ {0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00},/*"e",69*/ {0x00,0x00,0x01,0x04,0x01,0x04,0x0F,0xFC,0x11,0x04,0x11,0x04,0x11,0x00,0x18,0x00},/*"f",70*/ {0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00},/*"g",71*/ {0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"h",72*/ {0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"i",73*/ {0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00},/*"j",74*/ {0x10,0x04,0x1F,0xFC,0x00,0x24,0x00,0x40,0x01,0xB4,0x01,0x0C,0x01,0x04,0x00,0x00},/*"k",75*/ {0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"l",76*/ {0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC},/*"m",77*/ {0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"n",78*/{0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"p",80*/ {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x05,0x01,0xFF,0x00,0x01},/*"q",81*/ {0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00},/*"r",82*/ {0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00},/*"s",83*/ {0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00},/*"t",84*/ {0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04},/*"u",85*/ {0x01,0x00,0x01,0x80,0x01,0x70,0x00,0x0C,0x00,0x10,0x01,0x60,0x01,0x80,0x01,0x00},/*"v",86*/ {0x01,0xF0,0x01,0x0C,0x00,0x30,0x01,0xC0,0x00,0x30,0x01,0x0C,0x01,0xF0,0x01,0x00},/*"w",87*/ {0x00,0x00,0x01,0x04,0x01,0x8C,0x00,0x74,0x01,0x70,0x01,0x8C,0x01,0x04,0x00,0x00},/*"x",88*/ {0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00},/*"y",89*/ {0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00},/*"z",90*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x3E,0xFC,0x40,0x02,0x40,0x02},/*"{",91*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/ {0x00,0x00,0x40,0x02,0x40,0x02,0x3E,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/ {0x00,0x00,0x60,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00},/*"~",94*/ };static u8 fac_us=0; //us延时倍乘数static u16 fac_ms=0; //ms延时倍乘数void delay_init(u8 SYSCLK){SysTick->CTRL&=0xfffffffb; //bit2清空,选择外部时钟 HCLK/8fac_us=SYSCLK/8;fac_ms=(u16)fac_us*1000;}void delay_ms(u16 nms){u32 temp;SysTick->LOAD=(u32)nms*fac_ms; //时间加载(SysTick->LOAD为24bit)SysTick->VAL =0x00; //清空计数器SysTick->CTRL=0x01 ; //开始倒数do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16))); //等待时间到达SysTick->CTRL=0x00; //关闭计数器SysTick->VAL =0X00; //清空计数器}void delay_us(u32 nus){u32 temp;SysTick->LOAD=nus*fac_us; //时间加载SysTick->VAL=0x00; //清空计数器SysTick->CTRL=0x01 ; //开始倒数do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16))); //等待时间到达SysTick->CTRL=0x00; //关闭计数器SysTick->VAL =0X00; //清空计数器}void OLED_Refresh_Gram(void){u8 i,n;for(i=0;i<8;i++){OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址(0~7)OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址 OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址 for(n=0;n<128;n++){OLED_WR_Byte(OLED_GRAM[n][i],OLED_DATA);}}}void OLED_WR_Byte(u8 dat,u8 cmd){u8 i;if(cmd){OLED_RS_Set();}else{OLED_RS_Clr();}for(i=0;i<8;i++){OLED_SCLK_Clr();if(dat&0x80){OLED_SDIN_Set();}else{OLED_SDIN_Clr();}OLED_SCLK_Set();dat<<=1;}OLED_RS_Set();}void OLED_Display_On(void){OLED_WR_Byte(0X8D,OLED_CMD); //SET DCDC命令OLED_WR_Byte(0X14,OLED_CMD); //DCDC ONOLED_WR_Byte(0XAF,OLED_CMD); //DISPLAY ON}void OLED_Display_Off(void){OLED_WR_Byte(0X8D,OLED_CMD); //SET DCDC命令OLED_WR_Byte(0X10,OLED_CMD); //DCDC OFFOLED_WR_Byte(0XAE,OLED_CMD); //DISPLAY OFF}void OLED_Clear(void){u8 i,n;for(i=0;i<8;i++)for(n=0;n<128;n++)OLED_GRAM[n][i]=0X00; OLED_Refresh_Gram(); //更新显示}void OLED_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);if(t)OLED_GRAM[x][pos]|=temp;else OLED_GRAM[x][pos]&=~temp;}void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size,u8 mode){u8 temp,t,t1;u8 y0=y;chr=chr-' '; //得到偏移后的值 for(t=0;t<size;t++){if(size==12) //调用1206字体{temp=oled_asc2_1206[chr][t];}else //调用1608字体{temp=oled_asc2_1608[chr][t];}for(t1=0;t1<8;t1++){if(temp&0x80){OLED_DrawPoint(x,y,mode);}else{OLED_DrawPoint(x,y,!mode);}temp<<=1;y++;if((y-y0)==size){y=y0;x++;break;}}}}u32 oled_pow(u8 m,u8 n){u32 result=1;while(n--)result*=m;return result;}void OLED_ShowNumber(u8 x,u8 y,u32 num,u8 len,u8 size) {u8 t,temp;u8 enshow=0;for(t=0;t<len;t++){temp=(num/oled_pow(10,len-t-1))%10;if(enshow==0&&t<(len-1)){if(temp==0){OLED_ShowChar(x+(size/2)*t,y,' ',size,1);continue;} else{enshow=1;}}OLED_ShowChar(x+(size/2)*t,y,temp+'0',size,1);}}void OLED_ShowString(u8 x,u8 y,const u8 *p){#define MAX_CHAR_POSX 122#define MAX_CHAR_POSY 58while(*p!='\0'){if(x>MAX_CHAR_POSX){x=0;y+=16;}if(y>MAX_CHAR_POSY){y=x=0;OLED_Clear();}OLED_ShowChar(x,y,*p,12,1);x+=8;p++;}}void Oled_Init(void){RCC->APB2ENR|=1<<3; //使能PORTB时钟GPIOB->CRL&=0XFFF0FFFF;GPIOB->CRL|=0X00020000; //PB4 推挽输出RCC->APB2ENR|=1<<4; //使能PORTC时钟RCC->APB2ENR|=1<<0; //使能AFIO时钟GPIOC->CRH&=0X000FFFFF; //PC13,14,15设置成输出 2MHz 推挽输出GPIOC->CRH|=0X22200000;PWR->CR|=1<<8; //取消备份区写保护RCC->BDCR&=0xFFFFFFFE; //外部低俗振荡器关闭 PC14,PC15成为普通IOBKP->CR&=0xFFFFFFFE; //侵入检测TAMPER引脚作为通用IO口使用PWR->CR&=0xFFFFFEFF; //备份区写保护OLED_RST_Clr();delay_ms(100);OLED_RST_Set();OLED_WR_Byte(0xAE,OLED_CMD); //关闭显示OLED_WR_Byte(0xD5,OLED_CMD); //设置时钟分频因子,震荡频率OLED_WR_Byte(80,OLED_CMD); //[3:0],分频因子;[7:4],震荡频率OLED_WR_Byte(0xA8,OLED_CMD); //设置驱动路数OLED_WR_Byte(0X3F,OLED_CMD); //默认0X3F(1/64)OLED_WR_Byte(0xD3,OLED_CMD); //设置显示偏移OLED_WR_Byte(0X00,OLED_CMD); //默认为0OLED_WR_Byte(0x40,OLED_CMD); //设置显示开始行 [5:0],行数.OLED_WR_Byte(0x8D,OLED_CMD); //电荷泵设置OLED_WR_Byte(0x14,OLED_CMD); //bit2,开启/关闭OLED_WR_Byte(0x20,OLED_CMD); //设置内存地址模式OLED_WR_Byte(0x02,OLED_CMD); //[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;OLED_WR_Byte(0xA1,OLED_CMD); //段重定义设置,bit0:0,0->0;1,0->127;OLED_WR_Byte(0xC0,OLED_CMD); //设置COM扫描方向;bit3:0,普通模式;1,重定义模式 COM[N-1]->COM0;N:驱动路数OLED_WR_Byte(0xDA,OLED_CMD); //设置COM硬件引脚配置OLED_WR_Byte(0x12,OLED_CMD); //[5:4]配置OLED_WR_Byte(0x81,OLED_CMD); //对比度设置OLED_WR_Byte(0xEF,OLED_CMD); //1~255;默认0X7F (亮度设置,越大越亮)OLED_WR_Byte(0xD9,OLED_CMD); //设置预充电周期OLED_WR_Byte(0xf1,OLED_CMD); //[3:0],PHASE 1;[7:4],PHASE 2;OLED_WR_Byte(0xDB,OLED_CMD); //设置VCOMH 电压倍率OLED_WR_Byte(0x30,OLED_CMD); //[6:4]000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;OLED_WR_Byte(0xA4,OLED_CMD); //全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏)OLED_WR_Byte(0xA6,OLED_CMD); //设置显示方式;bit0:1,反相显示;0,正常显示OLED_WR_Byte(0xAF,OLED_CMD); //开启显示OLED_Clear();}void Oled_Show(void){OLED_ShowString(0,0,"****************");OLED_ShowString(30,20,"OLED-TEST");OLED_ShowString(5,30,"YOU ARE WELCOME");OLED_ShowString(0,50,"****************");OLED_Refresh_Gram();}int main(void){Stm32_Clock_Init(9); //系统时钟设置delay_init(72); //延时初始化JTAG_Set(JTAG_SWD_DISABLE); //关闭JTAG接口JTAG_Set(SWD_ENABLE); //打开SWD接口Oled_Init();while(1){Oled_Show();}}。

OLED模块使用说明

OLED模块使用说明

7.6 系统显示设计控制系统显示常用的显示器件有数码管、LCD、OLED等。

OLED即有机发光二极管(Organic Light Emitting Diode),其同时具备自发光,不需背光源、对比度高、制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。

本节主要介绍OLED的工作原理、底层驱动代码编写以及如何通过取模软件显示任何自己想要显示的文字或者图片。

7.6.1 OLED显示原理如图4所示为0.96寸OLED显示模块,其分辨率为128*64,采用4线SPI接口方式,模块的接口定义如表1所示。

图4 0.96寸OLED显示模块种并行接口方式、3线或4线SPI接口方式、IIC接口方式。

这里介绍OLED模块4线SPI 通信方式,只需4根通信线就能实现对OLED模块的显示控制,这4根线为:D0、D1、DC、CS。

如图5所示为4线SPI写操作时序图,在4线SPI模式下,每个数据长度均为8位,也即为1个字节。

每次发送该字节数据前,如果该字节数据为指令号,则将DC管脚拉低;如果该字节数据为普通数据,则将DC管脚置高。

在SCLK上升沿,数据从SDIN移入SSD1306,并且高位在前。

SSD1306的显存总共为128*64bit大小,SSD1306将这些显存分为8页,其对应关系如表2所示。

可见OLED水平像素分为128段,即SEG0~SEG127;垂直像素平分为8页,也即垂直方向每8个像素点为1页。

从而可见,在确定显示的位置后,通过往显存中写入一个字节数据,则相应的SEG将按照数据进行显示,位数据为1时,相应像素点被点亮,位数据为0时,相应的像素点熄灭。

图5 4线SPI写操作时序图令较多,具体的可以参考相关手册,这里介绍如表3所示几个比较常用的指令。

命令,随后发送的一个字节为要设置的对比度的值。

这个值设置得越大屏幕就越亮。

第二个命令为 0XAE/0XAF。

0XAE 为关闭显示命令; 0XAF 为开启显示命令。

0.96oled显示屏画点原理

0.96oled显示屏画点原理

文章标题:深度解析 0.96 OLED显示屏画点原理在现代科技飞速发展的时代,各种新型显示屏技术不断涌现,而0.96 OLED显示屏作为一种新兴的显示屏技术,其画点原理备受关注。

本文将从深度和广度兼具的角度,对0.96 OLED显示屏画点原理进行全面评估,旨在帮助读者更全面、深刻地理解这一主题。

1. 什么是0.96 OLED显示屏?0.96 OLED显示屏是一种采用有机发光二极管(OLED)作为发光材料的显示屏,其优点在于发光器件本身的发光,不需要背光源,因此可以实现更薄、更省电的设计。

与传统的LCD显示屏相比,0.96 OLED 显示屏具有更高的对比度、更广的视角和更快的响应速度。

它在智能手环、智能手表、可穿戴设备等领域得到了广泛的应用。

2. 0.96 OLED显示屏的画点原理在了解0.96 OLED显示屏的画点原理之前,我们首先需要了解OLED 的基本原理。

OLED是一种采用有机发光材料的半导体器件,当电流通过时,有机材料会发光。

而0.96 OLED显示屏的画点原理,主要是通过控制每个像素点的亮度和颜色来实现图像的显示。

在显示屏上,每个像素点由红、绿、蓝三个亮度可调的子像素组成,可以通过控制每个子像素的亮度,达到绘制出不同颜色的图像。

0.96 OLED显示屏的画点原理是基于对每个像素点的精确控制和调节实现的。

3. 0.96 OLED显示屏的驱动电路对于0.96 OLED显示屏来说,其驱动电路起着至关重要的作用。

在画点原理中,驱动电路负责控制每个像素点的亮度和颜色,以实现图像的显示。

一般来说,0.96 OLED显示屏的驱动电路采用了列选极驱动和行扫描驱动的方式,通过对每一行和每一列的像素点进行逐个扫描和控制,完成整个显示图像的绘制。

这种驱动方式可以有效地提高显示屏的刷新率和显示效果,保证图像的清晰度和稳定性。

4. 个人观点和理解对于0.96 OLED显示屏的画点原理,我个人认为其核心在于对每个像素点的精确控制和驱动电路的高效驱动。

0.96寸OLED点亮原理,通过对驱动芯片的设置,实现OLED的点亮,C语言例程,在OLED上显示汉字

0.96寸OLED点亮原理,通过对驱动芯片的设置,实现OLED的点亮,C语言例程,在OLED上显示汉字
图 2.3.1 SSD1306 中 GDDRAM 页的机构
图 2.3.1 中端口 COM 和端口 SEG 与 GDDRAM 的对应关系是可以软件设置的。 在软件设置的时候用到这个函数:OLED_WCMD(u8 cmd);//向 SSD1306 写命令。这里 不详细介绍,在程序设计中详细介绍。 当写入一个字节到 GDDRAM 时,这字节又是怎么存储的呢,请看 2.3.2: 每一个 Bit 存储在一个方格中,再看红色圈出部位,每个方格代表着每个像素点,这样, GDDRAM 和像素点之间就构成了联系。
IIC 接口模式:接 GND
7
SO
GT20L16S1Y 的串行数据输出端口
8
CS2
GT20L16S1Y 的片选端口
第 1页 共 26 页
0.96’OLED
2 OLED 点亮原理
0.96’OLED 模块(以下简称 OLED)显示屏由两个部分构成,有效的显示部分和驱动 芯片 SSD1306,此芯片被固化在液晶显示玻璃的背部。额外设计字库模块,方便显示不同 字体的字符பைடு நூலகம்汉字。
0.96’OLED
图 2.1.4 设置图片像素
0.96’OLED 的显示大小为 128×64 的,我们设置图片像素为 60×64,然后将图片另存 为 BMP 格式。
图 2.1.5 另存为 BMP 格式
打开取模软件,点击圆圈处图标,导入图片,取模方式和上面相同,导入图片后,点击 “生成字模”,生成一个多维数组,将部分大括号“{}”删除,变为一维数组,得到图片
1
0.96’OLED
1 0.96’OLED 简介
OLED(Organic Light-Emitting Diode):有机发光二极管又称为有机电激光显示,由美籍 华裔教授邓青云在实验室中发现,由此展开了对 OLED 的研究。OLED 显示技术具有自发 光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发

基于单片机的OLED屏幕显示电子秤

基于单片机的OLED屏幕显示电子秤

摘要: 目前市场上显示器多是LCD的,但LCD有很多缺点,例如, LCD显示需要背光源的支持、很窄的视角范围、功耗比较大、响应速度有点慢等缺点,但O L E D显示系统解决了这些缺点;现在OLED显示技术虽然应用的不是很广泛,但是诸多优点,使得OLED成为研究的热门,我相信不久OLED完全可以取代LCD;OLED技术的发展日新月异,最近发现的的软性有机发光显示技术,这项技术让曲面屏成为现实;这是手机电脑显示屏研发的热门;很有科技前瞻性;这次我主要做的就是OLED屏幕显示,主要实现的功能就是实现动态图画还有文字的OLED显示;为了使论文和实践更具有实用性和学习型,我做了一个基于单片机的电子称OLED显示系统,可以显示开机动态图画和进行称重,整个系统结构简单,使用方便,精度高,具有一定的开发价值;根据上述方案进行了系统硬件和软件设计,该系统以单片机作为控制核心,通过KeiluVsion3集成开发环境,采用C51语言设计了MCU应用程序,实现了嵌入式系统中汉字、字符及图片等相关信息的显示功能;关键字: OLED 电子称单片机ABSTRACT: Currently on the market monitor is LCD, but LCD has many shortcomings, for example, LCD display requires the presence of a backlight, a narrow range of viewing angles, large power consumption, response speed is slow and so on the shortcoming, but OLED display system to solve these shortcomings.Now OLED display technology is not very widely used, but many advantages, making OLED become a hot research, I believe that soon OLED can replace LCD.OLED technology is developing rapidly, the recent discovery of soft organic light emitting display technology, this technology allows curved screen to become a reality. This is the popular mobile phone computer display research and development. Very forward-looking in science and technology.This time I mainly do is the OLED screen display, the main function is to achieve dynamic picture and text OLED display.In order to make the paper and the practice is more practical and learning, I made a based on single-chip electronic said OLED display system, can display Boot dynamic pictures and were weighed. The whole system has the advantages of simple structure, convenient use, high precision, with a value of development. According to the plan of design of the hardware and the software of the system, the system with single chip microcomputer as control core, through the KeiluVsion3 integrated development environment, using C51 language design of the MCU application software, to realize the display of embedded system in Chinese characters, characters and pictures and other information related to the function.Keyword: OLED Electronic balance MCU目录1 OLED概述OLED科技最新动态随着智能手机产品的逐步成熟,在现有产品上进行重大创新的难度不断提高;三星推动的OLED屏具有色域广、能耗低,产品轻薄的优点,特别是曲面屏产品Galaxy S7 Edge具有独特的产品外观和UI设计潜力,使得OLED成为智能手机创新的重要方向;OLED将逐步替换现有的LCD家族产品TFT、In-cell,逐步成为高端市场主流,特别是在未来iPhone采用OLED之后将进一步推动行业趋势的确立;OLED的发现有机发光二极管是由美籍华裔教授邓青云在实验室中发现,又称为有机电激光显示,[1]这是对OLED研究的开端;邓青云先生出生于香港,移民美国后,成为柯达研究实验室的一名研究员,发现了OLED;OLED凭借着自发光的特性,完全不需要背光,而且视角特别大,非常照顾人的视觉感,大家肯定认为非常耗电,但是他却比LCD还要省电,凭借这几项优良性能,OLED显示技术成为现在世界研究的热门;OLED的发展和现状国际形势OLED技术起源于西方发达国家,这也是因为西方,特别是美国,一直都是先进科技的发源地,因为美国集合了全世界优秀的人才,美国硅谷高管三分之一都是印度裔,要是中国的企业,大家早就受不了啦,这也是美国的精神吧,这也是大家都有一个美国梦的原因,大规模产业化还是成功于现在世界制造业的中心—东亚,主要的这些地方在日本、韩国、台湾等地区;全球涉足OLED产业的企业很多,但是产品良莠不齐,能完全掌握技术并能大规模生产的更是少数,而且多生产的是小尺寸无源的器件,要真正对LCD进行更新换代,完全替换,还有很长的路要走,所以说OLED的研究还任重道远;因此全球OLED产业还处于产业化初期;我国虽然起步比较晚,近几年在政府的强力介入下,资金人才逐渐向这方面倾斜,产生和扶持了好多企业进行OLED研究,虽然有一定成效,但是都集中在小分子,高端的OLED几乎不能生产,竞争力非常薄弱;真正的国际上OLED的生产和高端技术还大都掌握在日本、韩国和台湾企业手中;我国还需进一步努力;商品化过程为了能在新到来的OLED产业中迎来更好的利润、占据更好的地形;大公司纷纷加大投资,产业的布局可能瞬间决定一个公司的生死存亡,诺基亚、摩托罗拉的教训也许还在我们耳边回响,尤其在科技公司中如同一个警示牌;三星、友达等面板巨头纷纷投入此方向的研究;就连代工着称的富士康也不忘插一脚,也是为了提高利润率、加大代工的利润,此次收购日本大企业夏普,也是看中了夏普此方面的技术;OLED现在应用在很多地方,比如大部分应用在电子器材和光电显示上,包括仪器面板、广告版、和电子板等;韩国三星企业在2004年参加IMID大会时,曾作出大胆的预言,OLED显示技术可以满足各种显示尺寸的应用,在显示器尺寸与分辨率的关系中,应用方面可以包括各种中小尺度面板的手机、平板、笔记版电脑,和大尺寸的液晶电视和屏幕等等;与其他技术所包含的屏幕,OLED是唯一能够支持这么多种不同尺寸显示应用的技术;除了上段所示的这么多好处外,还有一项新技术得到了大家的关注,可弯曲式有机发光二极管显示器,这项技术引起了好多企业的关注和持续的投资,已成为好多国家实验室的热门话题,也是国家重点支持的项目;这种技术的实现主要利用了有机材料本身所具有的良好可弯曲性,将OLED制作在耐撞击、轻便、不易破碎、方便携带、低价的塑料基板上,这样可以符合以后智能手机和平板电脑等显示器所需的“轻、小、薄、省、彩、美、多元化”的特性;很多公司提出了这个概念,如IBM所发展的“可戴式计算机”、Olympus 鼓吹的“可穿式电视”、日本东北先锋所发表的穿着式可弯曲显示器等;美国着名的公司UDC公司也预测FOLED是OLED技术发展的趋势,也是其独特的应用,未来可卷收型及窗帘型的显示屏都将实现;OLED的潜力[2]市场研究机构卢克斯研究宣称,有机发光二极管的应用由于其技术的限制,应运短期内不会大量增长,市场需求也不会很多,再过五年市场规模约能达到一亿多美元;有机发光二极管具有成本很低廉、光线舒适、视角大、省电等优势;但是由于很多技术问题,现在OLED生产成本还是比较高,比着OLED并没有明显的、太多的优势,在消费者的接受度上还没有可靠的考察和根据,因此虽然现在OLED话题虽然很热,但是大的科技公司,如华为、小米、HTC、华硕等,都没有推出此产品,虽然三星最近有个曲面屏的设想,但是实现与否还有待观察,技术的不成熟和成本的高昂化阻碍了OLED产值的扩大;随着技术的发展和突破,成本的降低是必须的;比如现在OLED的花费约19美元/流明;假设技术革新再过五六年,预期制备OLED的成本将大幅下降;但是这也是杯水车薪,就算 OLED的成本出现大幅下降,但是如现在普通的照明设备相比,有点太奢侈了,因此会阻碍它的推广和应用,因此产值堪忧;但这些并不能影响OLED的研发投入,因为它具有太多的有点啦如果能形成具体的规模,很多技术的临门一脚一旦完成,技术的革新推动产业的革命;将会对世界各国的产业带来质一样的改变;OLED在我国的发展1.我国OLED产业初具规模目前,日本、韩国、中国台湾是OLED面板的主要生产厂商所在地;OLED最开始起源于欧美,美国柯达公司第一个发表了可以使用和推广的OLED器件;随后亚洲和欧美各国的许多研发产品陆续推出,极大地推动了OLED的发展,日本很重视此方面的发展,现在已经形成了一条涵盖OLED上、中、下的产业链,可谓是OLED 世界分工中不可替代的一环;我国虽然介入的时间比较晚,现在也是初具规模,有好多厂商从事其中,努力做世界经济分工中的一环,我国的着名企业有昆山维信诺、汕尾信利、京东方、四川虹视、佛山彩虹等;2. OLED发展受到国家重视虽然我国的OLED已经出具规模,但仍有很大的进步空间,不能类比现在的日韩台的企业,我国在技术方面很欠缺,尤其是核心技术,从事的OLED的方向也比较窄,大部分是小分子型,从事高分子的企业很少;这引起了我国政府的关注,在国家政策的引导下,工业和信息化部做出必要的帮助和支持,出台法律法规引导和扶持OLED产业的发展,因此我国的OLED研发取得了长足的发展;2008年10月,在昆山建立了我国内地第一条OLED大规模生产线,这条生产线由清华大学组建,并成立了维信诺公司,由此实现了我国小尺寸OLED显示屏的量产;2010年底,我国首条AMOLED中试线已经在昆山建成投产并能实现全部生产工艺;我国台湾的奇美旗下的公司IDT公司在2003年所率先发表的20英寸的主动式OLED面板,更是轰动了一时;OLED的优点OLED由玻璃基板和非常薄的有机材料涂层所构成;它的发光机理取决于电流与有机材料的作用,当有电荷通过时,这些有机材料就会发光;发光的颜色则取决于有机材料的成分,根据不同的材料的改变就能获得所需要的颜色,非常便捷;我们所用的OLED显示主要是有源阵列显示,因为OLED内部都具有内置的电子电路系统,所以每个像素的驱动都有一个相应的电路进行支持;OLED有许多优于LCD的优点,LCD显示需要背光源的支持、很窄的视角范围、功耗比较大、响应速度有点慢等缺点,但OLED显示系统解决了这些缺点;这些技术的改善提供了浏览照片和视频的最舒服的享受,而且对电路设计的限制会大大减少,有利于开发和应用;[3]OLED为自发光材料,不需用到背光板,同时廉价、彩色比较艳丽、可携带、温度适应性高、可视的角度比较大、功耗低、响应迅速、可弯曲等特性,符合轻薄短小的原则,非常适合应用在智能手机和平板电脑上;由此总结显示优点:自发光、视角范围大、功耗低、响应速度快、图像画质稳定、色彩艳丽、分辨率高等优点;我的研究目的和意义根据上面的介绍, OLED这种东西的发展有可能在将来使得高度可携带、折叠的显示技术变为可能;这是手机电脑显示屏研发的热门;很有科技前瞻性;这次我主要做的就是OLED屏幕显示,主要实现的功能就是实现动态图画还有文字的OLED显示;为了使论文和实践更具有实用性和学习型,我做了一个基于单片机的电子称OLED显示系统,可以显示开机动态图画和进行称重,整个系统结构简单,使用方便,精度高,具有一定的开发价值;根据上述方案进行了系统硬件和软件设计,该系统以单片机作为控制核心,通过KeiluVsion3集成开发环境,采用C51语言设计了MCU应用程序,实现了嵌入式系统中汉字、字符及图片等相关信息的显示功能;该方案具有运行时可靠稳定、接口简单方便、编程容易、功耗低、成本低、体积小、便于维护的优点;2设计概述电子称概述我本来想做单纯的OLED屏幕显示的,但是由于OLED屏幕的价钱问题,我只买了寸的OLED屏幕,而且只能显示两种色彩;无法完成全彩图片的显示;而且由于单片机的储存器和处理数据帧数的问题,要显示大型的动态动画,需要加外部储存器,非常麻烦,而且要求的芯片很难买到,所以只能显示小型的两种色调的小动态图画;在与老师的交流中,老师说,如果这样,你的工作量太小,论文、答辩都不好整,做个前端吧所以我就做了这个电子秤;整个电子称具有结构简单、易于实现、使用起来方便、基本功能健全、精度高等优点,具有一定的开发和研究价值;系统硬件机构框图如下图图系统硬件结构框图我做的这个电子秤是以单片机STC90C52RC为控制核心,从而实现电子秤的基本控制功能;系统部分主要涵盖STC90C52RC控制电路和复位电路;传感器、采集信号的放大和A/D转换是数据采集的主要内容,也是核心内容,[4]采集模拟信号放大和A/D转换部分是由芯片HX711实现的,这是一款专用型高精度24位A/D转换芯片,在后面我们会着重介绍;人机交互界面为按键输入我本来焊了四个键在上面但是发现只需要两个就能完成,白白浪费了两个键,也是统筹不好的缘故;和点阵式液晶显示,实现主要靠按键和OLED屏幕显示器,这样就实现了直观数据显示和基本的电子称操作;这就是我电子称的基本架构;[5]该电子秤可以实现基本的称重功能称重范围为0~5Kg,重量误差不大于±称重传感器1. 技术参数表如下图图技术参数2. 受力方式如下图图受力示意图3.称重传感器安装方式如下图图称重传感器安装方式电子称流程图如下图图电子称流程图电子称接线图如下图图电子称接线图系统电路原理图系统的电路图,如下图:图系统电路图3 硬件概述寸OLED选寸OLED的目的OLED,即有机发光二极管;OLED为自发光材料、视角范围大、同时廉价、彩色比较艳丽、可携带、温度适应性高、图像画质稳定、分辨率高、可弯曲等特性,,非常适合应用在智能手机和平板电脑上;被认为是下一代的平面显示器新兴应用技术;LCD 都需要背光,而 OLED 不需要,因为它是自发光的;这样同样的显示OLED 效果要来得好一些;以目前的技术,OLED 的尺寸还难以大型化,但是分辨率确可以做到很高;在此我们使用的寸 OLED 显示屏是中景园电子的产品,该屏有以下特性值得一提:Ⅰ我们使用的寸 OLED 只有黄蓝、白、蓝三种颜色可选;白光则为纯白,也就是黑底白字;蓝色则为纯蓝,也就是黑底蓝字;我们这次使用的是的黄蓝屏,黄蓝是黄光为上 1/4 ,蓝色为下 3/4,而且颜色和显示区域均不能修改,这是设定好的我们不能更改,也改变不了;Ⅱ屏幕的分辨率为 12864;Ⅲ多种接口方式,OLED 裸屏接口的接口方式包括:6800、8080 两种并行接口方式、 IIC 接口方式只需要 2 根线就可以控制 OLED 了、3 线或 4 线的串行 SPI 接口方式,这五种接口是通过屏上的 BS0-BS2 来配置的;Ⅳ中景园电子为本屏开发了两种接口的样板,接口分别为:七针的 SPI/IIC 兼容模块、四针的IIC 模块;两种模块都很方便使用;我们在此次实验中所选的是四针的IIC 模块;寸OLED裸屏外观如下图图裸屏外观裸屏为 30pin,从屏正面看左下角为 1,右下角为 30;寸OLED模块1 SPI/IIC 接口模块[6]模块接口定义:1. GND 电源地2. VCC 电源正3~3. D0 OLED 的 D0 脚,在 SPI 和 IIC 通信中为时钟管脚4. D1 OLED 的 D1 脚,在 SPI 和 IIC 通信中为数据管脚5. RES OLED 的 RES脚,用来复位低电平复位6. DC OLED 的 D/CE 脚,数据和命令控制管脚7. CS OLED 的 CS脚,也就是片选管脚如下图图2 IIC 接口模块1. GND 电源地2. VCC 电源正3~3. SCL OLED 的 D0 脚,在 IIC 通信中为时钟管脚4. SDA OLED 的 D1 脚,在 IIC 通信中为数据管脚如下图图因为七针 SPI/IIC OLED由于这两种接口占用数据线比较多;而且不太常用,所以模块在设计的时候没有用;直接选用四针的 IIC 接口模块;寸OLED驱动IC本屏所用的驱动IC为 SSD1306,[7]SSD1306是一款12864点阵式的液晶显示模块,它具有内部升压功能,这就方便了我们设计电路,在这里,就可以省的设计这段电路,纵然如此,也可以选用外部升压,率性自然;SSD1306的每页包含了128 个字节,总共8页,这样刚好是 12864 的点阵大小;这点与寸OLED驱动 ICSSD1106稍有不同,SSD1106 每页是132个字节,也是8页;所以在用寸 OLED 移植寸OLED 程序的时候需要将寸的显示地址向右偏移 2,这样显示就正常了;否则在用寸的时候寸屏右边会有4个像素点宽度显示不正常或是全白,这点大家注意一下;其它的SSD1306和SSD1106区别不大;四针IIC接口模块使用说明1 IIC模块[8]四针 IIC 接口相对比较简单一些,只有两个信号线,如下图1. GND 电源地2. VCC 电源正3~3. SCL OLED 的 D0 脚,在 IIC 通信中为时钟管脚4. SDA OLED 的 D1 脚,在 IIC 通信中为数据管脚图2 IIC接口设计如下图图在IIC接口中需要将 BS1 配置为 1,BS0 为 0;所以 R1,R4 焊接,R2,R3 不焊接,R8 可焊接也可不焊接;3 DIY 用户元件参数选择说明对于 DIY 用户来说可能元件不像公司那么全;在设计的时候可能有些元件没有;需要用其它参数的元件来拼凑;在中有几个参数比较重要;尽量搞成一样的,如下图图这里面的 C3,C4 在内部升压的时候要用;这两个参数尽量做到一样;都为1uf;如下图:图与26脚相连接的910电阻 R5 的参数可以选在1M 左右的;如果太小可能对屏的寿命有影响;如果太大屏的亮度会暗一些;不过不影响使用;HX711HX711简介HX711是采用了海芯科技技术的产品,利用此项集成电路专利技术,构成了这一款24位的A/D转换器芯片,[9]这个芯片专业服务于高精度电子秤,该芯片有很多优点,譬如集成度多,它集成了包括稳压电源、片内时钟振荡器等其它相同类型芯片工作所必须设计的外围电路;抗干扰性强、响应速度快等优点;不仅降低了电子秤的整机成本,而且方便设计,节省工序,而且电子称的性能也有提升;该芯片的程序操作也很便捷,不需要对芯片进行编程控制,完全可以由连接的MCU 所控制,直接驱动,非常方便快捷;[10]有通道A和通道B两个输入选择开关,这些通道与芯片内部的低噪声可编程放大器相连;每个通道的增益有很大差别,通道A 的可编程增益为128或64,而通道B则为32,功能差别也很大,通道A增益对应的是为±20mV或±40mV满额度差分输入信号幅值,通道B用于系统参数检测;此芯片系统板上无需另外的模拟电源,因为外部传感器和芯片内的A/D转换器可以由芯片内稳压电源提供;不仅如此,芯片内自有的时钟振荡器,所以自己有,就不需要外边的的时钟啦而且芯片的上电自动复位功能更是简化了开机的初始化过程;HX711的特点[11]特点有:1.有两路可差分输入;2.片内低噪声可编程放大器,可根据通道的不同而选择合适的增益,有三种可供挑选;3.芯片有片内稳压电路;4.片内具有时钟振荡器,可自行进行时钟控制;5. 该电路具有上电自动复位功能;6.此芯片所有控制由管脚输入,不需要其他方面的操作;7.有两个输出数据速率可以选择,分别为10和80HZ;8.可以抑制50 和60HZ的频率干扰;9.工作电流:I< , 断电电流:I< 1 μ A10. 工作电压范围: -11.工作温度范围:-40 - +85℃下图为HX711的内部方框图图 HX711内部方框图管脚说明16 管脚的 SOP-16 封装和相应的管脚描述,如下图和图:图封装图图管脚描述模拟输入模拟输入有通道A和通道B两个输入选择开关,由于从传感器传过来的信号较弱,所以A、B这些通道必须与芯片内部的可编程放大器相连,这样才能保证信号的强度;每个通道的增益有很大差别,通道A的可编程增益为128或64,而通道B则为32,这是固定值,改变不了;功能差别也很大,通道A增益对应的是为±20mV 或±40mV满额度差分输入信号幅值,通道B用于系统参数检测;供电电源数字电源应使用与MCU芯片相同的的数字供电电源;[12]此芯片系统板上无需另外的模拟电源,因为外部传感器和芯片内的A/D转换器可以由芯片内稳压电源提供;稳压电源的供电电压可与数字电源相同;外部压电阻R1、R2和芯片的输出参考电压决定了稳压电源的输出电压值,有一特定的公式;如果不使用芯片内的稳压电路,管脚VSUP应连接到数字电源或模拟电源中电压较高的一个管脚上;时钟选择如果将管脚XI即数字输入接地,这时外部电路的时针输入或晶振输入将被隔绝,将会自动选择内部的时钟振荡器进行操作;内部始终振荡器输出数据速率为10Hz 或80Hz;如果将外部输入时钟通过一个20pF的隔直电容连接到XI管脚上,或将晶振连接到XI和XO管脚上,这样就可以得到稳定准确的输出数据速率,这时芯片内的时钟振荡器电路不被使用,这时利用的是外部输入时钟电路和晶振时钟; 当需要芯片输出数据速率为准确的10Hz或80Hz此时,就需要特别规定晶振频率;输出数据速率与晶振频率有一定的关系,这时我们需要查询更多的资料;使用外部输入时钟时,输入信号的波形可以为方波、三角波、正弦波等任意波形,在这里不做特殊要求;串口通讯管脚PD_SCK和DOUT构成串口通讯线,有很多特性,这是我们根据串口通讯线的脉冲数选择输入通道和对应的增益,具体选择见图;图输入通道和增益选择这是我们需要特别注意的是,管脚PD_SCK的输入时钟脉冲数的范围有规定,就是不少于25或不大于27,否则会造成电路紊乱;当一个输出周期完成后,如果A/D转换器的输入模式发生变化时,这时需要4个数据输出周期才能稳定;管脚DOUT在4个数据输出周期后才会正常工作,输出有效数据;具体图示如下图:图数据输出,输入通道的工作时序图复位和断电当芯片工作时,上电后芯片内部电路会使芯片自动复位;芯片的工作状态由管脚PD_SCK控制;当管脚状态为低电平,芯片就可以正常工作;当管脚PD_SCK处于高电平并持续超过60μs,芯片就会进入断电状态,芯片就会停止工作;[13]如果此时使用片内稳压电源电路,断电时,外部传感器和片内A/D 转换器会被同时断电;当PD_SCK低电平时,芯片会自动复位进入工作状态,开始正常工作;当一个输出周期完成后,如果A/D转换器的输入模式发生变化时,这时需要4个数据输出周期才能稳定;这时管脚DOUT在4个数据输出周期后,才会正常工作,这时芯片才会输出有效的数据;如下图所示:断电控制图断电控制注意事项1.芯片数字输入管脚,因为此芯片无内置电阻,来进行拉高或拉低,为了保证芯片正常工作,这些管脚不能悬空;2.根据通道A和通道B的增益等性质的不同,我们规定通道A为小信号输入通道,通过与传感器相连来进行工作;通道B用于系统参数检测;3.我们应使用晶体管保证芯片的正常工作,本次试验用的是S8550;4.为了保证芯片正常工作,我们应该保证传感器和A/D转换器用一样模拟电源供电;5.因为输出数据为24位,所以应该保证管脚PD_SCK的输入时钟脉冲数不能少于25,但是为了效率也不应该多于 27,负责会影响芯片的正常工作;6.与管脚DOUT相连的MCU接口不能接拉高或拉低电阻,这样做可以减少MCU 与A/D之间的干扰;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0.96寸OLED显示屏使用手册
一、OLED简介
OLED,即有机发光二极管(Organic Light Emitting Diode)。

OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。

LCD 都需要背光,而OLED不需要,因为它是自发光的。

这样同样的显示OLED效果要来得好一些。

以目前的技术,OLED 的尺寸还难以大型化,但是分辨率确可以做到很高。

在此我们使用的是中景园电子的0.96寸OLED显示屏,该屏有以下特点:
1)0.96寸OLED有黄蓝,白,蓝三种颜色可选;其中黄蓝是屏上1/4部分为黄光,下3/4为蓝;而且是固定区域显示固定颜色,颜色和显示区域均不能修改;白光则为纯白,也就是黑底白字;蓝色则为纯蓝,也就是黑底蓝字。

2)分辨率为128*64
3)多种接口方式;OLED裸屏总共种接口包括:6800、8080 两种并行接口方式、3线或4 线的串行SPI 接口方式、IIC 接口方式(只需要 2 根线就可以控制OLED 了!),这五种接口是通过屏上的BS0~BS2来配置的。

4)中景园电子的本屏开发了两种接口的Demo板,接口分别为七针的SPI/IIC兼容模块,四针的IIC模块。

两种模块都很方便使用;希望大家根据实际需求来选择不同的模块。

二、产品特点
2.1 0.96寸OLED裸屏外观
裸屏为30pin,从屏正面看左下角为1,右下角为30;在设计的时候一定要注意不要搞反了。

具体的接口定义请大家查看0.96寸OLED官方数据手册;里面有详细介绍。

2.2 0.96寸OLED模块
2.2.1 SPI/IIC接口模块
模块接口定义:
1.GND 电源地
2.VCC 电源正(3~5.5V)
3.D0 OLED的D0脚,在SPI和IIC通信中为时钟管脚
4.D1 OLED的D1脚,在SPI和IIC通信中为数据管脚
5.RES OLED的RES#脚,用来复位(低电平复位)
6.DC OLED的D/C#E脚,数据和命令控制管脚
7.CS OLED的CS#脚,也就是片选管脚
2.2.2 IIC接口模块
1.GND 电源地
2.VCC 电源正(3~5.5V)
3.SCL OLED的D0脚,在IIC通信中为时钟管脚
4.SDA OLED的D1脚,在IIC通信中为数据管脚
2.3 0.96寸OLED驱动IC
本屏所用的驱动IC为SSD1306;其具有内部升压功能;所以在设计的时候不需要再专一设计升压电路;当然了本屏也可以选用外部升压,具体的请详查数据手册。

SSD1306的每页包含了128 个字节,总共8 页,这样刚好是128*64 的点阵大小。

这点与1.3寸OLED驱动IC SSD1106稍有不同,SSD1106每页是132个字节,也是8页。

所以在用0.96寸OLED移植1.3寸OLED程序的时候需要将0.96寸的显示地址向右偏移2,这样显示就正常了;否则在用1.3寸的时候1.3寸屏右边会有4个像素点宽度显示不正常或是全白,这点大家注意一下。

其它的SSD1306和SSD1106 区别不大。

三、中景园电子0.96寸OLED模块使用方法
3.1 七针SPI/IIC OLED模块使用方法
七针SPI/IIC OLED模块共有七个管脚,1~7分别为GDN、VCC、D0、D1、RES、DC、CS 此模块支持四线SPI、三线SPI、IIC接口;由OLED的数据手册我们可以知道0.96寸OLED裸屏是支持四种五种不同接口的;除了前面的三种还有6800、8080并口方式;由于这两种接口占用数据线比较多;而且不太常用,所以模块在设计的时候没有引出来。

大家可以看出来;模块的通信接口是通过BS0,BS1,BS2三个管脚来配置的。

本店所设计的模块默认是SPI接口;
1.GND 电源地
2.VCC 电源正(3~5.5V)
3.D0 OLED的D0脚,在SPI和IIC通信中为时钟管脚
4.D1 OLED的D1脚,在SPI和IIC通信中为数据管脚
5.RES OLED的RES#脚,用来复位(低电平复位)
6.DC OLED的D/C#E脚,数据和命令控制管脚
7.CS OLED的CS#脚,也就是片选管脚
大家在使用的时候一定注意,如下图所示。

在SPI接口中R1,R2,R8三个电阻是不焊接的,如果大家想用IIC接口的话需要将R3换到R1上,R8可以焊接也可不焊接。

七针模块正面丝印如下,大家在接线的时候要注意不要接错了;特别是想用IIC接口的朋友们,在IIC接口中需要将RES接高电平,可以与VCC对接,使OLED复位脚一直操持高电平,也就是不复位的状态;同时需要将DC,CS接电源地;此时IIC通信中只需要GND ,VCC,D0(时钟信号),D1(数据信号)四根线了。

如果大家感觉这样比较麻烦;建议大家直接选用四针的IIC接口模块。

3.2 四针IIC接口模块使用说明
四针iic接口相对比较简单一些,只有两个信号线
1.GND 电源地
2.VCC 电源正(3~5.5V)
3.SCL OLED的D0脚,在IIC通信中为时钟管脚
4.SDA OLED的D1脚,在IIC通信中为数据管脚
四、0.96寸OLED原理图设计注意事项
在SPI接口中需保证BS0,BS1,BS2全为0,也不是接地;所以在接口配置电阻中
R1,R2不焊接,R3,R4焊接就可以了;同时电阻R8一定不要焊接;否则会出现不稳定情况。

附加说明原理图中的662K为一3.3v的稳压管如果大家是直接用3.3v供电的话可以省去662k。

4.2IIC接口设计
在iic接口中需要将BS1配置为1,BS0为0;所以R1,R4焊接,R2,R3不焊接,R8可焊
接也可不焊接。

4.3DIY用户元件参数选择说明
对于DIY用户来说可能元件不像公司那么全;在设计的时候可能有些元件没有;需要用其它参数的元件来拼凑;在0.96OLED中有几个参数比较重要;尽量搞成一样的
这里面的C3,C4在内部升压的时候要用;这两个参数尽量做到一样;都为1uF;
与26脚相连接的910电阻R5的参数可以选在1M左右的;如果太小可能对屏的寿命有影响;如果太大屏的亮度会暗一些;不过不影响使用。

五、关于不同平台的程序移植注意事项
很多新手工程师或是学生比较在意在某个处理器下的程序;其实这个没有必要;大家可以打开几个不同平台下的程序,会发同一通信接口类型下的程序内部的操作函数是完全一样的,只是管脚定义方式不同,还有一个就是需要包含所用平台的头文件;其它的其实都不用作修改;因为其它的函数均是对OLED屏的操作;与所用的处理器平台没有关系。

因为大家对C51单片机相对都比较熟悉;大学里基本上都学习过;在此我以C51的程序来作简单说明;大家在移植的时候尽量参考C51的程序。

大家打开程序会发现主要有几人文件
Bmp.h是存放的图片数据,也就是大家对一BMP图片取模的数据
Oledfont.H主要是存放的字库数据,包含常用的字符和用户自己所取模的中文
Oled.c主要是函数的操作
Main.c这个就不说了
OLED.H这个主要是函数说明和管脚定义,大家进到文件内部可以看到
上面五行是对接口管脚的定义,而下面的十行则是对管脚定义重新做了一次更为统一的定义;大家会发现基本所有平台和程序中都用了下面十行的定义,这样也就是说大家在用的时候只
要把前面五个脚的定义搞对了,程序移植基本上就完成了。

也就是说只要大家能把
这五个名字与你处理器上面五个不同的管脚统一起来程序移植基本上就完成了,当然了你要保证你的定义没有错;这些搞完以后基本上可以把屏点亮;亮但并不代表稳定,这个时候一些时序可能需要调整一下,毕竟不同的平台速度可能有些不同;不过一般情况下是不用调整的;除非你的处理器速度非常快;有的地方可能要加一些延迟。

六、关于取模说明
取模主要有三种一是图片、字符、汉字三种,取的原理是一样的
6.1图片取模
6.1.1>打开PCtoLCD2002.exe软件
6.1.2.打开手机桌面图片
6.1.3.模式设置
6.1.4.生成BMP 图像字模
6.2汉字字模的生成方法
其方法与图像的相似
6.2.1打开软件以后;如下操作
6.2.2
中景园电子0.96寸OLED 显示屏使用手册 淘宝:/index.htm?spm=a1z10.1.w5002-7553790119.2.ZIczx3
11
6.2.3之后操作与图像取模操作一样
说明:本操作只适合店主提供的程序中;因为扫描方式不同;对应该的程序会有些不同;大家可以试着来修改一下。

想了解的更多;
还是希望大家多动动手操作一下,找一下感觉。

相关文档
最新文档