温度测温检测系统(数码管显示)
基于DS18B20的温度采集显示系统的设计
目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 DS18B20地主要特性(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电;(2)独特地单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20地双向通讯;(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一地三线上,实现组网多点测温;(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管地集成电路内;(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)可编程地分辨率为9~12位,对应地可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强地抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作.3.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。
数码管显示温度计
LM35集成温度传感器的应用LM35是一种广泛使用的温度传感器。
温度测量范围为0——100度,对应温度输出为每10毫伏每度。
几乎无须调整就能够保证整个范围内的的灵敏度和线性。
与3,5位A/D转换集成电路ICL7107连用,采用正负5V双电源供电。
采用共阳数码管显示当前温度,这种温度表在日常的环境中大有用武之地。
如电孵化,室温温度测量,养殖业,实验室以及最普通的家庭作为寒暑温度计使用。
其连接图如下;图表 1图表 2器材:LM35温度传感器1个;ICL7107A/D转换芯片1片;共阳数码管4个;电容5个;电阻7个;可调电阻1个;器材规格:电容;224,474,103,104,101各一个。
电阻;40,350,100K,20K,150K,1M,100K,各一个。
可调电阻50K一个。
调试及注意事项1:确定26角接负电源,不能不接或接零电压,同时负电源的地线要跟+5V的地线接在一起。
2:注意芯片的27,28,29脚的元件数值,它们是0.22uF,150K,0.47uF阻容网络,这三个元件属于芯片工作的积分网络,不能用磁片电容。
芯片的33和34脚接的104电容也不能用磁片电容。
积分网络的元件数值决定示数显示的范围,若示数达不到周围的温度时可改变阻容网络中的电阻的阻值。
3:芯片第一脚是共电,正确电压是DC5V。
第36脚是基准电压,正确数值是1V,通过可调电阻及20K的固定电阻来分压,使36脚的电位稳定在1V,32及35角接地。
4:38,39,40脚是一个RC震动网络,以4000个记数脉冲为周期,即4000个脉冲时间作为A/D转换的一个周期,每个周期中包括自动稳零,对输入的模拟信号进行积分。
5:LM35的用法;平口面面对自己,从左到右依次是电源,输出,接地。
其中1脚电源接正5V,2脚接输出,接地。
6:数码管的外行及接法:外行如上图。
其中3,8脚是连通的。
对于供阳的数码管来说,3脚或8脚接到电平,在该电路中是直接接正5V电源,串上一个40欧的电阻来限流。
温度检测系统设计报告模板
温度检测系统设计报告模板1. 引言温度检测是现代社会中广泛应用于各个领域的一项重要技术。
不论是工业生产中的温控系统,还是医疗领域中的体温监测,都需要可靠准确的温度检测系统来提供数据支持。
本报告旨在介绍一种基于传感器技术的温度检测系统的设计方案。
2. 系统设计2.1 系统概述本温度检测系统主要由以下几个部分组成:- 传感器模块- 数据采集模块- 数据处理模块- 数据显示模块2.2 传感器模块传感器模块是温度检测系统的核心部分,用于实时感知周围的温度信息。
常见的温度传感器有热电偶、热敏电阻和半导体温度传感器等。
在本设计方案中,我们选择了半导体温度传感器作为主要传感器。
2.3 数据采集模块数据采集模块用于将传感器模块采集到的温度数据进行模拟转数字(A/D)转换,并将其转化为计算机可读的数据传输格式,如数字信号或模拟信号。
常用的数据采集芯片有MAX31855 和ADS1115 等。
2.4 数据处理模块数据处理模块接收从数据采集模块传输过来的温度数据,并进行必要的数据处理和分析。
其中包括常见的数据滤波、校准和温度单位转换等操作。
此外,如果需要实现更复杂的功能,如报警、数据存储等,也可在该模块进行相应的逻辑设计。
2.5 数据显示模块数据显示模块将处理后的温度数据以直观的方式进行展示,供用户实时监测和观察。
常见的数据显示方式包括数码管、液晶屏、计算机图形界面等。
3. 系统实现3.1 硬件实现在硬件实现方面,我们选用了Arduino 控制板作为主控制器,并通过相关传感器模块和数据采集模块与之连接。
具体连接方式可参考相关文档和示例。
3.2 软件实现在软件实现方面,我们采用了Arduino 的开发环境进行程序编写和上传。
具体程序设计涉及到传感器的读取和校准、数据传输和处理,以及数据显示等方面。
4. 系统测试为了验证系统的性能和准确性,我们进行了一系列的系统测试。
首先对传感器模块进行了静态和动态的温度测试,并与标准温度计进行了对比。
数字式温度测量系统的设计与实现
2024/8/3
5
2.温度检测系统的数字化实现
首先,调试ADC0804的测试程序,并用数码管进行实时显示。 显示要求为0.0~100.0。然后利用标定温度传感器所得的数据 进行变换系数的求取。注意为了减小CPU的计算量,可采用 定点数运算,及为了显示温度的小数点后一位,可将所有的温 度数据都×100,则折算系数计算公式为
➢ (二)设计一个数字式温度检测系统。焊 接PWM单元电路板,搭建系统硬件,下载 程序,实现设计。
➢ (三)问题与思考,任务拓展。
2024/8/3
11
7.1 数字式温度检测系统的组成
➢ 数字式温度测量系统是利用微处理器为核心而构 成的一种温度测量和显示系统,它主要有温度测 量单元,温度变送单元,模数转换单元,数据处 理分析单元以及显示单元等组成。
➢ 为了便于对温度测量系统的准确性进行验证,该 系统还具有可控加温环节,具体实现思路是采用 PWM方式驱动加热丝,完成温度的增加,从而减 小了系统标校和测试的工作量。
6
6.4 温度检测系统的程序设计
➢ 例如:系统有四个按键,我们可以按照如下思想 进行规定:
➢ KEY1:实时温度显示按键,当按下此键系统显示 实时温度。
➢ KEY2:PWM占空比设定键,系统显示当前的占 空比,数据范围1~99。
➢ KEY3:占空比加1键,每按下一次,当前占空比 加1,加到99停止。
2024/8/3
4
6.3 温度检测系统的标校过程
1.传感器变送器的零点和满量程的标定
温度传感器的主要技术指标为:零点、满量程输出、 增益、以及线性度等。进行温度传感器的这几个指标的测 试过程,称为传感器的标定。
首先,准备一个烧杯的冰水混合物,将被标定温度变送器 和校准用热电阻Pt100都埋入到冰水混合物中,直到接Pt100的 标准表显示温度为0℃,再调节温度变送器的调零电阻,使得温 度变送器的输出为0V。然后再用加热装置加热烧杯的水并使其 沸腾,读取标准表所示的实际温度数,然后再调节温度变送器 的满量程调节电阻,使得其输出为5V。 反复进行零点和满量程标定若干次,直到合适为止,并记录此 时满量程所对应的实际输出电压和实际温度值,为下面的温度 测量的数字实现提供依据。
基于51单片机的温度监测系统(DS18B20)
DS18B20读时序
所有的读时隙都由拉低总线,持续至少1us后再释放总线(由于上拉电阻的作用,总线恢复为 高
配置寄存器
8 位 CRC 生成器
DS18B20的时序
DS18B20复位时序
DS18B20的所有通信都由由复位脉冲组成的初始化序列开始。该初始化序列由主 机发出,后跟由DS18B20发出的存在脉冲(presence pulse)。在初始化步骤中,总线 上的主机通过拉低单总线至少480μs来产生复位脉冲。然后总线主机释放总线并进入接收 模式。当总线释放后,5kΩ的上拉电阻把单总线上的电平拉回高电平。当DS18B20检测 到上升沿后等待15到60us,发出存在脉冲,拉低总线60-240us至此,初始化和存在时序 完毕。时序图如下:
1.主控制器电路和测温
电路的设计
主控制器电路由AT89S52 及外围时钟和复位电路构成, 测温电路由DS18B20、报警 电路组成。AT89C52是此硬 件电路设计的核心,通过 AT89S52的管脚P2.7与 DS18B20相连,控制温度的 读出和显示。硬件电路的功 能都是与软件编程相结合而 实现的。具体电路原理图如 右图2所示。
送1,以拉低总线的方式表示发送0.当发送0的时候,DS18B20在读时隙的末期将会释放总线,总线
将会被上拉电阻拉回高电平(也是总线空闲的状态)。DS18B20输出的数据在下降沿(下降沿产 生读时隙)产生后15us后有效。因此,主机释放总线和采样总线等动作要在15μs内完成。
基于AT89C51的温度测量与显示系统
sn0 D 1 B 0 tm eaue aq i  ̄ ,j y ad esr s 2 ,e prt r c u E n d 吣 n 8 s S
ohrf n曲 wt h e e p n fte sf w r t Uc ) e iht d vl met o h o t ae e o
213 序 ..谢 在读时序期 间, 主机读入来 自D 1B 0 S 8 2 的数据 。若 D 1B 0 S 8 2 发送 1 ,则保持总线为 高 电平 ;若发送 0 ,则拉低总线。主机必须
[] 刚 . 片机 原理 及 应 用[]北京 : 3张毅 单 M. 高
等教 育 出版社 .0 8 20 .
L D显示采用常规 的共阴数码管,为 E 了具有 良好 的温度显示效果, 用高集成化的 串 行 输 入 输 出 的 共 阴 极 显 示 驱 动 器
描程序 。这样 显示器循环 点亮 ,即可显示 当前 温 度值 。
实现 温 度 采 集 、 显 示 等 功 能 。 温 度 测 量 ; 单 片 机 ;D 8 2 S B 1 0
[] 永 中 , 文 剑 , 2熊 王 陈金 鹰 等 . 于单 片机 基 和 P 机 的实 时 温度 控 制 系统 设 计 [ . c J 自动 ]
化 技 术 与应 用 .0 , :2 -19. 2 l 5 16 2 0
数字温度传感器D 1B 0 能够直接读 S8 2, 出被 测 温 度 。温 度测 量 范 围 为 一 5 ℃ ~ + 5 15 可根据实际要求编程为9 2 2 ̄ C, ~l位A/ D 转换精度 ,分辨 率可达 0. 6 5 。由于 02 ℃ D IB 0 S 8 2 集温度测量, / A D转换于一体 。 具
T mprtr es rme ta d d p y s se bsd e ea ue m aue n n i l y tm ae sa
YGWT-2008无线测温系统说明书解析
电力温度在线监测系统说明书 YGWT-2008第一部分公司简介保定市屹高电气有限公司位于保定市国家高新技术产业开发区, 是专业从事电力系统产品研发、生产和销售的高技术企业。
企业从创建开始,就一直坚持服务电力行业、满足客户需求和技术创新的原则,秉承“真诚服务,创造价值”的经营理念,不断致力于电力系统自动化领域的开拓及发展。
公司崇尚以市场为导向, 以科技求发展、以服务做保障的宗旨, 在通过深入了解客户需求的基础上, 以不断进行创新的产品适应国家飞速发展的电力工业; 同时在产品的生产过程中, 恪守质量是企业生命的观念, 以完善的质量管理体系严把产品质量关, 公司现有产品经国家权威部门检验, 各项技术指标均达到标准要求。
企业始终贯彻为客户创造最大价值的服务方针, 并以科学严格的管理、严谨求实的作风、先进实用的技术来服务电力系统用户。
我们在售前、售中、售后三个方面向用户郑重承诺, 保证以最快捷、最周到的服务来满足客户需求。
技术特色1. 技术成熟、运行可靠,专利产品,并通过电科院相关检测。
2. 设备已经成功运行在上百座 500KV~35KV变电站达四年以上,为电力系统成功发现多处隐患, 取得良好的经济效益和社会效益, 为状态检修提供直接依据, 助力智能电网建设。
3. 温度传感器与测温主机采用分体设计,测温主机距离发热源 30cm 以上,测温主机与母排之间有 2mm 以上缝隙,确保主机工作在 85度一下,提高设备可靠性。
4. 测温终端独特设计的半球形以及环形结构,不影响电场分布,不影响绝缘性能。
5. 信号远距离传输, 穿透能力强。
典型应用距离 800米以上, 满足常见 500KV 变电站站内通讯要求。
信号能够穿透高压开关柜、箱式变、金属门屏蔽等。
6. 测温终端独特设计的半球形以及环形结构,不影响电场分布,不影响绝缘性能。
7. 防护等级满足 IP68,能满足户外全天候运行,测量精度可达±0.5℃。
8. 采用接收装置和无线测温终端 1:N 模式,配置灵活,施工方便无需布线。
基于51单片机的温度检测系统程序及仿真概要
基于51单片机的温度检测系统程序及仿真概要
1. 系统概述
本系统采用51单片机作为控制核心,通过外接温度传感器进行温度检测,并在数码管上显示当前温度值。
同时,当温度超过设定阈值时,通过蜂鸣器进行警示。
2. 系统硬件设计
本系统采用DS18B20温度传感器作为温度检测模块,通过单总线连接到51单片机的
P2.0口,同时将P2.1口连接到蜂鸣器。
数码管采用共阳极数码管,通过P0口进行控制。
系统程序采用C语言编写,在主函数中进行如下操作:
(1) 初始化DS18B20,设置温度传感器工作模式。
(2) 读取温度传感器输出的温度值,进行温度判断。
(3) 将温度值转换为数码管显示的格式并显示在数码管上。
(4) 如果温度超过设定阈值,触发蜂鸣器进行警示。
(5) 循环执行以上操作。
4. 系统仿真
5. 总结
本系统基于51单片机实现了温度检测功能,并且能够进行数码管显示以及蜂鸣器警示,具有一定的实用价值。
本系统的设计和仿真过程对于初学者来说都是一个非常好的练手项目,也有助于掌握单片机的基本编程技能和原理知识。
DS18B20测温程序,四位数码管显示两位小数
#include<reg51.H>#include<absacc.H>#include <intrins.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intuchar code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code TAB1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; sbit DQ=P3^3;void delay(uint i){while(i--);}void DelayMS(uint ms){uchar i;while(ms--) for(i=0;i<120;i++);}void display(int k)//数码管显示{P2=0x08;P0=TAB[k%10];DelayMS(5);P2=0x04;P0=TAB[k/10%10];DelayMS(5);P2=0x02;P0=TAB1[k/100%10];DelayMS(5);P2=0x01;P0=TAB[k/1000];DelayMS(5);}init_DS(void){uchar x=0;DQ=1;delay(8);DQ=0;delay(85);DQ=1;delay(14);x=DQ;delay(20);}Read(void){uchar i=0;uchar dat=0;for(i=8;i>0;i--){//DQ=1;//delay(1);DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;//读出数据放入高位,最后右移到低位delay(4);}return(dat);}write(uchar dat){uchar i=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;//从地位开始写入delay(5);DQ=1;dat>>=1;}delay(4);}Readtem(void){ uchar a=0;uchar b=0;uchar t=0,t1;init_DS();write(0xcc);//跳过读序列号操作write(0x44);//启动温度转换delay(125);init_DS();write(0xcc);write(0xbe);// 读温度寄存器a=Read();//读取温度低位LSBb=Read();//读取温度低位HSBt1=(a&0x0f)*0.0625;//取小数部分t=((b<<4)|(a>>4));//取整数部分if(t>128){t=~t+1;}t=t+t1;return(t);}void main(){float tp;while(1){tp=Readtem();tp=tp*100;//把二位数乘以100变成四位数display(tp);}}。
温度显示控制系统
温度显示控制系统基于51单片机温度采集控制系统学号: 20080108姓名:仇爽专业:测控技术与仪器班级: 08级3班89C51 简介:温度是工农业生产和人们日常生活中经常要测量的一个物理量。
因此,这次的课程设计我们决定设计基于51单片机的温度采集控制系统。
该系统主要由DS18B20采集外界温度值,通过独特的单总线接口方式,将温度转换值传输到单片机AT89C51。
单片机对温度值做相应运算,显示在数码管上,并输出PWM 波控制直流电动机的转向与转速,同时,若温度超出设定的限值,则蜂鸣器报警。
此次设计的难点在于对DS18B20 的应用。
一、硬件系统设计温度是工农业生产和人们日常生活中经常要测量的一个物理量。
因此,这次的课程设计我们决定设计基于51单片机的温度采集控制系统。
该系统的设计框图如下所示。
报警告显示 数据采集键盘输入 控制电机转动数据显示我们设计的这个系统,其核心元件包括:51系列单片机AT89C51,数字化温度传感器DS18B20,数码管,直流电动机。
其中我们用对直流电动机的控制模拟对加热炉的控制。
该系统主要由DS18B20采集外界温度值,通过独特的单总线接口方式,将温度转换值传输到单片机AT89C51。
单片机AT89C51对温度值做相应运算,将温度值显示在数码管上。
另外单片机根据温度值输出PWM波控制直流电动机的正反转与转速。
另外该系统可以用矩阵键盘设置上下限温度值。
单片机将接收的温度值与设定的温度值比较,若温度超出设定的限值,则蜂鸣器报警。
二、数字温度传感器原理温度是工农业生产和人们日常生活中经常要测量的一个物理量,但多数温度传感器的输出都是一个变化的模拟电压量,不能与计算机采集系统直接接口,需要先进行转换,才能输入计算机,比较麻烦。
例如我们原先的设计方案是采用热敏电阻配合ADC0809采集外界温度值。
但是此法有三个缺点:一、热敏电阻精度较低,易受外围其他电路的影响;二、需要加滤波整流电路和A/D转换电路,增加系统的体积和成本;三、热敏电阻采集的温度值转换为数字量输入单片机中后,需用插值法查表才能确定具体温度值,编程实现比较麻烦,且无法实现高精度。
单片机实验报告—— 数码管显示温度
XXXX学院实验报告Experimentation Report of Taiyuan Normal University系部计算机年级大三课程单片机原理与接口技术姓名同组者日期学号项目数码管显示温度一、实验目的1、了解单片机顺序执行的特点;2、掌握C语言的编写和keilc51的使用;3、熟悉DS18B20温度传感器的使用。
二、实验仪器硬件资源:单片机开发板笔记本电脑;软件资源:软件 Keil uVision5;三、实验原理1、流程图2、连接图四、实验结果数码管显示当前温度,用手握住温度传感器,数码管显示的温度值变大。
四、实验代码及分析//主函数void main(){while(1){LcdDisplay(Ds18b20ReadTemp()); //显示读取到的温度值}}void LcdDisplay(int temp) //lcd显示{float tp;if(temp< 0) //当温度值为负数{DisplayData[0] = 0x40; //因为读取的温度是实际温度的补码,所以减1,再取反求出原码temp=temp-1;temp=~temp;tp=temp;temp=tp*0.0625*100+0.5; //留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点后面的数自动去掉,//不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5 //的就算加上0.5,还是在小数点后面。
}else{DisplayData[0] = 0x00;tp=temp; //因为数据处理有小数点所以将温度赋给一个浮点型变量//如果温度是正的那么,那么正数的原码就是补码它本身temp=tp*0.0625*100+0.5;//留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换//为整型的时候把小数点后面的数自动去掉,不管是否大于0.5,而+0.5之//后大于0.5的就是进1了,小于0.5的就算加上0.5,还是在小数点后面。
18b20测温数码管显示实验--精确到小数点后4位
18b20测温数码管显示实验--精确到小数点后4位//滑国虎于09.9.20完成////DS18B20的读写程序,数据脚P1.5 ////温度传感器18B20程序,采用器件默认的12位转化 ////最大转化时间750微秒,显示温度-55到+125度,显示精度 // //为0.1度,显示采用4位LED共阳显示测温值 ////P0口为段码输入,P27~P21为位选 ///***************************************************/#include "reg51.h"#include "intrins.h" //_nop_();延时函数用 #define Disdata P0 //段码输出口 #define discan P2 //扫描口 #define uchar unsigned char #define uint unsigned intsbit DQ=P1^5; //温度输入口 sbit DIN=P0^7; //LED小数点控制 uint h;uint temp;//uchar codedis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x bf};//共阳LED段码表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮""-"uchar code scan_con[7]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd}; //列扫描控制字uchar data temp_data[2]={0x00,0x00}; //读出温度暂放 uchar data display[7]={0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4个数据和一个运算暂用/*****************11us延时函数*************************///void delay(uint t) //11us{for (;t>0;t--);}///****************DS18B20复位函数************************/ow_reset(void){char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;delay(50); //550 usDQ=1;delay(6); //66 uspresence=DQ; //presence=0 复位成功,继续下一步}delay(45); //延时500 uspresence=~DQ;}DQ=1; //拉高电平 }/****************DS18B20写命令函数************************/ //向1-WIRE 总线上写1个字节void write_byte(uchar val){uchar i;for(i=8;i>0;i--){DQ=1;_nop_();_nop_(); //从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 usDQ=val&0x01; //最低位移出delay(6); //66 usval=val/2; //右移1位}DQ=1;delay(1);}/****************DS18B20读1字节函数************************/ //从总线上取1个字节uchar read_byte(void){uchar i;uchar value=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 usDQ=1;_nop_();_nop_();_nop_();_nop_(); //4 usif(DQ)value|=0x80;delay(6); //66 us}DQ=1;return(value);}/****************显示扫描函数***************************/ scan(){char k;for(k=0;k<7;k++) //4位LED扫描控制{Disdata=dis_7[display[k]]; //数据显示 P0if (k==2){DIN=0;} //小数点显示 P0.7discan=scan_con[k]; //位选 P2delay(150);discan=0xff;}}/****************读出温度函数************************/ //read_temp(){ow_reset(); //总线复位delay(200);write_byte(0xcc); //发命令write_byte(0x44); //发转换命令ow_reset();delay(1);write_byte(0xcc); //发命令write_byte(0xbe);temp_data[0]=read_byte(); //读温度值的低字节temp_data[1]=read_byte(); //读温度值的高字节temp=temp_data[1];temp=temp&0x0f; //去掉符号位temp=temp<<8; //temp为16位temp=temp|temp_data[0]; // 两字节合成一个整型变量。
毕业设计72单片机数字温度传感器测温显示系统课程设计
微机原理与接口技术课程设计说明书课程名称:微机原理与接口技术设计题目:数字温度传感器测温显示系统院系:机械与电子控制工程学院班级:设计者:学号:指导教师:设计时间:2007.7.9~2007.7.17机电学院《微机原理与接口技术》课程设计任务书摘要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。
温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:①传统的分立式温度传感器,②模拟集成温度传感器,③智能集成温度传感器。
目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。
本文将介绍一种基于单片机控制的数字温度传感器测温显示系统,可以设置上下报警温度,当所测温度超过温度上限,蜂鸣器可以报警,当温度低于温度下限,发光二极管发光显示。
文章介绍了数字温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89C51单片机为控制器构成的温度测量装置的工作原理及程序设计作了相关的介绍。
关键词:单片机AT89C51,数字温度传感器DS18B20,蜂鸣器,发光二极管,六位共阴极数码管目录正文总体设计方案一、主控制器 (8)二、温度传感器 (8)1.DS18B20的特性介绍 (9)2.DS18B29的内部结构 (9)3.DS18B29的存储器 (10)4.DS18B29的控制方法 (11)5.DS18B29的测温原理 (12)6.DS18B20与单片机的接口 (12)7.系统整体硬件电路 (13)8.系统软件算法 (13)三、结语 (21)总结与体会 (22)参考文献 (23)正文总体设计方案如下图一,主控制器单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
DS18B20 构成测温系统
毕业论文范文模板
for (j=1;j<=8;j++) { testb = dat & 0x01; dat = dat >> 1; if (testb) { TMDAT = 0; //写 0 i++; i++; TMDAT = 1; for(i=0;i<8;i++); } else { TMDAT = 0; //写 0 for(i=0;i<8;i++); TMDAT = 1; i++; i++;} } }
P0=seg7code[sdata%10]; //输出个位
Delay(8); P2=P2|0xf0;
P2=P2&0x7f;
P0=seg7code[xiaoshu1]; //输出小
Delay(4); P2=P2|0xf0;
}
}
main()
{fg=1;
while(1)
{
DS18B20PRO();
Led();
void tmstart (void) //发送 ds1820 开始转换 { fashong(); //复位 yanshi(1); //延时 tmwbyte(0xcc); //跳过序列号命令 tmwbyte(0x44); //发转换命令 44H, } void tmrtemp (void) //读取温度 { unsigned char a,b; fashong (); //复位 yanshi (1); //延时 tmwbyte (0xcc); //跳过序列号命令 tmwbyte (0xbe); //发送读取命令 a = tmrbyte (); //读取低位温度 b = tmrbyte (); //读取高位温度 if(b>0x7f) //最高位为 1 时温度是负 {a=~a; b=~b+1; //补码转换,取反加一 fg=0; //读取温度为负时 fg=0 } sdata = a/16+b*16; //整数部分 xiaoshu1 = (a&0x0f)*10/16; //小数第一位 xiaoshu2 = (a&0x0f)*100/16%10;//小数 xiaoshu=xiaoshu1*10+xiaoshu2; //小数 } void DS18B20PRO(void) { tmstart();
基于单片机STC89C52的LED数码管温度显示及报警器的实现
件) 的器 件 :
31 .. 电 压 特 性 , 源 极 性 接 反 时 , 度 计 不 会 因 发 热 而 烧 毁 , 9负 电 温 动 人 口进 行 人 体 体 温 测 量 。 由于 温 度 传 感 器 DS 8 2 1 B 0具 有 独 特 的 单 但 不 能 正 常 工作 : D 1B 0的测 温 原 理 . 件 中低 温 度 系 数 晶 振 的 振 荡 频 率 受 温 度 S8 2 器 线 接 口仅 需 要 一 个 端 口引 脚 进 行 通 信 , 实 现 多 点 组 网 功 能 , 待 机 可 零 用 ; 功耗 . 电压 范 围 仅 为 30 55 而 且 具 有 读 数 方 便 , 温 范 围 广 . 温 的影 响 很 小 , 于 产 生 固定 频 率 的 脉 冲 信 号 送 给 减 法 计 数 器 1 高 温 .~ .v 测 测 所 准 确 的 特 点 , 主 要 的 是 用 户 可 定 义 报 警 设 置 , 警 搜 索 命 令 识 别 并 度 系 数 晶振 随温 度 变 化 其 振 荡 频 率 明显 改 变 . 产 生 的 信 号 作 为 减 法 最 报 计数 器 2的 脉 冲 输 入 。 器 件 中 还 有 一 个 计 数 门 , 当 计 数 门 打 开 时 , 标 志超 过 程 序 限定 温 度 ( 度报 警 条件 ) 即 发 出 报 警信 号 。 温 立 I 1B 0就 对 低 温 度 系 数 振 荡 器 产 生 的 时钟 脉 冲 进 行 计 数 进 而 完 成 ) 82 S 1设 计 要 求 . 温 度 测 量 。计 数 门 的 开启 时 间 由 高温 度 系数 振 荡 器来 决 定 , 次 测 量 每 11 本 范 围一 0 .基 5 ℃一 1 ℃ 1O i . 度 误 差 小 于 05 2精 .℃ 1 E . L D数 码 直 读 显 示 3 1 . 以任 意 没定 温 度 的上 下 限报 警 功 能 4可
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建学院课程设计课程名称:《智能仪器》题目:温度测温检测系统(数码管显示)专业班次:姓名:学号:指导教师:学期:2011-2012学年第2学期日期:2012.3目录目录1. 引言 (1)1.1本设计意义 (1)1.2本设计任务和主要内容 (1)2. 硬件设计 (1)2.1系统组成框图 (2)2.2最小系统 (3)2.3温度传感器及路 (4)2.4 A/D选型及电路 (6)2.5 数码管显示 (8)3. 软件设计 (9)3.1 ADC0832软件计 (9)3.2数码管动态运动的原理 (10)3.3 主程序设计 (12)3.4 调试结果 (13)4. 设计小结 (13)参考文献 (13)附录:课程设计程序清单 (14)1. 引言1.1 本设计意义温度是一种最基本的环境参数,日常生活和工业生产中都需要温度测控技术。
特别是在冶金、化工、建材、机械、食品、石油等各类工业中,人们都需要对各类加热炉、热处理炉和锅炉中的温度进行检测和控制。
由于工艺不同,所需要的温度高低不同,而所采用的测温元件和测温方法也不同,加热方式和燃料的异同也影响控制温度的精度和控制方案也不同。
而采用单片机进行温度控制,具有精度高、电路设计简单、控制效果好等优点,这不仅仅提高生产力,还给企业带来更多福利,大大促进科技时代发展。
如今,给予社会不断进步,人们生活质量也随之提高,单片机技术十分成熟了,它的集成度较高,功能性较强,储存量大,速度较快,抗干扰性能强和指令丰富等优点,应用在各个领域。
本文设计的就是应用单片机来实现温度控制系统。
这次我们运用的是STC89C52的单片机,本系统是一种高精度、测控速度快、测控温度范围广的应用性比较强的基于单片机的温度测控系统。
综上所述,本设计以基于STC89C52的温度测量设计(数码管显示),该设计适用于人们的日常生活及工农业生产中用于温度的检测及控制1.2 本设计任务和主要内容本设计根据设计任务要求,通过STC89C52单片机与ADC0832温度传感器和数码管显示的通讯,用STC89C52的并行口P0接数码管,P3.4,、P3.5、P3.6分别接CS、CLK、D0,然后用C语言进行编程,用ADC0832测量温度,数码管来显示温度,从而实现人机互通。
(1).查阅相关文献资料,了解数字温度计程序的原理,能够运用C语言进行设计、编程、调试。
(2). 设计出系统方框图、单元图、原理总图;画出控制程序流程图,以及编写完整的程序代码;撰写硬件系统总体说明、硬件接线图、控制程序、其他附件(3).写好程序流程图,包括控制流程图、控制时序图、梯形图程序设计;根据设计的程序流程图写出程序,并进行代码编译的调试。
(4). 把设计好的软件代码烧入硬件中,然后进行调试,要实现的功能完全实现为止。
(5).完成论文的撰写,根据格式要求和范文要求,先把目录确定,再根据目录的章节把具体内容撰写好,以此完成整篇论文。
2. 硬件设计2.1 系统框图本文所设计的数字测温显示系统由STC89C52单片机及其最小系统、ADC0832、数码管显示原件。
原件功能较好、精度比较高、硬件电路。
其硬件原理图如图2--1所示。
图2.1 数字测温显示系统框图2.2 最小系统单片机最小系统是指用最少的元件组成的单片机可以工作的系统、如图2-2所示,单片机的最小系统包括电源(接地),晶振电路,复位电路。
有了这些部分组成,单片机就可以正常的进行简单的工作,注意的是,EA(31引脚)要接在高电平。
使单片机不使用片外存储器,这样单片机才会正确的实行任务。
图2.2单片机的最小系统STC89C52单片机的最小系统包含以下几个部分:(1).电源电路:其主要目的是给单片机最小系统提供电源一般可以用5V的直流电进行供电,一般我们用USB接口来对最小系统输送电,在电路图中的VCC和GNG作为供电标符号。
(2).复位电路:复位电路可使CPU和最小系统中的其他部件处于一个确定的初始状态,并从这个状态开始运行,由电容串联电阻构成,如图2-2并从“电容电压不能突变”的性质可知,当系统一上电,RST脚将会出现高电平,当这个高电平持续两个机器周期以上就会复位。
(3).晶振电路:单片机内有一个用于构成振荡器的高正增益反向放大器,引脚XTAL1和XTAL2分别是放大器的输入和输出端,在它们两端接晶振构成稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路。
外接晶振时通常安装两个30pF电容能保证振荡器稳定和可靠工作时,对频率起微调作用。
本次设计晶振取11.0593MHz晶振的单片机,会产生精确的us级时歇,方便定时操作。
(4).EA引脚:上拉到VCC,表示程序烧写到单片机内部。
在图2-2中的排阻RM1是P0扣上拉用的,C4是滤波电容,抗干扰用的。
其他P0-P3口均为I/0口,每个口8个引脚,共32个,编号都是0-7,比如P0.0-P0.7,这些口是用来外接各种元器件,通过编程来实现各种所需要的功能。
(5).P3.0-P3.1 STC89C52是给单片机串口2.3 温度传感器及电路2.3.1 热敏电阻介绍热敏电阻包括NTC热敏电阻和PTC热敏电阻。
本设计测温选择NTC热敏电阻100k,由NTC热敏电阻的特点及应用领域NTC热敏电阻是一种随环境温度上升,及其他电阻值呈指数关系下降,且温度系数很大的热敏元件,主要是掺杂过渡金属氧化物的热敏半导体陶瓷。
及其应用主要基于电阻一温度特性可使微小的温度变化。
如图2-3:其电阻计算公式为:RT=100*EXP(3990*(1/(273.15+t)-1/(273.15+25))).图2.3电阻与温度的线性变换该系统通过热敏电阻来感应温度的变化,让温度值变成电阻值;通过处理电路把电阻值转化成对应值的电压;电压变化在转成A/D值变化,A/D转换成A/D值;最后又单片机通过计算查表找出具体温度值。
图2.4热敏电阻的处理电路公式:V0=5000*R/(R+10) 由此公式的下表:表2-1 A/D转换温度表2.4 A/D选型及电路2.4.1 A/D选型ADC0832简介:ADC0832是美国国家半导体公司生产的一种8位分辨率,双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
ADC0832的特点:(1).8位分辨率;(2).双通道A/D转换;(3).输入输出电平与TTL/CMOS相兼容;(4).5V电源供电时输入电压在0~5V之间;(5).工作频率为250KHZ,转换时间为32Us;(6).一般功耗仅为15Mw(7).8P,14P-DIP(双列直插),PICC 多种封装;(8).商用级芯片温度为0°C to +70°C,工业级芯片温宽为,40°C to +85°C;图2.5 ADC0832的引脚芯片接口说明:(1).CS_ 片选使能,低电平芯片使能。
(2).CH0 模拟输入通道0,或作为IN+/-使用。
(3).CH1 模拟输入通道1,或作为IN+/-使用。
(4).GND 芯片参考0 电位(地)。
(5).DI 数据信号输入,选择通道控制。
(6).DO 数据信号输出,转换数据输出。
(7).CLK 芯片时钟输入。
(8).CLK 芯片时钟输入。
ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
通过DI 数据输入端,可以轻易的实现通道功能的选择。
2.4.2 A/D与单片机接口正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。
当要进行A/D转换时,须先将CS 使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
A/D与单片机接口如下图:图2.6 ADC0832和单片机接口2.5 数码管显示数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
本设计的数码管显示是先系统获得的位移值分解成4个数,然后通过定时器的中断(将程序中定时器的初始值设定为2ms,而后进入中断进行数码管显示),中断流程如图2.7所示。
图2.7 中断程序流程图数码管应用:数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。
绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。
因为数码价格便宜,方便,体积小巧,所以我们这次选用数码管来作为这次课程设计的显示器。
图2.8数码管与单片机接口3. 软件设计3.1 ADC0832软件设计在第1 个时钟脉冲的下沉之前DI 端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI 端应输入2 位数据用于选择通道功能。
当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。
当2位数据为“1”、“1”时,只对CH1进行单通道转换。
当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。
当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。