0.96寸OLED显示程序在0.91寸OLED 屏上显示是不正常的,
初始化程序都是一样的,只需要改一下硬件配置项目就行
下面红色的就是关键。
0.96寸分辨率是128*64 ;设置12h
0.91寸分辨率是128*32 ;设置02h
;============================OLED屏初始化 1306==============================================
RESET:
MOV R7,#0AEH ;关闭显示
LCALL COMMAND
MOV R7,#20H ;设置模式命令
LCALL COMMAND
MOV R7,#10H ;00水平地址,01垂直地址,10页地址
LCALL COMMAND
MOV R7,#0B0H ;设置页起始地址(B0-B7)
LCALL COMMAND
MOV R7,#0C8H ;设置COM输出扫描方向(C8从上到下,C0反向)
LCALL COMMAND
MOV R7,#00H ;设置低列地址
LCALL COMMAND
MOV R7,#10H ;设置高列地址
LCALL COMMAND
MOV R7,#40H ;设置起始行地址
LCALL COMMAND
MOV R7,#81H ;设置对比度
LCALL COMMAND
MOV R7,#100 ;对比度值(00-255)
LCALL COMMAND
MOV R7,#0A1H ;设置egment re-map 0 to 127
LCALL COMMAND
MOV R7,#0A6H ;正常显示(A6正常,A7反相显示)
LCALL COMMAND
MOV R7,#0A8H ;设置驱动路数
LCALL COMMAND
MOV R7,#31 ;路数(0-63)
LCALL COMMAND
MOV R7,#0A5H ;
LCALL COMMAND
MOV R7,#0A4H ;全部显示开启
LCALL COMMAND
MOV R7,#0D3H ;设置显示偏移
LCALL COMMAND
MOV R7,#0 ;偏移量
LCALL COMMAND
MOV R7,#0D5H ;设置震荡频率
LCALL COMMAND
MOV R7,#0F0H ;
LCALL COMMAND
MOV R7,#0D9H ;设置充电周期
LCALL COMMAND
MOV R7,#22H ;
LCALL COMMAND
MOV R7,#0DAH ;引脚硬件配置
LCALL COMMAND
MOV R7,#12H ;128*64
LCALL COMMAND
MOV R7,#0DBH ;设置电压倍率
LCALL COMMAND
MOV R7,#20H ;
LCALL COMMAND
MOV R7,#8DH ;设置
LCALL COMMAND
MOV R7,#14H
LCALL COMMAND
MOV R7,#0AFH ;打开显示
LCALL COMMAND
RET
|