数字温度计的设计与制作
数字温度计的设计说明

数字温度计的设计说明实验六数字温度计的设计⼀、设计⽬的通过电⼦技术的综合设计,熟悉⼀般电⼦电路综合设计过程、设计要求、应完成的⼯作容和具体的设计⽅法。
通过设计有助于复习、巩固以往的学习容,达到灵活应⽤的⽬的。
设计完成后在实验室进⾏⾃⾏安装、调试,从⽽加强学⽣的动⼿能⼒。
在该过程中培养从事设计⼯作的整体概念。
⼆、设计要求1、利⽤所学的知识,通过上⽹或到图书馆查阅资料,完成数字温度计的设计;要求写出实验原理,画出原理功能框图,描述其功能。
2、需采⽤单⽚机STC15W404AS、NTC热敏电阻、共阳数码管等元器件进⾏设计,试确定设计⽅案详细⼯作原理,计算出参数。
3、技术指标:1)温度围: 0 --- +100℃; 误差≤± 2 ℃;2)选择设计⽅案;3)根据设计⽅案分析设计原理及写出详细的硬件电路设计过程;⽅案概要本设计是利⽤NTC热敏电阻MF52E-10K(B=3950)1%精度,作为温度传感器,其输出的信号通过STC15W404AS部AD进⾏模数转换,然后STC15W404AS对该温度数据进⾏处理,并由⼀个4位⼀体共阳数码管显⽰显⽰温度值。
实验报告要求原理、计算等)1、根据设计要求确定数字温度计⽅案,并完成电路设计,分别说明设计⽅案、电路⼯作原理:2、完成电路连接并进⾏数字温度计测试:参考设计电路图1 参考电路图表1元器件清单图2 参考电路图表2元器件清单图3 数码管引脚图参考程序:******************************************/#define MAIN_Fosc 22118400L //定义主时钟#include "STC15Fxxxx.H"/****************************** ⽤户定义宏***********************************/ #define Timer0_Reload (65536UL -(MAIN_Fosc /1000)) //Timer 0 中断频率, 1000次/秒/*****************************************************************************/#define DIS_DOT 0x20#define DIS_BLACK 16#define DIS_ 17#define AD_Cha 2 //0-4通道/************* 本地常量声明**************/u8 code t_display[]={ //标准字库共阳// 0 1 2 3 4 5 6 7 8 9 A B C D E F 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x46}; //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1/*u8 code t_display[]={ //标准字库// 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71, //black - H J K L N o P U t G Q r M y0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46}; //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1*/u8 code T_COM[]={0xEF,0xDF,0xBF,0x7F,0xEF,0xDF,0xBF,0x7F}; //位码/************* IO⼝定义**************/sbit P_HC595_SER = P4^0; //pin 14 SER data inputsbit P_HC595_RCLK = P5^4; //pin 12 RCLk store (latch) clocksbit P_HC595_SRCLK = P4^3; //pin 11 SRCLK Shift data clock/************* 本地变量声明**************/u8 LED8[8]; //显⽰缓冲u8 display_index; //显⽰位索引bit B_1ms; //1ms标志u8 offled;u16 msecond;/************* 本地函数声明**************/void Delayms(u16 dlayT);void DisplayScan(void);/**********************************************/void main(void){u8 i,k;u16 j;P0M1 = 0; P0M0 = 0; //设置为准双向⼝P1M1 = 0; P1M0 = 0; //设置为准双向⼝P2M1 = 0; P2M0 = 0; //设置为准双向⼝P3M1 = 0; P3M0 = 0; //设置为准双向⼝P4M1 = 0; P4M0 = 0; //设置为准双向⼝P5M1 = 0; P5M0 = 0; //设置为准双向⼝P6M1 = 0; P6M0 = 0; //设置为准双向⼝P7M1 = 0; P7M0 = 0; //设置为准双向⼝display_index = 4;offled = 0;P1ASF = 0x0F; //P1.0 P1.1 P1.2 P1.3做ADC ADC_CONTR = 0xE0; //90T, ADC power on CLK_DIV = CLK_DIV&0xDF; //CLK_DIV.5 ADRJ=0 AUXR = 0x80; //Timer0 set as 1T, 16 bits timer auto-reload, TH0 = (u8)(Timer0_Reload / 256); TL0 = (u8)(Timer0_Reload % 256);ET0 = 1; //Timer0 interrupt enablefor(k=11;k>0;k--){for(i=0; i<4; i++) LED8[i] = k-1; //上电消隐Delayms(1000);}while(1){if(B_1ms) //1ms到{B_1ms = 0;if(++msecond >= 300) //300ms到{msecond = 0;j = Get_ADC10bitResult(AD_Cha); //参数0~7,查询⽅式做⼀次ADC, 返回值就是结果, == 1024 为错误//j = 768;if(j < 1024){LED8[0] = j / 1000; //显⽰ADC值LED8[1] = (j % 1000) / 100;if(LED8[0] == 0) LED8[0] = 16;}else //错误{for(i=0; i<4; i++) LED8[i] = 14;}j = Get_ADC10bitResult(3); //参数0~7,查询⽅式做⼀次ADC, 返回值就是结果,== 1024 为错误j += Get_ADC10bitResult(3);j += Get_ADC10bitResult(3);j += Get_ADC10bitResult(3);if(j < 1024*4){LED8[0] = j / 1000; //显⽰ADC值LED8[1] = (j % 1000) / 100;LED8[2] = (j % 100) / 10;LED8[3] = j % 10;if(LED8[0] == 0) LED8[0] = DIS_BLACK;j = get_temperature(j); //计算温度值LED8[4] = j / 1000; //显⽰温度值LED8[5] = (j % 1000) / 100;LED8[6] = (j % 100) / 10 + DIS_DOT;LED8[7] = j % 10;if(LED8[4] == 0) LED8[4] = DIS_BLACK;if(F0) LED8[4] = DIS_; //显⽰-}else //错误{for(i=0; i<8; i++) LED8[i] = DIS_;}}}}}/**********************************************///======================================================================== // 函数: u16 Get_ADC10bitResult(u8 channel)// 描述: 查询法读⼀次ADC结果.// 参数: channel: 选择要转换的ADC.// 返回: 10位ADC结果.// 版本: V1.0, 2012-10-22//======================================================================== u16 Get_ADC10bitResult(u8 channel) //channel = 0~7ADC_RESL = 0;ADC_CONTR = (ADC_CONTR & 0xe0) | 0x08 | channel; //start the ADCNOP(4);while((ADC_CONTR & 0x10) == 0) ; //wait for ADC finish ADC_CONTR &= ~0x10; //清除ADC结束标志return (((u16)ADC_RES << 2) | (ADC_RESL & 3));}// MF52E 10K at 25, B = 3950, ADC = 12 bitsu16 code temp_table[]={140, //;-40 0149, //;-39 1159, //;-38 2168, //;-37 3178, //;-36 4188, //;-35 5199, //;-34 6210, //;-33 7222, //;-32 8233, //;-31 9246, //;-30 10259, //;-29 11272, //;-28 12286, //;-27 13367, //;-22 18 385, //;-21 19 403, //;-20 20 423, //;-19 21 443, //;-18 22 464, //;-17 23 486, //;-16 24 509, //;-15 25 533, //;-14 26 558, //;-13 27 583, //;-12 28 610, //;-11 29 638, //;-10 30 667, //;-9 31 696, //;-8 32 727, //;-7 33 758, //;-6 34 791, //;-5 35 824, //;-4 36 858, //;-3 37 893, //;-2 38 929, //;-1 39 965, //;0 40 1003, //;1 41 1041, //;2 421243, //;7 47 1285, //;8 48 1328, //;9 49 1371, //;10 50 1414, //;11 51 1459, //;12 52 1503, //;13 53 1548, //;14 54 1593, //;15 55 1638, //;16 56 1684, //;17 57 1730, //;18 58 1775, //;19 59 1821, //;20 60 1867, //;21 61 1912, //;22 62 1958, //;23 63 2003, //;24 64 2048, //;25 65 2093, //;26 66 2137, //;27 67 2182, //;28 68 2225, //;29 69 2269, //;30 70 2312, //;31 712519, //;36 76 2559, //;37 77 2598, //;38 78 2637, //;39 79 2675, //;40 80 2712, //;41 81 2748, //;42 82 2784, //;43 83 2819, //;44 84 2853, //;45 85 2887, //;46 86 2920, //;47 87 2952, //;48 88 2984, //;49 89 3014, //;50 90 3044, //;51 91 3073, //;52 92 3102, //;53 93 3130, //;54 94 3157, //;55 95 3183, //;56 96 3209, //;57 97 3234, //;58 98 3259, //;59 99 3283, //;60 1003393, //;65 105 3413, //;66 106 3432, //;67 107 3452, //;68 108 3470, //;69 109 3488, //;70 110 3506, //;71 111 3523, //;72 112 3539, //;73 113 3555, //;74 114 3571, //;75 115 3586, //;76 116 3601, //;77 117 3615, //;78 118 3628, //;79 119 3642, //;80 120 3655, //;81 121 3667, //;82 122 3679, //;83 123 3691, //;84 124 3702, //;85 125 3714, //;86 126 3724, //;87 127 3735, //;88 128 3745, //;89 1293791, //;94 134 3799, //;95 135 3807, //;96 136 3815, //;97 137 3822, //;98 138 3830, //;99 139 3837, //;100 140 3844, //;101141 3850, //;102 142 3857, //;103 143 3863, //;104 144 3869, //;105 145 3875, //;106 146 3881, //;107 147 3887, //;108 148 3892, //;109 149 3897, //;110 150 3902, //;111 151 3907, //;112 152 3912, //;113 153 3917, //;114 154 3921, //;115 155 3926, //;116 156 3930, //;117 157 3934, //;118 158};/******************** 计算温度***********************************************/ // 计算结果: 0对应-40.0度, 400对应0度, 625对应25.0度,最⼤1600对应120.0度.// 为了通⽤, ADC输⼊为12bit的ADC值.// 电路和软件算法设计: Coody/**********************************************/#define D_SCALE 10 //结果放⼤倍数, 放⼤10倍就是保留⼀位⼩数u16 get_temperature(u16 adc){u16 code *p;u16 i;u8 j,k,min,max;adc = 4096 - adc; //Rt接地p = temp_table;if(adc < p[0]) return (0xfffe);if(adc > p[160]) return (0xffff);min = 0; //-40度max = 160; //120度for(j=0; j<5; j++) //对分查表{k = min / 2 + max / 2;if(adc <= p[k]) m ax = k;if(adc == p[min]) i = min * D_SCALE;else if(adc == p[max]) i = max * D_SCALE;else // min < temp < max{while(min <= max){min++;if(adc == p[min]) {i = min * D_SCALE; break;}else if(adc < p[min]){min--;i = p[min]; //minj = (adc - i) * D_SCALE / (p[min+1] - i);i = min;i *= D_SCALE;i += j;break;}}}return i;}void Delayms(u16 dlayT){u16 i,j;。
基础课程设计-数显温度计设计与制作

