尘单片机电子温度计课程设计和毕业论文_第1页
尘单片机电子温度计课程设计和毕业论文_第2页
尘单片机电子温度计课程设计和毕业论文_第3页
尘单片机电子温度计课程设计和毕业论文_第4页
尘单片机电子温度计课程设计和毕业论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计毕业设计 设计(论文)题目:设计(论文)题目: 单片机电子温度计设计单片机电子温度计设计 专专 业业 班班 级:级: 计算机控制技术计算机控制技术 122 班班 学学 生生 姓姓 名:名: 闵烊尘闵烊尘 指指 导导 教教 师:师: 邵明伟邵明伟 设设 计计 时时 间:间: 2015.5.20 至至 2015.6.3 重庆工程职业技术学院重庆工程职业技术学院 重庆工程职业技术学院毕业设计(论文)任务书重庆工程职业技术学院毕业设计(论文)任务书 任务下达日期:2015.5.20 设计(论文)题目:单片机电子温度计设计 设计(论文)主要内容和要求:随着人们生活水平的不断提高,单片 机控制无疑

2、是人们追求的 目标之一,它所给人带来的方便也是不可 否定的,其中数字温度计就是一个典型的例子,但人们对它的要求 越来越高,要为现代人工作、科研、生活、提供更好的更方便的设 施就需要从数单片机技术入手,一切向着数字化控制,智能化控制 方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有 读数方便,测温范围广,测温准确,其输出温度采用数字显示,主 要用于对测温比较准确的场所,或科研实验室使用,该设计控制器 使用单片机 AT89S51,测温传感器使用 DS18B20,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示,能准确达到以上要求。 教研室主任签字: 指导教师签字: 年 月 日

3、 年 月 日 重庆工程职业技术学院毕业设计(论文)指导教师评语重庆工程职业技术学院毕业设计(论文)指导教师评语 评语: 成绩: 指导教师签名: 年 月 日 重庆工程职业技术学院毕业设计(论文)答辩记录重庆工程职业技术学院毕业设计(论文)答辩记录 学生姓名闵烊尘系别信息学院专业班级计控 122 设计(论文)题目单片机电子温度计设计 说明书共 页,图纸共 张 答 辩 情 况 回 答 问 题 提 出 问 题 正确 基本 正确 有一 般性 错误 有原 则性 错误 回答 不清 1 2 3 4 5 6 7 8 答辩委员会评语及建议成绩: 答辩委员会主任: 年 月 日 摘摘 要要 在我们的日常生活和生产过程

4、中,常需要检测及控制温度,温度是生产过 程和科学实验中经常遇到的重要参数之一。在生产过程中,为了高效地进行生 产,必须对它的主要参数,如温度、湿度、压力等进行有效的控制。温度控制 在生产过程起到相当重要的作用。温度测量是温度控制的基础,技术已经趋向 简单和成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一 般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外 部硬件支持。 在本设计中选用 AT89C51 型单片机作为主控制器件,选用 DS18B20 温度传 感器作为测温电子元件,通过 4 位共阳极 LED 数码显示管并行传送数据,实现 温度显示。本设计的内容主要分为

5、两部分,一是对系统硬件部分的设计,包括 温度采集电路和显示电路;二是对系统软件部分的设计,应用 C 语言实现温度 的采集与显示。通过 DS18B20 直接读取被测温度值,送入单片机进行数据处理, 之后进行输出显示,最终完成了数字温度计的总体设计。其系统结构简单,数 据运行处理速度快,信号采集效果较好,便于实际检测使用。 关键词关键词:温度,DS18B20,AT89C51 目录目录 1 绪论绪论.8 1.1 课题的背景及目的.8 1.2 课题的设计目的.9 1.3 国内外的研究状况.9 1.4 课题的主要工作.10 1.5 论文构成及研究内容.11 2 开发工具开发工具 keilkeil.11

6、2.1 软件 Keil 介绍.11 2.1.1 系统概述.12 2.1.2 Keil C51 单片机软件开发系统的整体结构.12 3 数字温度计的方案设计数字温度计的方案设计.13 3.1 设计方案论证与比较.13 3.1.1 显示电路方案.13 3.1.2 测温电路方案.13 3.2 系统总体构成图和系统总电路图.13 4 系统硬件设计系统硬件设计.15 4.1 核心处理器的设计.15 4.1.1 STC89C52 的简介.15 4.1.2 STC89C52 单片机主要特性.16 4.1.3 STC89C52 单片机管脚图.16 4.1.4 80C51 单片机的中断系统.19 4.1.5 8

