基于单片机的电子温度计设计word格式

上传人:jiups****uk12 文档编号:39448786 上传时间:2018-05-15 格式:DOC 页数:17 大小:179KB
返回 下载 相关 举报
基于单片机的电子温度计设计word格式_第1页
第1页 / 共17页
基于单片机的电子温度计设计word格式_第2页
第2页 / 共17页
基于单片机的电子温度计设计word格式_第3页
第3页 / 共17页
基于单片机的电子温度计设计word格式_第4页
第4页 / 共17页
基于单片机的电子温度计设计word格式_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于单片机的电子温度计设计word格式》由会员分享,可在线阅读,更多相关《基于单片机的电子温度计设计word格式(17页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的电子温度计设计基于单片机的电子温度计设计摘摘 要要 我和身边很多同学都学习了一点单片机的知识,在上学期间我们通过学习单片机丰富了课余生活,加深了对所理论知识的理解,尤其是数字电路方面的知识。本文中我将介绍自己动手设计制作的基于 51 单片机 STC89C52 和 DS18B20 的电子温度计。这次动手实践我有很多体会,比如说做一件事情条理很重要。尤其对我们这些学理工的学生。不仅让我条理性清晰,更让我对做事有了全面的思考。就拿这个温度计来说,首先要有大体的构思,然后设计电路图,根据电路图编写程序,最后在学习板上连接调试,有条有理,做事就会很有效率。关键词:STC89C52 LCD16

2、02 DS18B20 单片机学习板 条理Chip electronic thermometer AbstractAround me and many students have learned a bit of knowledge of SCM,In the undergraduate stage we learn through single chip enriched after-school life, deepen the understanding of theoretical knowledge, especially the digital circuit knowledge.

3、In this paper, I will introduce yourself to design based on 51 single-chip STC89C52and DS18B20 electronic thermometer. This practice I have a lot of experience, for example to do one thing structured is very important. Take this thermometer, first of all to have a general idea, and then to design th

4、e circuit diagram, according to the circuit diagram of program, the last on the study board connecting and debugging, properly and logically arranged, will be doing very efficientKey words: STC89C52 LCD1602 DS18B20 study plate method1 引言单片机广泛服务于现代生活。洗衣机,变频空调,智能手机,刷卡系统,智能仪表等核心部分都有单片机,它在功能上类似与现在无处不在的电

5、脑,而在体积和价格上却远远小于电脑,这就决定了他在控制领域举足轻重的地位。我们学生学习单片机一般来说都是从 51 单片机开始,它功能强大,资料丰富,性能稳定。只要我们有一点模电数电的基础,手头有资料就可以展开学习。本文中所选的单片机就是 51 内核的单片机,现在很多 51 学习板上都是用它做入门芯片。我在做这个电子温度计之前,首先设计了电路图,根据电路图设计程序代码,在仿真软件上运行无误后,我在单片机学习板连接了相关硬件,这样就是实现了电子温度计这个想法。最后我对自己所做的温度计进行了一点思考与总结。2 2 大体构思大体构思3器件的选择器件的选择1:主控制器的选择:主控制器的选择STC89C5

6、2 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。在单芯片上,拥有灵巧的 8 位CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。8k 字节 Flash;512 字节 RAM;32 位 I/O 口线;内置 4KB EEPROM;MAX810 复位电路;三个 16 位 定时器计数器;一个 6 向量 2 级中断结构;全双工串行口;另外 STC89X52 可降至 0Hz 静态逻辑操作,温度传感器液晶显示器处 理 器支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时

7、器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35Mhz,6T/12T 可选。 满足本项目的要求。2:温度传感器的选择:温度传感器的选择Dallas 半导体公司的数字化温度传感器 DS18B20 是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的“DS1820”体积更小、更经济、更灵活。 测量温度 范围为 -55C+125C,在-10+85C 范围内,精度为0.5 C。DS1822 的精度较差为

8、 2C 。现场温度直接以“一线总线” 的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的 现场温度测量,如:环境控制、设备或过程控制、测温类消费电子 产品等。 DS18B20 可以程序设定 912 位的分辨率,精度为 0.5C。可选更小的封装方式,更宽的电压适用范围。3 3:液晶显示器的选择:液晶显示器的选择1602 液晶也叫 1602 字符型液晶它是一种专门用来显示字母、数 字、符号等的点阵型液晶模块它有若干个 5X7 或者 5X11 等点阵字 符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个 点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正 因为如此所以他不能显

9、示图形。 微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪 表和低功耗应用系统中。 它有十六个管脚,其各管脚的作用如下: 第 1 脚:VSS 为电源地 第 2 脚:VDD 接 5V 电源正极 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱, 接地电源时对比度最高(对比度过高 时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度) 。第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电 平 0 时选择指令寄存器。 第 5 脚:RW 为读写信号线,高电平(1)时进行读操作,低电平 (0)时进行写操作。 第 6 脚:E(或 EN)端为使能(enab

10、le)端。 第 714 脚:D0D7 为 8 位双向数据端。 第 1516 脚:空脚或背灯电源。 15 脚背光正极。 16 脚背光负极。 4:电路设计图(单片机:电路设计图(单片机 P0 口上拉电阻没有画出,实际上口上拉电阻没有画出,实际上 有)有)5:对电路图的简要分析:对电路图的简要分析控制器部分由复位电路和时钟电路电源电路组成 51 单片机最小系统电路,晶振采用 12MHZ。DS18B20 的一脚与地连接,3 脚接电源(直流 5V),2 脚为数据线与单片机的 P2.3相连,并且通过一个 4.7K 的上拉电阻与电源连接。液晶显示采用传统的接法,7 脚到 14 脚为数据线与单片机的 P0 口

11、连接。6: 程序流程图程序流程图1602 初始化设置设置 1602DS18B20 初始化初始化启动温度转换启动温度转换7:程序代码:程序代码#include #include #define uchar unsigned char #define uint unsigned int sbit DQ = P33 ; /定义 DS18B20 端口 DQ sbit BEEP=P37 ; /蜂鸣器驱动线 bit presence ; sbit LCD_RS = P25 ; sbit LCD_RW = P26 ; sbit LCD_EN = P27 ; uchar code cdis1 = “ DS18

12、B20 OK “ ; uchar code cdis2 = “ TEMP: . C “ ; uchar code cdis3 = “ DS18B20 ERR0R “ ; uchar code cdis4 = “ PLEASE CHECK “ ; unsigned char data temp_data2 = 0x00,0x00 ; unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00 ; Unsigned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0

13、x06,0x06,0x07,0x08,0x08,0x09,0x09 ; void beep() ; Unsigned char codemytab8= 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00 ; #define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;处理温度数据处理温度数据送数据到液晶显示送数据到液晶显示/*/ void delay1(int ms) unsigned char y ;while(ms-)for(y = 0 ; y 0 ; i-)DQ = 0 ; / dat = 1 ;DQ

14、= 1 ; / if(DQ)dat |= 0x80 ;Delay(4) ;return (dat) ; WriteOneChar(unsigned char dat)/写一个字节 unsigned char i = 0 ;for (i = 8 ; i 0 ; i-)DQ = 0 ;DQ = datDelay(5) ;DQ = 1 ;dat=1 ; Read_Temperature(void)/读取温度 Init_DS18B20() ;WriteOneChar(0xCC) ; / 跳过读序号列号的操作WriteOneChar(0x44) ; / 启动温度转换Init_DS18B20() ;Wri

15、teOneChar(0xCC) ; /跳过读序号列号的操作WriteOneChar(0xBE) ; /读取温度寄存器temp_data0 = ReadOneChar() ; /温度低 8 位temp_data1 = ReadOneChar() ; /温度高 8 位 Disp_Temperature()/数据传输与转换 display4=temp_data0display0=ditabdisplay4+0x30 ; /查表得小数位的值display4=(temp_data0display3=display4/100+0x30 ;display1=display4%100 ;display2=display1/10+0x30 ;display1=display1%10+0x30 ;if(display3=0x30) /高位为 0,不显示 display3=0x20 ; if(display2=0x30) /次高位为 0,不显示display2=0x20 ;lcd_pos(0x48) ;

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

当前位置:首页 > 行业资料 > 其它行业文档

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