《旋转LED显示屏毕业论文.doc》由会员分享,可在线阅读,更多相关《旋转LED显示屏毕业论文.doc(52页珍藏版)》请在三一办公上搜索。
1、 摘 要旋转LED显示屏是利用机械转动动态扫描代替传统逐行扫描方式,是一种新型的显示屏,具有成本低,可视范围大的特点,是LED显示屏的一个新的发展方向。其实质就是与机械转动配合起来的动态扫描显示技术。主控芯片为AT89S52,以及电机模块,时间模块,温度模块,显示模块,速度模块等辅助组件而成。本次“旋转LED显示屏”的制作用于我的毕业论文,它提高我的实践能力和专研能力,激发我对学习兴趣,引导自主学习及培养创新能力、协作精神、工程实践素质。这次的设计利用高速旋转中控制LED的亮灭,进行字符的显示,温度的监控(主控DS18B20),简单图形的显示,速度控制(主控霍尔3144),以及控制器采用单片机
2、,完成显示内容的传输、字库的转换、显示等功能。 关键词 AT89S52 霍尔3144 DS18B20 Abstract Rotating LED display is the use of dynamic scanning to replace the traditional mechanical rotating progressive scanning, is a new display, low cost, the characteristics of visual range, LED display is a new development direction. Its essenc
3、e is to match up with the mechanical rotation of dynamic scanning display technology. Master chip AT89S52, and motor modules, the time module, the temperature module, display module, the speed module and other auxiliary components together. The rotating LED displayproduction for my thesis, which imp
4、roved my ability to practice research skills and expertise to stimulate my interest in learning, guided self-learning and foster innovation, team spirit, quality of engineering practice. The design of the control high-speed rotating bright LED off, the characters display, temperature control (master
5、 DS18B20), a simple graphical display, speed control (Master Hall 3144), and the controller uses single chip, complete The transmission display, font conversion, display. Keywords AT89S52 Hall 3144 DS18B20 目 录摘要IAbstractII第1章 绪论11.1 旋转时钟的发展背景11.2 旋转时钟的特点11.3 旋转时钟的发展趋势11.4 新旧led社会调研2第2章 系统的总体设计22.1 方
6、案可行性论证22.1.1 需求分析22.1.2 方案论证42.2 关键技术与解决方案52.3 系统总体方案62.3.1 系统硬件构成72.3.2 系统软件构成72.4 本章小结8第3章 系统的硬件93.1单系统的主控单元构成93.1.1 单片机AT89S52简介103.1.2 主要功能及特点103.1.3 管脚图管脚说明113.1.4 复位电路133.1.5 震荡电路143.1.6 芯片擦除143.2 显示单元部分153.2.1 LED特性153.2.2 9013三极管的特性及相关参数153.3 测温部分163.3.1 测温模块163.3.2 DS18B20的主要特征有以下几点163.3.3
7、DS18B20的工作原理163.3.4 温度采集173.4 单测速定位部分203.5 电机的搭建和供电的设计223.5.1 电机的配置223.5.2 电刷的供电设计243.6 本章小结25第4 章 系统的软件部分244.1 模拟表盘部分264.2 模糊控制部分274.3 本章小结28第5章 取模工具介绍28第6章 最后成果29第7章 总结与展望29结束语30致谢31参考文献32附录33附录42附录III43 第1章 绪论1.1 旋转时钟的发展背景现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列
8、兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。ED显示屏已广泛应用于广告、车站、银行、商场等公共场所。它具有功耗小、寿命长、色彩好等优点。现在的LED显示屏的发光器件主要采用LED平板模块,大型的LED点阵的显示屏。它给我们日常生活中带来了方便和快捷。但是这种类型的显示屏有很大的弊病。新型的旋转式显示屏,克服了以上两个不足,以单排LED或双排LED转动的方式代替逐行扫描,成本大大降低,采用以少显多的方案来组成大型虚拟的LED点阵显示,其内容紧凑有条理,并且容易查找出LED失真的具体原因,很快捷的加以维修处理以及它可以和点阵一样显示原理。如果你在网上用google
9、搜索“POV LED”一词(POV即persistance of vision),会找到世界各地的各种LED 旋转屏的制作介绍。那些摇晃出的空中图案,漂浮在车轮上的动画,以及形态各异的时钟,一定给你留下深刻印象。1.2 旋转时钟的特点 旋转时钟的主要特点就是结构新颖,效果奇特。加入了现代科技的元素,利用人眼的视觉暂留特性,用单片机作为主控芯片,采用电机带动发光二极管高速旋转,霍尔传感器进行定位,利用刷屏显示原理呈现时钟画面及DS18B20温度显示。造型及显示效果个性、新颖,解决了传统时钟结构单一,显示效果固定的缺陷,更好了满足了人们对美的追求。1.3 旋转时钟的发展趋势现今人们家庭用的时钟主要
10、还是传统意义上的时钟,固定的表盘与表针,显示效果单一,不能满足时钟不但用来看时间还是一件很好的装饰品的要求。随着科技的发展网络上出现了以DIY为主要形式的旋转时钟作品。但是随着单片机技术、高亮发光二极管制造技术和高速稳定电机制造技术的发展,这种千奇百怪、创意无限的电子旋转时钟必将走进千家万户。1.4 新旧led社会市场调研 据报导大型的LED点阵显示屏从06年开始在各大公共场合登陆舞台,到2010年占据了中国的绝大部分的市场。在市场中广泛流通的是传统型的显示屏。普通小型的8*8点阵在市场报价:普通稍大点3208点阵在市场报价:可见成本成多倍增长。若大型广告显示屏,车站显示屏其可见成本要远远大于
11、实用成本,普通点阵用户花销费用巨大,不经济不实惠。而新型的可旋转的LED显示屏,在国内几乎没有个人和企业应用。这个新生产业技术才刚刚起步,拥有巨大的市场发展潜力!它只需要几个发光LED,便可以实现虚拟大型的点阵显示屏。普通发光二极管的市场报价:普通LED贴片市场报价:可见器件成本对比度十分的悬殊!时间就是金钱,成本就是效益! 第2章 系统的总体设计2.1 方案可行性论证2.1.1 需求分析随着科技的发展和人们对创新事物和美感的追求,传统的固定的电子时钟无法满足现代人们的物质和文化生活的需要,必将被淘汰。这种新兴的,创意无限的,视觉效果好的创意电子旋转时钟必将越来越多的走进人们的生活。这种新兴的
12、旋转时钟将会倍受人们的青睐,成为人们装饰、送人的首选佳品。2.1.2 方案论证旋转时钟是一种利用人眼的视觉惰性,让LED高速旋转形成LED屏,显示文字、数字及图形的LED屏显示的电子产品。主要构成:在AT89S52单片机的P0、P2口上接上16个贴片的LED;在分别用P1.0、P1.1和P1.2上接上一个三极管9013,分别用三极管驱动8个贴片LED,总共40个贴片。用霍尔传感器CS3144来测定转速,用DS18B20温度传感器来测温。采用取字模软件将字符和图案自动生成扫描码。系统采用两节3V电子供电,旋转由一个电机带动。2.2 关键技术与解决方案 可旋转LED就是运用以少胜多的理念,把动起来
13、的一排或多排LED抽象成一个巨大的点阵屏幕,是利用人们的视觉残留来实现显示图像数字的功能。A:普通的点阵屏是利用刷屏的方式来显示东西的,例如: 图2-1点阵成像原理它是随着不同频率的个点成像来达到成像,也就是说当画面以一定速率新时我们看到的就是一个完成的图像了。B:新颖的可旋转的LED和老式的成像原理基本相近,举例说明: 一条由30个led组成的条形显示板: 当它转动的时候可形成一个复杂的圆形点阵: 图2-2 模拟点阵成像由此可知一条发光LED板子转动可利用人的视觉残留留下一个虚拟的点阵显示屏。 整个设计的供电系统。电机供电旋转时钟系统有两个部分需要供电,一是底座上的电机,二是单片机系统。可选
14、用分离供电,即一组电池提供单片机系统的电源(它必定随着电路板旋转,因此体积和重量需要尽量轻),另外一组固定在底座上的电池为电机提供电源。可以使用同一个电源,但是需要处理电力的传递问题,可通过电刷方式。在电机的转轴上安装绝缘的塑料皮和一个外加导电铁皮,铁皮固定到电路板上,电机转动带动板子,在导电铁皮的旁边设置电刷,可供应电路板的正常用电。而整个的电机控制转速可以采用霍尔芯片来测定它的转动过程。2.3 系统总体方案系统总体分为软件部分和硬件部分两部分构成。硬件部分由主控芯片部分、测速定位部分、温度测试部分、信息采集传输部分、显示部分、电机部分组成。总体框图如下: 图2-3 系统总体框图 2.3.1
15、 系统的硬件构成系统的硬件部分主要有单片机(AT89系列)及其最小系统,霍尔传感器(CS3144)测速定位系统DS18B20数字温度传感器测温系统及LED显示部分组成。单片机是系统的核心,是系统的主控单元。单片机及其构成的最小系统单元控制系统信息的采集,及测速定位系统的各项数据,来调节系统。霍尔传感器是用来测定电机转速,根据转速来定扫描时间。LED显示部分是通过电机带动高速旋转利用人眼的视觉暂留特性来呈现时钟画面。 图2-4 系统硬件图2.3.2 系统的软件构成 利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。顶层是一个单独的矩形框,代表
16、完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。本系统一共分为LED显示、时钟调整、红外控制、温度控制、电机控制五大模块,每个模块之间虽然在表面上是相互独立的,但是对整个系统是紧密相连的。每个模块的功能都是按照在调研中搜集的资料进行编排制作具体详细程序见附录。 旋转led时钟电机控制模块时钟调整模块温度控制模块红外控制模块LED显示模块 图2-5 系统软件图2.4 本章小结 经过长达2周的时间,确定了我的毕业设计的基本制作方向
17、选定了制作的基本器件在考虑性能/价格比的前提下,在本次设计中我选择最容易实现产品的指标的几种仿真器件如下:(1)、 主机:Intel(R)coteTM2 Duo PC机,伟福仿真器;(2)、 主控芯片:兼容MCS-51系列中的89S52系列芯片; (3)、 时钟芯片:DS1302芯片;(4)、 转速调整芯片:3144霍尔传感;(5)、 LED数码管或LED贴片;(6)、 稳定电机;(7)、 红外控制(可选);(8)、 温度传感器:用数字温度传感器DS18B20组成一个温度检测电路(可选); 深入的了解我的设计的整体思路为以后软硬件的搭建开创了先河。 第3 章 系统的硬件3.1 系统的主控单元构
18、成系统的主控单元由AT89S52及其最小工作系统构成,主要功能是控制系统的总体,是系统的核心,相当于系统的大脑和心脏。其电路图如下:系统的整体电路图如下:图3-1系统总体电路图3.1.1 单片机AT89S52简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。图3
19、-2系统主控单元3.1.2 主要功能及特性AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。l 与MCS-51单片机产品兼容l 8K字节在系统可编程Flash存储器l 1000次擦写周期l
20、全静态操作:0Hz33Hzl 三级加密程序存储器l 32个可编程I/O口线l 三个16位定时器/计数器l 八个中断源l 全双工UART串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符3.1.3 管脚图管脚说明图3-3 AT89S52引脚图VCC:供电电压。 GND:接地。 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令
21、字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。在flash编程和校验时,P1口接收低8位地址字节。表3-1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计
22、数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口为一个内部上拉电阻的8 位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的 管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊
23、功能寄存器的内容。P2口在FLASH编程和校验时接收高 八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,如表3-2所示:表3-2 P3口的特殊功能口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.
24、6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MO
25、VX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA /VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定 为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路
26、的输入。 XTAL2:来自反向振荡器的输出。3.1.4 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即 4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器 稳定工作时,复位信号才被撤除,微机电路开始正常工作。目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。电路图如下: 图3-4 复位电路 图3-5时钟电路3.1.5 震荡电
27、路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低 的频率是串联谐振,较高的频率是并联谐振(电路图如图3-5)。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶 振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄, 所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,
28、就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。3.1.6 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此 外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CP
29、U停止工作。但RAM,定时器,计 数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所有其它芯片功能。3.2 显示单元部分 显示部分主要由40个贴片发光二极管和三个9013三极管组成。3.2.1 LED特性导体发光二极管(LED)作为第三代半导体照明光源。这种产品具有很多梦幻般优点:(1)光效率高:光谱几乎全部集中于可见光频率,效率可以达到 80%-90%。而光效差不多的白炽灯可见光效率仅为10%-20%。(2)光线质量高:由于光谱中没有紫外线和红外线,故没有热量,没有辐射,属于典型 的绿色照明光源。(3)能耗小:单体功率一般在0.05-1w,通过集群方式可以量体
30、裁衣地满足不同的需要,浪费很少。以其作为光源,在同样亮度下耗电量 仅为普通白炽灯的1/8-1/10。(4)寿命长:光通量衰减到70%的标准寿命是10万小时。一个半导体灯正常情况下可以使用50年,即使长命百岁的人,一 生最多也就用2只灯。(5)可靠耐用:没有钨丝、玻壳等容易损坏的部件,非正常报废率很小,维护费用极为低廉。(6)应用灵活:体积小,可以平面封装,易 开发成轻薄短小的产品,做成点、线、面各种形式的具体应用产品。(7)安全:单位工作电压大致在1.5-5v之间,工作电流在20-70mA之间。(8) 绿色环保:废弃物可回收,没有污染,不像荧光灯一样含有汞成分。(9)响应时间短:适应频繁开关以
31、及高频运作的场合。3.2.2 9013三极管的特性及相关参数C9013 NPN三极管相关参数如下: 集电极-发射极电压 25V 集电极-基电压 45V射极-基极电压 5V 集电极电流0.5A耗散功率0.625W 贮存温TSTG -55-150 封装形式常见的为TO-92型3.3 测温部分3.3.1 测温模块本设计的测温元件采用的是DS18B20测温元件,DS18B20是由DALLAS(达拉斯)公司生产的一种温度传感器。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20很受欢迎。这是世界上第一片支持“一线总线”接口的温度传感器。DS18B20数字温度计提供9位(二进
32、制)温度读数,指示器件的温度。信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需一条线连接即可。它可在1秒钟(典型值)内把温度变换成数字。3.3.2 DS18B20的主要特征有以下几点l 全数字温度转换及输出; l 先进的单总线数据通信; l 最高12位分辨率,精度可达土0.5; l 12位分辨率时的最大工作周期为750毫秒; l 可选择寄生工作方式; l 检测温度范围为55+125; l 内置EEPROM,限温报警功能; l 64位光刻ROM,内置产品序列号,方便多机挂接; l 多样封装形式,适应不同硬件系统。 DS18B20芯片有3 个引脚: GND
33、为电压地直接接地;DQ为单数据总线用来与单片机相连接,本系统中DQ与单片机P2.2接口连接,仅此一个连接就能保证DS18B20与单片机之间的数据交换;VDD引脚接电源电压。3.3.3 DS18B20的工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。一个工作周期可分为两个部分,即温度检测和数据处理。18B20共有三种形态的存储器资源,分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS1
34、8B20共64位ROM, RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以
35、方便用户操作。我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20的硬件简单结果就会导致软件的巨大开消。3.3.4 温度采集 通过DS18B20单线总线的所有执行处理都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和随后由从机发出的存在脉冲: 1、复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 2、存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个
36、60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。 3、控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。各自功能如下: Read ROM(读ROM)33H (方括号中的为16进制的命令字)这个命令允许总线控制器读到DS18B20的64位ROM。只有当总线上只存在一个DS18B20的时候才可以使用此指令。Match ROM(指定匹配芯片)55H 这个指令后面紧跟着由控制器发出了64位序列号,当总线 上有多
37、只DS18B20时,只有与控制发出的序列号相同的芯片才能做出反应,其它芯片将等待下一次复位。这条指令适合单芯片和多芯片挂接。 Skip ROM(跳跃ROM指令)CCH 这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。 Search ROM(搜索芯片)F0H 在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的64位ROM。 Alarm Search(报警芯片搜索)ECH 在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于TH或小于TL报警条件的芯片做出反应。只要芯片不掉电,报
38、警状态将被保持,直到再一次测得温度值达不到报警条件为止。 ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。 4、控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度
39、转换、将EEPROM中的报警值复制到RAM、工作方式切换。 Write Scratchpad (向RAM中写数据)4EH:这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL)。写入过程中可以用复位信号中止写入。 Read Scratchpad (从RAM中读数据)BEH:此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。 Copy Scratchpad (将RAM数据复制到EEPROM中)48H:此指令将RA
40、M中的数据存入EEPROM中,以使数据掉电不丢失。此后由于芯片忙于EEPROM储存处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持10MS,来维持芯片工作。 Convert T(温度转换)44H:收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。 Recall EEPROM(将EE
41、PROM中的报警值复制到RAM)B8H:此指令将EEPROM中的报警值复制到RAM中的第3、4个字节里。由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。另外,此指令将在芯片上电复位时将被自动执行。这样RAM中的两个报警字节位将始终为EEPROM中数据的镜像。 Read Power Supply(工作方式切换)B4H:此指令发出后发出读时间隙,芯片会返回它的电源状态字,“0”为寄生电源状态,“1”为外部电源状态。 存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 5、执行或数据读写:一个存储器操作指令结束后则将进行指令执
42、行或数据的读写,这个操作要视存储器操作指令而定。DS18B20需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1 、读0和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。和DS18B20间的任何通讯都需要以初始化序列开始。一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接收数据(适当的ROM命令和存储器操作命令)。主机发出复位脉冲 主机接受所需的最短时间480us Min=480us 多少18b20发出vdd Max=960us 60us 应答脉冲Gnd 图3-8 DS18B20的复位时序图DS18B20的读时序对于DS18B20
43、的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15us之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 主cpu读0时 主cpu读1时 u Gnd 主cpu采样 主cpu采样 1us 1us 15us 15us 30us 15us 图3-9 DS18B20的读时序图 DS18B20的写时序:对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 1us 60