收藏 分享(赏)

基于C51单片机,DS18B20温度计的设计与实现_毕业设计论文范文模板参考资料.doc

上传人:HR专家 文档编号:6252499 上传时间:2019-04-03 格式:DOC 页数:27 大小:434.50KB
下载 相关 举报
基于C51单片机,DS18B20温度计的设计与实现_毕业设计论文范文模板参考资料.doc_第1页
第1页 / 共27页
基于C51单片机,DS18B20温度计的设计与实现_毕业设计论文范文模板参考资料.doc_第2页
第2页 / 共27页
基于C51单片机,DS18B20温度计的设计与实现_毕业设计论文范文模板参考资料.doc_第3页
第3页 / 共27页
基于C51单片机,DS18B20温度计的设计与实现_毕业设计论文范文模板参考资料.doc_第4页
第4页 / 共27页
基于C51单片机,DS18B20温度计的设计与实现_毕业设计论文范文模板参考资料.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、陕西教育学院高等专科学校毕业设计(论文)第 页 1前 言单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样性,各种适用于不同场合的智能温度控制器应运而生。电子温度计的出现,给人类的生活带来了很多方便,使人类不管是在生活还是在工业方面都有了很多便利之处。但是电子温度计主要应用还是在生产过程、实验室及研究所。电子温度计本身可由电源提供电压,用温度传感器检测温度,因此电子温度计属温度系统。控制理论从经典理论、现代理论已经发展到更先进的控制理论,控制系统也由简单的控制系统、大系统发展到今天的复杂系统。本文讨论的电子温度计温度控制

2、系统 AT89C2051 单片机提取 DS18B20 转化成温度变化通过单片机内部 A/D 转化电路转化成数值并由数显电路显示出来。在我们日常生活及各种生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。其缺点如下:1 硬件电路复杂;2 软件调试复杂;3 制作成本高。而传统的温度计也有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用集成温度传感器 DS18B20 设计并制作了一款基于 AT89C51 的 4 位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。其中温度传感器

3、 DS18B20,它集温度测量、AD 转换于一体,其测量范围宽(-55125),DS18B20 是一款具有单总线结构的器件。 由 DS18B20 组建的温度测量单元体积小,便于携带、安装。同时,DS18B20的输出为数字量,可以直接与单片机连接,无需后级 AD 转换,控制简单。陕西教育学院高等专科学校毕业设计(论文)第 页 2第一章 总体设计方案1.1 系统的设计原则 一般系统的设计原则包含安全性(稳定抗干扰性) ,操作的便利性(人性化),实时性,通用性和经济性。(1)安全可靠 首先要选用高性能的 AT89C51 单片机,保证在恶劣的工业环境下能正常运行。其次是设计可靠的控制方案,并具有各种安

4、全保护措施,如报警、事故预测、事故处理和不间断电源等。(2)操作维护方便操作方便表现在操作简单、直观形象和便于掌握且不强求操作工要掌握计算机知识才能操作。(3)实时性强选用高性能的 AT89C51 单片机的实时性,表现在内部和外部事件能及时地响应,并做出相应的处理。(4)通用性好 系统设计时应考虑能适应不同的设备和各种不同设备和各种不同控制对象,并采用积木式结构,按照控制要求灵活构成系统。主要表现在两个方面:一是硬件板设计采用标准总线结构(如 PC 总线) ,配置各种通用的模板,以便扩充功能时,只需增加功能模板就能实现;二是软件功能模块或控制算法采用标准模块结构,用户使用时不需要二次开发,只需

