单片机数字式温度计文档格式.docx

上传人:b****6 文档编号:19274013 上传时间:2023-01-05 格式:DOCX 页数:19 大小:246.89KB
下载 相关 举报
单片机数字式温度计文档格式.docx_第1页
第1页 / 共19页
单片机数字式温度计文档格式.docx_第2页
第2页 / 共19页
单片机数字式温度计文档格式.docx_第3页
第3页 / 共19页
单片机数字式温度计文档格式.docx_第4页
第4页 / 共19页
单片机数字式温度计文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

单片机数字式温度计文档格式.docx

《单片机数字式温度计文档格式.docx》由会员分享,可在线阅读,更多相关《单片机数字式温度计文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

单片机数字式温度计文档格式.docx

系统原理框图见图1所示:

图1空调机温度控制系统框图

第3章各单元模块方案设计

3.1温度测量模块

主要功能是将环境温度转化为电参数(电压),并通过A/D转换得到数字量送入单片机。

3.1.1A/D转换电路

A/D转换使用典型8位8通道逐次逼近式A/D转换器ADC0801芯片,相对转换精度为1/2^8×

10%=0.39%,3位八段数码管显示即时温度,用2个LED指示制冷或升温处理。

A/D转换电路如图3.1所示。

ADC0801的A/D转换结果输出端DB0—DB7与8051的P0.0-P0.7相连,INTR与P2.0口相连,INTR端用于给出A/D转换完成信号,所以通过查询P2.0便可以获知A/D转换是否完成。

RD与8051RD相连,WR也是跟8051WR相连。

CS、VIN+接地。

(低电平有效)

ADC0801的两模拟信号输入端,用以接受单极性、双极性和差摸输入信号,与WR同时为低电平A/D转换器被启动切在WR上升沿后100模数完成转换,转换结果存入数据锁存器,同时,INTR自动变为低电平,表示本次转换已结束。

如CS、RD同时来低电平,则数据锁存器三态门打开,数字信号送出,而在RD高电平到来后三态门处于高阻状态。

图3.1A/D转换电路图

3.1.2温度采样电路

AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。

在被测温度一定时,AD590相当于一个恒流源,AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,由于此信号为模拟信号,因此,要进行进一步的控制及数码显示,还需将此信号转换成数字信号。

它的主要特性如下:

