• 大小: 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\objects.mk

     文件      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_linkInfo.xml

     文件       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.ccxml

     文件        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个文件信息

评论

共有 条评论

相关资源