基础课程设计-数显温度计设计与制作2020-12-12【关键字】方案、情况、设想、思路、方法、条件、空间、模式、行动、监测、运行、传统、问题、系统、有效、继续、充分、整体、现代、合理、快速、保持、发展、发现、掌握、规律、特点、关键、稳定、思想、基础、需要、环境、工程、体系、能力、方式、作用、标准、结构、水平、任务、反映、速度、关系、设置、检验、分析、简化、借鉴、调节、逐步、形成、拓展、丰富、规划、保证、确保、指导、强化、帮助、教育、解决、调整、完善、方向、扩大、实现、提高、核心、智能化设计课题:数显温度计设计与制作专业班级:09级电子信息工程2班设计时间: 2011年10月10日—12月28日目录一、结构设计方案选择 (3)方案一:汽车尾灯电设计与制作………………………………………...3方案二:数显温度计设计与制作 (5)方案比较与选择.............................................................................................. (6)二、摘要 (7)三、设计任务与要求 (8)四、单元电路设计、参数计算及元器件...........................9温度采样电路部分 (9)A/D转换的设计部分 (10)数码管的驱动部分 (11)五、总原理图及元器件清单 (11)六、安装与调试 (13)温度的采样电路部分 (13)A/D部分 (13)数字电压表的设计部分 (14)数码管的驱动部分................................................................................. (14)七、性能测试 (14)八、主要参考文献 (15)九、实验总结及拓展分析 (15)十、心得与体会 (16)一、制作设计方案选择方案一:汽车尾灯的设计与制作一、设计任务与制作假设汽车尾部左右两侧各有4个指示灯(用发光二极管模拟)有四种显示模式如下:1.汽车正常运行时指示灯全灭;2.右转弯时,右侧4个指示灯按右循环顺序点亮,每灯只亮0.5秒;3.左转弯时,左侧4个指示灯按左循环顺序点亮,每灯只亮0.5秒;4.临时刹车时左右两侧所有指示灯同时闪烁。
数字式温度计的设计与制作