7、0C51 单片机的定时/计数器.19 4.1.6 复位电路的设计.19 4.1.7 晶振电路的设计.20 4.2 液晶显示模块.21 4.2.1 LCD 液晶显示器简介.21 4.2.2 液晶显示部分与 STC89C52 的接口.22 4.3 数字温度传感器 DS18B20 简介.23 4.3.1 DS18B20 概述.23 4.3.2 DS18B20 的性能特点.23 4.3.3 DS18B20 的内部结构与管脚.23 4.3.4 DS18B20 测温原理.24 4.3.5 温度采集电路.26 4.3.6 DS18B20 使用中的注意事项.27 5 系统软件设计系统软件设计.27 5.1 主

8、程序设计.27 5.2 DS18b20 的读写操作.28 5.2.1 DS18B20 的读操作.28 5.2.2 DS18b20 的温度数据处理.30 5.3 1602 显示部分.32 5.4 数据测试.34 总结总结.35 致致 谢谢.36 参参 考考 文文 献献.37 1 绪论 1.1 课题的背景及目的 随着现代信息技术的飞速发展和传统工业改造的逐步实现能够独立工作 的温度检测和显示系统应用于诸多领域。环境温度一直是生物能否较适宜生存 的一个重要因素,而人们对环境温度的感知也从单纯的身体感官的感受发展到 用各种温度计来对环境温度进行准确的测量。传统的温度采集方法不仅费时费 力,而且精度差,

9、单片机的出现使得温度的采集和数据处理问题能够得到很好 的解决。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但 需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一 定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温 范围广,测温精确,数字显示,适用范围宽等特点。 单片机自 1976 年由 Intel 公司推出 MCS-48 开始,迄今已有三十多年了。由 于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低 廉等一系列优点,单片机的应用已经渗透到电力、冶金、化工、建材、机械、 食品、石油等各个行业。本设计讨论的单片机多功能定时器的核

10、心是目前应用 极为广泛的 51 系列单片机,配置了外围设备,构成了一个可编程的计时定时系 统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很 多功能可供开发,有着广泛的应用领域1。 20 世纪 80 年代中期以后,Intel 公司以专利转让的形式把 8051 内核技术转 让给许多半导体芯片生产厂家,如 ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS 等。这些厂家生产的芯 片是 MCS-51 系列的兼容产品,准确地说是与 MCS-51 指令系统兼容的单片机。 MCS-51 系列及 80C51 单片机有多种品种。它们的引脚及指令系统相互兼容, 主要在内部结

11、构上有些区别。目前使用的 MCS-51 系列单片机及其兼容产品通 常分成以下几类:基本型、增强型、低功耗型、专用型、超 8 位型、片内闪烁 存储器型。其中 ATMEL 公司的标准型 AT89 单片机因其与 MCS-51 的完全兼 容性、优良的工作性能、使用的灵活性以及较高的性能价格比,成为 AT89 系 列单片机的主流机型,在嵌入式控制系统中获得广泛应用。 美国 Dallas 公司生产的的温度传感器 DS1820 是世界上第一片支持 “一线 总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部 传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特 而且经

12、济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全 新概念。现在,新一代的 DS18B20 体积更小、更经济、更灵活。使你可以充分 发挥“一线总线”的优点。 同 DS1820 一样,DS18B20 也支持“一线总线”接 口,测量温度范围为-55C+125C,在-10+85C 范围内,精度为 0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的 抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、 测温类消费电子产品等。DSl8B20 作为测温传感器通过 LCD1602 并行传送数据, 实现温度显示。通过 DSl8B20 直接读取被测温度值,进行数据

13、转换,该器件的 物理化学性能稳定,线性度较好,在-55125最大线性偏差小于 0.1。该 器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计 还能直接采用测温器件测量温度,从而简化数据传输与处理过程。 1.2 课题的设计目的 1.巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解 决工业控制的能力。 2 学习 DS18B20 数字温度传感器的测温原理,提高运用所学专业知识进行 独立思考和综合分析、解决实际问题的能力; 3 通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研 制的过程,软硬件设计的方法、内容及步骤。 4 学会用 PROTEL99SE 进

14、行电路原理图和 PCB 图的绘制。 5 学习用 PSPICE、 MULTISIM 8 等仿真软件进行电路设计和仿真。 1.3 国内外的研究状况 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的 温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相 比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的 PID 控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、 自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表 较少。随着我国经济的发展,对科研的投入加大,对相关企业资源进行了重组, 相继建立了一些国家级,省级的研发

