-
大小: 54KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-12
- 语言: 其他
- 标签: MSP430OLED
资源简介
使用MSP430G2553launchpad采用硬件IIC方式控制OLED显示屏,有完整的CCS编译器下的工程和文件,直接可以移值使用,非常方便。
代码片段和文件信息
/*
* I2C_OLED.c
*
* Created on: 2016年5月17日
* Author: xiaomo
*/
#include“I2C_OLED.h“
#include“codetab.h“
u8 OLED_GRAM[128][8]; //显存
void I2C_start_OLED()
{
SDA_DIR_OUT_OLED;
SCK_I2C_OUT_OLED;
SDA_I2C_H_OLED;
SCK_I2C_H_OLED;
delay_us(1); //延时
SDA_I2C_L_OLED;
delay_us(1); //延时
SCK_I2C_L_OLED;
}
/**************************************
停止信号
**************************************/
void I2C_Stop_OLED()
{
SCK_I2C_OUT_OLED;
SDA_DIR_OUT_OLED;
SDA_I2C_L_OLED;
SCK_I2C_H_OLED;
delay_us(1); //延时
SDA_I2C_H_OLED;
delay_us(1); //延时
SCK_I2C_H_OLED;
delay_us(5);
}
/**************************************
发送应答信号
入口参数:ack (0:ACK 1:NAK)
**************************************/
void I2C_SendACK_OLED(u8 ack)
{
SDA_DIR_OUT_OLED;
SCK_I2C_OUT_OLED;
if(ack==1) SDA_I2C_H_OLED;
else SDA_I2C_L_OLED;
SCK_I2C_H_OLED;
delay_us(1); //延时
SCK_I2C_L_OLED;
delay_us(1); //延时
}
/**************************************
接收应答信号
**************************************/
u8 I2C_RecvACK_OLED()
{
u8 temp;
SDA_DIR_IN_OLED;
SCK_I2C_H_OLED; //拉高时钟线
delay_us(1); //延时
_NOP();
if(SDA_Value_OLED) temp=1;
else temp=0;
SCK_I2C_L_OLED; //拉低时钟线
delay_us(1); //延时
SDA_DIR_OUT_OLED;
return temp;
}
/**************************************
向IIC总线发送一个字节数据
**************************************/
void I2C_SendByte_OLED(u8 dat)
{
u8 i;
SDA_DIR_OUT_OLED;
SCK_I2C_OUT_OLED;
for (i=0; i<8; i++) //8位计数器
{
if(dat&0x80) SDA_I2C_H_OLED;
else SDA_I2C_L_OLED;
dat <<= 1; //移出数据的最高位
SCK_I2C_H_OLED;
delay_us(1); //延时
SCK_I2C_L_OLED;
delay_us(1); //延时
}
I2C_RecvACK_OLED();
}
/**************************************
从IIC总线接收一个字节数据
**************************************/
u8 I2C_RecvByte_OLED()
{
u8 i;
SDA_DIR_IN_OLED;
u8 dat = 0;
SDA_I2C_H_OLED;
for (i=0; i<8; i++) //8位计数器
{
dat <<= 1; //拉高时钟线
SCK_I2C_H_OLED;
delay_us(1); //延时
if(SDA_Value_OLED) dat |= 1; //读数据
SCK_I2C_L_OLED; //拉低时钟线
delay_us(1); //延时
}
SDA_DIR_OUT_OLED;
return dat;
}
//******单字节写入*******************************************
void Single_Write_OLED(u8 REG_Addressu8 REG_data)
{
I2C_start_OLED(); //起始信号
I2C_SendByte_OLED(SlaveAddress); //发送设备地址+写信号
I2C_SendByte_OLED(REG_Address); //内部寄存器地址
I2C_SendByte_OLED(REG_data);
I2C_Stop_OLED(); //发送停止信号
}
void OLED_WRITE_COM(u8 com) //写指令
{
Single_Write_OLED(0x00com);
}
void OLED_WRITE_da
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 512 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\.ccsproject
文件 22858 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\.cproject
文件 4223 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\.launches\OLEDIIC.launch
文件 837 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\.project
文件 62 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\.settings\org.eclipse.cdt.debug.core.prefs
文件 208 2016-05-17 20:17 MSP430 OLED IIC\OLEDIIC已调成功\.settings\org.eclipse.core.resources.prefs
文件 18834 2016-05-17 20:17 MSP430 OLED IIC\OLEDIIC已调成功\codetab.h
文件 66 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\ccsObjs.opt
文件 46040 2016-05-17 20:29 MSP430 OLED IIC\OLEDIIC已调成功\Debug\I2C_OLED.obj
文件 559 2016-05-17 20:29 MSP430 OLED IIC\OLEDIIC已调成功\Debug\I2C_OLED.pp
文件 8488 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\main.obj
文件 517 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\main.pp
文件 3773 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\makefile
文件 250 2016-05-17 20:17 MSP430 OLED IIC\OLEDIIC已调成功\Debug\ob
文件 15524 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\OLEDIIC.map
文件 36008 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\OLEDIIC.out
文件 119796 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\OLEDIIC_li
文件 1920 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\Debug\sources.mk
文件 1409 2016-05-17 20:17 MSP430 OLED IIC\OLEDIIC已调成功\Debug\subdir_rules.mk
文件 613 2016-05-17 20:17 MSP430 OLED IIC\OLEDIIC已调成功\Debug\subdir_vars.mk
文件 1569 2016-05-17 20:29 MSP430 OLED IIC\OLEDIIC已调成功\delay.h
文件 7347 2016-05-17 20:29 MSP430 OLED IIC\OLEDIIC已调成功\I2C_OLED.c
文件 3197 2016-05-17 20:29 MSP430 OLED IIC\OLEDIIC已调成功\I2C_OLED.h
文件 8376 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\lnk_msp430g2553.cmd
文件 346 2016-05-17 20:17 MSP430 OLED IIC\OLEDIIC已调成功\main.c
文件 822 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\targetConfigs\MSP430G2553.ccxm
文件 806 2016-05-17 20:11 MSP430 OLED IIC\OLEDIIC已调成功\targetConfigs\readme.txt
文件 11358 2016-05-17 20:43 MSP430 OLED IIC\OLEDIIC已调成功\zimo.h
目录 0 2018-05-15 09:16 MSP430 OLED IIC\OLEDIIC已调成功\.launches
............此处省略8个文件信息
- 上一篇:中小企业网络规划与设计
- 下一篇:MSP430G2553超声波测距程序
评论
共有 条评论