(1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数;

即:

式中:

(1)

Ir—流过器件(AD590)的电流,单位为mA;

T—热力学温度,单位为K。

(2)AD590的测温范围为-55℃~+150℃;

(3) 

AD590的电源电压范围为4V~30V;

因为AD590是将温度转换为电流,而单片机对电压信号更好测量,所以要将电流转化为电压,同时对电压信号进行放大后输入A/D转换ADC0801的VI-端口。

电流转化为电压表达式如下:

(2)

由反相比例运算放大电路,根据“虚断”,“虚短”,集成运放净输入电压为零,净输入电流为零,净输入电流为零等推算出表达式为:

(3)

最后由

(1),

(2),(3)得到:

(4)

图3.2温度采样电路

3.2LED显示模块

主要功能是显示当前环境温度值。

因空调对温度精度要求不高,本例只要求显示两位整数的温度值。

7447介绍:

7447是一块BCD码转换成7段LED数码管的译码驱动IC,7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段LED数码管显示相应的数字。

相应引脚功能如下:

(1)QA,QB,QC,QD,QE,QF,QG:

7段LED数码输出引脚。

(2)A,B,C,D:

输入引脚。

(3)RBO,BT,LI高电平输出有效。

温度显示电路如图3.3所示:

由2片TTL7447和2片七段LED组成,LED采用共阳级接法。

7447的QA-QG接BCD的a-g,段选信号由8051的P1口提供,LED显示数据由7447的输出决定,即由P1口信号的取值决定。

图3.3TTL7447BCD显示电

3.3压缩机控制模块

主要功能是单片机根据环境温度与设定温度的比较结果送出开关信号、控制压缩机的启停。

压缩机驱动控制,8051的RXD的引脚与7404的引脚相连接,从RXD发出的控制信号经7404和ULN2003到达压缩机,驱动压缩机的运行和停止。

ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

其中ULN2003是由7个NPN具有用共阴二极管夹紧来转换电感负载的高压输出特征的达林顿晶体管组成。

当前一对单精度型的额定电流为500mA,有比较高的电流容量,它的应用软件包括继电器驱动器、显示驱动器,线驱动器和逻辑缓冲器等。

在本驱动电路中的作用是增大电流驱动能力。

该芯片采用16脚的DIP封装,其中第9为公共输出端COM,有一个输出端为高电平,COM就为高电平。

图3.4压缩机驱动电路

3.4按键输入模块

主要功能是实现设定温度值的输入。

按键开关电路由一按键连接到8051的P2.1端口所示。

按下P2.1按键,放开后进入温度设定模式,显示设定最高温度34oC,每按一次设定温度将减小1oC,直至最低设定温度20oC,再按一次回到34oC。

第4章主要芯片说明

4.18051单片机

由于空调温度控制器的核心就是单片机,单片机的选择将直接关系到控制系统的工作是否有效和协调。

本设计采用MCS-51系列的8051单片机,因为8051单片机应用广泛,性能稳定,抗干扰能力强,性价比高。

8051包含了8位CPU,片内振荡器,4K字节ROM,128字节RAM,2个16位定时器,计数器,中断结构,I/O接口等。

可进行计算,定时等一系列功能。

8051引脚图及其功能如下:

(1)主电源引脚Vss和Vcc

①Vss接地

②Vcc正常操作为+5伏电源

(2)外接晶振引脚XTAL1和XTAL2

①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。

当采用外部振荡器时,此引脚接地。

②XTAL2内部振荡电路反相放大器的输出端。

是外接晶体的另一端。

当采用外部振荡器时,此引脚接外部振荡源。

(3)控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp

①RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。

②ALE/正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。

因此,它可用作对外输出的时钟,或用于定时目的。

但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。

对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)

③外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。

同样可以驱动八LSTTL输入。

④/Vpp、/Vpp为内部程序存储器和外部程序存储器选择端。

当/Vpp为高电平时,访问内部程序存储器,当/Vpp为低电平时,则访问外部程序存储器。

对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。

4.2ADC0801

ADC0801是8位全MOS中速A/D转换器、它是逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接口接。

其主要引脚图及功能如下:

(1)RD,WR:

读选通信号和选通信号(低电平有效)。

(2)CLK:

时钟脉冲输入端,上升有效。

(3)DB0—DB7是输入信号。

(4)CLKR:

内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。

(5)CS:

片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动。

(6)WR:

写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,CS、WR同时为低电平时,启动转换。

(7)INTR:

转换结束输出信号,低电平有效,输出低电平表示本次转换已完成。

该信号常作为向微机系统发出的中断请求信号。

(8)CLK:

为外部时钟输入端,时钟频率高,A/D转换速度快。

允许范围为10-1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。

通常由MCS—51单片机ALE端直接或分频后与其相连。

当MCS单片机与读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。

4.3AD590温度传感器

AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。

根据特性分挡,AD590的后缀以I,J,K,L,M表示。

AD590L,AD590M一般用于精密温度测量电路,其电路外形如图1所示,它采用金属壳3脚封装,其中1脚为电源正端V+;

2脚为电流输出端I0;

3脚为管壳,一般不用。

集成温度传感器的电路符号如右图所示。

AD590产生的电流与绝对温度成正比,他可接收的工作电压为4V~30V,检测温度范围为-55℃~+150℃,他有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。

4.4ULN2003

ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器的。

它的输出端允许通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。

用户输出口的外接负载可根据以上参数估算。

采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。

通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

引脚图及主要功能如下:

1输入19电源2输入210输出1

3输入311输出24输入412输出3

5输入513输出46输14输出5

7输入715输出68地16输出7

第5章系统程序设计

5.1程序设计思路

四位数字温度计系统程序设计的任务包括启动A/D转换、读A/D转换结果、设置温度、温度控制等,其中启动A/D转换、读A/D转换结果、设置温度等工作在主程序中完成,温度控制在中断服务程序中完成,即每隔一段时间对比测量温度与设定温度之间的大小关系,根据对比结果给出控制信号,令压缩机的运行或停止,实现温度调控。

