资源简介
基于CC2530的OLED开发,包含了相应的源文件,移植只需要修改少许地方即可。。。。。。。。。。。。。。。
代码片段和文件信息
#include “XMF_OLED1306.h“
#include “XMF_OLED_Font.h“
#include “XMF_OLED_BMP.h“
/*==========================延时函数==========================*/
void Delay_oled(unsigned char time)
{
while(time--);
}
/*==========================写单字节==========================*/
void OLED_Write_Byte(unsigned char dat unsigned char cmd)
{
unsigned char i;
if(cmd)
OLED_DC = 1;
else
OLED_DC = 0;
for(i = 0; i < 8; i++)
{
OLED_SCK = 0;
if(dat & 0x80)
OLED_DD = 1;
else
OLED_DD = 0;
OLED_SCK = 1;
dat<<=1;
}
OLED_DC = 1;
}
/*==========================设置坐标==========================*/
void OLED_Set_Pos(unsigned char x unsigned char y)
{
OLED_Write_Byte(0xb0+y OLED_CMD);
OLED_Write_Byte(((x&0xf0)>>4)|0x10 OLED_CMD);
OLED_Write_Byte((x&0x0f)|0x01 OLED_CMD);
}
/*==========================显示字符===========================
* 在指定位置显示一个字符包括部分字符
* x: 0~127
* y: 0~63
* mode: 0--反白显示; 1--正常显示
* size: 选择字体 16/12
=============================================================*/
void OLED_Show_Char(unsigned char x unsigned char y unsigned char chr)
{
unsigned char c=0i=0;
c = chr-‘ ‘; //得到偏移后的值
if(x > Max_Column-1)
{
x = 0;
y= y + 2;
}
if(SIZE ==16)
{
OLED_Set_Pos(x y);
for(i = 0; i < 8; i++)
OLED_Write_Byte(F8X16[c*16+i] OLED_DATA);
OLED_Set_Pos(x y+1);
for(i = 0; i < 8; i++)
OLED_Write_Byte(F8X16[c*16+i+8]OLED_DATA);
}
else {
OLED_Set_Pos(x y+1);
for(i = 0; i < 6; i++)
OLED_Write_Byte(F6x8[c][i] OLED_DATA);
}
}
/*========================显示字符串==========================*/
void OLED_Show_Str(unsigned char x unsigned char y unsigned char *chr)
{
unsigned char j = 0;
while (chr[j]!=‘\0‘)
{
OLED_Show_Char(x y chr[j]);
x += 8;
if(x > 120)
{
x=0;
y+=2;
}
j++;
}
}
/*==========================计算m^n===========================*/
unsigned int OLED_pow(unsigned char m unsigned char n)
{
unsigned int result = 1;
while(n--)
result *= m;
return result;
}
//显示2个数字
//xy :起点坐标
//len :数字的位数
//size:字体大小
//mode:模式 0填充模式;1叠加模式
//num:数值(0~4294967295);
/*========================显示多位整数========================
* 显示多位数字
* 起始点坐标(xy)
* num: 显示的整数
* len :数字的位数
* size2: 字体大小,建议用16
=============================================================*/
void OLED_Show_Int(unsigned char x unsigned char y unsigned int num unsigned char len unsigned char size2)
{
unsigned char itemp;
unsigned char enshow=0;
for(i = 0; i < len; i++)
{
temp=(num/OLED_pow(10len-i-1))%10;
if(enshow==0&&i<(len-1))
{
if(temp==0)
{
OLED_Show_Char(x+(size2/2)*iy‘ ‘);
continue;
}
else
enshow=1;
}
OLED_Show_Char(x+(size2/2)*i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1793 2018-02-01 12:50 XMF_OLED1306.h
文件 10718 2018-01-31 15:29 XMF_OLED_BMP.h
文件 15207 2018-01-31 13:40 XMF_OLED_Font.h
文件 7768 2018-01-31 15:57 XMF_OLED1306.c
相关资源
- 基于ZigBee无线传输技术的电子听诊器
- bh1750光照数字传感器在cc2530协议栈的
- ZigBee参考电路图
- AD封装库,CC3200、CC2530等全部元器件库
- CC2530中文数据手册完全版PDF
- Z-Stack Mesh 1.0.0 协议栈
- rc-522基于CC2530的读取IC卡号例程,可用
- AltiumDesigner的cc2530的原理图
- ZigBee模块原理图
- CC2530 CC2540 ZIGBEE 蓝牙 仿真器资料
- CC2530产生PWM
- CC2530 Flash读写测试程序
- CC2530 裸机测试信号强度
- CC2530 外部中断控制流水灯
- TI官网CC2530例程
- cc2530模块底板电路图
- 用zigbeecc2530的ADC所做电压表,原创
- Zigbee 光敏和热敏传感器
- CC2530原理图及PCB集成库封装altium格式
- NEC红外解码无线发送程序CC2530
- CC2530协调器源代码
- CC2530的PCB封装
- CC2530 SW1单击双击 双联继电器测试
- 使用CC2591作为CC2530的功放
- CC2530传感控制系统硬件开发
- cc2530裸机驱动adxl345测试成功
- CC2530-ADXL345 IIC通信
- CC2530-HMC5883L通过I2C通信
- HMC5883_CC2530
- 基于cc2530的酒精串口显示系统
评论
共有 条评论