电子技术综合设计温度测量显示系统设计.docx

上传人:b****5 文档编号:3073245 上传时间:2022-11-17 格式:DOCX 页数:10 大小:237.64KB
下载 相关 举报
电子技术综合设计温度测量显示系统设计.docx_第1页
第1页 / 共10页
电子技术综合设计温度测量显示系统设计.docx_第2页
第2页 / 共10页
电子技术综合设计温度测量显示系统设计.docx_第3页
第3页 / 共10页
电子技术综合设计温度测量显示系统设计.docx_第4页
第4页 / 共10页
电子技术综合设计温度测量显示系统设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

电子技术综合设计温度测量显示系统设计.docx

《电子技术综合设计温度测量显示系统设计.docx》由会员分享,可在线阅读,更多相关《电子技术综合设计温度测量显示系统设计.docx(10页珍藏版)》请在冰豆网上搜索。

电子技术综合设计温度测量显示系统设计.docx

电子技术综合设计温度测量显示系统设计

二○一四~二○一五学年第二学期

信息科学与工程学院

电子技术综合设计

(一)

课程设计报告

 

班级:

姓名:

学号:

指导教师:

 

二○一五年六月十八日

 

一、设计任务

温度测量显示系统设计

在Proteus软件下,利用AT89C51系列单片机、A/D芯片ADC0831、OP07高精度单片运算放大器、TCK温度传感器、LED等设计一个温度测量显示报警系统,外接至少4个LED数码管,将当前测量温度值显示在LED上。

根据系统的设计要求,温度传感器TCK输出信号经信号差动放大到0—5V,放大器的输出送ADC80C51进行A/D转换,A/D转换结果送单片机进行处理,最后将所测的温度在LED数码管上显示。

仿真时可在TCK温度传感器上手动修改输入当前环境温度值。

2、设计要求

1)测量范围为0℃~+120℃,精度为1℃。

2)利用温度传感器测量某一点环境温度。

3)利用A/D转换将温度信号转换成电压信号,在LED数码管上显示。

4)设置一个开关,当开关断开时LED显示个人学号的后4位数字,当开关闭合时工作在测温报警显示状态,LED显示温度值。

5)设置2个指示LED灯,当温度低于80°时,绿灯亮,当温度高于80°时,红灯亮报警。

6)扩展功能:

语音报警。

7)所有单片机程序代码都用C语言编写。

8)用Proteus软件进行仿真。

报告要求:

1).在报告中应对系统的设计思想、设计方法用文字详细说明,有总体电路框图和Proteus连接图的截图。

2).有程序者在报告中应有完整的程序清单(必需加注释)。

3).有程序者在报告中应有完整的程序流程框图。

4).谈谈自己通过这次设计实践的收获和体会。

课程考核方式

考查

要求:

提交课程设计报告,设计报告内容包括设计任务,设计要求,软硬件设计,程序结果描述。

1)每人独立完成题目的基本功能。

包括设计报告、电路图和程序清单(带注释),运行结果及有关运行说明。

2)程序检查。

分优、良、中、及格、不及格,如为不及格,需下一学年进行重修;

3)课程设计报告,正规书写打印,否则不计成绩;

4)验收时每位同学现场演示仿真结果,指导老师随时针对电路设计、程序调试、代码功能等各个方面进行提问。

5)设计报告若雷同或超过50%雷同,则以作弊论,作弊者本课程均计零分。

本课程无补考,只能下一学年进行重修。

3、各部分电路设计

1)温度测量电路设计

度测量电路要实现的目标是:

将0~120度通过传感器测量,运算放大器放大的0~5V的电压信号。

温度传感器选用Pa-t传感器,放大器采用OP07E放大器,温度信号输入采用差动放大形式,放大器输出为:

即放大倍数为100倍。

在Proteus中实测放大器输出数据为:

温度

0

10

20

30

40

50

60

70

80

90

100

110

120

电压

0.00

0.43

0.83

1.24

1.66

2.07