由电位计模拟温度输入,启动A/D转换并将转换值暂存47H单元,将转换得来的十六进制数转换为十进制数,个、十、百位分别存于2AH、2BH、2CH单元,送由3位八段数码管显示。

同时将此即时值与设定值比较,较大时进行制冷处理,较小时进行升温处理,相等时保持,处理完毕后返回温度采集模块,设定值可在程序运行前用软件方法改变。

5.2程序流程

主程序流程图如图5.1所示

中断服务程序流程图5.2所示。

图5.1主程序流程图

图5.2中断服务程序流程图

第6章系统调试及使用说明

6.1硬件调试

硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。

硬件调试可分为静态调试与动态调试两步进行。

静态调试是在用户系统未工作时的一种硬件检测。

第一步:

目测。

检查外部的各种元件或者是电路是否有断点。

第二步用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步加电检测。

给板加电,检测所有插座或是器件的电源端是否符合要求的值

第四步是联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。

动态调试的一般方法是由近及远、由分到合。

由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。

当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。

由分到合的调试既告完成。

由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。

调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

6.2软件调试

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

具体的调试过程中就是对数据进行采集、转换和显示。

通过定位器改变模拟量的输入,使模拟电压在0.0V~5.0V之间变化。

调试步骤:

1.接线:

实验台译码器模块的CS1接CS0809;

CS0接CS8255(代替AT89C51);

定位器可变端子连接到ADC0808的模拟信号输入端;

PB0、PB1接发光二极管的输入LED1、LED2;

ADC0808的EOC接P2.6;

PA0~PA7接LEDA~LEDH。

2.将硬件接好,打开实验台开关。

设置好仿真器,将所编程序输入伟幅仿真软件,进行编译检查和修改,直到编译成功。

3.将编译好的程序输入到单片机中。

采用全速运行调试,若不能实现要求,用单步跟踪检查并修改程序,直至调试成功。

4.转动定位器,改变输入模拟电压量的大小,观察LED数码管显示器的显示。

调试结果:

在伟幅仿真软件中进行编译与运行后,可以观察到通过转动定位器改变模拟输入量的大小,LED数码管显示器的显示也随之相应变化。

且当调试的温度低于30度时,单片机将会使蜂鸣器启动,并点亮发光二极管L1;

而当温度高于60度时,单片机也会使蜂鸣器启动,并点亮发光二极管。

按程序执行过程,逐个调试各子程序,并观察结果。

调节电位器,改变输入电压值,A/D转换结果由P1口输出到8个LED,可观察到A/D转换运行正常。

在A中设定随机值进行十六进制转十进制,子程序运行正常,数码管显示子程序运行正常。

主程序中调用各个子程序并改变模拟温度输入值及设定值,处理指示灯正常,主程序运行正常。

调试成功。

◆总结

忙碌的的日子总是觉得短暂,充实紧张的两周单片机课程设计转眼就要结束了,我喜欢这种节奏的学习生活。

在这短暂而又充实的两周课程设计的时间里,让我获益良多,受益匪浅,赵葵银老师耐心细致的指导讲解答疑,个人积极紧张的筹备思考操作,团队各成员之间繁杂仔细的商量探讨和热情的鼓励帮助,使这两周的日子变得忙碌而又充实美好。

接下来的时间里,查阅了不少的相关资料,随着理解的加深,设计程序及流程渐渐的变得细致,确定了设计要求及操作实施步骤,随着设计中问题的逐个解决,操作开始变得简单有趣,我开始乐于做好课程设计中的各部分环节要求,乐于和同组的同学相互探讨争论,解决我们这个温度检测设计,单片机课程设计中的难点,并取得共同的进步。

按照这种方式与解决办法,解决了不少设计中的问题。

通过做课程设计,让我把所学的知识融会贯通,对单片机,汇编语言有了更深的理解,同时学到了更多的知识,对自身能力有了很大的提高。

两个星期的课程设计,它不但带给我许多软件仿真和实际操作经验,同时也带给我许多苦闷、无奈、欣慰、兴奋。