设计三数字式温度计的设计与制作一、目的和要求1.目的(1)通过本次综合设计,进一步了解智能传感与检测技术的基本原理、智能检测系统的建立和智能检测系统的设计过程。
(2)学生设计制作出数字式温度计,提高学生有关工程系统的程序设计能力,。
(3)进一步熟悉掌握单片机技术、c 语言、汇编语言等以及在智能检测设计中的应用。
2.要求(1)充分理解设计内容,并独立完成综合设计报告。
(2)综合设计报告要求:综合设计题目,综合设计具体内容及实现功能,结果分析、收获或不足,程序清单,参考资料。
二、实验设备及条件热电偶Easypro编程软件热电偶或智能传感器DS18B20Keil c安装盘PC机、剥线钳、面包板、镊子、导线、电源、示波器、万用表、频率计单片机及其外围电路所需元器件烙铁、焊接板等焊接工具万用表电源TEKTRONIX TDS1002 60MHZ示波器三、实验原理、内容本实验培养学生了解便携式数字仪表的制作,数字式显示仪表是一种以十进制数形式显示被测量值的仪表,与模拟式的显示仪表相比较,数字显示仪表具有读数直观方便,无读数误差准确度高,响应速度快,易于和计算机联机进行数据处理等优点。
数字式显示仪表的基本构成方式如下,图中各基本单元可以根据需要进行组合,以构成不同用途的数字式显示仪表。
将其中一个或几个电路制成专用功能模块电路,若干个模块组装起来,即可以制成一台完整的数字式显示仪表。
其核心部件是模拟/数字转换器,可以将输入的模拟信号转换成数字信号,以A/D转换器为中心,可将显示仪表内部分为模拟和数字两大部分。
仪表的模拟部分一般设有信号转换和放大电路,模拟切换开关等环节。
信号转换电路和放大电路的作用是将来自各种传感器或变换器的被测信号转换成一定范围内的电压值并放大到一定幅值,以供后续电路处理。
仪表的数字部分一般由计数器,译码器,时钟脉冲发生器,驱动显示电路以逻辑控制电路等组成。
经放大后的模拟信号由A/D转换器转换成相应的数字量后,译码,驱动,送到显示器件去进行数字显示。
51单片机数字温度计设计与实现

