资源简介
此为ADS1115的全部代码,包括一个主函数,一个ADS1115的函数,一个12864的函数

代码片段和文件信息
/*
* ads1115.c
*
* Created on: 2019年7月19日
* Author: Administrator
*/
#include“ads1115.h“
/*************************
* 1 delay
*************************/
void delay(void)
{
uchar i;
for(i=0;i<5;i++)
_NOP(); //延时一个机器周期
}
/******************************
* 2 start i2c 启动
****************************/
void start()
{
SCL_H;
SDA_H;
delay();
SDA_L;
delay();
SCL_L;
}
/********************************
* 3 结束 I2c
********************************/
void stop() //////////和例程不太一样!
{
SCL_L;
SDA_L;
delay();
SCL_H;
delay();
SDA_H;
}
/******************
* 4 i2c主机应答操作
*******************/
void mack(void)
{
SDA_L;
_NOP();
_NOP();
SCL_H;
delay();
SCL_L;
_NOP();
_NOP();
SDA_H;
delay();
}
/**********************
* 5 i2c 主机无应答操作
*******************/
void mnack()
{
SDA_H;
_NOP();
_NOP();
SCL_H;
delay();
SCL_L;
_NOP();
_NOP();
SDA_L;
delay();
}
/*************
* 6
*/
void ack()
{
uchar i=0;
SDA_in;
SCL_H;
delay();
while((P3IN&BIT5)&&(i<250))
i++;
SDA_out;
SCL_L;
delay();
}
/************************
* 7 写1
*************************/
void write1()
{
SDA_H;
delay();
SCL_H;
delay();
SCL_L;
delay();
}
/********************8
* 8 写0
*/
void write0()
{
SDA_L;
delay();
SCL_H;
delay();
SCL_L;
delay();
}
/*************
* 9 写字节
*/
void write1byte(uchar data)
{
uchar i;
for(i=8;i>0;i--)
{
if(data&0x80)
write1();
else
write0();
data<<=1;
}
SDA_H;
_NOP();
}
/**************
* 读字节
*/
uchar read1byte(void)
{
uchar rdata = 0x00i;
uchar flag;
for(i = 0;i < 8;i++)
{
SDA_H;
SCL_H;
SDA_in;
flag = SDA_val;
rdata <<= 1;
if(flag)
rdata |= 0x01;
SDA_out;
SCL_L;
}
return rdata;
}
/*
* 1115写寄存器
*/
void Confige1115(uchar channel)
{
uchar a_channel;
switch(channel)
{
case 0:
a_channel=0xC0; //单通道输入
break;
case 1:
a_channel=0xD0;
break;
case 2:
a_channel=0xE0;
break;
case 3:
a_channel=0xF0;
break;
case 4:
a_channel=0x84; //差分输入 的指令
default :
break;
}
start();
write1byte(address);
ack();
write1byte(config);
ack();
write1byte(a_channel);
ack();
write1byte(Lsiwei);
ack();
stop();
}
/*
* 读取数值
*/
uint read1115(void)
{
uchar result_lresult_h;
uint result;
start();
write1byte(address);
ack();
write1byte(conversion);
ack();
stop();
start();
write1byte(address+1);
ack();
result_h=re
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1823 2019-08-03 19:44 LCD12864.c
文件 519 2019-08-20 11:17 LCD12864.h
文件 1108 2019-08-20 16:05 main.c
文件 3492 2019-08-20 16:05 ads1115.c
文件 1111 2019-08-20 11:10 ads1115.h
----------- --------- ---------- ----- ----
8053 5
- 上一篇:无人驾驶车辆模型预测控制-龚建伟 书中代码
- 下一篇:微信第三方支付视频教学
相关资源
- IAR for MSP430 v7.10.1 注册机
- 基于MSP430G2553的蓝牙控制小车
- 利用DS1302和msp430进行闹钟和万年历的
- msp430F149操作红外接收模块源码
- [免费]msp430f149控制PS2键盘并用1602显示
- 2003-2013全国电赛历年真题
- MSP430f149读sd FAT txt
- 用8位spi实现16位spi
- 基于MSP430单片机的实时多任务操作系
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- msp430f449程序
- DAC7811资料以及驱动程序
- 基于MSP430的数控直流电压源
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
- IAR EW430连接仿真器在线仿真
- 初识畅学系列MSP430F149单片机开发板
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- MSP430F5438A RAM操作实验
- msp430f5438a技术资料
- MSP430 JTAGUSB的和并口的与目标板连接的
- MSP430教程:MSP430单片机ADC12模块
- WIA-PA网络技术在井下人员定位系统中
- 16位MSP430单片机的开关稳压电源设计
- 基于mps430f149的12864液晶显示模块编程
- 2019年电赛C题国一代码.zip
- 电赛电磁炮.zip
评论
共有 条评论