5、各种功能模块,灵活地进行控制系统组态。(5)经济效益高 1.2 系统的设计步骤(1)系统总体方案设计、(2)方案论证评审 硬件和软件的分别细化设计 硬件和软件的分别调试 系统的组装 (3)离线仿真和调试阶段 陕西教育学院高等专科学校毕业设计(论文)第 页 31.3 系体的总体方案设计和框图设计(1)系统的主要功能、技术指标、原理性方框及文字说明。(2)系统的硬件结构几配置,主要软件的功能、结构几框图。(3)保证性能指标要求的技术措施。(4)抗干扰性和可靠性设计。(5)工艺要求温度数码管显示。调节温度的超调量小于 30%。 实现温度闭环控制,控制温度误差范围0.1。温度范围:-50 125。供电

6、电压:交流 5。 方案一:方案一:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以使用热敏电阻之类的器件利用其感温效应,感温电路比较麻烦,进行 A/D 转换,才可以满足设计要求。方案二:由于本设计是测温电路,首先要选用高性能的 AT89C51 单片机,保证在恶劣的工业环境下能正常运行。单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。测温传感器使用二极管结电压变化的数值来转化成温度的变化,在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后

7、,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较陕西教育学院高等专科学校毕业设计(论文)第 页 4简单,故采用了方案二。考虑到方案中制作数字温度计,在单片机电路设计中,大多都是使用传感器,这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。温度计电路设计总体设计方框图如图 1 所示,控制器采用单片机AT89C51,温度传感器采用 DS18B20,用 4 位 LED 数码管以串口传送数据实现温度显示。图 1.1 总体设计方框

8、图主 控 制 器LED显示温 度 传 感 器单片机复位时钟振荡报警点按键调整陕西教育学院高等专科学校毕业设计(论文)第 页 5第二章 硬件设计2.1 主要器件说明2.1.1 主控制器 单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。如图 2.1 所示。(1)主要特性:与 MCS-51 兼容 4K 字节可编程闪烁存储器 寿命:1000 写/擦循环数据保留时间:10 年全静态工作:0Hz-24Hz三级程序存储器锁定128*8 位内部 RAM32 可编程 I/O 线两个 16 位定时器/计数器5

9、 个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 (2)管脚说明:VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高

10、,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在图 2.1陕西教育学院高等专科学校毕业设计(论文)第 页 6FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外

11、部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T

12、0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲

13、。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。陕西教育学院高等专科学校毕业设计(论文)第 页 7EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA

14、 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.1.2 显示器显示电路采用 3 位共阳 LED 数码管,利用动态扫描方式,从 P0 口输出段码,P2 口的 P2.5、P2.6、P2.7 输出位码。(1)LED 数码有共阳和共阴两种,把这些 LED 发光二极管的正极接到一块(一般是拼成一个 8 字加一个小数点)而作为一个引脚,为共阳管。如下图 2.2、2.3所示:图 2.2 图 2.32.1.3 温度传感器DS18B20 温度传感器是采用美

15、国 DALLAS 公司生产的 DS18B20 可组网数字温度传感器芯片,经焊接,外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。::技术性能描述* 独特的单线接口方式,DS1820 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS1820 的双向通讯,在使用中不需要任何外围元件。* 测温范围 55125,固有测温分辨率 0.5。 -* 支持多点组网功能,多个 DS1820 可以并联在唯一的三线上,实现多点测温。* 工作电源: 35V/DC陕西教育学院高等专

16、科学校毕业设计(论文)第 页 8* 测量结果以 9 位数字量方式串行传送。* 不锈钢保护管直径 6 * 适用于 1/2”, 3/4”, 1”, DN40DN250 各种介质工业管道和狭小空间设备测温:应用范围* 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域* 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。* 汽车空调、冰箱、冷柜、以及中低温干燥箱等。* 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制 .DS18B20 的性能特点如下:*独特的单线接口仅需要一个端口引脚进行通信;*多个 DS18B20 可以并联在惟一的三线上,实现多点组网