51单片机数字温度计设计与实现温度计是一种常见的电子测量设备,用于测量环境或物体的温度。
而数字温度计基于单片机的设计与实现,能够更准确地测量温度并提供数字化的显示,具备更多功能。
一、设计原理数字温度计的设计原理基于温度传感器和单片机。
温度传感器用于感测温度,而单片机负责将传感器读取的模拟信号转化为数字信号,并进行温度计算及显示。
二、所需材料1. 51单片机2. 温度传感器(例如DS18B20)3. 数码管或液晶显示屏4. 连接线5. 电源电路电容、电阻等元件三、设计步骤1. 连接电路:按照电路原理图将51单片机、温度传感器和显示器等元件进行连接。
注意正确连接引脚,以及电源电路的设计和连接。
2. 编写程序:利用汇编语言或C语言编写51单片机的程序,实现温度读取、计算和显示功能。
3. 温度传感器设置:根据温度传感器的型号和数据手册,配置单片机相应的输入输出口、温度转换方式等参数。
4. 读取温度:通过单片机对温度传感器进行读取,获取传感器采集的温度数据。
5. 温度计算:根据传感器输出的数据和转换方法,进行温度计算,得到更准确的温度数值。
6. 数字显示:将计算得到的温度数值通过数码管或液晶显示屏进行数字显示。
可以选择合适的显示格式和单位。
7. 添加附加功能:可以根据实际需求,增加其他功能,如报警功能、数据记录、温度曲线显示等。
8. 系统测试与优化:将设计的数字温度计进行系统测试,确保其正常运行和准确显示温度。
根据测试结果进行可能的优化或改进。
四、注意事项1. 连接线应牢固可靠,避免出现松动或接触不良的情况。
2. 选择合适的温度传感器,并正确设置传感器的相关参数。
3. 程序设计时应注意算法的准确性和优化性,以确保测量的准确性和实时性。
4. 温度传感器的安装和环境选择也会影响温度计的准确性,应避免与外部环境干扰和热源过近的情况。
五、应用领域1. 家庭和工业温度监测:数字温度计可以广泛应用于室内、室外温度监测,工业生产中的温度控制等。
数字式温度计的设计和制作