15、机构,开展创新性研究,使我国仪表工业 得到了迅速的发展。 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功 能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件: CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如 通讯接口、定时器,实时时钟等外围设备。国内很多公司已经能够独立生产一 些高性能的单片机了,例如华为,炬力,中兴等公司。而现在最强大的单片机 系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 目前,高端的 32 位单片机主频已经超过 300MHz,性能直追 90 年代中期的专 用处理器,而普通的型号出厂价格跌落至几毛

16、钱,最高端的型号也只有 10 美元。 当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作 系统被广泛应用在全系列的单片机上。 单片机发展有明显的趋势,可靠性及应用越来越水平高和互联网连接已是 一种明显的走向。它所集成的部件越来越多;NS(美国国家半导体)公司的单 片机已把语音、图象部件也集成到单片机中,也就是说,单片机的意义只是在 于单片集成电路,而不在于其功能了;如果从功能上讲它可以讲是万用机。原 因是其内部已集成上各种应用电路,它的功耗越来越低和模拟电路结合越来越 多。随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生 新的变化和进步,最终人们可能发现:单片

17、机与微机系统之间的距离越来越小, 甚至难以辨认。 1.4 课题的主要工作 本课题的研究重点是设计一种基于单片机的数字温度计控制系统。利用数 字温度传感器 DS18B20,此传感器课读取被测量温度值,进行转换。 主要工作如下: 1.选好 mcu 和温度传感器以及显示元件,画出硬件电路图,并且焊接好电 路 2.温度检测器件采用 DS18B20 数字式温度传感器,利用单总线式连接方式 与单片机的串行接口 P0.0 引脚相连; 3.显示电路采用 1602 液晶,能准确显示温度 4.编写好程序,调试,以达到设计要求 1.5 论文构成及研究内容 数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶

18、,半 导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变 化,温度变化和电信号的变化有一定的关系,这个电信号可以使用模数转换的 电路即 A/D 转换电路将模拟信号转换为数字信号,数字信号再送给处理单元, 如单片机或者 PC 机等,处理单元经过内部的软件计算将这个数字信号和温度 联系起来,成为可以显示出来的温度数值,然后通过显示单元,显示出来给人 观察。这样就完成了数字温度计的基本测温功能。其主要研究内容包括两方面, 一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件 部分的设计,应用 C 语言实现温度的采集与显示。通过利用数字温度传感器 DS18B20 进行

19、设计,能够满足实时检测温度的要求,同时通过 LED 数码管的 显示功能,构成实现温度检测与显示的单片机控制系统,即数字温度计。通过 对单片机编写相应的程序可以实现不间断的温度显示,并带有复位功能。 2 开发工具 keil 2.1 软件 Keil 介绍 编程使用的软件是 KEIL,编程使用 C 语言。 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显 的优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理 和一个功能强大的仿真调试器等在内的完整开发

20、方案,通过一个集成开发环境 (uVision)将这些部分组合在一起。运行 Keil 软件需要 WIN98、NT、WIN2000、WINXP 等操作系统。假如运用 C 语言编程,Keil 的 使用十分方便,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环 境、强大的软件仿真调试工具也能发挥很大作用。 2.1.1 系统概述 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体 会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现

21、高级语言的优势。下面详细介绍 Keil C51 开发系统各部分功能和使用。 2.1.2 Keil C51 单片机软件开发系统的整体结构 C51 工具包的整体结构,uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开 发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别 由 C51 及 C51 编译器编译生成目标文件(OBJ)。目标文件可由 LIB51 创建生 成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(ABS)。 ABS 文件由 OH5

22、1 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直 接写入程序存贮器如 EPROM 中。 使用独立的 Keil 仿真器时,注意事项: *仿真器标配 110592MHz 的晶振,但用户可以在仿真器上的晶振插孔中 换插其他频率的晶振。 *仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 *仿真芯片的 31 脚(/EA)已接至高电平,所以仿真时只能使用片内 ROM,不能使用片外 ROM;但仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚相连,故该仿真器仍可插入到扩展有外部 ROM(其 CPU

23、 的/EA 引脚接至低 电平)的目标系统中使用。 3 数字温度计的方案设计 3.1 设计方案论证与比较 3.1.1 显示电路方案 方案一:采用数码管动态显示 使用七段 LED 数码管,采用动态显示的方法来显示各项指标,此方法虽然 价格成本低,但是显示单一,且功耗较大。 方案二:采用 LCD 液晶显示 采用 1602 LCD 液晶显示,此方案显示内容相对丰富,且价格不高。 综合上述原因,采用方案二,使用 LCD 液晶作显示电路。 3.1.2 测温电路方案 方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应, 在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以

