- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的8路温巡检仪的毕业设计
8路温度巡检仪
设计任务:
8路温度巡检仪可以测量0-300 oC范围内的8路输入温度值,并能在5位LED数码管上轮流显示,最高位显示通道数。测量最大分辨率为0.05 oC。
方案确定:
8路温度巡检仪电路由A/D转换,多路数据选择,数据处理及显示控制组成。电路原理图如图所示。A/D采集由集成电路AD7705组成,数据选择开关由CD4051组成,地址线决定对哪一路进行数据转换.扩展的外围芯片采用串行接口芯片,使整个系统体积小,功耗低,有极好的可维护性和较强的抗干扰性能。单片机晶振为12M,AD7705的时钟线接单片机的LAE端,它将产生2M的时钟。单片机P0口为数码管的段码,P2口为位选。P3.0为A/D数据输入端,采用串行通信的方式0进行数据的读入。
系统硬件设计:
1、A/D采样模块:
在这一部分电路中,AD7705是用于低频测量系统的前端器件,它分辨率高,且有节电模式,能够满足高精度和低功耗的要求。此外,AD7705片内还有数字滤波电路、校准电路和补偿电路,因而能更好地保证高精度的实现温度测量。AD7705使用V单电源,它有两个模拟差分输入通道,在电源为V、参考电压为V. AD7705可直接接收传感器产生的小信号以进行A/D转换并输出串行数字信号。它采用Σ-Δ技术来实现16位A/D转换。采样速率由MCLKIN端的主时钟和放大器的可变增益来决定。实际上,AD7705同时可以对输入信号进行片内放大、调制转换和数字滤波处理。其数字滤波器的阻带可编程控制,以便调节滤波器的截止频率和输出数据更新速率。 该系统选用的CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。“INH”是禁止端,当“INH”=1时,各通道均不接通。此外,CD4051还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰-峰值达15V的交流信号。例如,若模拟开关的供电电源VDD=+5V,VSS=0V,当VEE=-5V时,只要对此模拟开关施加0~5V的数字控制信号,就可控制幅度范围为-5V~+5V的模拟信号。 该系统选用两快CD4051,作为8路通道的选择,因为A/D7705的模拟输入是以差分信号的方式输入,所以将两块CD4051的地址线(A.B.C)分别连到一起,使输入的差分信号同时选通。U3与U4的第3管脚分别接AD7705的模拟输入端。该模块的具体电路图如下图所示,在实际应用中,为了使得它们的导通特性相同,要选择同一型号的CD4051.
3、数码管显示模块:
该系统用动态扫描的方式进行显示。在硬件设计中将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。动态扫描显示轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。硬件电路比较复杂,成本较高。
系统软件设计:
程序设计思想是首先上电/复位AD7705,配置AT8951单片机的串行接口,然后将AD7705的通道1原始化,留心读写数据之前必须调用重新排序子程序。查询DRDY引脚,如果为低电平,则读通道数据寄存器,把数据转化为值,再调显示子程序,调延时,返回,继续采集数据,查询DRDY,显示,直到结束。
主程序流程图
显示子函数
显示功能采用动态扫描法实现5为数码管的数值显示。测量所得的A/D转换数据放在8个定义的ad_data[8]内存单元中,测量所得的A/D数据在在显示时需经过转换变成十进制BCD码。列扫描采用扫描字代码,每位LED显示时间为1ms,每路温度数据显示时间为0.5秒。
模/数转换测量子函数
模/数(A/D)转换测量子函数用来控制对AD7705和CD4051的八路模拟输入的微小信号进行A/D转换并将对应的数值移入内存单元。程序流程图如图所示。
Y
N
A/D转换测量子函数流程图
程序清单:
#includereg51.h
#define Addr_channel P1 //八路通道地址端口
typedef unsigned char uchar; //用关键字宏定义,其效率高
typedef unsigned int uint;
sbit DRDY=P3^2;
sbit DP=P0^7;
/***********内存单元定义*************/
//code 以节省内存单元
文档评论(0)