资源简介
此为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
- 上一篇:无人驾驶车辆模型预测控制-龚建伟 书中代码
- 下一篇:微信第三方支付视频教学
相关资源
- MSP430F5529各式例程
- msp430循迹小车
- Msp430 g2553 UART与电脑串口通信例程
- MSP430简易示波器
- TI MSP430 SD卡 FAT16文件系统源码
- MSP430实现串口通信的源程序代码
- MSP430小车控制
- msp430g2553测频程序
- msp430g2553测频率
- MSP430驱动SD卡程序
- msp430产生SPWM波程序
- 基于msp430g2553的触摸按键程序
- msp430元件库封装
- msp430f5438a操作nrf24l01
- msp430中断嵌套程序
- MSP430+LORA
- msp430f5438的AD转换结果通过串口输送到
- MSP430控制LCD1602显示
- ADC序列通道多次转换12864液晶程序ms
- msp430串口计算器
- 按键控制MSP430F5529单片机控制灯闪烁
- MSP430F系列单片机bootloader原理及实现方
- MSP430F5529原理图
- MSP430F149单片机对继电器的控制程序和
- MSP430 SD卡FAT16源码!!!经典
- LCD1602程序 for MSP430F449
- 2019年电赛A题_电动小车动态无线充电
- 基于MSP430F6638的数字钟代码
- 2018年TI杯电子设计大赛FDC2214、TPS630
- FDC2214原理图及PCB
评论
共有 条评论