数电课程设计温度计实验报告

上传人:cn****1 文档编号:492327152 上传时间:2022-08-27 格式:DOC 页数:11 大小:150.50KB
返回 下载 相关 举报
数电课程设计温度计实验报告_第1页
第1页 / 共11页
数电课程设计温度计实验报告_第2页
第2页 / 共11页
数电课程设计温度计实验报告_第3页
第3页 / 共11页
数电课程设计温度计实验报告_第4页
第4页 / 共11页
数电课程设计温度计实验报告_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数电课程设计温度计实验报告》由会员分享,可在线阅读,更多相关《数电课程设计温度计实验报告(11页珍藏版)》请在金锄头文库上搜索。

1、一、设计项目名称温度采集显示系统硬件与软件设计二、 设计内容及要求1, 根据设计要求,完成对单路温度进行测量,并用数码管显示当前温度值系统硬件设计,并用电子CAD软件绘制出原理图,编辑、绘制出PCB印制版。要求:(1)原理图中元件电气图形符号符合国家标准;(2) 整体布局合理,注标规范、明确、美观,不产生歧义。(3) 列出完整的元件清单(标号、型号及大小、封装形式、数量)(4) 图纸幅面为A4。(4) 布局、布线规范合理,满足电磁兼容性要求。(5) 在元件面的丝印层上,给出标号、型号或大小。所有注释信息(包括标号、型号及说明性文字)要规范、明确,不产生歧义。2.编写并调试驱动程序。功能要求:(

2、1)温度范围0-100。(2)温度分辨率1。(3)选择合适的温度传感器。3.撰写设计报告。提示:可借助“单片机实验电路板”实现或验证软件、硬件系统的可靠性。温度传感器摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域。一种数字式温度计以数字温度传感器DS18B20作感温元件,它以单总线的连接方式,使电路大大的简化。传统的温度检测大多以热敏电阻为传感器,这类传感器可靠性差,测量温度准确率低且电路复杂。因此,本

3、温度计摆脱了传统的温度测量方法,利用单片机STC89C52对传感器进行控制。这样易于智能化控制。关键词:数字测温;温度传感器DS18B20;单片机STC89C52;一概述传感器从功能上可分为雷达传感器、电阻式传感器、电阻应变式传感器、压阻式传感器、热电阻传感器、温度传感器、光敏传感器、湿度传感器、生物传感器、位移传感器、压力传感器、超声波测距离传感器等,本文所研究的是温度传感器。温度传感器是最早开发,应用最广泛的一类传感器。温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有半导体。温度传感器是温度测量仪表的核心部分,品种繁多。随着科学技

4、术的发展,测温系统已经被广泛应用于社会生产、生活的各个领域,在工业、环境监测、医疗、家庭多方面均有应用。从而使得现代温度传感器的发展。微型化、集成化、数字化正成为发展的一个重要方向。二硬件设计1.DS18B20DS1820 单线数字温度计特性 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55+125,以 0.5递增 温度以 9 位数字量读出 温度数字量转换时间 200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何

5、热感测系统 DS1820温度传感器外观图(a)和引脚图(b)引脚1接地引脚2数字信号输入/输出引脚3接高电平5V高电平 (a) (b)2.STC89C52STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串

6、行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。图2-2-1 89C52管脚图3. 晶振电路为了产生时钟信号,在8052 内部设置了一个反相放大器,XTAL1 是片内振荡器反相放大器的输入端,XTAL2 是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端。当使用自激振荡方式时,XTAL1 和XTAL2 外接石英晶振,使内部振荡器按照石

7、英晶振的频率振荡,就产生时钟信号。本系统用12MHZ的石英晶振,接STC89C52的18和19脚,具体电路如下图所示。图2-3-1 单片机的晶振电路4复位电路在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,52 芯片便循环复位。复位后P0P3 口均置1 引脚表现为高电平,程序计数器和特殊功能寄存器SFR 全部清零。当复位脚由高电平变为低电平时,芯片为ROM 的0000H 处开始运行程序。该芯片的复位脚为9脚,所以复位电路接AT89S52的9脚,具体电路如下图所示。图2-4-1 单片机的复位电路5显示电路图2-5-1 整体电路图

8、显示电路采用共阳数码管,数码管的ADP端接单片机的P0.0P0.7端,1234端通过三极管接单片机的P1.0P1.3端,三极管实现放大作用。6.电源 本系统采用5v电源。三软件设计#include reg52.hsbit ds=P37;bit flag;unsigned char code table10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char code wtable=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;unsigned char tempdate4=0XFF,0

9、XFF,0XFF,0XFF;void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);bit Init(void);unsigned char tempreadbyte(void);void tempwritebyte(unsigned char dat);unsigned int tempread(void);void Display(unsigned char wei,unsigned char num);void Init_dingshiqi(void);void main() unsigned int temph,tem

10、pl,temp; Init_dingshiqi(); while (1) if(flag=1) flag=0; temp=tempread(); temph=temp*0.0625; templ=temp&0x0f; templ=templ*6/10; if(temph%100/10)=0) tempdate0=0Xff;else tempdate0=table(temph%100)/10; tempdate1=table(temph%100)%10&0x7f; tempdate2=tabletempl; tempdate3=0xc6; void DelayUs2x(unsigned char

11、 t) while(-t);void DelayMs(unsigned char t) while(t-) DelayUs2x(245); DelayUs2x(245); bit Init(void) bit dat=0; ds = 1; DelayUs2x(5); ds = 0; DelayUs2x(200); DelayUs2x(200); ds = 1; DelayUs2x(50); dat=ds; DelayUs2x(25); return dat;unsigned char tempreadbyte(void) unsigned char i=0; unsigned char dat

12、 = 0; for (i=8;i0;i-) ds = 0; dat=1; ds = 1; if(ds) dat|=0x80; DelayUs2x(25); return(dat);void tempwritebyte(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) ds = 0; ds = dat&0x01; DelayUs2x(25); ds = 1; dat=1; DelayUs2x(25);unsigned int tempread(void) unsigned char a=0; unsigned int b=0; uns

13、igned int t=0; Init(); tempwritebyte(0xCC); tempwritebyte(0x44); DelayMs(10); Init(); tempwritebyte(0xCC); tempwritebyte(0xBE); a=tempreadbyte(); b=tempreadbyte(); b=8; t=a+b; return(t);void Display(unsigned char wei,unsigned char num) static unsigned char i=0; P2=0xff; P0=wtablei+wei; P2=tempdatei; i+; if(i=num) i=0;void Init_dingshiqi(void) TMOD |= 0x01; EA=1; ET0=1; TR0=1; void zhongduan(void) interrupt 1 static unsigned int num; TH0=(65536-2000)/256; TL0=(65536-2000)%256; Display(0,4);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号