► 对 NTC 热敏电阻数字体温计进行检验 通过升温,记录不同温度下电压表的示数和温度传感器的示数,对二者进行比较。
θ(℃) U(mV)
34.1
34.12
U-θ 0.02
- 11 -
数字式温度计的设计和制作 何安珣(09300190088)
五、实验数据和现象记录
1.测量 AD590 集成温度传感器的温度特性
► 确定 AD590 工作电压的范围 按照图 3 连接电路,电阻箱取 5,000Ω。改变电源电压值,记录数据如下:
U0(V) 1.53 3.02 3.51 4.00 4.51 6.00 7.51 9.08 10.52 12.05 13.51 15.00 16.50 18.00 19.52
2.NTC 热敏电阻
► 在恒定电流的情况下,研究 NTC 热敏电阻的零功率阻值与温度的关系。
图4 NTC 温度特性测量电路
按图4连接电路,ε取定值,R1和 R2取值相等。通过调节 R3是电压表示数为0,此时 R3
-5-
数字式温度计的设计和制作 何安珣(09300190088) 的值即为 NTC 的电阻值。记录下温度 T 和 R3的值,绘制 Rx-1/T 曲线。 ► 用 NTC 热敏电阻制作量程为35℃~42℃范围的数字体温计。
U-θ -0.12 -0.06 -0.17 -0.16 -0.06 0.05 -0.13 0.05 0.04 0.03 0.05 -0.10
表3
绘制 U-θ曲线:
80
70
60
U/mV
50
40
30
20
20
30
毕业设计-数字温度计设计与制作-毕设-温度计-论文

摘要本文主要介绍数字温度计的制作,主要用到的材料有单片机AT98C51,芯片控制温度传感器DS18B20,7段数码管。
利用proteus软件来设计制作电路板,汇编语言进行编译,使之能够进行温度的采集与输出。
在PCB上,布置一系列的芯片、电阻、电容等元件,通过PCB 上的导线相连,构成电路,一起实现温度计的功能。
通过完成温度传感器的设计,使我不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
关键词:温度计 AT89C51 DS18B20 硬件系统软件系统装订线目录一、引言 (1)二、数字温度计设计方案论证……………………………………………………………Y1. 单片机的选取……………………………………………………………………… Y2. 温度传感器的选取…………………………………………………………………… Y3. 系统最终选取方案…………………………………………………………………… Y三、方案的总体设计…………………………………………………………………… Y1. 方案框图……………………………………………………………………………… Y2. 方案具体组成图……………………………………………………………………… Y3. 硬件电路概述………………………………………………………………………… Y四、主要单元的设计……………………………………………………………………… Y1. 单片机主控模块………………………………………………………………………Y2. 温度采集模块………………………………………………………………………Y3. 数据显示模块…………………………………………………………………………Y4. 硬件电路图………………………………………………………………………Y五、系统算法分析…………………………………………………………………………Y1. 主程序………………………………………………………………………………Y2 . 读出温度子程序……………………………………………………………………Y3. 温度转换命令子程序………………………………………………………Y4. 计算温度子程序……………………………………………………………Y5. 显示数据刷新子程序………………………………………………………Y6. 软件程序……………………………………………………………………Y六、在综合毕业设计过程中解决了哪些疑难问题,是用什么方法和措施解决的………………………………………………………………………………………Y 七、还存在有哪些问题有待于改进………………………………………………Y 结论……………………………………………………………………………………Y 致谢……………………………………………………………………………………Y 参考文献………………………………………………………………………………Y 附录…………………………………………………………………………………………Y一、引言最早的温度计是在1593年由意大利科学家伽利略(1564~1642)发明的。
数字温度计设计和制作

