单片机数字温度计设计文档格式.docx
- 文档编号:21526561
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:21
- 大小:283.69KB
单片机数字温度计设计文档格式.docx
《单片机数字温度计设计文档格式.docx》由会员分享,可在线阅读,更多相关《单片机数字温度计设计文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
五、软件设计和功能说明…………………………………………………10
5.1系统主程序...........................................10
5.2LED数码显示子程序....................................11
六、PROTEUS仿真.............................................12
6.1工作界面.............................................12
6.2仿真结果图..........................................13
七、总结……………………………………………………………………14
八、参考文献………………………………………………………………15
附录…………………………………………………………………………15
序言
现代测温应用中,温度计向数字化方向发展。
传统的机遇物理方法的温度计功能单一,而数字温度计以其便携,检测精度高,功能多等优点应用的越来越广泛。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本课程设计研究四位数字温度计的设计与实现,并采用Protues软件和Keil软件来对其进行仿真,通过电阻值的变化使相应电压发生改变,输出电压经A/D转换后,其值由AT89C51处理,最后将其显示在4个七段数码显示器上。
随着技术的发展,一些环境比较恶劣的场合中也能觅得数字温度计的踪迹。
在本文中,主要从功能组合,硬件组合,软件算法等几个方面探讨温度计的设计。
数字温度计在现代测温应用方面具有诸多优势,值得进一步学习和研究。
关键词:
单片机AT89C51、ADC0808芯片、模数转换、数码显示
一、课程设计的目的
随着单片机应用的日益广泛,在校学生加强对单片机动手实践能力的培养,已经是非常重要的一项锻炼。
课程设计就是为加强实践机会、培养学生动手能力的一个重要环节,将理论知识与实际联系起来的一个关键机会。
二、系统设计总体方案
1.设计思路
根据任务书要求,初步思路如下:
温度计电路设计总体设计方框图如下图所示,本设计是测温电路,使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。
温度是非电量模拟信号,数字显示温度就必须将这一非电量信号转换成电量(电压或电流),然后将模拟电信号经A/D转换器转换成数字信号,最后经译码显示器显示温度值。
控制器采用单片机AT89C51,采集到的温度模拟信号0~5V用一个滑动变阻器分压实现,模拟信号数字化是通过ADC0808实现的,其主要功能和要求的实现是通过可编程芯片AT89C51单片机达到的,用4位LED数码管显示温度。
图1.1温度计电路设计总体设计方框图
2.AT89C51单片计算机的组成原理
2.1组成框图及内部总体结构
外时钟源外部事件计数
中断控制并行口串行通信
图2.1AT89C51单片机功能结构框图
图2-1为AT89C51单片机功能结构框图
AT89C51芯片内部集成了CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些不见连接在一起。
AT89C51单片机内部包含以下一些功能部件:
(1)一个8位CPU;
(2)一个片内振荡器和时钟电路;
(3)4KBROM(80C51有4KB掩膜ROM,87C51有4KBEPROM,80C31片内有无ROM);
(4)128B内RAM;
(5)可寻址64KB的外ROM和外RAM控制电路;
(6)两个16位定时/计数器;
(7)21个特许功能寄存器;
(8)4个8位并行I/O口,共32条可编程I/O端线;
(9)一个可编程全双工串行口;
(10)5个中断源,可设置成2个优先级。
2.2单片机各口及其负载能力、接口要求
80C51共有4个8位并行I/O端口,共32个引脚
(1)P0口——8位双向I/O口。
在不并行扩展外存储器(包括并行扩展I/O口)时,P0口可用作双向I/O口。
在并行扩展外存储器(包括并行扩展I/O口)时,P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。
位结构如图2-4所示。
P0口能驱动8个LSTTL门。
图2.2P0口位结构
(2)P1口——8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。
位结构如图2-5所示。
P1口能驱动为4个LSTTL门。
图2.3P1口位结构
(3)P2口——8位准双向I/O口。
在不并行扩展外存储器(包括并行扩展I/O口)时,P2口可用作双向I/O口。
在并行扩展外存储器(包括并行扩展I/O口)时,P2口可用于传送高8位地址(属地址总线)。
P2口能驱动4个LSTTL门。
P2口的位结构如图2-6所示,引脚上拉电阻同P1口。
在结构上,P2口比P1口多一个输出控制部分。
图2.4P2口位结构
(4)P3口——8位准双向I/O口。
可作一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
P3口驱动能力为4个LSTTL门。
图2.5P3口位结构
上述4个I/O口,各有各的用途。
在不并行扩展外存储器(包括并行扩展I/O口)时,4个I/O口都可作为双向I/O口用。
在并行扩展外存储器(包括并行扩展I/O口)时,P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。
P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端线。
三、硬件电路设计
3.1温度检测和变送器
(1)热敏电阻温度转换原理
热敏电阻是近年来发展起来的一种新型半导体感温元件,由于它具有灵敏度高、体积小、重量轻、热惯性小、寿命长以及价格便宜等优点,因此应用非常广泛。
热敏电阻与普通热电阻不同,它具有负的电阻温度特性,当温度升高时,电阻值下降,其特性曲线如图3.1所示。
图3.1热敏电阻特性曲线
热敏电阻的阻值-温度特性曲线是一条指数曲线,非线性度较大,因此,在使用时要进行线性化处理。
线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。
为此,在要求不高的一般应用中,常常作出在一定的温度范围内温度与阻值成线性关系的假定,以简化计算。
使用热敏电阻是为了感知温度,给热敏电阻通以恒定电流,电阻两端就可测到一个电压,然后通过下面公式求得温度:
—被测温度;
—与热敏特性有关的温度参数;
—热敏电阻有关的系数;
—热敏电阻两端的电压。
根据这一公式,如能测得热敏电阻两端的电压,再知道参数
和参数
,则可计算出热敏电阻的环境温度,也就是被测得温度。
这样,就把电阻随温度的变化关系转化为电压随温度的变化关系了。
数字式电阻温度计设计工作的主要内容,就是把热敏电阻两端电压值经A/D转换变成数字量,然后通过软件方法计算出温度值,再进行显示等处理。
所以采取ADC0809芯片来读取电压值。
3.2ADC0808
ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
ADC0808是ADC0809的简化版本,功能基本相同。
一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。
内部结构
ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。
引脚功能(外部特性)
ADC0808芯片有28条引脚,采用双列直插式封装,如图所示。
各引脚功能如下:
1~5和26~28(IN0~IN7):
8路模拟量输入端。
6(START):
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC):
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
8、14、15和17~21:
8位数字量输出端。
9(OE):
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
11(Vcc):
主电源输入端。
12(VREF(+))和16(VREF(-)):
参考电压输入端13(GND):
地。
22(ALE):
地址锁存允许信号,输入,高电平有效。
23~25(ADDA、ADDB、ADDC):
3位地址输入线,用于选通8路模拟输入中的一路
图3.2ADC0808引脚
四、电路部分
4.1显示器接口电路
图4.1显示接口
4.2温度采集系统
图4.2温度采集电路
4.3电路总图
图4.3电路总图
五、软件设计和功能说明
5.1系统主程序
在主程序中,系统上电自动复位以后首先设置堆栈,然后启动ADC0808,开始转换测温电路输入的电信号,待数据转换结束后读入到累加器A,然后进行十进制数据转换调整,输出给显示电路。
主程序流程图如图5.1所示。
主程序流程图
是
否
图5.1人为读取程序流程图
5.2LED数码显示子程序
十进制转换调整后的数据送到寄存器R5、R4中,然后通过P1口把数据输出给D4、D3、D2、D1四个数码显示器中,从而最终把测得的温度显示出来。
显示子程序流程图如图5.2所示。
图5.2显示子程序流程图
六、PROTEUS仿真
6.1工作界面
ProteusISIS的工作界面是一种标准的Windows界面,如图6.1所示。
包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图6.1ProteusISIS的工作界面
6.2仿真结果图
图6.2仿真图
七、总结
忙碌的的日子总是觉得短暂,充实紧张的单片机课程设计转眼就要结束了,我喜欢这种节奏的学习生活。
在这短暂而又充实的课程设计的时间里,让我获益良多,受益匪浅,同学耐心细致的指导讲解答疑,个人积极紧张的筹备思考操作,使这几天的日子变得忙碌而又充实美好。
课程设计的第一天,面对着老师布置下来的设计课题,有些茫然而不知所措,不知该如何着手开始。
心想,怎么这个单片机的课程设计会如此的难,如此的不好下手,更不知道该怎么办才好。
但发现其他同学和我的感觉竟然一样,同样的茫然同样的无助,顿时心里释怀不少。
于是对自己说,别人也不会,不急,慢慢来,总会找到解决的办法的。
离开教室回到宿舍,直接去图书馆借来了相关的资料拿回来阅读参考。
接下来的几天,渐渐的开始有了一些头绪,明白了该从何处着手,心中有了课程设计的初步框图。
接下来的时间里,查阅了不少的相关资料,随着理解的加深,设计程序及流程渐渐的变得细致,确定了设计要求及操作实施步骤,随着设计中问题的逐个解决,操作开始变得简单有趣,我开始乐于做好课程设计中的各部分环节要求,乐于和同组的同学相互探讨争论,解决我们这个温度检测设计,单片机课程设计中的难点,并取得共同的进步。
按照这种方式与解决办法,解决了不少设计中的问题。
通过这几天的微机原理课程设计,使我对单片机知识内容有了进一步的扩展和深入的理解,书本上的知识,只有通过自己动手去操作去运用才会变得实际有用,这才是真正的学习,感谢老师给了我们这么一个学习的好机会。
我更懂得了个人努力的重要性,这让我感觉充实自信,这种满足感与成就感真是无与伦比。
明白了什么叫做团队,群体的力量,一起探讨,一起争论,一起协作着解决问题。
八、参考文献
[1]张迎新.《单片微型计算机原理、应用及接口技术》.国防工业出版社
[2]张毅刚.《单片机原理与应用设计》.电子工业出版社
[3]周航慈.《单片机程序设计基础》.北京航空航天大学出社.
[4]
陈明荧.《8051单片机课程设计实训教材》.清华大学出版社
[5]
胡汉才.《单片机原理及其接口技术》
.清华大学出版社
[6]何立民.《单片机高级教程》.北京航空航天大学出版社
[7]肖来胜.《单片机技术实用教程》.华中科技大学出版社
附录
程序清单
LED_0EQU30H
LED_1EQU31H
LED_2EQU32H
ADCEQU35H
TCNTAEQU36H
TCNTBEQU37H
H_TEMPEQU38H;
温度上限
L_TEMPEQU39H;
温度下限
FLAGBIT00H
H_ALMBITP3.0
L_ALMBITP3.1
SOUNDBITP3.7
CLOCKBITP2.4
STBITP2.5
EOCBITP2.6
OEBITP2.7
ORG00H
SJMPSTART
ORG0BH
LJMPINT_T0
ORG1BH
LJMPINT_T1
START:
MOVLED_0,#00H
MOVLED_1,#00H
MOVLED_2,#00H
MOVDPTR,#TABLE
MOVH_TEMP,#200
MOVL_TEMP,#00
MOVTMOD,#12H
MOVTH0,#245
MOVTL0,#0
MOVTH1,#252
MOVTL1,#0
MOVIE,#8aH
CLRC
SETBTR0;
为ADC0808提供时钟
WAIT:
SETBH_ALM
SETBL_ALM
CLRST
SETBST
CLRST;
启动转换
JNBEOC,$
SETBOE
MOVADC,P1;
读取AD转换结果
CLROE
MOVA,ADC
SUBBA,#00;
判断是否低于下限
JCLALM
MOVA,H_TEMP
MOVR0,ADC
SUBBA,R0;
判断是否高于上限
JCHALM
CLRTR1
LJMPPROC
LALM:
;
低温报警
CLRL_ALM
SETBTR1
CLRFLAG
HALM:
高温报警
CLRH_ALM
SETBFLAG
PROC:
MOVA,ADC;
数值转换
MOVB,#100
DIVAB
MOVLED_2,A
MOVA,B
MOVB,#10
MOVLED_1,A
MOVLED_0,B
LCALLDISP
SJMPWAIT
INT_T0:
CPLCLOCK;
提供ADC0808时钟
RETI
INT_T1:
MOVTH1,#252
CPLSOUND
INCTCNTA
MOVA,TCNTA
JBFLAG,I1;
判断是高温警报还是低温警报
CJNEA,#30,RETUNE;
低温警报声
SJMPI2
I1:
CJNEA,#20,RETUNE;
高温警报声
I2:
MOVTCNTA,#0
INCTCNTB
MOVA,TCNTB
CJNEA,#25,RETUNE
MOVTCNTA,#0
MOVTCNTB,#0
LCALLDELAY2
RETUNE:
RETI
DISP:
MOVA,LED_0;
数码显示子程序
MOVCA,@A+DPTR
CLRP2.3
MOVP0,A
LCALLDELAY
SETBP2.3
MOVA,LED_1
CLRP2.2
SETBP2.2
MOVA,LED_2
CLRP2.1
SETBP2.1
CLRP2.0
MOVP0,#3FH
SETBP2.0
RET
DELAY:
MOVR6,#10
D1:
MOVR7,#250
DJNZR7,$
DJNZR6,D1
DELAY2:
MOVR5,#20
D2:
MOVR6,#20
D3:
DJNZR6,D3
DJNZR5,D2
TABLE:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 温度计 设计