欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    应用电子.pdf

    • 资源ID:73550935       资源大小:1.18MB        全文页数:33页
    • 资源格式: PDF        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    应用电子.pdf

    应用电子 目 录 摘要.1 1 绪论.2 1.1 选题的背景和意义.2 1.2 温度传感器的发展现状.2 1.3 单片机的特点及发展.4 1.3.1 单片机的特点.4 1.3.2 单片机的发展.5 1.4 本文主要工作.6 2 设计方案论证和系统的整体设计.6 2.1 设计方案论证.6 2.1.1 设计方案一(普通传感器+A/D 转换器).6 2.1.2 设计方案二(温度传感器 DS18B20).6 2.2 设计要求及功能.7 3 单片机控制电路设计.7 3.1 单片机的选型.7 3.1.1 AT89C2051 的主要功能特性.7 3.1.2 AT89C2051 的硬件结构.8 3.2 外围硬件电路设计.8 3.2.1 DS18B20 温度传感器工作原理.8 3.2.2 DS18B20 温度传感器与单片机的接口电路.11.3.3 LED 显示电路.13 3.3.1 显示电路设计.13 1 4 系统程序的设计.13 4.1 主程序.13 4.2 读出温度子程序.14 4.3 温度转换命令子程序.15 4.4 计算温度子程序.16 4.5 温度数据显示子程序.17 5 使用说明 .17 结束语.18 参考文献.19 附录一 元器件清单.19 附录二 原理图.20 附录三 原程序.20 2 摘 要 本设计采用 AT89S52 作为处理的核心部分,用 AD590 作为温度传感器,把采集到的 3 温度经放大后送到 AD0809,AD0809 送到 AT89S52,经过 AT89S52 处理后送到显示器,显示器将显示采集的温度,这样就能够达到题目的要求,而且其准确性也较高,而且也可用键盘进行设置报警温度,当超过设置温度时就会报警。【关键词】单片机、ADC0809、DB18B20、温度计、硬件系统 4 绪 论 1.1 选题的背景和意义 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。现在所使用的温度计通常都是精度为 1和 0.1的水银、煤油或酒精温度计。这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等,温度计中传感器是它的重要组成部分,它的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。但是,作为应用系统设计人员需要根据系统要求选用适宜的传感器,并与自己设计的系统连接起来,从而构成性能优良的监控系统。1.2 温度传感器的发展现状 传感器产品的门类品种繁多,用于流程工业的主要有:温度传感器、压力传感器、重量传感器、流量传感器、液位传感器、氧敏传感器,各种力敏传感器、气敏传感器、分析仪表等,用于机械工业的还有:开关类的接近/定位传感器、安全门开关等安全传感器、旋转编码器、视觉传感器、速度传感器、加速度传感器等。目前国内温度传感器共分 10 大类,24 小类,6000 个品种。而国内品种更多,如美国约有 17000 种温度传感器,所以我国发展温度传感器品种的领域很宽广。中国温度传感器的市场近几年一直持续增长,增长速度超过 15,2003 年销售额为 186 亿元,同比增长 32.9;而世界非军用传感器市场 1998 年为 325 亿美元,平均增长率为 9,预 5 计 2008 年将增加到 506 亿美元。2003 年中国传感器应用四大领域为工业及汽车电子产品、通信电子产品、消费电子产品专用设备,其中工业和汽车电子产品占市场份额的 33.5。由于改革开放,我国巨大的市场造车网,引来了各国厂商如西门子、横河、霍尼韦尔、欧姆龙、邦纳等公司,这为最终用户和工业设备制造厂带来了很大的便利,而国内传感器和检测仪表生产虽有发展,但这远不能跟上形势的要求。各国温度传感器生产和研发的规模在不断扩大,美国约有 1300 家生产和开发传感器的厂家,100 多个研究院所和院校,日本有 800 家厂商。我国近年建立了传感器技术国家重点实验室、微米/纳米国家重点实验室等研发基地,初步建立了敏感元件和传感器产业,2000 年总产量超过 13 亿只,目前我国已有 1688 家从事温度传感器的生产和研发的企业,其中从事 MEMS 研制生产的已有 50 多家,到“十五”末期,敏感元件和温度传感器年总产量已达到 20 亿只。传感器技术包括敏感机理、敏感材料、工艺设备和计测技术四个方面,约有 30 多种技术。随着微电子技术的发展,传感器技术发展很快,我国研发的力量尚需大量投入,特别要加强具有自主知识产权的温度传感器的开发、科研成果的转化及温度传感器生产产业化问题,在我国更是迫在眉睫的问题,在批量生产情况下,控制传感器产品性能(主要是稳定性、可靠性),使之合格率很高,就需要有先进的制造工艺和自动化水平很高的工艺设备泰士特科技,我国应在开发专用工艺设备上下功夫,解决传感器生产产业化的“瓶颈”问题;在传感器的应用上,特别是新型温度传感器的应用上,还没大力推广,改革开放创造了有利条件,各种工业设备应用了先进的温度传感器,这扩大了传感器市场,也使我国新型传感器生产产业化有了动力。我国在温度传感器生产产业化过程中,应该兼顾引进国外技术和自主创新两方面。在引进国外先进技术中,可以提高自己的技术,同时也满足了国内市场的需求,形成了传感器生产产业规模。如横河公司最近发布的 EJX 多变量变送器,就是个可以考虑引进技术的例子,它精度高(0.025)、智能化程度高,采用现场总线技术,由于能把质量流量、介质压力及导管堵塞、诊断、蒸气伴热诊断和孔板磨损情况等多种变量和信息经现场总线传输给中央控制室;对保证生产和提供设备维护信息、保证安全运行都很有利,这种新型变送器的发展,配 合了自动化系统管控一体化的变革,只有信息源头能力强了,信息丰富了,才能使信息化更好促进生产力发展。另外,它有广阔的市场,因为它在石油化工、冶金、电力等多个行业均用量很大。传感器产品的门类品种繁多,用于流程工业的主要有:温度传感器、压力传感器、重量传感器、流量传感器、液位传感器、氧敏传感器,各种力敏传感器、气敏传感器、分析仪表等,用于机械工业的还有:开关类的接近/定位传感器、安全门开关等安全传感器、旋转编码器、视觉传 6 感器、速度传感器、加速度传感器等。目前国内温度传感器共分 10 大类,24 小类,6000 个品种。而国内品种更多,如美国约有 17000 种温度传感器,所以我国发展温度传感器品种的领域很宽广。传感器技术包括敏感机理、敏感材料、工艺设备和计测技术四个方面,约有 30 多种技术。随着微电子技术的发展,传感器技术发展很快,我国研发的力量尚需大量投入,特别要加强具有自主知识产权的温度传感器的开发、科研成果的转化及温度传感器生产产业化问题,在我国更是迫在眉睫的问题,在批量生产情况下,控制传感器产品性能(主要是稳定性、可靠性),使之合格率很高,就需要有先进的制造工艺和自动化水平很高的工艺设备泰士特科技,我国应在开发专用工艺设备上下功夫,解决传感器生产产业化的“瓶颈”问题;在传感器的应用上,特别是新型温度传感器的应用上,还没大力推广,改革开放创造了有利条件,各种工业设备应用了先进的温度传感器,这扩大了传感器市场,也使我国新型传感器生产产业化有了动力。我国在温度传感器生产产业化过程中,应该兼顾引进国外技术和自主创新两方面。在引进国外先进技术中,可以提高自己的技术,同时也满足了国内市场的需求,形成了传感器生产产业规模。如横河公司最近发布的 EJX 多变量变送器,就是个可以考虑引进技术的例子,它精度高(0.025)、智能化程度高,采用现场总线技术,由于能把质量流量、介质压力及导管堵塞、诊断、蒸气伴热诊断和孔板磨损情况等多种变量和信息经现场总线传输给中央控制室;对保证生产和提供设备维护信息、保证安全运行都很有利,这种新型变送器的发展,配合了自动化系统管控一体化的变革,只有信息源头能力强了,信息丰富了,才能使信息化更好促进生产力发展。另外,它有广阔的市场,因为它在石油化工、冶金、电力等多个行均用量很大。1.3 单片机的特点及发展 1.3.1 单片机的特点 科技发展到今天,人们的生活中涌现出各种各样的科技产品,各种各样的电子产品更是花样百出、遍及人们生活中的每一部分,现在人们更是感觉到了科技给人们带来的巨大发展,科学技术作为第一生产力在人类社会的发展中起了很大的推动作用,人类从原始向先进的发展都伴随着科学的发展。当今微型计算机技术发展形成两大分支,一是以微处理器(Micro Processor Unit)为核心所构成的通用微机系统,主要用于科学计算、数据处理、图形图像处理、数据库管理、人工智能、数字模拟与仿真等领域。另一分支是为控制器(Micro Controller Unit),俗称单片机。单片机主要用于工业测控,如家用电器、计算机外围设备、工业智能化仪表、机器人、生产过程的自动控制、农业、化工、军事、航空航天等领域。作为 21 世纪的工科大学生,不仅要熟练的使用通用微机进行各种数据处理,还要把计算机技术运用到本专业领域或相关领域,即具有“开发能力”。本次课题(模拟电视信号中断测量仪)7 的设计具有两方面的意义:1、充分肯定了我们的“开发能力”;2、锻炼了我们的动手与操作能力,熟练了单片机知识。信息技术革命的火炬是由微电子技术革命点燃的,它促进了计算机技术、通信技术及其他微电子技术的更新换代,至今,尚未有尽期。信息技术革命推动产业革命,是人类社会经历了农业、工业社会后进入了信息社会,在现代社会中,信息越来越显示出它在经济上和社会上的重要作用。人们对于信息的行为,自觉的认识信息,逐渐过度到积极的获取信息,又进而广泛的利用信息。1.3.2 单片机的发展 1974 年,美国仙童(Firchild)公司研制的世界第一台单片微型机 F8.该机有两块集成电路芯片组成,结构奇特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视.从此,单片机开始迅速发展,应用领域也在不断扩大.现已成为微型计算机的重要分支,单片机的发展过程通常可以分为一下几个发展过程:(1)第一代单片机(1974-1976):这是单片机发展的起步阶段.在这个时期生产的单片机特点是,制造工艺落后和集成度低,而且采用了双片形式.典型的代表产品有 Fairchild 公司的 F8和 Mostek387 公司的 3870 等。(2)第二代单片机(1976-1978):这是单片机的第二发展阶段.这个时代生产的单片机随眼已能在单块芯片内集成 CPU,并行口,定时器,RAM 和 ROM 等功能部件,但性能低,品种少,应用范围也不是很广,典型的产品有 Inrel 公司的 MCS-48 系列机。(3)第三代单片机(1979-1982):这是八位单片机成熟的阶段.这一代单片机和前两代相比,不仅存储容量和寻址范围大,而且中断源,并行 I/O 口和定时器/计数器个数都有了不同程度的增加,更有甚者是新集成了全双工穿行通信接口电路.在指令系统方面,普遍增设了惩处法和比较指令.这一时期生产的单片机品种齐全,可以满足各种不同领域的需要.代表产品有 Intel 公司的MCS-51系列机,Motorola公司的MC6801系列机,TI公司的TMS7000系列机,此外,Rockwell,NS,GI 和日本松下等公司也先后生产了自己的单片机系列。(4)第四代单片机(1983 年以后):这是十六位单片机和八位高性能单片机并行发展的时代,十六位机的特点是,工艺先进,集成度高和内部功能强,加法运算速度可达到 1us 以上,而且允许用户采用面向工业控制的专用语言,如 PL/MPLUS C 和 Forth 语言等.代便产品有 intel 公司的 MCS-96 系列,TI 公司的 TMS9900,NEC 公司的 783系列和 NS 公司的 HPC16040 等。然而,由于十六位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能,大容量和多功能新型八位单片机.这些单片机有 Intel 公司的 88044(双 CPU 工作),Zilog 公司的 8 Super8(含 DMA 通道),Motorola 公司的 MC68CH11(内含 E2prom 及 A/D 电路)和 WDC 公司的65C124(内含网络接口电路)等等。1.4 本文主要工作 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机 AT89S51,测温传感器使用 DS18B20,用 3 位共阳极 LED 数码管以并口传送数据,实现温度显示,能准确达到以上要求。2 设计方案论证和系统的整体设计 2.1 设计方案论证 2.1.1 设计方案一(普通传感器+A/D 转换器)由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。2.1.2 设计方案二(温度传感器 DS18B20)进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。温度计电路设计总体设计框图如图 2.1 所示,控制器采用单片机 AT89S51,温度传感器采用DS18B20,用 3 位 LED 数码管以并口传送数据实现温度显示。9 图 总体设计方框图 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故 用了方案二。2.2 设计要求及功能 1、基本要求(1)测温范围-55C 至 150C,明亮显示。(2)能显示出测量温度值。(3)能够对超出最高温度进行报警。(4)学习掌握单片机采集测控系统的设计方法。2、发挥部分 能通过键盘改变其报警点,当超过其设置值时,就会自动报警,以达到监测的目的。3 单片机控制电路设计 3.1 单片机的选型 单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。此课题控制器采用单片机AT89S51。3.1.1 AT89C2051 的主要功能特性 AT89C2051 的主要功能特性(1)ATC89C2051 单片机采用 Flash 存储器技术,降低了制造成本,其软件、硬件与 MCS-51完全兼容。(2)AT89C2051 片内含有 2K 字节的 Flash 程序存储器,128 字节的片内 RAM。(3)允许工作的时钟为 024MHz 10(4)AT89C2051 不允许构造外部总线来扩充程序/数据存储器,所以它不需要 ALE、PSEN、RA、WR 一类的引脚。(5)AT89C2051 共有 20 个引脚,它只继承了 8031 最重要的引脚,体积小巧。3.1.2 AT89C2051 的硬件结构 ATC89C2051 的封装结构如下图:图 ATC89C2051 的封装结构 3.2 外围硬件电路设计 3.2.1 DS18B20温度传感器工作原理 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。DS18B20 的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为 3.05.5V;零待机功耗;温度以 9 或 12 位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;11 DS18B20 采用 3 脚 PR35 封装或 8 脚 SOIC 封装,其内部结构框图如图下所示。图 DS18B20 内部结构框图 DS18B20 内部结构 64 位 ROM 的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。温度报警触发器 TH 和 TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存 RAM 的结构为 8 字节的存储器,结构如图 2.3 所示。头 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝,是易失的,每次上电复位时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图 3 所示。低 5 位一直为 1,TM 是工作模式位,用于设置 DS18B20 在工作模式还是在测试模式,DS18B20 出厂时该位被设置为 0,用户要去改动,R1 和 R0 决定温度转换的精度位数,来设置分辨率。每一片 DSl820 在其 ROM 中都存有其唯一的 48 位序列号,出厂前已写入片内 ROM 中,主机在进入操作程序前必须逐一接入 DS18B20用读 ROM(33H)命令将该 DS18B20的序列号读出并登录。当主机需要对众多在线 DS18B20 的某一个进行操作时,首先要发出匹配 ROM 命令(55H),紧接着主机提供 64 位序列(包括该 DS18B20 的 48 位序列号)。之后的操作就是针对该 DS18B20的。而所谓跳过 ROM 命令即:MOV A,#0CCH。图 2.7 中先有跳过 ROM,即是启动所有 DS18B20 进行温度变换,之后通过匹配 ROM 再逐一地读回每个 DS18B20 的温度数据。在 DS18B20 组成的测温系统中,主机在发出跳过 ROM 命令之后,再发出统一的温度转换启动码 44H,就可以实现所有 DS18B20 的统一转换,再经 12 过 1s 后,就可以用很少的时间去逐一读取。这种方式使其 T 值往往小于传统方式。(由于采取公用的放大电路和 A/D 转换器只能逐一转换)。显然通道数越多,这种省时效应就越明显。图 DS18B20 字节定义 由图下可见,DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。R0R1000101119101112分辨率/位 温度最大转向时间/ms93.75187.5375750.图 DS18B20 温度转换时间表 高速暂存 RAM 的第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节读出前面所有 8 字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625LSB 式表示。当符号位 S0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表 2 是一部分温度值对应的二进制温度数据。13 DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、TL 字节内容作比较。若 TTH 或 TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只 DS18B20 同时测量温度并进行报警搜索。3.3.2 DS18B20 温度传感器与单片机的接口电路 DS 18B 20DS 18B 20DS 18B 204.7KGNDGNDGNDVCCVCC单片机.在 64 位 ROM 的最高有效字节中存储有循环冗余检验码(CRC)。主机 ROM 的前 56 位来计算 CRC 值,并和存入 DS18B20 的 CRC 值作比较,以判断主机收到的 ROM 数据是否正确。另外,由于 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作按协议进行。操作协议为:初使化 DS18B20(发复位脉冲)发 ROM功能命令发存储器操作命令处理数据。分别说明如下:1、初始化 单总线的所有处理均从初始化开始。初始化过程是主机通过向作为从机的DS18B20 芯片发一个有时间宽度要求的初始化脉冲实现的。初始化后,才可进行读写操作。2、ROM 操作命令 总线主机检测到 DS18B20 的存在 便可以发出 ROM 操作命令。ROM 操作命令 命令如下 指 令 代 码 Read ROM(读 ROM)33H Match ROM(匹配 ROM)55H Skip ROM(跳过 ROM CCH Search ROM(搜索 ROM)F0H 14 Alarm search(告警搜索)ECH 3、存储器操作 命令如下:指令 代码 Write Scratchpad(写暂存存储器)4EH Read Scratchpad(读暂存存储器)BEH Copy Scratchpad(复制暂存存储器)48H Convert Temperature(温度变)B8H Read Power supply(读电源)B4H 4、时序主机使用时间隙(time slots)来读写 DS18B20 的数据位和写命令字的位 (1)初始化 主机总线 to 时刻发送一复位脉冲(最短为 480us 的低电平信号),接着在 tl 时刻释放总线并进入接收状态。DS18B20 在检测到总线的上升沿之后等待 15-60us,接着DS18B20 在 t2 时刻发出存在脉冲(低电平持续 60-240 us)。(2)写时间隙 主机总线 t o 时刻从高拉至低电平时,就产生写时间隙见图 5-1 和图 5-2。从 to 时刻开始 15us 之内应将所需写的位送到总线上,DSl820 在 t o 后 15-60us 间对总线采样。若低电平,写入的位是 0。见图 2.5.1。若高电平写入的位是 1,连续写 2 位间的间隙应大 1us。(3)读时间隙 主机总线 to 时刻从高拉至低电平时,总线只须保持低电平 l us。之后在 t1 时刻将总线拉高,产生读时间隙,读时间隙在 t1 时刻后 t 2 时刻前有效,t 2 距 to 为 15us。也就是说 t 2 时刻前主机必须完成读位,并在 t o 后的 60us 一 120us 内释放总线,读位子程序(读得的位到 C 中)。3.3 LED 显示电路 显示电路采用 3 位共阳 LED 数码管,利用动态扫描方式,从 P0 口输出段码,P2 口的 P2.5、P2.6、P2.7 输出位码。3.3.1 显示电路设计 显示电路是采用 P0 口输出段码至 LED,P2 口控制位选通的动态扫描显示方式,三只数码 15 管用 NPN 型三极管驱动,这种显示方式的最大优点是显示清晰,软件设计简单。4 系统程序的设计 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。4.1 主程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图下所示。4.2 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如图下所示 16 4.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间 约为750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图,如图下所示 4.4 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 3.4 所示。17 图 3.4 计算温度流程图 4.5 温度数据显示子程序 显示数据子程序主要是对显示缓冲器中的显示数据进行刷新操作,查表送段码至 LED,开位码显示,采用动态扫描方式。17 5 使用说明 18 本电路额定工作直流电压为+5V,有极性判别保护功能,采用 7805 集成稳压芯片以保证电路的供电稳定,用户输入电源在 7-25V 均可正常工作。电路中有五个按键,从左到右依次为 S1、S2、S3、S4、RESET,介绍如下:S1 为设置温度上下限设置状态进入按键,第一次按下进入低限设置,按下 S4 后,再次按下 S1进入高限设置。S2 为设置温度上下限的+键,每按下一次上下限值加一 S3 为设置温度上下限的-键,每按下一次上下限值减一 S4 为温度上下限设置状态的退出或确定按键 RESET 为复位按键 使用方法及报警电路说明:接通电源,红色指示灯亮,表明电源正常。此时数码管应显示初值025,由于显示时间稍短,一闪即过。接下来显示当前温度,若不显示则说明硬件有问题,此时蜂鸣器将报警,绿色指示灯也会点亮。硬件正常,LED 就会显示当前温度。若此时检测到当前环境温度不在原来设定的上下限范围之内,蜂鸣器也将报警同是绿灯点亮。直到采取措施改变环境温度在上下限范围内或调整温度上下限 结束语 在我的不懈努力下,这次的单片机课程设计取得了圆满成功。这一期的课程设计我早已经做好了充分的准备。当老师一把课程设计的题目与要求公布出来我就开始分步骤进行。首先就是开始找电路,我分别在网上,图书馆查找资料,把那些认为可以做的电路找出来,然后集中在一起。最后我决定做一个数字温度计。于是我就真正的开始了,我先画 PCB 然后买元件检查 PCB 是否有误。再经过买元器件、焊接、调试,最后的任务就是写实验报告!在整个过程中,我从中学到了不少东西,更深一步掌握了单片机电路,更深的了解设计中所用到本电路的工作原理,同时也掌握了单片机各引脚的功能及用途。在用 Protel 制作电路图时,我掌握了制图的一些技巧及在画图时要注意的一些问题,同时也使我更能熟练地操作此软件。在自己动手制作实物多问多动脑多做,切切实实掌握了很多东西,比如焊接器件时要注意的一些事项及技术,硬件检测时所遇到的问题及解决运用的技术!19 做一次课程设计不仅要有实物而且还需要有论文。论文的撰写需要大量的资料,在查找资料的过程中,又培养了我从文献、科学实验、生产实践、和调查研究中获取知识的能力,提高了我从别人的经验、从其它学科找到解决问题新途径的悟性。在设计过程中,因为工作量较大,所以一定要分块进行,即每一阶段都有侧重点,然而,当中很可能会出现一些变化,这就要求你要根据条件变化而调整工作重点的应变能力。小小的一个课程设计的成功,也许算不上惊天地,泣鬼神,但是它也构成了我们人生最精彩的一部分,因为我们从中经历我们以前没有接触过的许多事情。他使我们懂得什么叫做团结合作;使我们懂得了为什么认真、谨慎是做好一件事情的关键;它也使我们的思想变得更加的成熟与稳重!参考文献 1 马潮 詹卫前 耿德跟 ATMEGA8 原理及应用手册清华大学出版社,2003 年 2 何立民单片机中级教程原理与应用北京航空航天大学出版社,2000 年 3 何立民MCS-51 单片机应用系统设计北京航空航天大学出版社,2000 年 4 王嘉陵毕业论文写作与答辩四川大学出版社,2003 年 附录一 元器件清单 类型 型号 备注 电阻 4.7K 个 1K 2 个 20 470 2 个 300 3 个 排阻 4.7K 1 个 电容 30PF 2 个 22uF 2 个 100uF 1 个 10pF 1 个 三极管 8050 3 个 8550 1 个 数码管(带底座)共阳极 3 个 温度传感器 DS18B20 1 个 晶振 1 2M 1 个 蜂鸣器 额定电压 5V 1 个 发光二极管 红色 1 个 绿色 1 个 稳压管 7805 1 个 四角开关 5 个 三脚电源插座 大 1 个 单片机(带底座)89S51 1 块 铜板 120mm*100mm 1 块 20 21 附录二 原理图 附录三 原程序 TEMPUTER EQU 29H;温度存储单元 TEMPH EQU 27H;温度上限标志位 TEMPL EQU 26H;温度下限标志位 SIGN EQU 5BH;按键 S1 按下次数标志位,为 1 时设置下限,为 2 时设置上限 S1 BIT P1.0;定义 S1 按键为温度上下限进入按键 S2 BIT P1.1;定义 S2 按键为温度上下限加一按键 S3 BIT P1.2;定义 S3 按键为温度上下限减一按键 S4 BIT P1.3;定义 S4 按键为温度上下限退出按键 ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV SP,#60H MOV 26H,#25;温度下限初值 MOV 27H,#99;温度上限初值 MOV SIGN,#00H MOV 37H,#2 MOV 36H,#5 22 MOV 38H,#0;上电复位后显示初值 LCALL DISPLAY *主程序 MAIN0:JB S1,NET1;判断 S1 是否按下,按下则顺序执行,否则跳转 LCALL D12MS;消抖动 JB S1,NET1;再次判断 S1 是否按下 JNB S1,$;等待 S1 抬起 INC SIGN;S1 标志位加 1 MOV A,SIGN CJNE A,#1,TIAO;S1 标志位与 1 比较,相等顺序执行,不等则跳转 LCALL TIAOTL TIAO:CJNE A,#2,NET1;S1 标志位与 2 比较,相等顺序执行,不等则跳转 MOV SIGN,#0;S1 标志位置 0 LCALL DISPLAY LCALL TIAOTH *温度比较子程序 NET1:MOV A,TEMPUTER CLR C SUBB A,TEMPH JNC BJ;当测试温度高于上限时报警 MOV A,TEMPUTER CLR C SUBB A,TEMPL JC BJ;当测试温度低于下限时报警 LCALL GET_TEMPER 23 LJMP MAIN0*报警子程序 BJ:CLR P2.1 LCALL DISPLAY LCALL D12MS LCALL DISPLAY LCALL D12MS LCALL DISPLAY LCALL D12MS LCALL GET_TEMPER LJMP MAIN0 *得出温度总子程序 GET_TEMPER:SETB P2.0 LCALL INIT_18B20 JB 20H.1,TSS2;检测 DS18B20 是否再线 RET TSS2:SETB P2.1 MOV A,#0CCH;跳过 ROM 匹配 LCALL WRITE_18B20 MOV A,#44H;发出温度转换命令 LCALL WRITE_18B20 LCALL INIT_18B20 MOV A,#0CCH;跳过 ROM 匹配 LCALL WRITE_18B20 MOV A,#0BEH;发出读取温度命令 24 LCALL WRITE_18B20 LCALL READ_18B20 RET *DS18B20 初始化子程序 INIT_18B20:SETB P2.0 NOP NOP CLR P2.0 MOV R1,#03H TSR1:MOV R0,#6BH DJNZ R0,$DJNZ R1,TSR1;主机发置位脉冲持续 600us 左右 SETB P2.0;主机释放总线,P1.0 口改为输入口 NOP NOP NOP MOV R0,#25H NOP NOP NOP NOP TSR2:JNB P2.0,TSR3;DS18B20 数据线应变低,如果没变低,说明没准备好,需重来 DJNZ R0,TSR2;DS18B20 等待 64us LJMP TSR4 TSR3:SETB 20H.1;不存在则置标志位 LJMP TSR5;不存在则重来 TSR4:CLR 20H.1;存在则清标志位 LJMP TSR7 25 TSR5:MOV R0,#6BH;重装初值 MOV R1,#03H TSR6:DJNZ R0,TSR6 MOV R0,#6BH DJNZ R1,TSR6 TSR7:SETB P2.0 LCALL DISPLAY RET *写 DS18B20 子程序 WRITE_18B20:MOV R2,#8;设置写位个数 CLR C WR1:CLR P2.0;写开始 NOP NOP MOV R3,#35;设置时间常数 DJNZ R3,$;保持整个写过程持续 60us SETB P2.0 NOP DJNZ R2,WR1;8 位完否,没完则返回 SETB P2.0 LCALL DISPLAY RET *读取温度子程序 READ_18B20:MOV R4,#2;设置读位个数 MOV R1,#36H 26 RE00:MOV R2,#8 RE01:CLR C SETB P2.0 NOP NOP CLR P2.0 NOP NOP NOP SETB P2.0 NOP NOP MOV C,P2.0;主机按位读入 DS18B20 的数据 MOV R3,#35 RE20:DJNZ R3,RE20;保证读数据过程持续 60us RRC A;数据送入 A DJNZ R2,RE01;读完整个转换值 MOV R1,A;A 中数据送数据缓冲区 DEC R1 MOV P0,A SETB P2.5;开个位显示 LCALL D12MS CLR P2.5;关个位显示 MOV A,37H MOVC A,A+DPTR MOV P0,A SETB P2.6;开十位显示 LCALL D12MS CLR P2.6;关十位显示 MOV A,38H 27 MOVC A,A+DPTR MOV P0,A SETB P2.7;开百位显示 LCALL D12MS CLR P2.7;关百位显示 RET *温度转换子程序;TEMPER_COV:MOV A,#0F0H ANL A,36H;舍去小数位 SWAP A MOV 37H,A MOV A,36H JNB ACC.3,TEMPER_COV1;四舍五入 INC 37H TEMPER_COV1:MOV A,35H ANL A,#07H;舍去温度中标志位 SWAP A ADD A,37H MOV 37H,A;把转换后温度放入 37H 中 LCALL BIN_BCD RET *BCD 转换子程序;BIN_BCD:MOV 29H,37H;把转换后温度放入温度存储单元中待比较 MOV A,37H 28 MOV B,#100 DIV AB MOV 38H,A MOV 37H,B XCH A,B MOV B,#10 DIV AB MOV 37H,A MOV 36H,B RET LCALL D12MS LCALL DISPLAY LCALL D12MS LCALL DISPLAY LCALL D12MS LCALL DISPLAY LCALL D12MS JNB S2,$INC TEMPL MOV 37H,TEMPL LCALL BIN_BCD MOV 38H,#

    注意事项

    本文(应用电子.pdf)为本站会员(l***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开