24、用单片 机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需 要用到 A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比 较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器, 所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器, 可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以 实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低, 可靠性高,软件设计也比较简

25、单,故采用了方案二。 3.2 系统总体构成图和系统总电路图 如图 3-1 和图 3-2 所示 89C52 MAX232 电平转换 PC 机 键盘电路 DS18B20 温度传感器 1602 显示 蜂鸣器报警 晶振电路 图 3-1 系统总体构成图 图 3-2 系统总电路图 4 系统硬件设计 4.1 核心处理器的设计 4.1.1 STC89C52 的简介 对于单片机的选择,可以考虑使用 8031 与 8051 系列,由于 8031 没有内部 RAM,系统又需要大量内存存储数据,因而不适用。所以,我们选用 51 系列 单片机 STC89C52。STC89C52 是一种低功耗、高性能 CMOS8 位微控

26、制器,具 有 8K 在系统可编程 Flash 存储器。在单芯片上,拥有灵巧的 8 位 CPU 和在 系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超 有效的解决方案。 具有以下标准功能: 8k 字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口。低价位 STC89C52 单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域, 对于简单的测温系统已经足够。单片机 STC89C52 具有低电压供电和

27、体积小等 特点,很适合便携手持式产品的设计使用。系统可用 3 节电池供电。 STC89C52 单片机的基本组成框图见图 4-1。【2】 时钟电路 ROM/EPROM/Flash 4KB RAM128B SFR 21个 定时个/计数器2 CPU 总线控制 中断系统 5个中断源 2个优先级 串行口 全双工1个 4个并行口 XTAL2XTAL1 RST EA ALE PSEN P0P1P2P3 Vss Vcc 图 4-1 STC89C52 单片机结构图 由图 4-1 可见,STC89C52 单片机主要由以下几部分组成: 1.cpu 系统: 8 位 cpu,含布尔处理器; 时钟电路;总线控制逻辑。 2

28、.存储器系统:4K 字节的程序存储器(ROM/EPROM/Flash,可外扩至 64KB); 128 字节的数据存储器(RAM,可再外扩 64KB); 特殊功能寄存 器 SFR。 3.I/O 口和其他功能单元: 中断系统(5 个中断源,2 个优先级); 4 个并行 I/O 口;2 个 16 位定时计数器;1 个全双工异步串行口。 4.1.2 STC89C52 单片机主要特性 1. 一个 8 位的微处理器(CPU)。 2. 片内数据存储器 RAM(128B),用以存放可以读写的数据,如运算的中 间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供 1K 的 RAM。 3. 片内程序

29、存储器 ROM(4KB),用以存放程序、一些原始数据和表格。但 也有一些单片机内部不带 ROM/EPROM,如 8031,8032,80C31 等。目前单 片机的发展趋势是将 RAM 和 ROM 都集成在单片机里面,这样既方便了用户 进行设计又提高了系统的抗干扰性。SST 公司推出的 89 系列单片机分别集成 了 16K、32K、64K Flash 存储器,可供用户根据需要选用。 4. 四个 8 位并行 IO 接口 P0P3,每个口既可以用作输入,也可以用作 输出。 5. 两个定时器计数器,每个定时器计数器都可以设置成计数方式,用 以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定

30、时的结 果实现计算机控制。为方便设计串行通信,目前的 52 系列单片机都会提供 3 个 16 位定时器/计数器。 6. 五个中断源的中断控制系统。现在新推出的单片机都不只 5 个中断源, 例如 SST89E58RD 就有 9 个中断源。 7. 一个全双工 UART(通用异步接收发送器)的串行 IO 口,用于实现单片 机之间或单机与微机之间的串行通信。 8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允 许振荡频率为 12MHz。SST89V58RD 最高允许振荡频率达 40MHz,因而大大 的提高了指令的执行速度。【3】 4.1.3 STC89C52 单片机管脚图 STC89

