




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机温度自动提醒的智能水杯设计 【摘要】针对低碳、环保生活领域对温度传感器的应用,提出单 片机实时系统智能水杯的设计方法。在此基础上,采用了 DS18B20温 度传感器,并对温度采集、实时控制进行了仿真分析,木文提出了性能 较好的智能水杯设计方法和多样功能。 【关键词】:单片机 温度传感器半导体 Smart cup temperature based on automatic remind 【Abstract 】:The application of low carbon, environmental protection areas of life to the temperature
2、 sensor, puts forward the design method of single chip real time system intelligent cup On this basis, using DS18B20 temperature sensor, and the temperature acquisition, real-time control of the simulation analysis, this paper puts forward the design method of the good performance of glass and vario
3、us functio n 【Keywords : Single chip microcomputer Temperaturese nsor Semiconductor 第一章 引言 1课谥的研究背景及意义 1.2课题的研究任务与内容 第二章总体方案设计 2方案一 2.2方案二 第三章系统硬件设计 3硬件设计环境介绍 3.2单片机最小系统设计 3.2.1 STC89C52 简介 3.2.2单片机端口分配及功能 3.3显示电路设计 331 LED显示器的分类 332数码管结构 333数码管工作原理 334显示电路 3.4温度采集电路设计 3.4.1 DS18B20的工作原理和测温原理 3.4.2温
4、度采集电路 3.5温度自动提醒电路设计 3.6温度制冷,制热设计半导体 3.7整体硬件电路图 第四章系统软件设计 4系统软件整体设计 4.2系统程序设计 4.2.1主程序设计 4.2.2显示程序设计 4.2.3温度判断程序设计 4.2.4 DS18B20程序设计 第五章系统设计与分析 第六章总结 致谢 参考文献 附录 1 程序 第一章引言 11课题研究背景与意义 二十一世纪是科技高速发展的信息时代,电子技术,微信单片机技术的 应用更是空前广泛。伴随着科学技术和生产的不断发展,需要对各种参数进 行温度测量。因此温度一次在生产生活中出现的频率日益增多,与之相对应 的温度控制和测量也成为了生活生产中
5、频繁使用的词语。同时它们在各行各 业中也发挥着重要的作用。如在日趋发达的工业之中,利用测量与控制温度 来保证生产的正常运行。在农业中,用于保证蔬菜大棚的恒温保产等。在生 活中,这个用于喝水家用电器的温度显示等。 本文针对人们无法准确的获知或得到提示杯子中的水是否已到适合人饮 用的温度的问题,设汁了一种带有温度自动提醒功能的智能水杯。通个温度 的监控来提醒使用者杯中的谁是否适合喝下以及有好的控制温度达到制冷制 热。有效的解决人们经常山于各种原因而忘记时刻去关注谁的温度变化的缺 陷。以避免人们尤其老人,小孩或病人在需要饮水时喝到凉水或受到烫伤。 能够把握准确的水温。 12课题研究任务与内容 课题任
6、务主要是设计一款智能水杯,针对人们不能直观的感知水温的问 题,结合当前先进的电子和信息技术。如单片机,传感器等。提出一种具有 自动提醒功能的智能水杯。本课题任务可分为三个层次,一是对当今温度测 量技术在生产生活中的应用进行分析和研究;二是通过硬件和软件的设计, 来实现智能水杯的各种功能;三是通过仿真实验,验证设计的温度自动提醒 功能的智能水杯的有效性和可用性。 本文的研究重点在于基于单片机和传感器设计一个温度测量,感知系统 和制冷制热系统,并将其应用到智能水杯中,并对现有方案的优点与不足进 行分析,在此基础上通过软件和硬件进行仿真验证。 第二章总体方案设计 2.1方案一 测温电路的设讣,可以使
7、用热敬电阻之类的器件利用其感温效应,在将随 被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行 数据的处理。在显示电路上,就可以将被测温度显示出来,这种设计需要A/D 装换电路,感温电路比较麻烦。 2.2方案二 考虑使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感 器,直接读取被测温度值,之后进行制冷制热进行转换,依次完成设计要求。 比较以上2种方案,很容易看出,采用方案二,电路比较简单,软件设计 容易实现,故实际设计中拟采用方案二。 在本系统电路设计方框图如图1.1所示,它才用5部分组成: 1. 控制部分主芯片采用单片机STC89C52; 2. 显示部分
8、采用4位LED数码管以动态扫描方式实现温度显示; 3. 温度采集部分采用DS18B20温度传感器; 4. 温度提醒部分采用3个不同颜色的LED作为提醒标志 5. 半导体制冷制热。 系统电路设计方框图图1.1 1. 控制部分 单片机AT89C51具有低电压供电和体积小等特点,只需要很少端 口就能满足电路系统的设讣需要,很适合在小型场合或便捷产品中进 行设计使用。 2 显示部分 BOTTOM VIEW DS18B20Z 8-Pin S01C(150 mil) 显示电路采用4位共阴LED数码管,从po 口送数,P2 口扫描。 3. 温度采集部分 该模块采用美国DALLAS公司推出的数字测温芯片DS1
9、8B20,该芯 片具有体积小,多种封装形式,独特的单线接口等优点。测量范围从 -55摄氏度到+125摄氏度,拥有可以选择的9到12位温度数据分辨率, 可以工作在寄生电源模式,巧外还可自定义温度告警设置。本系统中 温度传感器输出脚I/O直接与单片机的P4. 0相连,外接4. 7 KQ的上 拉电阻到电源,采用MSP430的电源供电叭DS18B20芯片封装如图1-2 所示。 图1-2 DS18B20芯片封装 4. 制冷制热部分 通过2个半导体来实现制冷,制热。 5. 温度提醒部分 该部分分别采用红,绿,黄3个不同颜色的数码管来显示不同的温 度范围。红色LED表示温度较高,范围60度以上;绿色LED表
10、示温 度适宜,范RI 30-60 ;黃色LED表示温度较低,范围30度以下。 第三章系统硬件设计 3.1硬件设计坏境介绍 1.0概念 Altium Designer是原Protel软件开发商Altium公司推出的一体化 的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把 原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性 分析和设计输出等技术的完美融合,为设讣者提供了全新的设计解决方 案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的 质量和效率大大提高。 Altium Designer除了全面继承包括Protcl 99SE Protel DXP在
11、内的先前一系列 版本的功能和优点外,还增加了许多改进和很多髙端功能。该平台拓宽了板级设计 的传统界而,全而集成了 FPGA设il功能和SOPC设计实现功能,从而允许工程设 计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。由于Altium Designer在继承先前Protel软件功能的基础上,综合了 FPGA设计和恢入式系统软 件设讣功能,Altium Designer对讣算机的系统需求比先前的版本要高一些 3.2单片机最小系统设计 3.2.1 STC89C52 简介 STC89C52具有以下标准功能:8k字节Flash, 256字节RAM, 32位 I/O 口线,看门狗定时
12、器,2个数据指针,三个16位定时器/计数器,一个6 向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可 降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止 工作,允许RAM、定时器/计数器、吊口.中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位 为止。 与MCS-51单片机产品兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作:0Hz33Hz 三级加密程序存储器 32个可编程I/O 口线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗空闲和
13、掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 3.2.2单片机端口分配及功能 STC89C52引脚图如图3-2所示: F-1.O EZ CTZ EX R-1.1 U 尸1.2匚 F-1.3 匸 F1.4 匚= (MO-SI) F-1.5 U (MI4SO R-i.e (= CSCK R1.7 EZ RST匸 (RXJO F*3.O 匚 CTKJO) R-3.1 (= (1KJTn p-3.2 cz (TFm F-3.3 u F3.-4 匚 KT1) P3O 匚 F*3.a U F-3.7 CZ PCT/U-2 (= XTAl_r 匚 ONO U O1235e7eo rNH-
14、l-so-rs-Er-lrrnT-r-T-lrN -40器 5-3Q3OS33至? vco ZJ FO O (ADO ZJ FO 1 4) = po e- PO.C- (ADO) 二)尸O 7 (AD7) ZJ 曰 n = Z) P2.7 (A-1 6 二)P2.C (A1 3 =J Pd 亠(A12 ! f=d 3 (A1 弟 = F2- 2- Z PZ 1 (AO) PA.O (AB) 图3-2 STC89C52引脚图 vcc:供电电压。 GND:接地。 P0 口: P0 口是一个8位漏极开路的双向I/O 口。作为输出口,每位能驱动 8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗
15、输入。当访问外部程 序和数据存储器时,P0 口也被作为低8位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在flash编程时,P0 口也用来接收指令字节;在程序校验 时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口: P1 口是一个具有内部上拉电阻的8位双向I/O 口,pl输岀缓冲器 能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚山于内部电阻的 原因,将输出电流(IIL) o此外,P1.0和P1.2分别作定时器/计数器2的外部 计数输入(Pl. 0/T2)和时器/计数器2的触发输入(Pl. 1
16、/T2EX),具体如表3-1 所示。 P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收, 输出4个TTL 11电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行 存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是8个
17、带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口作为AT89C51的一些特殊功能口,如表3-1所示: 表3-1 P3的特殊功能 口管脚 备选功能 P3. 0 RXD (串行输入口) P3. 1 TXD (串行输出口) P3. 2 /INTO (外部中断0) P3. 3 /INTI (外部中断1) P3. 4 T0 (记时器0外部输入) P3. 5 T1 (记时器1外部输入) P3. 6 /WR (外部数据存储器写选通) P3. 7
18、 /RD (外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电 平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以 不变的频率周期 输出正脉冲信号,此频率为振荡器频率的1/6o因此它可用作 对外部输出的脉冲或用于定时LI的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输岀可在SFR8EH地址上置0。此时, ALE只有在执行MOVX, M0VC指令是ALE
19、才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSE信 号将不出现。 /EA /VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH), 不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当 /EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于 施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL
20、2:来自反向振荡器的输出。 在本设计采用微控制器STC89C52负责实时检测传感器输岀的信号是否有变 化,其原理图如下图3-3所示: vcc T4C PIC - Pll ?12 ?13 ?14 ?I5 P16 P17 晁 13 U1 H是芳一 INTI INTO C3F10U P35 ?34 VCT- T_ T1 TO EAV? XI X2 RESET -sJ-rNL ST29C52 I I d / 4 =400) COLD=0: HOT=1; else if(wendu=300) COLD=1; HOT=1; else COLD=1; HOT=0; 1 ) if(wendu=400) RED
21、=O;GREEN= 1 ;ORG= 1; else if(wendu=300) RED= 1 ;GREEN=0;ORG= 1; else RED= 1 ;GREEN= 1 ;ORG=0; if(sl=O) delay_ms(10); if(sl=O) while(!sl) dclaylms(lo)八 ongimcs+ if(longtimes=200) brcar if(ongtimcsHH200) trohp zidongH zidong- if(zidongHHO) P0H0X5BW和沈HHHH煤久皿茸 else PO=OX5FW超沫煤济皿世 P2 jiare=O; ) ) ) ) uch
22、ar wei=O; void TimerOInterrupt(void) interrupt 1 THO = 0 x0F8; TLO = OxOCD; wei+; if(wei=4) wei=0; DISP_SEG(wendu,wei); 2.DSB1820 #ifndef_DS18B2O_H #define_DS18B2O_H #include #include sbit DQ=P2A0; 延时 X*1O 微秒(STC90C52RC12M) 不同的工作环境,需要调整此函数 当改用1T的MCU时,请调整此延时函数 void DelayXOus(unsigned char n) while (n
23、) -nop J); -nop J); / 复位DS18B20,并检测设备是否存在 5C5C5C5C 5C5C 5C5C / void DS 18B20_Reset() CY= 1; while (CY) DQ = 0; DelayX0us(48); DQ=1; DelayX0us(6); CY = DQ; DelayX0us(42); ) 送出低电平复位信号 延时至少480us 释放数据线 等待60us 检测存在脉冲 等待设备释放数据线 从DS18B20读1字节数据 unsigned char DS 18B20_ReadByte() unsigned char i; unsigned cha
24、r dat = 0; for (i=0; i8; i+) dat = 1; DQ = 0; -nop J); -nop J); DQ= 1; -nop J); -nop J); if (DQ) dat 1= 0 x80; DelayX0us(6); ) /8位计数器 开始时间片 延时等待 准备接收 接收延时 读取数据 等待时间片结束 return dat; ) 向DS18B20写1字节数据void DS 18B20_WriteByte(unsigned char dat) char i; for (i=0; i8; i+) DQ = 0; -nop J); -nop J); dat = 1;
25、DQ = CY; DelayX0us(6); DQ=1; ) int ReadTempO unsigned char TPH; unsigned char TPL; int WEN; DS18B20_Reset(); DS18B20_WriteByte(0 xCC); DS 18B20_WriteByte(0 x44); while (!DQ); DS18B20_Reset(); DS 18B20_WriteByte(0 xCC); DS 18B20_WriteByte(0 xBE); TPL = DS 18B20_ReadByte(); TPH 二 DS18B20_ReadByte(); /
26、8位计数器 开始时间片 延时等待 送出数据 等待时间片结束 恢复数据线 /存放温度值的高字节 存放温度值的低字节 设备复位 跳过ROM命令 开始转换命令 等待转换完成 设备复位 跳过ROM命令 读暂存存储器命令 读温度低字节 读温度高字节 WEN=(int)(TPH*256+TPL)*0.625);/ 温度放大十倍输出 return(WEN); #endif 3.DELAY.C include DELAY.H” #include nintrins.hH void delay_ms(unsigned int x) unsigned int i,j; for(i=0;ix;i+) for(j=0;
27、j=10) SEG_DUAN=0 x00; else SEG_DUAN=SEG_DATAqian; break; case 1: SEG_DUAN=0X00; wl = l ;w2=0:w3= 1 ;w4= 1; if(bai=10) SEG_DUAN=0 x00; else SEG_DUAN=SEG_DATAbai; break; case 2: SEG_DUAN=0X00; wl = l ;w2= 1 ;w3=0:w4= 1; if(shi=10) SEG_DUAN=0 x00; else SEG_DUAN=SEG_DATA_POINTshi; break; case 3: if(ge=I
28、0) SEG_DUAN=0 x00; else SEG_DUAN=0X00; wl = l ;w2= 1 ;w3= 1 ;w4=0; SEG_DUAN=SEG_DATAge; break; ) 6.SMG.H #ifndef_SMG_H #define _SMG_H include DELAY.H #include sbit wl=P2A6; sbit w2=P2A7; sbit w3=P2A4; sbit w4=P2A5; #define SEG_DUAN PO void DISP_SEG(unsigned int XAinsigned char wei); #endif 7.EEROM.C
29、 include ”EEROM.H” /EEROM部分特殊寄存器声明及命令的宏定义 #define RdCommand 0 x01 定义 ISP 的操作命令 #define PrgCommand 0 x02 #define EraseCommand 0 x03 #define Error 1 #define Ok 0 #define WaitTime 0 x01 定义 CPU 的等待时间 sfr ISP_DATA=0 xe2; 寄存器申明 sfr ISP_ADDRH=0 xe3; sfr ISP_ADDRL=0 xe4; sfr ISP_CMD=0 xe5; sfr ISP_TRIG=0 xe
30、6; sfr ISP_CONTR=0 xe7; / *函数名称:ISP_IAP_enable() *函数功能:打开ISRIAP功能 *备注说明: / EA =0; ISP_CONTR = ISP_CONTR = ISP CONTR = void ISP_IAP_enable(void) /*关中断 */ */ */ */ ISP_CONTR /* 0001,1000 ISP_CONTR I WaitTime; /* 写入硕件延时 ISP_CONTR I 0 x80;/* ISPEN=1 ) 5C5C5C5C5C5C5C *函数名称:ISP_IAP_disable() 杓*函数功能:关闭ISRI
31、AP功能 *备注说明: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C/ void ISP_IAP_disable(void) ISP_CONTR ISP.TRIG = EA= =ISP.CONTR /* ISPEN = 0*/ 0 x00; 1;/*开中断*/ ) 5C5C5C# *函数名称:ISPgoon() *函数功能:公用的触发代码 *备注说明: 5C5C5C5C5C5C5C/ void ISPgoon(void) ISP_IAP_enable(); ISP_TRIG =0 x46; ISP_TRIG =0 xb9; /*打开ISRIAP功能*/ /*触发ISP_IAP命令字节1 */ /*触发ISP.IAP命令字节2 */ _nop_(); ) *函数名称:byte_read() *初函数功能:字节读 林*备注说明: */ unsigned char byte_read(unsigned int byte_addr) ISP_ADDRH = (unsigned char)(byte_addr 8);/* 地址赋值 */ ISP_ADDRL = (unsigned char)(byte_addr /* 清除低 3 位 */ ISP.CMD= ISP.CMDI RdCommand; /* 写入读命令 */ ISPg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB15∕T 3404.3-2024 《全民所有自然资源资产清查技术指南 第3部分:森林资源》
- 鲁滨逊漂流记的人物塑造:外国文学课程教案
- (正式版)DB15∕T 3364-2024 《沙蒿籽多糖含量测定分光光度法》
- 电器学考试题及答案
- 电解工考试题及答案
- 电大申论考试题及答案
- 灯光专业考试题及答案
- (正式版)DB15∕T 3270-2023 《北苍术生态种植技术规程》
- 德国机械考试题及答案
- 报考护理学面试题库及答案
- 发展汉语-初级读写-第一课-你好
- 韩国《寄生虫》电影鉴赏解读
- 人教版四年级数学上册《课堂作业设计》全套
- TTT系列课程-结构化思考力
- Cpk 计算标准模板
- 封起DE日子博文 2006
- 锂离子电池生产安全讲座
- 眼科学-眼科检查(课件)
- 产品碳足迹课件
- 部编人教版六年级道德与法治上册全册教学课件
- 美国地图高清中文版
评论
0/150
提交评论