资源简介
基于IIC的OLED驱动程序
代码片段和文件信息
/*************************************************************************************
*
* 1. void delay(unsigned int z) -- 延时函数毫秒
* 2. void IIC_Start() -- 开启I2C总线
* 3. void IIC_Stop() -- 关闭I2C总线
* 4. void Write_IIC_Byte(unsigned char IIC_Byte) -- 通过I2C总线写一个byte的数据
* 5. void OLED_WrDat(unsigned char dat) -- 向OLED屏写数据
* 6. void OLED_WrCmd(unsigned char cmd) -- 向OLED屏写命令
* 7. void OLED_Set_Pos(unsigned char x unsigned char y) -- 设置显示坐标
* 8. void OLED_Fill(unsigned char bmp_dat) -- 全屏显示(显示BMP图片时才会用到此功能)
* 9. void OLED_CLS(void) -- 复位/清屏
* 10. void OLED_Init(void) -- OLED屏初始化程序,此函数应在操作屏幕之前最先调用
* 11. void OLED_P6x8Str(unsigned char x yunsigned char ch[]) -- 6x8点整,用于显示ASCII码的最小阵列,不太清晰
* 12. void OLED_P8x16Str(unsigned char x yunsigned char ch[]) -- 8x16点整,用于显示ASCII码,非常清晰
* 13.void OLED_P16x16Ch(unsigned char x y N) -- 16x16点整,用于显示汉字的最小阵列,可设置各种字体、加粗、倾斜、下划线等
* 14.void Draw_BMP(unsigned char x0 y0x1 y1unsigned char BMP[]) -- 将128x64像素的BMP位图在取字软件中算出字表,然后复制到codetab中,此函数调用即可
*
* History: none;
*
*************************************************************************************/
#include “oled.h“
#include “codetab.h“
//#include “delay.h“
// ------------------------------------------------------------
// SCL接PB3
// SDA接PB4
// ------------------------------------------------------------
void IIC_Init(void)
{
/* GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE); //使能PB端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4; //端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M
GPIO_Init(GPIOB &GPIO_InitStructure);
*/
}
/**************************实现函数********************************************
*函数原型: void IIC_Start(void)
*功 能: 产生IIC起始信号
*******************************************************************************/
void OLED_IIC_Start(void)
{
SCL_H;
SDA_H;
SDA_L;
SCL_L;
}
/**************************实现函数********************************************
*函数原型: void IIC_Stop(void)
*功 能: //产生IIC停止信号
*******************************************************************************/
void OLED_IIC_Stop(void)
{
SCL_L;
SDA_L;
SCL_H;
SDA_H;
}
void Write_IIC_Byte(unsigned char IIC_Byte)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(IIC_Byte & 0x80)
SDA_H;
else
SDA_L;
SCL_H;
SCL_L;
IIC_Byte<<=1;
}
SDA_H;
SCL_H;
SCL_L;
}
/*********************OLED写数据************************************/
void OLED_WrDat(unsigned char IIC_Data)
{
OLED_IIC_Start();
Write_IIC_Byte(0x78);
Write_IIC_Byte(0x40); //write data
Write_IIC_Byte(IIC_Data);
OLED_IIC_Stop();
}
/*********************OLED写命令************************************/
void OLED_WrCmd(unsigned char IIC_Command)
{
OLED_IIC_Start();
Write_IIC_Byte(0x78); //Slave addressSA0=0
Write_IIC_Byte(0x00); /
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10767 2018-04-16 11:50 OLED\bmp1.h
文件 49241 2018-04-22 13:44 OLED\codetab.h
文件 15100 2020-11-27 10:30 OLED\oled.c
文件 2236 2020-11-27 09:37 OLED\oled.h
目录 0 2020-12-04 15:46 OLED\
相关资源
- Proteus仿真:LED流水+定时器.rar
- 关于LED制作的源代码合集(38套)
- 51驱动步进电机
- stm32f103 can驱动
- IIC-OLED显示屏新资料(SSD1306)
- 蓝牙控制LED
- 研华采集卡驱动程序工作原理及流程
- 1628驱动程序
- 《测试驱动的嵌入式C语言开发》源码
- DHT11驱动程序基于STM32
- USB 完整bootloader项目,包括底层驱动和
- VT虚拟化驱动+内存读写+机器码修改源
- mysql-odbc5.1驱动包
- 基于单片机控制的LED点阵屏 含设计报
- Tiled C++ 地图编辑器 Cocos2d-x 支持的地
- 十个网络驱动层封包截取防火墙源码
- C++版 模拟LED动态显示文字
- mcp4531 数字电位器c语言驱动和电路
- AD5592驱动程序C语言和中文手册
- C++实现用Hopfiled网络解决TSP问题
- Windows设备驱动程序WDF开发源码
- OracleDBTest.rar
- C++事件驱动的银行模拟系统
- 基于单片机的LED点阵显示屏设计16*3
- HDC1080驱动 温湿度 STM32 IIC I2C
- STM32F030无刷电机驱动程序
- 组态王modbus协议驱动vc++
- 基于单片机控制的LED点阵屏 含设计报
- com接口驱动(对讲机写频线)
- STM32驱动NRF24L01的视频传输
评论
共有 条评论