久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
0.96寸OLED驅動程序 驅動IC為SH1106G
[打印本頁]
作者:
hslgyh
時間:
2019-4-9 08:16
標題:
0.96寸OLED驅動程序 驅動IC為SH1106G
進來項目需要進行了0.96寸OLED的驅動調試,驅動IC為SH1106G
該OLED接線方式為:8080接口/SPI接口/IIC接口
建議初學者采用SPI比較容易上手,謝謝!現將
資料上傳,希望對你們有幫助!謝謝了!
0.png
(207.35 KB, 下載次數: 110)
下載附件
2019-4-9 15:36 上傳
0.png
(422.5 KB, 下載次數: 118)
下載附件
2019-4-9 15:37 上傳
單片機源程序如下:
/**
---------------------------------------------------------------------
**
** This device driver was created by
** 8-Bit Single-Chip Microcontrollers
**
** Copyright(C) visionox display Corporation 2002 - 2009
** All rights reserved by Kunshan visionox display Corporation.
**
** This program should be used on your own responsibility.
**
** Filename : SSD1305_Init.c
** Abstract : This file implements device driver for Initial SSD1306 IC function.
**
** Device : STC89LE516RD
**
** Compiler : KEIL uVision2
**
** Module
**
** Dot Matrix: 128*64
**
** Display Color:
**
** Driver IC:
**
** Edit :
**
** Creation date:
---------------------------------------------------------------------
**/
//
//
/****************************包含頭文件***************************/
#include "reg52.h"
#include "intrins.h"
#include "IC.h"
#include "Delay.h"
#define Slave_Address 0x78 //0X3C 部分IIC主控會自動左移一位地址
#define OP_Data 0x40
#define OP_Command 0x00
//
//
#define Interface_IIC //定義通信方式接口8080、IIC、SPI
//
//
void Clear_Screen();
#ifdef Interface_8080
/**********************************************
//
//寫命令函數
**********************************************/
//
//
void Write_Command(uchar command)
{
CS=low;
DC=low;
WR=low;
_nop_();_nop_();
P0=command;
WR=high;
_nop_();_nop_();
CS=high;
}
//
//
//
/**********************************************
//
//寫數據函數
//
**********************************************/
//
//
void Write_Data(uchar date)
{
CS=low;
DC=high;
WR=low;
_nop_();_nop_();
P0=date;
WR=high;
_nop_();_nop_();
CS=high;
}
#endif
#ifdef Interface_IIC
/**********************************************
//
//IIC通信開始函數
//
**********************************************/
void IC_IIC_Start()
{
SDA = high;
SCL = high;
_nop_();
SDA = low;
_nop_();_nop_();
SCL = low;
}
/**********************************************
//
//IIC通信停止函數
//
**********************************************/
void IC_IIC_Stop()
{
SDA = low;
_nop_();
SCL = high;
_nop_();_nop_();
SDA = high;
}
/**********************************************
//
//向IIC寫數據函數
//返回值為acknowledgement位信號
//
**********************************************/
bit Write_IIC_Data(uchar Data)
{
unsigned char i;
bit Ack_Bit; //應答信號
for(i = 0; i < 8; i++)
{
SDA = (bit)(Data & 0x80);
_nop_();
SCL = high;
_nop_();_nop_();
SCL = low;
Data = _crol_(Data,1);
}
SDA = high; //釋放IIC SDA總線為主器件接收從器件產生應答信號
_nop_();_nop_();
SCL = high; //第9個時鐘周期
_nop_();_nop_();
Ack_Bit = SDA; //讀取應答信號
SCL = low;
return Ack_Bit;
}
/**********************************************
//
//寫命令函數
**********************************************/
//
//
void Write_Command(uchar command)
{
IC_IIC_Start();
Write_IIC_Data(Slave_Address); //Salve Adress
Write_IIC_Data(OP_Command); //寫命令
Write_IIC_Data(command);
IC_IIC_Stop();
}
/**********************************************
//
//寫數據函數
//
**********************************************/
//
//
void Write_Data(uchar date)
{
IC_IIC_Start();
Write_IIC_Data(Slave_Address); //Salve Adress
Write_IIC_Data(OP_Data); //寫數據
Write_IIC_Data(date);
IC_IIC_Stop();
}
#endif
#ifdef Interface_SPI
/**********************************************
//
//寫命令函數
**********************************************/
//
//
void Write_Command(uchar command)
{
uchar i,value;
value = command;
CS = low;
DC = low;
for(i=0;i<8;i++)
{
SCL = low;
_nop_(); _nop_();
if(value & 0x80) SI = high;
else SI = low;
SCL = high;
_nop_(); _nop_();
value = _crol_(value, 1);
}
CS = high;
}
//
//
/**********************************************
//
//寫命令函數
**********************************************/
//
//
void Write_Data(uchar date)
{
uchar i,value;
value = date;
CS = low;
DC = high;
for(i=0;i<8;i++)
{
SCL = low;
_nop_(); _nop_();
if(value & 0x80) SI = high;
else SI = low;
SCL = high;
_nop_(); _nop_();
value = _crol_(value, 1);
}
CS = high;
}
#endif
/******************************************************
//
//復位IC函數
//
******************************************************/
//
//
void Reset_IC()
{
Delay_Ms(10);
RES = low;
Delay_Ms(50);
RES = high;
Delay_Ms(100);
}
/******************************************************
//
//初始化IC函數
//
******************************************************/
void init_ic()
{
Write_Command(0xAE); //Set Display Off
Write_Command(0xD5); //Display divide ratio/osc. freq. mode
Write_Command(0x80); //
Write_Command(0xA8); //Multiplex ration mode:63
Write_Command(0x3F);
Write_Command(0xD3); //Set Display Offset
Write_Command(0x00);
Write_Command(0x40); //Set Display Start Line
Write_Command(0xAD); //DC-DC Control Mode Set
Write_Command(0x8B); //8A:External 8b:Built-in DC-DC is used
Write_Command(0x32); //Set Pump voltage value
Write_Command(0xA1); //Segment Remap
Write_Command(0xC8); //Set COM Output Scan Direction
Write_Command(0xDA); //Common pads hardware: alternative
Write_Command(0x12);
Write_Command(0x81); //Contrast control
Write_Command(0x40);
Write_Command(0xD9); //Set pre-charge period
Write_Command(0x1F);
Write_Command(0xDB); //VCOM deselect level mode
Write_Command(0x40);
Write_Command(0xA4); //Set Entire Display On/Off
Write_Command(0xA6); //Set Normal Display
Clear_Screen();
Write_Command(0xAF); //Set Display On
}
}
}
}
void Clear_Screen()
{
uchar page_number,column_number;
for(page_number=0;page_number<8;page_number++)
{
Write_Command(0xb0+page_number);
Write_Command(0x10);
Write_Command(0x02);
for(column_number=0;column_number<128;column_number++)
{
Write_Data(0x00);
}
}
}
void All_Screen()
{
uchar page_number,column_number;
for(page_number=0;page_number<8;page_number++)
{
Write_Command(0xb0+page_number);
Write_Command(0x10);
Write_Command(0x02);
for(column_number=0;column_number<128;column_number++)
{
Write_Data(0xFF);
}
}
}
void main()
{
Reset_IC();
init_ic();
All_Screen();
}
復制代碼
作者:
paladina
時間:
2021-3-23 10:36
好東西,找了半天SH1106的驅動總算找到了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
在线a视频
|
9999在线视频
|
一级做a爰片性色毛片视频停止
|
中文字幕在线第一页
|
美国十次成人欧美色导视频
|
91精品久久久久久久久
|
国产精品三级久久久久久电影
|
伊人精品视频
|
avhd101在线成人播放
|
视频一区二区三区中文字幕
|
免费一区在线观看
|
久久99国产精一区二区三区
|
草草精品
|
国产在线视频一区二区董小宛性色
|
精品亚洲一区二区三区四区五区
|
久久最新精品
|
欧美精品一二区
|
精品免费视频
|
特黄特色大片免费视频观看
|
中文字幕在线观看一区
|
亚洲精品一区二区三区蜜桃久
|
国产aⅴ
|
99re视频在线
|
在线中文字幕亚洲
|
在线视频亚洲
|
午夜三级网站
|
一级二级三级在线观看
|
欧美在线视频一区
|
欧洲性生活视频
|
精品亚洲一区二区三区
|
国产电影一区二区在线观看
|
亚洲国产一区视频
|
成人免费视频
|
日韩在线视频观看
|
欧美高清视频一区
|
涩色视频在线观看
|
91porn成人精品
|
美女黄视频网站
|
一级片免费视频
|
99国产精品久久久
|
四虎影音
|