70.0
73.0
U2/mv 166.21 168.22 170.13 172.09 174.13 176.15 177.52
I/μA 332.42 336.44
电阻 R 为 500Ω。 表 2 数据拟合可得:
340.26
344.18
348.26
352.3
355.04
I (μA)
θ(℃)
图 6 输出电流与温度关系图
AD590集成温度传感器由多个参数相同的三极管和电阻组成。当它两端加上一定工
作电压时,输出电流与温度满足如下关系:
I = Bθ + A 【3】 ,
(1)
但是若AD590传感器处于非工作电压状态下时,输出电流与温度呈现非线性的关系。
因此,在测量过程中应保证AD590处于工作电压的范围下。
本实验中,用如图1所示的电路测量AD590传感器温度与输出电流的关系以及不同电
因此(3)式中的斜率B������3
= 1mV/℃,即
������3
= 1mV/℃
������
,
同时(3)式中的截距项
������3
−
������0 ������1+������2
������2
=
0
,
(4) (5)
3、NTC热敏电阻的温度特性及其测量。
数字温度计的设计和制作实验报告

5
作R − (θ 以℃为单位)图并进行线性拟合得如下结果:
������
1
相关系数������ 2 = 0.99849; 斜率k1 = (1.040 ± 0.013) × 106 Ω℃; 截距b1 = (−105.5 ± 3.6) × 102 Ω; ∴ R = (1.040 ± 0.013) × 106 ������ + (−105.5 ± 3.6) × 102 ;
图 6:R − 关系图
������ 1 1
作R − ������ (T 以 K 为单位)图并进行线性拟合得如下结果: 相关系数������ 2 = 0.99703; 斜率������2 = (7.15 ± 0.13) × 107 ������ ∙ Ω; 截距������2 = (−2.13 ± 0.04) × 105 Ω; ∴ R = (7.15 ± 0.13) × 107 1 ������
一、 引言
利用温度传感器将对温度的测量转换为对电学量的测量是精确测温的常用方法。 热 敏电阻通常用半导体材料制成,分为负温度系数(NTC)热敏电阻和正温度系数(PTC) 热敏电阻两种。NTC 热敏电阻体积小,且其阻值随温度变化十分灵敏,因此被广泛应用 于温度测量、温度控制等 。本实验对 NTC 热敏电阻的温度特性进行了测量,并以 NTC 热敏电阻为测温元件,采用串联电路和非平衡电桥两种方法制作并校准数字体温计,实 现了一定温度范围内对温度的精确测量。
数字温度计的设计和制作
摘要:本文对负温度系数(NTC)热敏电阻的温度特性进行了研究,并以 NTC 热敏电阻 为测温元件, 采用串联电路和非平衡电桥两种方案制作量程为35℃~42℃的数字体温计, 并对其进行校准, 将温度转化为可测电学量。 制作的数字体温计电路简明, 精度较高 (误 差不超过0.1℃) ,达到了设计要求。 关键词:数字温度计、NTC 热敏电阻、温度特性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a
5
2.2 温度传感器的选择
由于传统的热敏电阻等测温元件测出的一般都是电压, 再转换成对应的温度,需要比较多的外部元件支持,且硬 件电路复杂,制作成本相对较高。这里采用DALLAS公司 的数字温度传感器DS18B20作为测温元件 。它的最大优 点在于不需要进行模数转换。它是世界上第一片支持一线 总线接口的温度传感器。
10
3.3 液晶显示电路
在液晶显示电路的设 计中选择具有单向输出 数据功能的P0端口向液 晶显示模块提供数据, P2.5、P2.6、P2.7口 作为控制液晶显示模块 的端口,在PO口上需要 外加上拉电阻,才可以 使液晶显示模块正常显 示。
a
11
3.4 报警电路设计
报警电路中使用 P1.4-P1.7作为控制 按键输入端口,P1.0、 P1.2作为报警指示灯 端口,P2.3作为报警 蜂鸣器端口,当它们 对应的端口为低电平 时就会报警。
液晶显示程序分为显示字符子程序和指定LCD位置写入 子程序,液晶显示程序的作用是向液晶显示送数,控制
系统的显示部分 。
LCD
子指
程定
序
流 程
位
图
置 写
入
显示字符子程序流程图a
17
3 温度检测流程
DS18B20在单片机控制下分三个阶段:DS18B20 初始化、 读DS18B20时序、写DS18B20时序
读
写
DS18B20 DS18B20
时
时
序
序
流
流
程
程
图
图
a
18பைடு நூலகம்
4 报警模块流程
a
19
第四章 制作过程
底座 排阻
蜂鸣 器
报警 指示
灯
a
DS18B 20温度 传感器
20
背 部 实 物 图
a
21
烧制程序后 插入使用
a
22
制作成果
a
23
K1
设 置按
的 报 警 温 度 值
键 显 示 当 前
a
24
高温报警时
数字温度计的设计与制作
a
1
主要内容
一:设计方案选择 二:元器件的选择 三:设计过程 四:制作成果
a
2
一 设计方案选择
数字温度计的制作方法有很多种,最常见的有两种,一 种是利用热敏电阻测量温度的电路,另一种是利用数字温 度传感器DS18B20测量温度的电路。
1.1 方案一:采用热敏电阻
按键设置
热敏电阻 A/D转换 (ADC0809)
a
7
2.4 报警器件选择
在本设计方案中,使用了普通的蜂鸣器以及红绿两种 颜色的发光二极管作为报警设备。分别如下图所示
蜂鸣器
发光二极管
a
8
三 设计与制作过程
在设计中使用PRETEUS软件进行仿真设计
3.1 主控制电路
AT89C51中有一个用于 构成内部振荡器的高增益反 相放大器,引脚XTAL1和 XTAL2分别是该放大器的输 入端和输出端。这个放大器 与作为反馈元件的片外石英 晶体或陶瓷谐振器一起构成 自激振荡器,振荡电路参见 下图。而且EA需要接高电平 以使CPU访问单片机内部程 序。
EA没有接高 电平使CPU 不能正常读 取内部程序
14
3.7 软件的设计
主程序
液晶显示 温度检测 报警模块
子程序
子程序
子程序
程序的编写使用了较为方便的C语言进行编写
a
15
1 主程序流程
主程序需要调用3个子程序,分别为液晶显示程序, 温度测试及处理子程序,报警子程序,液晶显示子程序。
a
16
2 液晶显示模块流程
a
9
3.2 温度检测电路
VCC接高电平,DQ端
接单片机的P3.4口,这里
利用了P3.4口双向I/O口
作用,单片机从DS18B20
读取温度和报警温度,此
时作为输入口,当设置报
警温度时单片机向
DS18B20内部存储器写入
数据,此时作为数据输出
端口。DQ与VCC之间需要
一个电阻值约为5KΩ的上
拉电阻。
a
高
红灯亮同时蜂 鸣器响,液晶
温
显示模块显示
报
H-TEMP warning以及
警
当前温度值
a
25
低温报
低
警时红灯亮 同时蜂鸣器
温
响,液晶显 示模块显示
报
L-TEMP
警
warning以 及当前温度
值
a
26
谢谢
物理061 杨帆 2010.6.25
a
27
AT89C51
显示模块
单
报警设备
片
机
a
3
1.2 方案二:采用数字温度芯片DS18B20
报警点温度设置
器温
度 传
18
感 20
AT C DS B
98 主 51 控 单制 片器 机
a
示液
晶 显
原
理
图 备 报 警
设
4
二 系统器件的选择
2.1 单片机的选择
对于单片机的选择, 可以考虑使用8031与8051 系列,由于8031没有内部 RAM,系统又需要大量内 存存储数据,因而不适用。 在此设计中我们使用8051 系列单片机中的AT89C51 单片机。
a
12
3.5 最终设计的仿真图
AT89C51 单片机
时钟电 路和复 位电路
液晶显示 模块
上拉电阻 蜂鸣器
发光二极 管
按键设 置报警 温度电 路
DS18B20 温度传感器
由PROTEUS仿真的a数字温度计仿真图
13
3.6 设计中遇到的问题
没有接上 拉电阻会 使液晶显 示模块无 法正常显 示
VEE与 VSS间 需要电 a
DS18B20温度a传感器
6
2.3 液晶显示模块的选择
液晶显示模块的选择性较广,市场上有各色各样的液晶 显示模块,可以满足不同需求的使用,在本设计中为了节 约成本,选择了价格较为便宜的SC162A液晶显示模块。
SC162A,点阵字符液晶显示模块,可以显示两行16列的 字符。汉字字体是5X7点阵。
SC162A 液晶显示屏