单片机课程设计 温度测试系统设计.docx

上传人:b****5 文档编号:3360304 上传时间:2022-11-22 格式:DOCX 页数:19 大小:179.59KB
下载 相关 举报
单片机课程设计 温度测试系统设计.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

单片机课程设计温度测试系统设计

一、引言

随着现代科技的发展,单片机控制无疑为人带来了诸多方便,他的性能虽然与PC机无法相比,但它体积小,价格低,高可靠性,智能性,实时性,可塑性好等优点,使它应用于诸多控制领域。

近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。

80C51是INTEL公司MCS-51系列单片机中最基本的产品,采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品,结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,继承和扩展了MCS-48单片机的体系结构和指令系统。

80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。

1.1.1课程设计的意义:

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机技术已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握数字电子技术是十分重要的。

而课程设计是深入学习,真正掌握单片机原理与接口技术的有效途径:

1、有利于基础知识的理解

通过《单片机原理与接口技术》的学习,掌握了数字技术基础知识和基本技能,具备了在日常生活与学习中应用数字技术解决问题的基本态度与基本能力。

但是,对于器件选择、电路仿真模拟、电路搭建等知识内容的理解比较肤浅。

通过课程设计就能真正理解,从而进一步加强理论知识的学习。

2、有利于逻辑思维的锻炼

在常规的理论学习中,我们的思维常常处于混乱的状态。

写起作文来前言不搭后语,解起数学题来步骤混乱,这些都是缺乏思维训练的结果。

课程设计设计是公认的、最能直接有效地训练创新思维,培养分析问题、解决问题能力的途径之一。

整个设计过程都需要有条理地构思,中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。

3、有利于治学态度的培养。

在课程设计中,会遇到各种问题和困难,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。

可以培养严谨治学、一丝不苟的科学精神和不怕失败、百折不挠品格。

1.1.2设计目的

1、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。

2.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

3.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应的工作打下基础。

1.2设计任务

设计要求:

利用温度传感器和ADC0809采用中断方式设计一个温度测试系统,每隔2秒测量一次,将测试结果(十进制)在LED上显示出来。

定义一个保持按键,当按下该键时,将当前的测试值保持不变(按键不动作时为正常测量显示)。

温度显示格式为:

XXX℃。

温度测量范围为:

20~100

二系统设计

2.1硬件设计

2.1.1总体设计框图:

根据课题,温度采集部分选择常用的Pt100热敏电阻,其电阻温度系数为3.9×10-3/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω/℃。

铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区最常用的一种温度检测器,在+10℃~+150℃范围内,阻值与温度的关系线性度非常好,通常把这一温度范围作为有效温度范围,本题目要求的温度范围是+20℃~+100℃,正好位于有效范围内,故温度采集电路部分相对较为简单。

51单片机与ADC0809、显示器以及锁存器部分的电路已经具有比较成熟的连接方法,因此硬件电路的设计比较简单。

根据以上分析,可以得出系统的原理框图如下:

 

系统的原理框图

 

2.1.2温度采集电路的设计

温度采集电路设计如下,电路图如图2所示:

 

图2温度采集电路图

电路说明:

将Pt100接入一个差动运算放大器,其电压放大倍数为R6/R5。

其后再接入一个低通滤波放大电路,其放大倍数为(R11+RW1)/R9。

所以整个电路的放大倍数为[R6(R11+RW1)]/(R5*R9)倍。

当温度为0℃时,差动运算放大器的正负输入端电压差为0,所以输出也应为0,但是放大器存在漂移,所以用电位器RW2来调零。

Pt100的电阻值与输出电压Uout的关系为:

Uout=(144+0.0144Rw1)(Rt/(10000+Rt)—0.0099)

由于本课题的温度范围为20~100℃,同时又希望输出电压在0~5V之间,所以,最终得到输出电压与所测温度的关系为:

Uout=1108.8((100+0.385T)/(10100+0.385T)—0.0099)

2.1.3单片机接口电路设计

单片机接口电路主要由单片机80C51、模数转换器ADC0809、集成芯片8255A、锁存器74LS373以及数码显示器组成.

各电路组成部分简要介绍如下:

1、单片机80C51

该系列单片机是采用高性能的静态80C51设计,由先进CMOS工艺制造并带有非易失性Flash程序存储器,全部支持12时钟和6时钟操作,P89C51X2和P89C52X2/54X2/58X2,分别包含128字节和256字节RAM,32条I/O口线3个16位定时/计数器,6输入4优先级嵌套中断结构,1个串行I/O口,可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路。

此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率可降至0。

可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定时器,串口和中断系统仍然工作。

掉电模式保存RAM的内容,但是冻结振荡器将导致所有其它的片内功能停止工作。

由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。

图350C51单片机引脚图

 

2、8255A

8255A,具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。

它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。

8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。

其引脚图如下:

  8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种;

  方式0:

基本的输入输出方式,即无须联络就可以直接进行的I/O方式。

其中A、B、C口的高四位或低四位可分别设置成输入或输出。

  方式1:

选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0。

 方式2:

双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。

 

图48255A引脚图

 

3、ADC0809:

ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

其引脚图如下图5所示:

  1.主要特性

  1)8路8位A/D转换器,即分辨率8位。

 2)转换时间为100μs

  3)模拟输入电压范围0~+5V,不需零点和满刻度校准。

  4)低功耗,约15mW。

  2.内部结构

图5ADC0809引脚图

  ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近

  3.外部特性

  ADC0809芯片有28条引脚,采用双列直插式封装。

各引脚功能如下:

  IN0~IN7:

8路模拟量输入端。

  2-1~2-8:

8位数字量输出端。

  ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路

  ALE:

地址锁存允许信号,输入,高电平有效。

START:

A/D转换启动脉冲输入端,输入一个正脉冲使其启动

EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平。

  OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

  CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

  REF(+)、REF(-):

基准电压。

  ADC0809的工作过程是:

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

4、74LS373简要说明:

373为三态输出的八D透明锁存器,373的输出端O0~O7可直接与总线相连。

当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。

当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。

当锁存允许端LE为高电平时,O随数据D而变。

当LE为低电平时,O被锁存在已建立的数据电平。

  当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。

  引出端符号:

  D0~D7数据输入端

  OE三态允许控制端(低电平有效)

  LE锁存允许端

O0~O7输出端

5、单片机接口电路图

经过以上分析,用Protues绘制的单片机接口电路如下图6所示:

 

图6单片机接口电路

 

三、软件设计

3.1主程序

主程序的主要功能是负责数据指针ADC0809、8255A外部中断INT0和定时中断1各参数的初始化,温度的实时显示、读出并处理测量的当前温度值,温度测量每2s进行一次均设置在中断服务程序中其程序流程见图7所示。

 

图7主程序流程图

 

3.2显示温度子程序

显示温度子程序的主要功能是读出经过转换处理后并且以存储于显示缓冲单元RAM中的温度值,显示缓冲单元定义在40H、41H、42H,其程序流程图如图8所示:

 

 

N

Y

图8显示子程序流程图

 

3.3温度处理子程序

温度处理子程序主要是从ADC0809中读入转换的数字量,进行温度处理,并且转换为十进制数,分别取出小数位、个位、十位数字存储到显示缓冲单元中,等待显示。

温度处理子程序流程图如图9所示。

 

 

图9温度处理子程序流程图

 

3.4、外部中断0服务子程序

此中断服务程序主要是为了定义保持按键,程序中用R1标记中断次数,并利用算法判别R1的奇偶性,当R1为奇数时,即一直显示当前温度值,而当再来一个外部按键信号时,R1变为偶数,此时直接跳至中断返回语句,进行正常测量显示。

其程序流程图如图10所示:

 

N

Y

 

图10外部中断0服务子程序

 

3.5、定时中断2S服务子程序

此定时中断服务子程序主要是为了定时2S,定时中断一采用工作方式1,每次可以定时100mS,TH1的初值为3CH,TL1的初值为0B0H,定时器方式寄存器TMOD的值为10H,为达到定时2S,需要在程序中定义循环变量R0来实现循环200次。

其程序流程图如图11所示:

N

Y

图11定时2S服务子流程图

以上分析是软件设计的核心部分,经过编程实现可以得到此温度测试系统的完整汇编程序,各个部分的汇编程序见附录二。

四、结语

1、过程总结:

在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。

一切问题必须要靠自己一点一滴的解决,而在解决的过程当中会发现自己在飞速的提升。

对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。

因此在整个设计过程中大部分时间是用在程序上面的。

很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。

因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。

在程序方面,这次单片机课设内容包括LED显示、中断服务等。

我的经验教训是,写程序注释写得越详细越好、不要怕麻烦。

编写程序前要画流程图有助于写程序以及日后查错。

其次,这次课程设计让我充分认识到团队合作的重要性,团队需要个人,个人也离不开团队,必须发扬团结协作的精神,只有分工协作才能保证整个项目的有条不絮。

平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。

而且还可以记住很多东西。

比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深刻。

认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准,课程设计对我们的作用是非常大的。

单片机课程设计,是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。

2、心得体会:

设计过程,好比是我们人类成长的历程,常有一些不如意,难免会遇到各种各样的问题。

在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们通过查阅大量有关资料,遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛。

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

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

虽然单片机课程设计不在大纲要求范围内,但我们很高兴老师给我们加了此次课程设计,给了我们一个动手操作的机会,加深了理论知识的学习,通过实际应用,进一步熟悉和掌握了单片机的结构、工作原理、接口技术,掌握了模块化程序设计方法和调试技术、完成了包括电路设计和程序开发的完整过程,了解了开发一单片机应用系统的全过程,通过这样的经历,不但使我们增长了知识面,提高了我们学习新知识的能力,更加强了我们动手能力的锻炼,培养了我们发现问题,思考问题,解决问题的能力。

