电子万年历设计论文_第1页
电子万年历设计论文_第2页
电子万年历设计论文_第3页
电子万年历设计论文_第4页
电子万年历设计论文_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

河南机电高等专科学校毕业设计/论文1河南机电高等专科学校毕 业 设 计 论 文论文题目: 电子万年历河南机电高等专科学校毕业设计/论文2系 部: 电子通信工程系 专 业: 应用电子技术 班 级: 应 电 042 学生姓名: 崔 永 超 学 号: 0442205 指导教师: 董 蕴 华 2007 年 5 月 20 日河南机电高等专科学校毕业设计/论文3摘 要本文主要介绍用 51 单片机实现电子万年历,此万年历主要用到单片机的定时器,串口送数,及一些外部设备如(74LS164、数码管和温度传感器)构成,软硬件结合,定时器实现时间累积计数,通过串口送至数码管驱动块 74LS164,实现时间的显示,此万年历包括年,月,日,星期,时,分,秒显示,有校时,定时,整点报时功能,还有温度的显示功能,可以不停的更换当前的温度。双电源供电,防止突然停电,时间复位,很好的解决了因掉电带来校表的麻烦.关键词 单片机性能,电子万年历,串行输出显示,温度的显示ABSTRACTThe main introduction in this text uses 51 single a machines realizes ten thousand years in electronics calendar, this ten thousand years calendar uses primarily the single a machine settles machine, the a sends the number, and some exterior equipments such as(74LS164, digital tube and temperature sensor) constitute, the soft hardware is combinative, settling the machine realizes the time accumulation counts, passing a string of sends to the figures to take care of to drive a 74 LS164s, realize horary manifestation, this ten thousand years calendar includes the year, month, day, week, cent, a manifestation, have the school, settle, a little bit whole tell the time the function, also has the temperature the demonstration function,may not stop replacement current temperature. pass the switch controls its break to open, can be used as the birthday gift gives the friend.A power supply power supply, prevent to have a power fail suddenly, time replies a trouble for, good solution because dropping the electricity bring the school form.Key Words Single a machine function in key phrase, ten thousand years in electronics calendar, a line outputs the manifestation, Temperature demonstration河南机电高等专科学校毕业设计/论文4目 录毕业设计任务书.摘要. .绪论.1第 1 章 AT89C51 单片机性能介绍 .31.1 主要特性 31.2 管脚说明 41.3 振荡器特性 51.4 芯片擦除 51.5 定时器/计数器方式控制寄存器 TMOD61.6 定时器/计数器控制寄存器 TCON 61.7 中断源 71.8 复位 71.9 掉电模式 8第 2 章 温度传感器的选取与简介 .92.1 DS18B20 的主要特性 92.2 DS18B20 的外形和内部结构 92.3 DS18B20 的测温原理 122.4 DS18B20 寄生电源供电方式电路图 132.5 DS18B20 使用中注意事项 14第 3 章 其他器件简介.153.1 LED 七段显示器简介 153.2 基于 164 软件译码 LED 串行显示 18第 4 章 软件设计 .214.1 资源分配表 214.2 工作过程 21第 5 章 流程图及程序.235.1 流程图 235.2 程序 24第 6 章 结束语 .33河南机电高等专科学校毕业设计/论文5致谢 .34参考文献 .35附录:元件清单 .36河南机电高等专科学校毕业设计/论文6绪 论近年来,电子技术和计算机应用领域不断扩大,单片机技术已经成为电子技术领域中的一个新的亮点;电子产品已应用到各个行业,电子产品也逐步人性化,以各种方式显示出来,非常醒目,让人一下就能感受到这是个电子产品。单片机不仅体积小、成本低、可靠性高,而单片机还易于扩展,控制功能很强,使用灵活,很容易构成各种规模的应用系统,目前单片机在各个领域中都得到了广泛的应用。MCS-51 系列单片机以其优越的性能,成熟的技术及高可靠性和性能价格比迅速占领了工业测控和智能化等领域,成为国内单片机应用的主流。 万年历设计是用单片机通过外接扩展电路及必要的通道接口构成的计算机应用系统。由于时钟芯片的出现可以将芯片与单片机结合起来,通过单片机对芯片的控制可以使走时更加的准确,也可以直接通过单片机的编写达到以上效果。现在的单片机发展相当迅速,进而万年历所显示的功能也越来越多从而使使用的人更加方便。对于设计者来说采用单片机来实现万年历的各种功能主要是因为单片机集成度体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大高了单片机的可靠性与抗干扰能力正是如此才使设计者能够更多的实现万年历的功能扩展。本设计的主要设计思想是通过设计硬件控制电路和软件控制程序,从而实现能够正确地显示某年某月某日某时某分某秒,万年历应具有校时功能,定时功能,报时功能。可能除了上边的功能还有其他的功能,如果需要还可以不断的向上加功能。在万年历电子表的上面还有调整时间和定时用的几个功能键(复位键、选择位键、各个位数值的增大和减小两个键等)硬件控制电路主要用了 80S51 芯片处理器、74LS164 移位寄存器、LED 显示器等。根据各自芯片的功能互相连接成万年历电子表的控制电路。软件控制程序主要有主控程序、万年历电子表的时间控制程序。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是万年历电子表中比较重要的部分。时间控制程序体现了年、月、日、小时、分钟、秒及星期的计算方法。时间控制程序主要是定时器 0 计时中断程序每隔 50ms 中断一次当作一个计数,每中断一次则计数加 1,当计数 20 次时,则表示 1 秒到了,秒变量加 1,同理再判断是否 1 分钟到了,再判断是否 1 小时到了,再判断是否 1 天到了,再判断是否 1 月到了,再判断是否 1 年到了,若计数到了则相关变量清除 0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为 28 天,而是 29 天。再计算指定年份的 1 月 1 日星期几,然后根据这些数据计算出全年的日历。闰年的判河南机电高等专科学校毕业设计/论文7断规则为,如果该年份是 4 或 100 的整数倍或者是 400 的整数倍,则为闰年;否则为非闰年。本课程设计的第 1 章介绍了单片机的一些相关知识,第 2 章介绍了温度传感器的相关知识,第 3 章介绍了一些其他器件的相关知识,第 4 章主要是一些工作过程的介绍,第 5 章主要介绍了功能实现的程序。由于时间有限,水平有限,中间难免存在疏漏,欢迎指正。河南机电高等专科学校毕业设计/论文8第 1 章 AT89C51 单片机性能介绍AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案8051 单片机的外形采用 40 条引脚双列直插封装(DIP)或 LCC/QFP 封装. DIP的引脚和逻辑符号如图 1.1 所示:图 1.1 单片机的引脚和逻辑符号1.1 主要特性:(1) 与 MCS-51 兼容(2) 4K 字节可编程闪烁存储器寿命:1000 写/擦循环数据保留时间:10 年(3) 全静态工作:0Hz-24Hz(4) 三级程序存储器锁定(5) 128*8 位内部 RAM(6) 32 可编程 I/O 线(7) 两个 16 位定时器/计数器河南机电高等专科学校毕业设计/论文9(8) 5 个中断源(9) 可编程串行通道(10) 低功耗的闲置和掉电模式(11) 片内振荡器和时钟电路1.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 后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1” 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,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 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)河南机电高等专科学校毕业设计/论文10P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。1.3 振荡器特性:XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 1.4 芯片擦除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持河南机电高等专科学校毕业设计/论文11两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。1.5 定时器/计数器方式控制寄存器 TMOD特殊功能寄存器 TMOD 用来确定定时器/计数器 0 和 1 的工作方式,其低 4位用于定时器/计数器 0,高 4 位用于定时器/计数器 1,TMOD 的格式如下所示:D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 (1) 定时器 /计数器功能选择位 C/T。C/T=“1”为计数器方式,C/T=“0”为定时器方式。(2) 定时器/计数器工作方式选择位 M0,M1 。定时器/计数器 4 种工作方式的选择由 M1,M0 的值决定,见下表 1.1 所示:表 1.1 定时器/计数器工作方式 M1 M0 工作方式0 0 方式 0 13 位定时器/计数器0 1 方式 1 16 位定时器/计数器1 0 方式 2 具有自动重装初值的 8 位定时器/计数器1 0 方式 3 定时器/计数器 0 分为两个 8 位定时器/计数器,定时器/计数器在此无意义。(3) 门控制位 GATE 如果 GATE=“1”,定时器/计数器 0 的工作受芯片引脚INT0(P3.2)控制,定时器/计数器 1 的工作受芯片引脚 INT1(P3.3 )控制;如果 GATE=“0”,定时器/ 计数器的工作与引脚 INT0,INT1 无关。复位时GATE=“0”1.6 定时器/计数器控制寄存器 TCONTCON 高 4 位用于控制定时器 0,1 的运行,其 D7,D6 两位用于定时器/计数器 1,D5,D4 两位用于定时器/计数器 0;低 4 位用于控制外部中断,与定时河南机电高等专科学校毕业设计/论文12器/计数器无关。TCON 的格式如下:D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0(1) 定时器 /计数器运行控制位 TR0 ,TR1。TRi=“1”时。启动定时器/计数器工作。TRi= “0”,停止定时器/计数器工作。TRi 由软件置“1”或清“0” 。(2) 定时器/计数器 1 溢出中断标志 TF0,TF1。定时器/计数器计满溢出时,由硬件自动置 TFi=“1”。在允许中断的条件下,向 CPU 发出定时器/ 计数器的中断请求信号:CPU 响应中断,转入中断服务程序时,TFi 由硬件自动清零。在中断屏蔽条件下,TFi 作为查询测试用,但是需要用程序清“0” 。 在工作方式 1 时,计数器的计数初值由下式求出;N=216-X= 65536-X式子中 X 为计数次数,范围为 165536。定时器的定时时间为:T=(65536-X )Tc Tc=1s如果 fosc=12MHz,那么定时范围为 1s 65536s 。1.7 中断源定时脉冲中断源又称为定时器中断源,是由定时脉冲电路或定时器产生。定时脉冲中断源用于产生定时器中断。定时器中断有内部和外部之分,内部定时器中断由单片机内部的定时器/计数器溢出时自动产生,故又称为内部定时器溢出中断;外部定时器中断通常由外部定时电路的定时脉冲通过 CPU 的中断请求输入线引起。不论是内部定时器中断还是外部定时器中断都可以使 CPU 进行计时处理,以便达到时间控制的目的。1.8 复位8051 片内的复位电路如图所示,复位引脚 RST/Vpd 通过片内施密特触发器(滤除噪声)与片内复位电路相连。复位电路在每一个机器周期的 S5P2 去采样施密特触发器的输出。欲使单片机可靠复位,要求 RST/Vpd 复位保持两个机器周期(24 个时钟周期)以上的高点平。复位不影响内部 RAM 中数据。复位后,PC=0000 指向程序存储器 0000H 地址单元,使 CPU 从首地址 0000H 单元开始重新执行程序,所以单片机系统在运行出错或进入死循环时,可以按复位键重新启动。河南机电高等专科学校毕业设计/论文131.9 掉电模式为了进一步降低功耗通过软件可实现掉电模式,该模式中振荡器停振并且在最后一条指令执行进入掉电模式降到 2.0 伏时片内 RAM 和 SFR 保持原值在退出掉电模式之前 Vcc 必须升至规定的最低操作电压。硬件复位或外部中断均可结束掉电模式硬件复位使 SFR 值重新设置但不改变片内 RAM 的值外部中断允许SFR 和片内 RAM 都保持原值。要正确退出掉电模式在 Vcc 恢复到正常操作电压范围之前复位或外部中断不会被执行并且要保持足够长的时间 ( 通常不小于10ms ) 以使振荡器重新启动并稳定下来。使用外部中断时 INT0 和 INT1 必须使能且配置为电平触发将管脚电平拉低使振荡器重新启动退出掉电模式后将管脚恢复为高电平一旦中断被响应 RETI 之后所执行的是进入掉电模式指令的后一条指令。河南机电高等专科学校毕业设计/论文14第 2 章 温度传感器的选取与简介DS18B20 是继 DS1820 之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。可以分别在 93.75 ms 和 750 ms 内完成 9 位和 12位的数字量,并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20 供电,而无需额外电源。因而使用 DS18B20 可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较 DS1820 有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。2.1 DS18B20 的主要特性(1) 独特的单线接口方式:DS18B20 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 (2) 在使用中不需要任何外围元件。(3) 可用数据线供电,电压范围:+3.0+5.5 V。(4) 测温范围:-55 +125 。固有测温分辨率为 0.5 。(5) 通过编程可实现 912 位的数字读数方式。(6) 用户可自设定非易失性的报警上下限值。(7) 支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上,实现多点测 温。 (8) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2.2 DS18B20 的外形和内部结构DS18B20 内部结构如图 2.1 主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。河南机电高等专科学校毕业设计/论文152.2.1 DS18B20 引脚定义(1) DQ 为数字信号输入/输出端;(2) GND 为电源地; (3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。图 2.1 DS18B20 内部结构图2.2.2 64b 闪速 ROM 的结构8B 检验 CRC 48b 序列号 8b 工厂代码(10H)MSB LSB MSB LSB MSB LSB开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前 56 位的 CRC 校验码,这也是多个 DS18B20 可以采用一线进行通信的原因。2.2.3 高速暂存存储器DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 E2RAM 。后者用于存储 TH,T L值。数据先写入 RAM,经校验后再传给 E 2RAM。而配置寄存器为高速暂存器中的第 5 个字节,他的内容用于确定温度值的数字转换分辨率,DS18B20 工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如下:TM R1 R0 1 1 1 1 1河南机电高等专科学校毕业设计/论文16低 5 位一直都是 1,TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。在 DS18B20 出厂时该位被设置为 0,用户不要去改动,R1 和 R0 决定温度转换的精度位数,即是来设置分辨率,如表 2.1 所示(DS18B20 出厂时被设置为 12 位)表 2.1 R1 和 R0 模式表R1 R0 分辨率 温度最大转换时间/mm0 0 9 位 93.750 0 10 位 187.51 0 11 位 275.001 1 12 位 750.00由表 2.1 可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他 8 个字节组成,其分配如下所示。其中温度信息(第 1,2 字节)、T H和 TL值第 3,4 字节、第 68 字节未用,表现为全逻辑 1;第 9 字节读出的是前面所有 8 个字节的 CRC 码,可用来保证通信正确。1.SB MSB当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1,2 字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062 5 /LSB 形式表示。温度值格式如下:232141234MSB LSBS S S S S 65MSB LSB对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1时,先将补码变换为原码,再计算十进制值。表 2.2 是对应的一部分温度值。表 2.2 部分温度值温度/C 二进制表示 十六进制表示+125 00000111 11010000 07D0H+25.0625 00000001 10010001 0191H温度低位 温度高位 Th Tl 配置 保留 保留 保留 8 位 CRC河南机电高等专科学校毕业设计/论文17+0.5 00000000 00001000 0008H0 00000000 00000000 0000H-0.5 11111111 11111000 FFF8H-25.0625 11111110 01101111 FE6FH-55 11111100 10010000 FC90HDS18B20 完成温度转换后,就把测得的温度值与 TH,T L作比较,若 TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只 DS18B20 同时测量温度并进行告警搜索。2.2.4 CRC 的产生在 64 b ROM 的最高有效字节中存储有循环冗余校验码(CRC) 。主机根据 ROM的前 56 位来计算 CRC 值,并和存入 DS18B20 中的 CRC 值做比较,以判断主机收到的 ROM 数据是否正确。图 2.2 DS18B20 内部测温电路框图2.3 DS18B20 的测温原理DS18B20 的测温原理如图 2.2 所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在 -55 所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装河南机电高等专科学校毕业设计/论文18入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 2.2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是 DS18B20 的测温原理。另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化 DS18B20(发复位脉冲)发 ROM 功能命令 发存储器操作命令处理数据。2.4 DS18B20 寄生电源供电方式电路图如下面图 2.3 所示,在寄生电源供电方式下,DS18B20 从单线信号线上汲取能量:在信号线 DQ 处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。独特的寄生电源方式有三个好处:(1) 进行远距离测温时,无需本地电源(2) 可以在没有常规电源的条件下读取 ROM(3) 电路更加简洁,仅用一根 I/O 口实现测温要想使 DS18B20 进行精确的温度转换,I/O 线必须保证在温度转换期间提供足够的能量,由于每个 DS18B20 在温度转换期间工作电流达到 1mA,当几个温度传感器挂在同一根 I/O 线上进行多点测温时,只靠 4.7K 上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图 2.3 电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源 VCC 必须保证在 5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。河南机电高等专科学校毕业设计/论文19图 2.3 DS18B20 寄生电源供电方式2.5 DS18B20 使用中注意事项DS1820 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1) 较小的硬件开销需要相对复杂的软件进行补偿,由于 DS1820 与微处理器间采用串行数据传送,因此,在对 DS1820 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M、C 等高级语言进行系统程序设计时,对 DS1820 操作部分最好采用汇编语言实现。(2) 在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。当单总线上所挂DS1820 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接 DS1820 的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用 DS1820 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在 DS1820 测温程序设计中,向 DS1820 发出温度转换命令后,程序总要等待 DS1820 的返回信号,一旦某个 DS1820 接触不好或断线,当程序读该DS1820 时,将没有返回信号,程序进入死循环。这一点在进行 DS1820 硬件连接和软件设计时也要给予一定的重视。河南机电高等专科学校毕业设计/论文20第 3 章 其他器件简介3.1 LED 七段显示器简介3.1.1 数码管结构数码管由 8 个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字 09,字符 AF、H、L、P、R、U、Y 等符号及小数点“.” 。数码管的外型结构如图 3.1(a)所示。数码管又分为共阴极和共阳极两种类型,其结构分别如图 3.1(b)和图 3.1(c)所示。3.1.2 数码管工作原理数码管的的连接方式可以分为共阳级连接和共阴极级连接,在本电路设计中采用了共阳级的连接方式。共阳极数码管中 8 个发光二极管的阳极(二极管正端)连接一起。通常,公共阳极接高电平(一般接电源) ,其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。而共阴极的连接方法正好与其相反。河南机电高等专科学校毕业设计/论文21(a)外型结构 (b)共阴极 (c)共阳极图 3.1 数码管结构图3.1.3 数码管字形编码要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字码编码。对照图 3.1(a) ,字型码各位定义如表 3.1表 3.1 数码管各段与输出口各位的对应关系输出口各位 D7 D6 D5 D4 D3 D2 D1 D0数码管各段 dp g f e d c b a如使用共阳极数码管,数据为 0 表示对应字段亮,数据为 1 表示对应字段暗;如使用共阴极数码管,数据为 0 表示对应字段暗,数据为 1 表示对应字段亮。如要显示“0” ,共阳极数码管的字型编码应为:11000000B(即 C0H) ;共阴极数码管的字型编码应为:00111111B(3FH) 。依次类推,可求得数码管字型编码如表 3.2所示。七段数码管有静态显示和动态显示两种方式下面将分别加以介绍。3.1.4 LED 显示器和接口3.1.4.1 静态显示接口(1) 静态显示概念静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端固定接地(共阴极)或接正电源(共阳极) 。每个数码管的 8 个字段分别与 8 位 I/O 口输出的一位相连。I/O 口只要有段码输出,相应字符就显示出来,并保持不变,直到 I/O 口输出新的段码。采用静态显示方式,较小的电流即可获得较高的亮度 且占用 CPU 时间少,编程简单,显示便于监测和控制。但其硬件电路复杂,成本高,只适合于显示位数较少的场合。河南机电高等专科学校毕业设计/论文22表 3.2 数码管字型编码表(2) 多位静态显示接口应用如要用 P1 口显示多位,则每位数码管都应有各自的锁存、译码及驱动器。还需有相应的位选通电路,位选通电路输出位码。单片机通过对位、段的相应控制实现多位静态显示。3.1.4.2 动态显示接口动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应地并联在一起,由一个 8 位的 I/O 口控制,各位的位选线(共阴极或共阳极)由另外的 I/O 口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规矩循环,即可使各位数码管显示需要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔时间足够短就可以给人以同时显示的感觉。共阳极 共阴极显示字符字型 dp g f e d c b a 字型码 dp g f e d c b a 字型码0 0 1 1 0 0 0 0 0 0 C0H 0 0 1 1 1 1 1 1 3FH1 1 1 1 1 1 1 0 0 1 F9H 0 0 0 0 0 1 1 0 06H2 2 1 0 1 0 0 1 0 0 A4H 0 1 0 1 1 0 1 1 5BH3 3 1 0 1 1 0 0 0 0 B0H 0 1 0 0 1 1 1 1 4FH4 4 1 0 0 1 1 0 0 1 99H 0 1 1 0 0 1 1 0 66H5 5 1 0 0 1 0 0 1 0 92H 0 1 1 0 1 1 0 1 6DH6 6 1 0 0 0 0 0 1 0 82H 0 1 1 1 1 1 0 1 7DH7 7 1 1 1 1 1 0 0 0 F8H 0 0 0 0 0 1 1 1 07H8 8 1 0 0 0 0 0 0 0 80H 0 1 1 1 1 1 1 1 7FH9 9 1 0 0 1 0 0 0 0 90H 0 1 1 0 1 1 1 1 6FH河南机电高等专科学校毕业设计/论文23采用动态显示方式比较节省 I/O 口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU 要依次扫描,占用 CPU 较多时间。3.2 基于 164 软件译码 LED 串行显示3.2.1 74 LS164 简介在单片机系统中, 如果并行口的 IO 资源不够,而串行口又没有其他的作用,那么我们可以用 74LS164 来扩展并行 IO 口,节约单片机资源。74LS164 是一个串行输入并行输出的移位寄存器。并带有清除端。3.2.1.1 74LS164 的特性(1) 串行输入带锁存(2) 时钟输入,串行输入带缓冲(3) 异步清除(4) 最高时钟频率可高大 36Mhz(5) 功耗:10Mw/bit(6) 74 系列工作温度:0C to 70C(7) Vcc 最高电压:7V(8) 输入最高电压:7V(9) 最大输出驱动能力:高电平:0.4mA低电平:8mA3.2.1.2 74LS164 的工作原理74LS164 有 14 条引脚.74LS164 为 TTL 单向 8 位移位寄存器, 它的引脚如图 3.2所示。可实现串行输入,并行输出其中 A、B(第 1、2 脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接 CLK 为时钟输入端,可连接到串行口的 TXD 端。每一个时钟信号台的上升沿加到 CLK 端时,移拉寄存器移一位,D0 位首先送出,最后是 D7 位,8 位二进制数全部移入 74LS164 中。MR(第 9 脚)为复位端,当 MR=0 时,移位寄存器各位复 0,只有当 R=1 时,时钟脉冲才起作用。河南机电高等专科学校毕业设计/论文24图 3.2 74LS164 引脚图表 3.3 74LS164 功能表具体输入输出关系如表 3.3 所示。X 代表任意状态; QA0、QB 0 QH0 代表在稳态输入条件建立之前 QA、QBQH 的输出状态; QAn、QBn QHn 代表在最近的时钟上升沿转换之前 QA、QBQH 的输出状态; H/L、QAn QBn 代表在最近的时钟上升沿转换之后 QA、QBQH 的输出状态。3.2.2 164 与 LED 串行显示的工作原理将 MCS-51 单片机的串行口设置在工作方式 0,只要把数据往 SBUF 里放,系统就自动将串行数据由 RXD(P3.0)送出,其中移位时钟由 TXD(P3.1)送出。依据输入输出关系图,将 74LS164 的 A、B 端与 RXD 相接,CLK 与 TXD相接, 接高电平+5V ,在满足条件时数据就传送到 74LS164 并寄存,管脚将CLR自动置成相应的电平。将前一个 74LS164 的 QH 端连接到下一个 74LS164 的 QA端,再将 CLK 端连接到一起并接到 TXD,则送数据时,前后数据就会依次从上一个片子传到下一个片子。这里硬件设计上只需要扩展四个并行输出显示口,因此 TXD 的驱动能力不容置疑,按上述直接相连就可以,不需要在 TXD 与 CLK之间作驱动处理。74LS164 的输出端 QA、QBQH 无内置的限流电阻,一般不能输入 输出清除 时钟 A BQA QB QHL X X XH L X XH H HH L XH X LL L LQA0 QB0 QH0H QAn QGnL QAn QGnL QAn QGn河南机电高等专科学校毕业设计/论文25与 LED 数码管直接相连,需加外接限流电阻,这里采用 300 限流电阻。硬件设计具体如原理图 3.3 所示。左边两个 LED 数码管主要是用于对其要求所显示的数。在程序上,根据所设计的硬件,74LS16

温馨提示

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

评论

0/150

提交评论