17、功能;*无须外部器件;*可通过数据线供电,电压范围为 3.05.5V;*零待机功耗;*温度以 9 或 12 位数字;*用户可定义报警设置;*报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;*负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 采用 3 脚 PR35 封装或 8 脚 SOIC 封装,其内部结构框图如图 2.4所示。I/OC64位ROM单线接口高速缓存存储器与控制逻辑温度传感器高温触发器 TH低温触发器 TL配置寄存器8 位 CRC 发生器Vdd陕西教育学院高等专科学校毕业设计(论文)第 页 9图 2.4 DS18B20 内部结构DS

18、18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列如图 2.5 所示: 图 2.5DS18B20 温度传感器的内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM。高速暂存 RAM 的结构为 8 字节的存储器,结构如图 2.6所示。头 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝,是易失的,每次上电复位时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数

19、值。该字节各位的定义如图 2.7 所示。低 5 位一直为 1,TM 是工作模式位,用于设置 DS18B20 在工作模式还是在测试模式,DS18B20 出厂时该位被设置为 0,用户要去改动,R1 和 R0 决定温度转换的精度位数,来设置分辨率。由表 2.1 可见,DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。表 2.1 DS18B20 温度转换时间表陕西教育学院高等专科学校毕业设计(论文)第 页 10高速暂存 RAM 的第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节读出前面所有 8 字节的 CRC

20、 码,可用来检验数据,从而保证通信数据的正确性。当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625LSB 式表示。当符号位 S0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表 2 是一部分温度值对应的二进制温度数据。DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、TL 字节内容作比较。

21、若 TTH 或 TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只 DS18B20 同时测量温度并进行报警搜索。在 64 位 ROM 的最高有效字节中存储有循环冗余检验码(CRC) 。主机 ROM 的前 56 位来计算 CRC 值,并和存入 DS18B20 的 CRC 值作比较,以判断主机收到的ROM 数据是否正确。另外,由于 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作按协议进行。操作协议为:初使化 DS18B20(发复位脉冲)发 ROM 功能命令发存储器操作命令处理数据。分别说明如

22、下:(1)初始化 单总线的所有处理均从初始化开始。初始化过程是主机通过向作为从机的 DS18B20 芯片发一个有时间宽度要求的初始化脉冲实现的。初始化后,才可进行读写操作。(2) ROM 操作命令 总线主机检测到 DS18B20 的存在 便可以发出 ROM 操作命令之一 这些命令表 2.2:表 2.2 ROM 操作命令R1 R0 分辨率/位 温度最大转换时间/MS0 0 9 93.750 1 10 187.51 0 11 3751 1 12 750指 令 代 码Read ROM(读 ROM) 33H陕西教育学院高等专科学校毕业设计(论文)第 页 11(3)存储器操作 命令如表 2.3:表 2.