2.49

2.91

3.33

3.75

4.17

4.58

5.00

从测试数据来看,本设计符合0~120

对应输出0~5V电压要求。

温度测量电路

2)A/D转换器的设计

A/D转换的目标是将模拟量转化成数字量,选用ADC0831串行A/D转换芯片做为温度测试系统的A/D转换芯片,设计电路如图所示:

 

3)LED显示电路设计

LED显示电路

4)报警电路设计

当温度低于80度时,绿灯亮;当温度高于80度时,红灯亮。

 

报警电路

5)系统整体硬件电路设计

 

4、Proteus仿真调试及结果

1)温度显示结果

2)

 

学号显示

 

五、电路设计代码

#include//52单片机头文件

#include//特殊移位操作函数的头文件

#defineucharunsignedchar//宏定义用来随后定义变量的时候简单定义

#defineuintunsignedint//宏定义用来随后定义变量的时候简单定义

sbitCS=P3^7;//adc0831片选信号控制端

sbitCLK=P3^6;//adc0831时钟信号输入端

sbitDO=P3^5;//数据输出口

sbitled_red=P3^4;//报警灯信号控制

sbitled_green=P3^0;//绿灯信号控制端

sbitswi=P3^2;//读状态

ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x39};//0-9数字编码

ucharcodedu[]={0xfe,0xfd,0xfb,0xf7};//段选控制

ucharpeng[]={4,0,5,2};//学号

uchardate;

voiddelay()//延时

{

intx,y;

for(x=1;x>0;x--)

for(y=180;y>0;y--);

}

voidxianshi()//数码管显示函数

{uchari;

for(i=0;i<4;i++)

{

P1=du[i];

P2=tab[peng[i]];//显示学号和温度,中间转换数组

delay();

}

}

uintRead_ADC0831()//AD转换函数,及时序实现

{uchari,temp;

DO=1;

_nop_();

_nop_();

CS=0;

_nop_();

_nop_();

CLK=0;

_nop_();

_nop_();

CLK=1;

_nop_();

_nop_();

CLK=0;

_nop_();

_nop_();

CLK=1;

_nop_();

_nop_();

CLK=0;

_nop_();

_nop_();

for(i=0;i<8;i++)

{

CLK=1;

_nop_();

_nop_();

temp<<=1;

if(DO)

{

temp++;

}

CLK=0;

_nop_();

_nop_();

}

CS=1;

_nop_();

_nop_();

return(temp);//返回温度测量值

}

voidmain()

{

while

(1)

{swi=1;

if(swi==0)

{

date=Read_ADC0831();//读状态0831

date=(date)*1.0/255*500/4.16;//装换后数据

if(date>25)

date=date+1;

if(date>80)//温度大于80则红灯亮

{led_red=0;

led_green=1;}

else//低于80则绿灯亮

{led_green=0;

led_red=1;}

peng[3]=10;//最高位

peng[0]=date%1000/100;//低位

peng[1]=date%1000%100/10;

peng[2]=date%1000%100%10;

xianshi();

}

else//显示学号

{peng[0]=4;

peng[1]=0;

peng[2]=5;

peng[3]=2;

xianshi();}

}

}

6、设计实践收获和体会

在本次题目的设计过程当中确实遇到了很多的问题,往往是自己能力所不能的解决的,所以有些东西还需借助网上帮助,proteus第一次使用,学习用了较长时间。

通过这次设计的成功使我的自信心大增,同时学习了更多设计知识。

在设计中用了ADC0831采集电压,通过温度传感器采集温度,并将温度信号变成电压信号,用放大器将微弱电压放大,放大到ADC0831可以检测的范围0~5V,分别对应温度0~120度。

用4个数码管来显示温度和我的学号,显示采用数码管扫描的动态显示。

通过操作段选和位选来实现。

通过按键来切换显示温度和学号。

 

欢迎您的下载,

资料仅供参考!

 

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

 

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

当前位置:首页 > 法律文书 > 判决书

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

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