在以后的学习生活中,我们将更加积极主动的参加各次动手能力锻炼,为将来自身的发展奠定坚实的基础。

 

参考文献:

[1]郭文川.单片机原理与接口技术.中国农业出版社.2007年.

[2]胡汉才.单片机原理及接口技术(第二版).清华大学出版社.2003年.

[3]阎石.数字电子技术基础.第五版.高等教育出版社出版.

[4]宋涛.通用集成电路速查手册.第二版.山东科学技术出版社.

[5]韩广兴.电子元器件与实用电路基础.修订版.电子工业出版社

 

附录一:

硬件电路系统图

 

附录二:

本设计课题汇编程序

ORG0000H

LJMPMAIN

ORG0003H;外部中断0入口地址

LJMPINTO

ORG001BH;定时中断1入口地址

LJMPTINT

ORG1000H

MAIN:

MOVTMOD,#10H

MOVTH1,#3CH;赋初始值

MOVTL1,#0B0H

SETBIT0

SETBEA

SETBEX0

SETBET1

SETBTR1

MOVDPTR,#7FF8H

MOVR1,#0;用于标记外部中断的奇偶性

MOVA,#0

MOVX@DPTR,A

HERE:

SJMPHERE

;温度处理子程序

ORG1500H

TEMDEAL:

MOVDPTR,#7FF8H

MOVXA,@DPTR

MOVR7,A;暂存ADC转换的结果

ANLA,#0FH;取低四位的值

MOVB,#5;获取的运算

MULAB

MOVB,#16

DIVAB

MOV41H,A;暂存个位数的部分结果

MOVA,B

MOVB,#10

MULAB

DIVAB

MOV40H,A;存小数位结果

MOVA,43H

MOVB,#16

DIVAB

MOVB,#5

MULAB

ADDA,#20

ADDA,R7

MOVB,#10

DIVAB

MOV42H,A;存十位数

MOVA,B

MOV41H,A;存个位数

RET

;外部中断服务程序

ORG2000H

INTO:

INCR1

MOVA,R1;判断R1的奇偶性

MOVB,2

DIVAB

MOVA,B;把R1除2的余数给A

JNZLOOP3

LJMPINTR2;A中值不为0,代表R0为奇数,跳转,否则为偶数,顺序执行

LOOP3:

MOVDPTR,#1B03H

MOVA,#80H

MOVX@DPTR,A

DISP3:

MOVR0,#40H

MOVR2,#20H

DISP4:

MOVDPTR,#1B00H

MOVA,@R0

ACALLTABLE

MOVX@DPTR,A

MOVDPTR,#1B01H

MOVA,R2

MOVX@DPTR,A

MOVR3,#0FFH

DJNZR3,$

INCR0

CLRC

MOVA,R2

RRCA

MOVR2,A

JNZDISP4

SJMPDISP3

TABLE:

INCA

MOVCA,@A+PC

RET

DB3FH,06H,5BH,4FH

DB66H,6DH,7DH,07H

DB7FH,6FH,40H

LJMPLOOP3

INTR2:

RETI

;定时2s中断服务程序

ORG2500H

TINT:

NOP

JIXU:

MOVTH1,#3CH;重新赋初始值

MOVTL1,#0B0H

CJNER0,#100,JIXU

LCALLTEMDEAL

LCALLDISPLAY

MOVDPTR,#7FFH

MOVA,#0

MOVX@DPTR,A

RETI

;显示子程序

ORG3000H

DISPLAY:

MOVDPTR,#0BFFH;8255A初始化

MOVA,80H

MOVX@DPTR,A

DISP1:

MOVR0,#40H

MOVR2,#4H

DISP2:

MOVDPTR,#0BFFCH;段码数据口

MOVA,@R0

LCALLTABLE2

MOVX@DPTR,A

MOVDPTR,#0BFFDH;位控口

MOVA,R2

MOVX@DPTR,A;输出到位控口

MOVR3,#0FFH

DJNZR3,$

INCR0

CLRC

MOVA,R2

RRCA

MOVR2,A

JNZDISP2

SJMPDISP1

TABLE2:

INCA

MOVCA,@A+DPTR

RET

DB3FH,06H,5BH,4FH

DB66H,6DH,7DH,07H

DB7FH,6FH,40H

RET

附录三:

元器件清单:

元器件名称

数量

备注

单片机80C51

1

ADC0809

1

八位A/转换器D

锁存器74LS373

1

TTL工艺

8255A

1

接口扩展

74LS51

1

或非门电路

74LS04

1

非门电路

分频器

1

可用计数器

电阻(1K)

3

电阻(10K)

3

电阻(240K)

2

电阻(5K)

1

LM358

2

放大器

电位器

2

稳压管

3

热敏电阻

1

Pt100

电容

2

 

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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