片机课设-温度计.doc_第1页
片机课设-温度计.doc_第2页
片机课设-温度计.doc_第3页
片机课设-温度计.doc_第4页
片机课设-温度计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

温度计一 设计要求基于51单片机,根据实验给定温度传感器AD590芯片,设计一个温度计,要求该数字温度计可以测量-10到100。设计的单片机最小系统,使用三个数码管,温度显示电路能够显示的测量的温度。二:实验目的: 学会根据电子温度计的原理编写程序,并在软件上进行调试显示;根据电子温度计的实际电路画出实验原理图;了解AD转换芯片ADC0832及温度传感器AD590芯片的工作原理及相关知识。 三、主要使用元件:一个AD590芯片、两个74HC245、一个74HC573、3个八段数码显示管、一个运算放大器及若干二极管、电阻、电容。四、实验原理1、实际电路板所使用的元件分析A、温度传感器AD590AD590是美国模拟器件公司生产的电流输出型温度传感器,它的温度范围为-50+100A,工作电压范围为430V。器件输出电流为223A到423A,灵敏度为1A /,所输出的电流与温度成正比。在0100,电流只有几百微安,因此不能直接进行数模转换,在电路总需串接采样电阻,将采样电阻两端的电压作为输出电压来信号,在经运算放大器输出标准电压。AD590与放大电路。AD590的输出电流是以绝对温度零度(-273.2)为基准,每增加1,输出电流增加1A,因此室温时,输出电流为273.2+25=298.2A,流经10千欧电阻得到电压2.982V,经后级差动运算放大器放大后,输出电压为1.225V;然后将电压值送入A/D转换器中,经转换得到的数字量供单片机处理。本次课设要求实现测温范围为-10到100,因此100时需对应最大电压值5V,-10时对应电压0V。温度值/AD590电流/A经10k电压/V-10263.22.6320273.22.73220293.22.93240313.23.13260333.23.33280353.23.532100373.23.732B、ADC0832ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。通过DI 数据输入端,可以轻易的实现通道功能的选择。CS 片选使能,低电平芯片使能,CH0 模拟输入通道0,CH1 模拟输入通道1,GND 芯片参考0 电位(地),DI 数据信号输入,选择通道控制,DO 数据信号输出,转换数据输出,CLK 芯片时钟输入,Vcc/REF 电源输入及参考电压输入。 当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。 到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。 本次实验中我们使用CH0通道输入模拟信号,因此实验中控制ADC0832的时序图如下:C、74HC57374HC573八进制 3 态非反转透明锁存器。实验中Vcc接+5V电源,GND接地,LE接51芯片的P1.4管脚,当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 P1.4置高,即LE置高,锁存器74HC573输出数据。 D、74HC24574HC245总线驱动器,典型的TTL型三态缓冲门电路,其作用为,信号功率放大。74HC245管脚图: 74HC245引脚定义:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 第29脚“A”信号输入输出端,A1=B1、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。 第1118脚“B”信号输入输出端,功能与“A”端一样。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 第10脚GND,电源地;第20脚VCC,电源正极。 实验过程中我们使用的为从“A”到“B”传输数据。E数码管LED数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。在一定范围内,其正向电流与发光亮度成正比。由于常规的数码管起辉电流只有12mA,最大极限电流也只有1030mA,所以它的输入端在5V电源或高于TTL高电平(3.5V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。2、温度计硬件电路设计硬件电路有单片机最小系统、温度测量电路、温度显示电路三部分构成。温度测量电路即由温度传感器AD590芯片感受温度,输出不同的电流值,经电阻及放大电路形成电压信号送到CH0,给ADC0832将电压信号这个模拟量转化为数字量,由D0D7送给单片机P0口。温度显示电路采用三个共阴极数码管组成动态扫描电路,从P1口输出字位控制信号:P1.5、P1.6、P1.7分别接74HC245的A0、A1、A2口,74HC245B0、B1、B2口接数码管字位口;P0口输出字形控制信号:P0口通过74HC573、74HC245与三个数码管字形接口相连。本实验中采用AD590芯片温度每变化1K时电流变化1A,通过其放大电路, 10k1A/K=10mV/KAD590的ADC0832为8位AD转换器,分辨精度为256级,模拟电压信号输入为0V5V,因此变化精度为:10k5255=150=20mV因此该实际温度变化2K时A/D转换一次,设此时A/D转换数据x则:x255*5*110mV-273=2x-273=2(x-137)因此在实际电路显示时,数码管温度显示以2为一个单位变化。要求显示从-10到100,因此在显示时我们需要判断此时温度值转换的数与137比较,判断正负。五、程序设计温度计主要由主程序、温度信号采集子程序、温度转换子程序、计算温度转换子程序以及显示输出子程序等部分组成。主程序负责温度的实时显示,读出并处理AD590的值,读出温度子程序主要是取得ADC0832转换所得的数字量;计算温度转换子程序主要是进行温度的十进制转换,并进行温度正负值的判断;显示子程序用于区分百位应该显示符号还是数字,并修改显示缓存区中的带显示数据;显示输出子程序将显示缓冲区待显示数据输出到数码管中。以下为部分主程序及子程序流程图:程序:ADDIBIT P3.0 ;伪指令ADDOBIT P3.1ADCLKBIT P3.2ADCS BIT P3.3LED1EQU40H ;第一个LED的字形地址偏移量放在40HLED2EQU41H ;第二个LED的字形地址偏移量放在41HLED3EQU42H ;第三个LED的字形地址偏移量放在42H ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV SP,#60H SETB P1.4 ;选通74HC573TEMP: LCALL ADC0832;调用AD转换程序 LCALL BCDCON ;调用数值转换程序 LCALL DISPLAY ;调用显示程序 LJMP TEMP;AD转换,在第一个时钟脉冲信号下降前DI为“1”表示启动信号,;2、3脉冲下降沿前分别为1、0时选中CH0通道;第三个脉冲下降岩后DI无作用,第四个脉冲下降沿输出最高位D7;然后随每个脉冲下降沿DO端输出一个数据;一次AD转换结束后CS=1处理数据ADC0832:CLR ADCS;CS置零 MOV A,#03H;对CH0通道模拟信号进行转换011 MOV R7,#03H;控制往DI写位的位数为3位AD1:CLR ADCLK ;形成下降沿RRC A;带Cy的右移,写入一位MOV DI,CNOPSETB ADCLKDJNZ R7,AD1;传输三位CLR ADCLKNOPSETB ADCLKMOV R7,#08H;控制读DO的位数为8位,即读转换结果AD2:CLR ADCLKMOV C,DO;读入一位RLC A;转换结果暂存ASETB ADCLKDJNZ R7,AD2;传输八位SETB ADCS;数字量串行输出结束,置位CSMOV 30H,A;转换结果存入30HRET;二进制转换为十进制;判断温度正负BCDCON: SUBB A,#10001001B ;与0摄氏度作判断 JNC ABOVEZERO ;有借位顺序执行,没有借位跳转BELOWZERO: MOV A,#10001001B ;与137相减,判断正负SUBB A,30H MOV B,#02H MUL AB MOV LED1,#0AH ;最高位显示负号 MOV B,#0AH ;取十位、各位数 DIV AB MOV LED2,A MOV A,B MOV LED3,A RETABOVEZERO: MOV B,#02H MUL AB MOV B,#64H;取百位 DIV AB MOV LED1,A MOV A,B MOV B,#0AH DIV AB MOV LED2,A MOV A,B MOV LED3,A RET;显示子程序;选用共阴极数码管,低电平显示;P1口选择字位DISPLAY: SETB P1.5 SETB P1.6 SETB P1.7 MOV DPTR,#TAB MOV A,40H MOVC A,A+DPTR ;查字形表 MOV P0,A ;P0口作字形 CLR P1.4 SETB P1.4 CLR P1.5;显示LED1 ACALL DELAY;调用延时子程序 SETB P1.5 MOV DPTR,# TAB MOV A,41H MOVC A,A+DPTR ;查字形表 MOV P0,A CLR P1.4 ;P0口作字形 SETB P1.4 CLR P1.6;显示LED1 ACALL DELAY;调用延时子程序 SETB P1.6 MOV DPTR,# TAB MOV A,42H MOVC A,A+DPTR ;查字形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论