两个星期中我不但学习了如何进行程序设计和硬件电路的设计,还学习了如何解决实际中碰到的问题,总之是一次难得的实践锻炼机会。

对于硬件电路的连接,首先要充分了解实验室的仿真设备,首要工作是对每个自己要用的模块进行测试,因为许多模块有可能无法使用。

然后是熟悉各个模块的操作,调试的时候更需要的是耐心,不能因一两次调试失败就放弃了,需知只有持之以恒才能达到目的。

最后要感谢赵葵银老师对我悉心的指导,感谢他给我的帮助。

在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。

而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。

再次感谢赵葵银老师在这单片机课程设计中辛劳的付出!

谢谢您!

辛苦了!

◆参考文献

1、《单片机原理与应用》王迎旭等编机械工业出版社

2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社

3、《计算机硬件技术基础实验教程》黄勤等编重庆大学出版社

4、《微型计算机接口技术及应用》刘乐善主编华中科技大学出版社

5、《单片微型计算机原理及接口技术》陈光东等编华中科大出版社

◆附录A(程序清单)

ORG0000H

JMPSTART1;

ORG000BH;

定时器/计数器0溢出中断

JMPTIM0;

转中断程序

START1:

MOVTMOD,#01H;

设定定时器0工作方式1

MOVTH0,#HIGH(65536-50000);

设定初值

MOVTL0,#LOW(65536-50000);

SETBTR0;

启动定时器0

MOVIE,#82H;

定时器0开放中断

MOV24H,#0FFH;

ANLP1,#00H;

MOVR0,#14;

延时

START:

MOVX@R0,A;

启动A/D转换

WAIT:

JNBP2.1,SET0;

检测温度输入

JBP2.0,ADC;

检测转换是否完成

JMPWAIT

ADC:

MOVXA,@R0;

将转换好的值送入A

LCALLL1;

LCALLDISP;

JMPSTART

L1:

CLRC;

清0

MOV20H,#00H;

MOV21H,#00H;

MOVR3,#08H;

显示位数

NEXT:

RLCA;

将A的内容和Cy左移一位,显示准备

MOVR2,A;

MOVA,20H;

ADDCA,20H

DAA;

对A进行十进制调整

MOV20H,A;

MOVA,21H;

ADDCA,21H

MOV21H,A;

MOVA,R2;

DJNZR2,NEXT;

R2-1≠0循环计数

L2:

MOVA,20H

ADDA,20H;

ADDCA,21H;

RET

DISP:

显示程序

ANLA,#0F0H

SWAPA;

交换高低位

MOV22H,A

ANLA,#0FFH

SWAPA;

ORLA,22H;

MOV23H,A

MOVP1,A;

MOVR7,#0FFH;

DJNZR7,$;

是否显示完

SET0:

LCALLDELAY;

JNBP2.1,$;

等待按键操作

消除按键抖动

A2:

CJNER0,#0FFH,A1;

A1:

MOVA,R0;

MOVDPTR,#TABLE;

数据指针指向表头

MOVCA,@A+DPTR;

查表

MOV24H,A;

MOVR5,#4FH;

D4:

MOVR7,#0FFH

D2:

MOVR6,#0FFH

D1:

JNBP2.1,SET1;

有按键按下转SET1

DJNZR6,D1

DJNZR7,D2

DJNZR5,D4

JMPSTART;

SET1:

消除抖动

DECR0;

JMPA2;

TIM0:

PUSHACC;

保护现场

PUSHPSW

MOVTH0,#HIGH(65536-50000);

重装定时初值

MOVTL0,#LOW(65536-50000)

CLRC;

进位标志清0

MOVA,24H;

比较温度

SUBBA,23H;

JNCOFF;

CLRP3.0;

压缩机停止工作

RETURN:

POPPSW

POPACC

RETI;

中断返回

OFF:

SETBP3.0;

驱动压缩机开始工作

JMPRETURN

DELAY:

MOVR7,#60;

延时程序

D3:

MOVR6,#248

DJNZR6,$

DJNZR7,D3

TABLE:

DB20H,21H,22H,23H,24H;

DB

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1