31、C52单片机管脚如图 4-2 所示 图 4-2 STC89C52单片机管脚图 部分引脚说明: 1.时钟电路引脚 XTAL1 和 XTAL2: XTAL2(18 脚):接外部晶体和微调电容的一端;在 8051 片内它是振荡电 路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时 钟电路时,该引脚输入外部时钟脉冲。要检查 8051/8031 的振荡电路是否正常 工作,可用示波器查看 XTAL2 端是否有脉冲信号输出。 XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反 相放大器的输入端。在采用外部时钟时,该引脚必须接地。 2.控制信号引脚 RST,ALE,P

32、SEN 和 EA: RST/VPD(9 脚):RST 是复位信号输入端,高电平有效。当此输入端保持 备用电源的输入端。当主电源 Vcc 发生故障,降低到低电平规定值时,将5V 电源自动两个机器周期(24 个时钟振荡周期)的高电平时,就可以完成复位操作。 RST 引脚的第二功能是 VPD,即接入 RST 端,为 RAM 提供备用电源,以保证 存储在 RAM 中的信息不丢失,从而合复位后能继续正常运行。 ALE/PROG(30 脚):地址锁存允许信号端。当 8051 上电正常工作后,ALE 引脚不断向外输出正脉冲信号,此频率为振荡器频率 fOSC 的 1/6。CPU 访问 片外存储器时,ALE 输

33、出信号作为锁存低 8 位地址的控制信号。平时不访问 片外存储器时,ALE 端也以振荡频率的 1/6 固定输出正脉冲,因而 ALE 信号 可以用作对外输出时钟或定时信号。如果想确定 8051/8031 芯片的好坏,可用 示波器查看 ALE 端是否有脉冲信号输出。如有脉冲信号输出,则 8051/8031 基 本上是好的。ALE 端的负载驱动能力为 8 个 LS 型 TTL(低功耗甚高速 TTL)负 载。此引脚的第二功能 PROG 在对片内带有 4KB EPROM 的 8751 编程写入 (固化程序)时,作为编程脉冲输入端。 PSEN(29 脚):程序存储允许输出信号端。在访问片外程序存储器时,此端

34、 定时输出负脉冲作为读片外存储器的选通信号。此引肢接 EPROM 的 OE 端(见 后面几章任何一个小系统硬件图)。PSEN 端有效,即允许读出 EPROMROM 中的指令码。PSEN 端同样可驱动 8 个 LS 型 TTL 负载。要检查一个 8051/8031 小系统上电后 CPU 能否正常到 EPROMROM 中读取指令码,也 可用示波器看 PSEN 端有无脉冲输出。如有则说明基本上工作正常。 EA/Vpp(31 脚):外部程序存储器地址允许输入端/固化编程电压输入端。当 EA 引脚接高电平时,CPU 只访问片内 EPROM/ROM 并执行内部程序存储器中 的指令,但当 PC(程序计数器)

35、的值超过 0FFFH(对 8751/8051 为 4K)时,将自动 转去执行片外程序存储器内的程序。当输入信号 EA 引脚接低电平(接地)时, CPU 只访问外部 EPROM/ROM 并执行外部程序存储器中的指令,而不管是否 有片内程序存储器。对于无片内 ROM 的 8031 或 8032,需外扩 EPROM,此时 必须将 EA 引脚接地。此引脚的第二功能是 Vpp 是对 8751 片内 EPROM 固化 编程时,作为施加较高编程电压(一般 12V21V)的输入端。 1.输入/输出端口 P0/P1/P2/P3: P0 口(P0.0P0.7,3932 脚):P0 口是一个漏极开路的 8 位准双向

36、 I/O 口。 作为漏极开路的输出端口,每位能驱动 8 个 LS 型 TTL 负载。当 P0 口作为输 入口使用时,应先向口锁存器(地址 80H)写入全 1,此时 P0 口的全部引脚浮空, 可作为高阻抗输入。作输入口使用时要先写 1,这就是准双向口的含义。在 CPU 访问片外存储器时,P0 口分时提供低 8 位地址和 8 位数据的复用总线。在此 期间,P0 口内部上拉电阻有效。 P1 口(P1.0P1.7,18 脚):P1 口是一个带内部上拉电阻的 8 位准双向 I/O 口。P1 口每位能驱动 4 个 LS 型 TTL 负载。在 P1 口作为输入口使用时,应先 向 P1 口锁存地址(90H)写

