- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于单片机的路温度巡检仪的毕业设计.doc
基于单片机的8路温度巡检仪的毕业设计
答案研究院标准资料研究所 598577184
}
/***********向AD7705写一个字节的数据******************/ void Write_AD_reg(uchar dat) { }
/********从AD7705读出两个字节的数据,AD转换值*******/ //返回值为unsigned int 类型 uint Read_AD_reg() { }
/************对AD7705初始化*****************/ void AD_Init(void) { 0X30 // //
Write_AD_reg(0x08); //写0x10到通信寄存器,到通信寄存器,下一个寄存器指向设置寄存器.倒序:0X08 Write_AD_reg(0x62); //写0x46到设置寄存器,自动校准,单极性,gain=1;缓冲模式,FASYNC=0. 倒序:0X62 Write_AD_reg(0x6E); //写0x76到设置寄存器,自动校准,单极性,gain=64;缓冲模式,FASYNC=0. 倒Write_AD_reg(0X04); //写0X20到通信寄存器,选择通道ANI(+)和ANI(-),下一个寄存器指向时钟寄存器。.Write_AD_reg(0X30); //写0X0C到时钟寄存器,接2M时钟,时钟二分频,输出跟新率50Hz. 倒序: 倒序:0X04
//用串行数据输入时一定要将数据进行倒序处理
uchar low8,high8; uint AD_out; SCON=0x00;
Write_AD_reg(0x1C); while(DRDY); REN =1; RI =0; high8=SBUF; while(!RI); RI =0; low8=SBUF; REN =0;
high8=reverse_order(high8); low8 =reverse_order(low8); AD_out=high8; AD_outAD_out;
//对读回的高8位倒序
while(!RI);
//读数据通道 0x38 //为低电平时读取数据
//接收使能 //等待接收完
SBUF=dat; while(!TI); TI=0;
//等待发送完成
}
return new_dat;
答案研究院标准资料研究所 598577184
序:0X6E }
/************温度采样函数*****************/ void AD_samp(void) {
uchar i,m,n; uchar j=0; Addr_channel=j; for(i=0;i{
ad_data_buff[0]=Read_AD_reg(); //在此也可以做中值滤波处理
Write_AD_reg(0x76); //写0x6e到设置寄存器,自动校准,单极性,gain=32;缓冲模式,FASYNC=0. 倒序:0X76
int k;
ad_data_buff[1]=Read_AD_reg(); ad_data_buff[2]= Read_AD_reg(); for(m=0;m for(n=0;n if(ad_data_buff[n]value_buf[n+1])
{
k= ad_data_buff[n];
ad_data_buff[n]=ad_data_buff[n+1]; value_buf[n+1]=k; }
}
}
/************显示处理函数*****************/ void display(void) {
uchar m,n; float h; uint a,k,d;
dis[4]=0x01; //通道初值为0 for(m=0;m h=ad_data[m]/65535.0;
k=h*300;
dis[3]=k/100; //对温度值取百位数
}
ad_data[i]= ad_data_buff [1]; j++;
Addr_channel=j;
//使模拟开关选通可靠,起延时的作用
Addr_channel=0x00;
答案研究院标准资
文档评论(0)