ad7705c语言程序,基于51单片机的的AD7705的运用
这是我当初毕业设计的程序可以直接用的包含两个文件:
AD7705.H文件:
#include
#ifndef _AD7705_
#define _AD7705_
sbit AD7705_CLK = P3^6; //AD7705时钟
sbit AD7705_DIN = P3^4; //AD7705数据输入端
sbit AD7705_DOUT = P3^3; //AD7705数据输出端
sbit AD7705_DRDY = P3^2; //AD770准备好信号
sbit AD7705_REST = P3^5; //AD7705复位信号,低电平复位
#endif
extern unsigned int AD_data;
extern void Write_7705(unsigned char Byte);
extern void Read_7705();
extern void Init_7705();
AD7705.C文件:
#include
#define nop _nop_()
unsigned int AD_data;
void Write_7705(unsigned char Byte)
{
unsigned char i;
AD7705_CLK = 1;
for(i=8;i>0;i--)
{
if(Byte&0x80) AD7705_DIN = 1;
else AD7705_DIN = 0;
AD7705_CLK = 1;
nop;
AD7705_CLK = 0;
nop;
AD7705_CLK = 1;
Byte <<= 1;
}
AD7705_CLK = 1;
nop;
AD7705_DIN = 0;
}
/********************************************************************
**函数原形:uint Read_7705()
**功能:读AD7705转换后数据
**参数:无
**返回值:转换结果
********************************************************************/
void Read_7705(void)
{
unsigned char i,j,k=400;
long int sum_data=0;
for(j=0;j<4;j++) //采集8次
{
Write_7705(0x39);
AD7705_CLK=1;
while(AD7705_DRDY&&(k--)) ;
// Display();
for(i=16;i>0;i--) //读16位数据
{
AD_data=AD_data<<1;
AD7705_CLK=0;
nop;
AD7705_DOUT=1;
if(AD7705_DOUT) AD_data|=0x0001;
else AD_data|=0x0000;
AD7705_CLK=1;
}
AD7705_CLK=1;
nop;
AD7705_DIN=1;
sum_data+=AD_data;
AD_data=0x0000;
}
AD_data=(sum_data>>2);
}
/*********************************************************
**函数原形: void Init_7705(void)
**功能:初始化AD7705,设置为20HZ更新率、双极性、自校准、增益128
**参数:无
**返回值:无
***********************************************************/
void Init_7705(void) //初始化7705
{
unsigned char i;
AD7705_CLK=1;
nop;
AD7705_DIN=1;
for (i=0;i<40;i++) // AD7705复位
{
AD7705_CLK=0;
nop;
AD7705_CLK=1;
}
Write_7705(0x21); //写通信寄存器设置通道2择下一个操作是写时钟寄存器
Write_7705(0x0C); //写时钟寄存器设置更新速率为20Hz
Write_7705(0x11); //通道2,下一个写设置寄存器
//Write_7705(0x7a); //写设置寄存器,设置成双极性、增益为128、自校
Write_7705(0x44);
}
ad7705c语言程序,基于51单片机的的AD7705的运用相关推荐
- 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc
基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...
- 湿度控制c语言程序,基于51单片机的湿度控制系统设计.doc
基于51单片机的湿度控制系统设计 基于51单片机的湿度控制系统设计 摘要 关键词:单片机:湿度传感器:ADC0832数模转换 目 录 序 言1 第一章 系统的整体设计方案2 1.1设计内容2 1.2系 ...
- 51单片机的电子钟c语言程序,基于51单片机的电子钟C语言程序
基于单片机C语言的电子钟程序代码与仿真 基于51单片机的电子钟C语言程序: 程序代码 #include #include #define uchar unsigned char #define uin ...
- 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真
基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...
- 水塔水位测量c语言程序,基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)...
基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)(任务书,开题报告,外文翻译,论文18000字) 摘 要 为了能实现水位监测与控制,以STC89C52作为核心控制芯片,进行了水位检测系统控 ...
- 51lcd显示光传感器c语言程序,基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例...
基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例,系统由GY-30数字光照传感器.51单片机最小系统.1602液晶显示屏组成,电路简单,附件中的程序是实物验证过了的.1 ...
- 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]
/***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...
- 基于51单片机的光照强度检测c语言程序,基于51单片机光照强度检测报告.doc
基于51单片机光照强度检测报告 课程设计报告 课程名称: 智能仪器课程设计 题 目: 基于51单片机的光照强度 摘要 光敏电阻测光强度系统,该系统可以自动检测光照强度的强弱并显示让人们知道此时光照强度 ...
- 收音机c语言程序,基于51单片机的数字FM调频收音机的设计(附接线图,主程序代码)...
基于51单片机的数字FM调频收音机的设计(附接线图,主程序代码)(任务书,开题报告,论文15000字) 摘要 在当今的社会时代中,信息的传输扮演着极其重要的地位.随着科学技术的不断发展与进步,人类的生 ...
- 水质检测c语言程序,基于51单片机的水质监测系统的设计.doc
基于51单片机的水质监测系统的设计 基于AT89C51单片机的水质监测系统的设计 摘要:现在水源污染已经成了社会密切关注的话题,所以对水质进行监测成了保护水资源的一项重要措施,基于此本文设计了一款能够 ...
最新文章
- 索赔 100 万!只是因为一个开源插件?
- Nginx RTMP 功能研究
- ABP入门系列(13)——Redis缓存用起来
- Node概述_note
- 实现基于AD的MOSS的FORM认证方式
- Noip 2016 Day1 题解
- BZOJ 3251: 树上三角形
- 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)...
- 中小企业IT建设的小看法2
- 【脚本解析笔记】文件批量重命名
- 深度学习领域专有名词的理解与释义
- 限制不互素对的排列(构造)
- 哔哩哔哩作者页上的作品批量保存的方法
- 一张图片切割成九宫格,微信朋友圈发布
- 常见帧率 与 帧率运用
- linux环境怎么更新离线rpm包,SUSE Linux 11系统rpm包离线安装GCC
- Shader攻占笔记(八)屏幕特效
- 神经元的结构图手绘,神经元图片手绘图
- 夜游项目如何挖掘景区独具特色文化
- 如何将记事本中的.txt文件转为.csv文件