37、入全 1,此时 P1 口引脚由内部上拉电阻拉成高电平。 P2 口(P2.0P2.7,2128 脚):P2 口是一个带内部上拉电阻的 8 位准双向 I/O 口。P 口每位能驱动 4 个 LS 型 TTL 负载。在访问片外 EPROM/RAM 时, 它输出高 8 位地址。 P3 口(P3.0P3.7,1017 脚):P3 口是一个带内部上拉电阻的 8 位准双向 I/O 口。P3 口每位能驱动 4 个 LS 型 TTL 负载。P3 口与其它 I/O 端口有很大的 区别,它的每个引脚都有第二功能,如下: P3.0:(RXD)串行数据接收。 P3.1:(RXD)串行数据发送。 P3.2:(INT0#)外

38、部中断 0 输入。 P3.3:(INT1#)外部中断 1 输入。 P3.4:(T0)定时/计数器 0 的外部计数输入。 P3.5:(T1)定时/计数器 1 的外部计数输入。 P3.6:(WR#)外部数据存储器写选通。 P3.7:(RD#)外部数据存储器读选通。 4.1.4 80C51 单片机的中断系统 80C51 系列单片机的中断系统有 5 个中断源,2 个优先级,可以实现二级中 断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器 IE 控制 CPU 是否响 应中断请求;由中断优先级寄存器 IP 安排各中断源的优先级;同一优先级内各 中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。 4

39、.1.5 80C51 单片机的定时/计数器 在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、 定时扫描等;也经常要对外部事件进行计数。80C51 单片机内集成有两个可编 程的定时/计数器:T0 和 T1,它们既可以工作于定时模式,也可以工作于外部 事件计数模式,此外,T1 还可以作为串行口的波特率发生器。 4.1.6 复位电路的设计 单片机复位电路的设计如图 4-3 所示。该复位电路采用手动复位与上电复位 相结合的方式。当按下按键 S5 时,VCC 通过 R11 电阻给复位输入端口一个高 电平,实现复位功能,即手动复位。上电复位就是 VCC 通过电阻 R11 和电容 C5 构成

40、回路,该回路是一个对电容 C5 充电和放电的电路,所以复位端口得到 一个周期性变化的电压值,并且有一定时间的电压值高于 CPU 复位电压,实现 上电复位功能。 图 4-3 单片机复位电路 4.1.7 晶振电路的设计 单片机晶振电路的设计如图 4-4 所示。XTAL1(X1)为反向振荡放大器的 输入及内部时钟工作电路的输入。XTAL2(X2)是来自反向振荡器的输出。按照 理论上 AT89C51 使用的是 12MHz 的晶振,但实测使用 11.0592MHz。所以设计 者通常用的是 11.0592MHz。 图 4-4 单片机晶振电路 4.2 液晶显示模块 4.2.1 LCD 液晶显示器简介 显示器

41、是人与机器沟通的重要界面,早期以显像管(CRT/Cathode Ray Tube) 显示器为主,但随着科技不断进步,各种显示技术如雨后春笋般诞生,近来由 于液晶(LCD)显示器具有轻薄短小、耗电量低、无辐射危险,平面直角显示以 及影像稳定不闪烁等优势,在近年来价格不断下跌的吸引下,逐渐取代 CRT 之 主流地位,显示器明日之星架势十足。 液晶是一种既具有液体的流动性又具有光学特性的有机化合物,它的透明 程度和呈现的颜色受外加电场的影响,利用这特点便可做成字符显示器。 液晶显示器(LCD)英文全称为 Liquid Crystal Display,它一种是采用了液晶 控制透光度技术来实现色彩的显示

42、器。和 CRT 显示器相比,LCD 的优点是很 明显的。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不 变,这样就无须考虑刷新率的问题。4 显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分 用的是 LCD 液晶模块,采用一个 161 的字符型液晶显示模块。 点阵图形式液晶由 M 行N 列个显示单元组成,假设 LCD 显示屏有 64 行,每行有 128 列,每 8 列对应 1 个字节的 8 个位,即每行由 16 字节,共 168=128 个点组成,屏上 6416 个显示单元和显示 RAM 区 1024 个字节 相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符

43、由 68 或 88 点阵组成,即要找到和屏上某几个位置对应的显示 RAM 区的 8 个字节, 并且要使每个字节的不同的位为1,其它的为0,为1的点亮,为 0的点暗,这样一来就组成某个字符。但对于内带字符发生器的控制器来说, 显示字符就比较简单了,可让控制器工作在文本方式,根据在 LCD 上开始显 示的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该 字符对应的代码即可。 1602 液晶模块简介微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖 珍式仪表和低功耗应用系统中。1602 的管脚分布如图 4-5 所示5 图 4-5 1602 的管脚分布 各引脚接口说明如表 4-1 所

44、示: 编号符号引脚说明编号符号引脚说明 1VSS电源地9D2数据 2VDD电源正极10D3数据 3VL液晶显示偏压11D4数据 4RS数据/命令选择12D5数据 5R/W读/写选择13D6数据 6E使能信号14D7数据 7D0数据15BLA背光源正极 8D1数据16BLK背光源负极 表 4-1:引脚接口说明表 第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时 对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位 器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄

45、存器、低电平时选择指令 寄存器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行 命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 4.2.2 液晶显示部分与 STC89C52 的接口 LCD 显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机 的串行口

46、来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式, 波特率为振荡频率的 1/12。当器件执行任何一条将 SBUF 作为目的寄存器的命 令时,数据便开始从 RXD 端发送。在写信号有效时,相隔一个机器周期后发送 控制端 SEND 有效,即允许 RXD 发送数据,同时允许从 TXD 端输出移位脉冲。 4.3 数字温度传感器 DS18B20 简介 4.3.1 DS18B20 概述 由 dallas 半导体公司生产的 ds18b20 型单线智能温度传感器,属于新一代 适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测 量及控制仪器、测控系统和大型设备中。它具有体积小,接口

47、方便,传输距离 远等特点。6 4.3.2 DS18B20 的性能特点 (1)采用单总线的接口方式。与微处理器连接时,仅需要一条口线即可实 现微处理器与 DS18B20 的双向通讯。 (2)测量温度范围宽。测量精度高 DS18B20 的测量范围为 -55 + 125 ; 在 -10+ 85C 范围内,精度为 0.5C 。 (3)在使用中不需要任何外围元件。 (4)持多点组网功能。多个 DS18B20 可以并联在惟一的三线上,实现多点 测温。 (5)供电方式灵活。DS18B20 可以通过内部寄生电路从数据线上获取电源。 因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而 使系统 结构更

48、趋简单,可靠性更高。 (6)测量参数可配置。DS18B20 的测量分辨率可通过程序设定 912 位。 (7)负压特性。电源极性接反时,温度计不会因发热而烧毁,但不能正常 工作。 (8)掉电保护功能。DS18B20 内部含有 EEPROM,在系统掉电以后,它仍可 保存分辨率及报警温度的设定值。 DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式, 更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者 们所青睐。 4.3.3 DS18B20 的内部结构与管脚 DS18B20 内部结构主要由四部分组成:温度传感器,64 位光刻 ROM,非 挥发的温度报警触发器 T

49、H 和 TL,高速暂存器。 DS18B20内部结构及功能: DS18B20的内部结构如图4-6所示。主要包括:寄生电源,温度传感器,64 位 ROM 和单总线接口,存放中间数据的高速暂存器 RAM,用于存储用户设定 温度上下限值的 TH 和 TL 触发器,存储与控制逻辑,8位循环冗余校验码 (CRC)发生器等7部分7 64 位 ROM 和单线接口 高速缓存 存储器与控制逻辑 温度传感器 低温触发器TL 8位CRC发生器 高温触发器TH 配置寄存器Vdd 图4-6 DS18B20内部结构 DS18B20 管脚排列 DS1820 采用 3 脚 PR-35 封装或 8 脚 SOIC 封装,管脚排列如

50、图 4-7 所示。 图中 GND 为地,I/O 为数据输入/输出端(即单线总线),该脚为漏极开路输出, 常态下呈高电平。VDD 是外部+5V 电源端,不用时应接地。NC 为空脚。 图 4-7 DS18B20 的管脚排列图 4.3.4 DS18B20 测温原理 DS18B20 的内部测温电路框图如图 4-8 所示,其内部含有两个温度系数不 同的温敏振荡器,其中低温度系数振荡器相当于标尺,高温度系数振荡器相当 于测温元件,通过不断比较两个温敏振荡器的振荡周期得到两个温敏振荡器在 测量温度下的振荡频率比值。根据频率比值和温度的对应曲线得到相应的温度 值。这种方式避免了测温过程中的 A/D 转换,提高

51、了温度测量的精度。低温度 系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减 法计数器 1。高温度系数晶振随温度变化其震荡频率明显改变,很敏感的振荡 器,所产生的信号作为减法计数器 2 的脉冲输入,为计数器 2 提供一个频率 随温度变化的计数脉冲。图中还隐含着计数门,当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。 计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将 -55 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温 度寄存器被预置在 -55 所对应的一个基数值。减法计数器 1 对低温度

52、系数 晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度 寄存器的值将加 1 ,减法计数器 1 的预置将重新被装入,减法计数器 1 重新 开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温 度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计 数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到 被测温度值。 图 4-8 DS18B20 的内部测温电路框图 DS18B20 内部结构主要由四部分组成:温度传感器、64 位光刻 ROM、非 挥发的温度

53、报警触发器 TH 和 TL、配置寄存器。光刻 ROM 中的 64 位序列号是 出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。64 位光刻 ROM 的排列是:开始 8 位(地址:28H)是产品类型的编号,接着的 48 位是每个 DS18B20 自身的序列号,并且每个 DS18B20 的序列号都不相同,因此它可以 看作是该 DS18B20 的地址序列码;最后 8 位则是前面 56 位的 CRC 校验码 (CRC=X8+X5+X4+1)。由于每一个 DS18B20 的 ROM 数据都各不相同, 因此微控制器就可以通过单总线对多个 DS18B20 进行寻址,从而实现一根总 线上挂接多

54、个 DS18B20 。 DS18B20 中的温度传感器用于完成对温度的测量,它的测量精度可以配置 成 9 位, 10 位,11 位或 12 位 4 种状态。温度传感器在测量完成后将测量的结 果存储在 DS18B20 的两个 8BIT 的 RAM 中,单片机可通过单线接口读到该数 据,读取时低位在前,高位在后数据的存储格式如图 4-9 所示(以 12 位转化为 例): 图 4-9 温度信号寄存器格式 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0 ,这 5 位 为 0 ,只要将测到的数值乘于 0

55、.0625 即可得到实际温度;如果温度小于 0 ,这 5 位为 1 ,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。 例如: + 125 的数字输出为 07D0H , + 25.0625 的数字输出为 0191H , -25.0625 的数字输出为 FF6FH , -55 的数字输出为 FC90H 。 DS18B20 完成温度转换后,就把测得的温度值与 TH , TL 作比较,若 TTH 或 TTL, 则将该器件内的告警标志置位,并对主机发出的告警搜索命 令作出响应。因此,可用多只 DS18B20 同时测量温度并进行告警搜索。 4.3.5 温度采集电路 设计的温度采集电路如

56、图 4-11 所示。 图 4-10 温度采集电路图 4.3.6 DS18B20 使用中的注意事项 DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等 优点,但在实际应用中也应注意以下几方面的问题: 1. DS18B20 从测温结束到将温度值转换成数字量需要一定的转换时间,这 是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。 2. 在实际使用中发现,应使电源电压保持在5V 左右,若电源电压过低, 会使所测得的温度精度降低。 3. 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器 间采用串行数据传送,因此,在对DS1820进行读写编程时,必

57、须严格的保证读 写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序 设计时,对DS1820操作部分最好采用汇编语言实现。 4. 在DS18B20的有关资料中均未提及单总线上所挂DS18B20 数量问题,容 易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上 所挂DS18B20 超过8 个时,就需要解决微处理器的总线驱动问题,这一点在进 行多点测温系统设计时要加以注意。 5. 在DS18B20测温程序设计中,向DS18B20 发出温度转换命令后,程序总 要等待DS18B20的返回信号,一旦某个DS18B20 接触不好或断线,当程序读该 DS18B20

58、 时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件 连接和软件设计时也要给予一定的重视。 5系统软件设计 5.1主程序设计 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软 件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件 (主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的 关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计 算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各 执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模 块规划好后,就可以规划监控程序了。首先要根

59、据系统的总体功能选择一种最 合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行 模块之间地调度关系。主程序流程见图5-1。 主程序: 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前 温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其 程序流程如5-1所示: 图 5-1 主程序流程图 5.2 DS18b20 的读写操作 5.2.1 DS18B20 的读操作 DSl8B20 的主要数据元件有:64 位激光 Lasered ROM,温度灵敏元件和非 易失性温度告警触发器 TH 和 TL。DSl8B20 可以从单总线获取电源,当信号线

60、为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源 断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接 5 V 电源,给 DSl8B20 供电。DSl8B20 的供电方式灵活,利用外接电源还可增加 系统的稳定性和可靠性。DS18B20 读写时序如图 5-1、5-2、5-3:8 图 5-1 DS18B20 的复位时序图 图 5-2 DS18B20 的写数据时序图 图 5-3 DS18B20 的读数据时序图 由时序图可知,DS18B20 在复位时需要 480us 的低电平,等待 15us 后 MCU 将总线拉高,等待 DS18B20 的响应信号;DS18B20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论