23、3 存储器操作命令(4)时序 主机使用时间隙(time slots)来读写DS18B20 的数据位和写命令字的位初始化 图 2.7 初始化时序时序见图 2.7,主机总线 to 时刻发送一复位脉冲(最短为 480us 的低电平信号),接着在 tl 时刻释放总线并进入接收状态。DS18B20 在检测到总线的上升沿之后等待 15-60us,接着 DS18B20 在 t2 时刻发出存在脉冲(低电平 持续60-240 us)。如图中虚线所示:写时间隙 Match ROM(匹配 ROM) 55HSkip ROM(跳过 ROM CCHSearch ROM(搜索 ROM) F0HAlarm search(告警

24、搜索) ECH指令 代码Write Scratchpad(写暂存存储器) 4EHRead Scratchpad(读暂存存储器) BEHCopy Scratchpad(复制暂存存储器) 48HConvert Temperature(温度变换) 44HRecall EPROM(重新调出) B8HRead Power supply(读电源) B4H陕西教育学院高等专科学校毕业设计(论文)第 页 12图 2.8.1 写 0 时序 图 2.8.2 写 1 时序当主机总线 t o 时刻从高拉至低电平时,就产生写时间隙见图 2.8.1 和图2.8.2。从 to 时刻开始 15us 之内应将所需写的位送到总线

25、上,DSl820 在 t o后 15-60us 间对总线采样。若低电平,写入的位是 0。见图 2.5.1。若高电平写入的位是 1 见图 2.5.2。连续写 2 位间的间隙应大于 1us。读时间隙 见图 2.9,主机总线 to 时刻从高拉至低电平时,总线只须保持低电平 l us。之后在 t1 时刻将总线拉高,产生读时间隙,读时间隙在 t1 时刻后 t 2 时刻前有效,t 2 距 to 为 15us。也就是说 t 2 时刻前主机必须完成读位,并在 t o 后的 60us 一 120us 内释放总线,读位子程序(读得的位到 C 中)。图 2.9 读时序陕西教育学院高等专科学校毕业设计(论文)第 页

26、13DSl820 多路测量简介 初始化跳过 ROM变换温度等待 1S初始化设置 1820 个数匹配 ROM读存储器存放在缓冲区指针增 1初始化b-1=0?否是图 2.10 DSl820 原理框图每一片 DSl820 在其 ROM 中都存有其唯一的 48 位序列号,出厂前已写入片内 ROM 中,主机在进入操作程序前必须逐一接入 DS18B20 用读 ROM(33H)命令将该 DS18B20 的序列号读出并登录。当主机需要对众多在线 DS18B20 的某一个进行操作时,首先要发出匹配 ROM 命令(55H),紧接着主机提供 64 位序列(包括该DS18B20 的 48 位序列号)。之后的操作就是针

27、对该 DS18B20 的。而所谓跳过 ROM命令即:MOV A,#0CCH。图 2.10 中先有跳过 ROM,即是启动所有 DS18B20 进行温度变换,之后通过匹配 ROM 再逐一地读回每个 DS18B20 的温度数据。在 DS18B20 组成的测温系统中,主机在发出跳过 ROM 命令之后,再发出统一的温度转换启动码 44H,就可以实现所有 DS18B20 的统一转换,再经过 1s 后,就可以用很少的时间去逐一读取。这种方式使其 T 值往往小于传统方式。 (由于采取公用的放大电路和 A/D 转换器只能逐一转换) 。显然通道数越多,这种省时效应就越明显。DS1820 使用中注意事项 DS182

28、0 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于 DS1820 与微处理器间采用串行数据传送,因此,在对 DS1820 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M、C 等高级语言进行系统程序设计陕西教育学院高等专科学校毕业设计(论文)第 页 14时,对 DS1820 操作部分最好采用汇编语言实现。 (2)在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。当

29、单总线上所挂DS1820 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接 DS1820 的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用 DS1820 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 (4)在 DS1820 测温程序设计中,向 DS1820 发出温度转换命令

30、后,程序总要等待 DS1820 的返回信号,一旦某个 DS1820 接触不好或断线,当程序读该 DS1820 时,将没有返回信号,程序进入死循环。这一点在进行 DS1820 硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽 4 芯双绞线,其中一对线接地线与信号线,另一组接 VCC 和地线,屏蔽层在源端单点接地。2.1.4 稳压电源 78057805 管脚图如图 2.11 所示:2.2 各部分电路说明2.2.1 单片机控制部分在本设计中,采用了 AT89C51 单片机作为本电路的核心电路的设计。AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh

31、Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出图 2.11陕西教育学院高等专科学校毕业设计(论文)第 页 15管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C 单

32、片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(1)振荡器特性:XTAL1 和 XTAL2 的反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(2)单片机芯片的擦除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。AT89C51

33、 的稳态逻辑可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。(3)单片机的时钟电路图 2.12 片内振荡电路的时钟电路AT89C1 单片机内部的振荡电路是一个高增益反向放大器,引线 XTAL1 和XTAL2 分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C51 的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中

34、,所以此处选用内部时钟方式。即利用其内部的振荡电路在 XTAL1 和 XTAL2 引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1 和 XTAL2 之间接晶体振荡器与电路构成稳定的自激振荡器,如图 2.13 电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为 6MHz 的石英晶体,电容器一般选择 30PF 左右。(4)单片机的复位电路陕西教育学院高等专科学校毕业设计(论文)第 页 16本设计中 AT89C51 是采用上电自动复位和按键复位两种方式。最简单的复位电路如图 2.13 所示。上电瞬间,RC 电路充电,RST 引线端出现正脉冲,只要RST 端保持

35、 10ms 以上的高电平,就能使单片机有效地复位。其中 R1 和 R2 分别选择 200 和 1K 的电阻,电容器一般选择 22F。(5)AT89C51 的最小应用系统AT89C51 是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图 2.14 所示。这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的 IO 线。图 2.14 AT89C51 单片机构成的最小系2.2.2 传感器数据采集电路传感器数据采集电路主要指 DS18B20 温度传感器与单片机的接口电路。DS18B20 可以采用两种方式供电,一种是采用电源供电方式

36、,如图 2.15 所示,此时 DS18B20 的 1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图 2.15 所示单片机端口接单线总线,为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 管来完成对总线的上拉。当 DS18B20处于写存储器操作和温度 A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单线制只有一根图 2.13 AT89C51 的复位电路陕西教育学院高等专科学校毕业设计(论文)第 页 17线,因此发送接口必须是三态的。考虑到实际应用中寄生电源供电方式适应能力

37、差且易损坏,此处采用电源供电方式,I/O 口接单片机的 P2.0 口。1 2 3 4 5 6ABCD654321DCBATitleNu mber R ev isio nSizeBDate: 2 9-Ju n -2 0 06 Sheet o f File: H:度 度 度 度 度 度 度 .d db Drawn B y:R 11 kR 21 kR 34 70R 44 .7 kC 12 2uC 22 2uC 33 0pC 43 0pbs ou n dVTI8 55 0Y1C R YSTALR 54 70VC CEA/VP3 1X11 9 X21 8R ESET9R D1 7 W R1 6INT01

38、 2 INT11 3T01 4 T11 5P101 P112P123 P134P145 P156P167 P178P00 3 9P01 3 8P02 3 7P03 3 6P04 3 5P05 3 4P06 3 3P07 3 2P20 2 1P21 2 2P22 2 3P23 2 4P24 2 5P25 2 6P26 2 7P27 2 8PSEN 2 9ALE/P3 0TXD 1 1R XD 1 0U18 05 1GND1I/O2VDD3T1DS18 B 2 0R 64 .7 KVC CA1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U27 4ALS1 64A1B2

39、Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U37 4ALS1 64A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U47 4ALS1 64a b c d e f h dpab cdefgdpcom9LED4LEDa b c d e f h dpab cdefgdpcom9LED3LEDa b c d e f h dpab cdefgdpcom9LED2LEDD2LEDD1LEDS3 SW -PBS4SW -PBS2 SW -PBR 74 70R 84 70R 94 70VC CS5SW-PBS1SW -PBVC CVC CIN1 GND

40、2OUT 3W D 7 80 5C 51 00 u C 61 0p1GND 2VC C3J 1J 1GNDVC C图 2.15 电源供电方式2.2.3 显示电路显示电路是采用 P0 口输出段码至 LED,P2 口控制位选通的动态扫描显示方式,三只数码管用 NPN 型三极管驱动,这种显示方式的最大优点是显示清晰,软件设计简单。如图 2.16 所示:1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 27-Jun-2006 Sheet of File: J:xl度度度度度度.ddb Drawn By:R11kR21kR3470R44.7k

41、C122uC222uC330pC430pbsoundVTI8550Y1CRYSTALR5470VCCEA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U18051GND1I/O2VDD3T1DS18B20R64.7KVCCa b

42、 c d e f h dpab cdefgdpcom9LED4LEDa b c d e f h dpab cdefgdpcom9LED3LEDa b c d e f h dpab cdefgdpcom9LED2LEDD2LEDD1LEDS3SW-PBS4SW-PBS2SW-PBS5SW-PBS1SW-PBVCCIN1 GND2OUT 3WD 7805C5100u C610p1GND 2VCC3J1J1GNDVCC1 2 3 4 5 6 7 8 9J24.7KAAA A ABBBBBCCC C CDDDDDEEE E EFFFFFGGG GVCCQ1NPNQ2NPNB1 C2E3Q3NPNR74

43、.7K R94.7K R114.7KR8300 R10300 R12300123123010203VCC010203G图 2.16 显示电路陕西教育学院高等专科学校毕业设计(论文)第 页 182.3 主板电路R11kC222uC330pC430pY1CRYSTALVCCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26

44、P26 27P27 28PSEN 29ALE/P 30TXD 11RXD 10U18051S5SW-PBVCC图 2.17 主板电路系统整体硬件电路包括传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路,电源电路等。如图 2.17 所示图 2.17 中有四个独立式按键可以分别调整温度计的上下限报警设置,可以任意调整报警上下限。图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音。LED 数码管将当前被测温度值显示,从而测出被测的温度值。图 2.17 中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复

45、位。陕西教育学院高等专科学校毕业设计(论文)第 页 19NYNY按键子程序初始化得出温度总子程序报警子程序调显示子程序S1 键按下否?第三章 软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。 开始温度比较子程序 是否超出上下限返 回图 3.1 主程序流程3.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图 3.1 所示。3.2 读出温度子程序读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行

46、CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图 3.2 所示发 DS18B20 复位命令发跳过 ROM 命令发读取温度命令读取操作,CRC 校验9 字节完?CRC 校验正?确?移入温度暂存器结束 NNYY陕西教育学院高等专科学校毕业设计(论文)第 页 20图 3.2 读出温度子程序流程3.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图,如图 3.3 所示图 3.3 温度转换流程图发 DS18B20 复位命令发跳过 ROM 命令发温

47、度转换开始命令结束陕西教育学院高等专科学校毕业设计(论文)第 页 213.4 计算温度子程序计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 3.4 所示。图 3.4 计算温度流程图 3.5 温度数据显示子程序显示数据子程序主要是对显示缓冲器中的显示数据进行刷新操作,查表送段码至 LED,开位码显示,采用动态扫描方式。开始温度零下?温度值取补码置“-”标志计算小数位温度 BCD值 计算整数位温度 BCD 值 结束置“+”标志NY陕西教育学院高等专科学校毕业设计(论文)第 页 22第四章 实物制作与调试说明4.1 原材料的选择与采购本次设计在

48、原材料的选择与采购上做到了设计最优化,即用最小的开支,获得性价比较高的元器件和材料。设计中,印刷电路板采用单面板,给人看起来没有太复杂的感觉。选元器件时,尽量选择能使电路简化的器件。例如,为了不增大电路板的体积及减小功耗,本设计采用 ATMEL 公司的 89S51 单片机,体积小,工作电压低。4.2 印刷电路板的设计与制作电路板的设计与制作是整个电路制作过程中比较重要的一步,如果电路板做不好,再好的电路设计也不行。下面就对简单电路板的设计及制作过程做一个简单的介绍。1、利用 Protel 99SE 画原理图。在画原理图的时候为了电路板比较好看,要注意布局,同时还得注意元件封装,命名等。画好原理图后要对其进行电气检测,检查原理图是否有错,同时还要创建网络表为下一步的工作做好准备。2、PCB 版图的设计。在对 PCB 图设计时首先要添加封装库,这样原理图中给予的封装才能有效,然后调入网络表看原理图的封装,命名等是否有错,如果没错便可进行下一步操作。对其进行布线,首先先对布线规则作一些必要的设置,如焊盘的大小,导线的粗细等。做好这些设置后便可进行自动布线,自动布线后如果布线不是很理想还可用手动布线进行手动修改,这样 PCB 图就画好了。3、电路板的制作

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 教育范文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报