版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 绪论1.1 课题研究的背景随着科技的快速发展,时间的流逝, 从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在5V的低压工作,电压可选用4.55.5V电压供电。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2 课题的研究目的与意义
2、二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急, 因为它应用在学校、机关、 企业、 部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。促使电子万年历发展并且投入市场得到广泛应用。1.3 课题解决的主要容本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究容包括以下几个方面:( 1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。( 2)根据选用的电子万年历芯片设
3、计外围电路和单片机的接口电路。( 3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。( 4)根据硬件电路图,在开发板上完成器件的焊接。(5)根据设计的硬件电路,编写控制 AT89C51芯片的单片机程序。( 6)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。( 7)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。( 8)软件设计时必须要有完善的思路,要做到程序简单,调试方便。第二章设计要求与方案论证2.1 设计要求 (1)基本要求 具有年、月、日、星期、时、分、秒显示和校准功能,24小时制;具有定时响铃和定点报时功能;具有环境
4、温度采集和显示功能; 具有响铃播放音乐功能; 具有响铃显示特定字符、字符串等功能。2.2 系统基本方案选择和论证2.2.1 单片机芯片的选择方案和论证万案一:用中小规模集成电路74/54系列和CC4000系列及555集成电路构建秒脉冲 源,再利用分频器、计数器、缓存器等得到分、时、日、月、年的计时信号,最 后用译码器驱动数码管显示,得到时钟功能。用热敏电阻、A/D转换芯片及相关控制、显示电路组成温度显示部分。用寄存器、比较器及相关控制电路组成闹钟 电路。万案一:采用FPGA现场可编辑门列阵)或CPLDK杂可编程逻辑器件)作为系统控制 器。FPGA/CPLD以实现各种复杂的逻辑功能,规模大,集成
5、度高,体积小,稳 定性好,并且可利用EDAC件进行仿真和调试。FPG乐用并行工作方式,提高了 系统的处理速度,常用于大规模实时性要求较高的系统。方案二:采用AT89C5第片机,完全兼容MCS-5保列单片机的所有功能,并且本身带 有2K勺存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU卜加EPROM核心的单片机系统在硬件上具有更加简单方便等优点,具 体如下:1)AT89C51片机是最早期也最典型的产品,低功耗、高性能、采用 CHMOS 工艺的8位单片机。2)它在硬件资源和功能、软件指令及编程上与Intel 80C3X单片机完全相同。 在应用中可直接替换。3)在AT
6、89C5都有FLASHS序存储器,既可用常规的编程器编程,也可用在线使之处于编程状态对其编程。编程速度很快,擦除时也无需紫外线,非常方便。4)AT89C5XS歹U可认为是Intel 80C3X 的核与Atmel FLASH技术的结合体。它为许多嵌入式控制系统提供了灵活、低成本的解决方案。方案比较:由三种方案可以看出,用方案一实现设计要求需要使用大量的集 成电路,系统结构复杂,电路连接困难。单个芯片的质量对系统的稳定性影响甚 大,逻辑功能出现错误不易定位,整体调试费时费力。扩展系统功能工作量极大, 甚至有可能要将整个设计方案推倒重来。方案二使用一片FPGA/CPLMI3可替代方案一中绝大多数的集
7、成电路。使用 VHDL超高速硬件描述语言设计电路,基本不需要硬件调试,方便快捷。但是 FPGA/CPLEft速处理能力得不到充分发挥且价格较贵不适合在数字钟这种简单 电路中使用。方案三利用单片机作为控制核心,硬件按照技术手册要求连接后基本不需要 调试,相关的逻辑功能全部由软件实现, 修改方便。功能扩展只需要在现有程序 的基础上增加函数即可实现,无需对已实现功能的程序进行改动, 调试方便,问 题定位快捷、准确。综上所述,我们采用方案三实现系统总体要求。2.2.2 显示模块选择方案和论证采用LED数码管动态扫描,LED数码价格适中,对于显示数字最合适,而且 采用动态扫描方法与单片机连接时,占用的单
8、片机口线少,驱动电路简单,且 LED在亮度、功耗、可视角度和刷新速率等方面,都更具很大的优势。但所需数 码管太多焊接困难极易出错,所以不采用 LED数码管作为显示。采用字段式LCD显示类型与数码管类似,靠7个字段拼凑生数字显示。一 般只能显示09, AF16种字符。这种LCD驱动简单,耗电量小,在仅需要显示 数字的场合应用较多,也用来在便携式应用的场合来代替数码管, 所以也不采用 字段式LCD乍为显示。采用点阵式LCD显示,LCD16021字符型液晶,显示字母和数字比较方便, 控制简单,功耗低,体积小,显示容丰富,超薄轻巧,可以用电池供电,便于携 带,成本较低。在袖珍式仪表和低功耗应用系统中得
9、到越来越广泛的应用。本设计需要显示较多的数字和字符,因此,采用点阵式 LCD显示。2.2.3 时钟芯片的选择方案和论证直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,需要采 用计数器,占用硬件资源,另一方面需要设置中断、查询等,实现的时间误差较 大。采用DS1302时钟芯片实现时钟,DS1302K片是一种高性能、低功耗、涓流 充电的实时时钟芯片,部含有一个实时时钟/日历,可自动对年、月、日、星期、 时、分、秒进行计时,可以自动调整每月的天数。同时具有闰年补偿功能,而且 精度高,芯片部有一个31字节的RAM乍为数据
10、暂存区,工作电压2.5V5.5V围, 2.5V时耗电小于300nA。用户可以通过对 DS1302的设置实现AM/PM旨示的12 小时制。DS1302采用三线串行通信接口与 CPU!行同步通信,并采用突发方式 一次传送多个字节的时钟数据或 RAM据。方案比较:由于我们需要定时,而且防止掉电现象,能够保证准确的时间,所以我们采用了方案一。2.2.4 温度传感器的选择方案和论证使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D 转换。 此设计需用A/D 转换电路。增加硬件成本而且热敏电阻的感温特性曲线并不
11、是严格线性的,会产生较大的测量误差。采用数字式温度传感器DS18B20此类传感器为数字式传感器,而且仅需要一条数据线进行传输易于与单片机连接,可以除去A/D 模块,降低硬件成本,简化系统电路。另外,单总线具有经济性好,抗干扰能力强,使用方便等优点。在使用中不需要任何外围元件。具有负压特性,电源极性接反时,温度计不会因为发热而烧毁,而且还具有掉电保护功能。数字式温度传感器还具有测量精度高测量围广等优点。所以选择DS18B20。2.2.5 按键模块的选择方案和论证采用4X4矩阵式键盘,在修改时钟或设置闹铃时间时就可以直接从键盘输入,节省I/O 口,方便、快捷,但程序较为复杂。采用独立式按键,占用较
12、多的I/O 口,稍为麻烦一些,但其程序简单。方案比较 : 由于, 此多功能电子万年历不需要经常修改时间,需要的按键也不多,而且方案二程序简单,成本低,因此选择方案二。2.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89C51作为主控制系统; 点阵式LCD乍为显示;DS1302提供时钟;数字式温度传感器DS18B20独立式按第三章系统的硬件设计与实现3.1电路设计框图3.2 系统硬件概述本电路是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在 4.5V超低压工作;显示部分用LCD160效现,能够同时显示16x02即32个字符; 闹钟部分由蜂鸣器构成,蜂鸣
13、器是一种一体化结构的电子讯响器,采用直流电压供电,作为发声器件广泛应用于计算机、打印机、复印机、报警器、电子玩具、 汽车电子设备、机、定时器等电子产品中;时钟电路由DS130双供,它是一种高性能、低功耗、带RAM勺实时时钟电路,可以对年、月、日、星期、时、分、 秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V. 采用三线接口与单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM(据。DS1302sB有一个31X8的用于临时性存放数据的 RAM寄存器。可产生年、月、日、 周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自 动保存功能,本设计中为 DS
14、130”曾加了备用电池,当主电源掉电时,备用电池 自动为其供电;温度的采集由DS18B20勾成;当闹铃时间到时,通过蜂鸣器播放 闹铃铃声。3.3 主要单元电路的设计3.3.1 单片机主控制模块的设计AT89C51为40引脚双开列直插式芯片,有四个 I/O 口 P0 口,P1 口,P2 口, P3 口,MCS-51 单片机共有 4 个 8 位的 I/O 口,(P0, P1, P2, P3),每一条 I/O 线都能独立地作为输入或输出线。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外 部晶振和微调电容的一端,在片它是振荡器倒相放大器的输入,XTAL2接外部品振和微调电容的
15、另一端, 在片它是振荡器倒相放大器的输出. 第 9 引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.如图-1所示C130pFX1C230pFGND12MHzU1199 。2 313>XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXD八i rRSTPSENALE EAP1.0AT89C51P1.1P3.1/TXDP3.2/
16、INT0P1.2P1.3P3.3/INT1P1.4P1.5P3.4/T0P3.5/T1P1.6P3.6/WRP1.7P3.7/RD81393837272810111213一14151617振荡器和时钟电路程序存储器14KB数据存储器128字节两个16位定时器计数器中断控制部总线总线扩展控制器并行可编程r/on可编程串行口处部中断扩展控制PO PI P2 P3 RXD TXDC130pF19复位按钮C2+5VGNDGND12MHzX11830pFC320户R11KQXTAL1XTAL2RST+5V293031PSENALEEAAT89C51图-1主控制系统3.3 2显示模块的设计如图-2所示,采
17、用LCD1602?符型液晶显示。1602LCD分为带背光和不带背光两种,其控制器大多为HD44780带背光的比不带背光的厚,两者尺寸差别如下图-3所示。1602LCDi要技术参数:显示容量:16X2个字符芯片工作电压:4.5 5.5V工作电流20mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95 X4.35(WX H)mmLCD1602的基本参数及引脚功能1602LC迎用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如 表-1所示。第1脚:VSSJ地电源。LCD1602klb ALB 7d 6d 5d 4d 3d 2d 1D ODE WR SR Lv dav ssv+5
18、V7C0-6C0-5B4b3C0-2C0-1C0-OB2c0-1c0-LCD1602与AT89C51的接口电路ocxo-+5VPOT图-2 LCD1602字符型液晶显示£1*80- 二n13无背光 底部LED背光1.5卜上64.5第2脚:VD球5V正电源80.01f75.0h73.7f晅2.54R1.2678911234口口第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度 最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。图-3 1602LCD尺寸图编号符号m脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电
19、源止极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源止极8D1数据16BLK背光源负极表-1引脚接口说明表第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄 存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平R/W 为高电平时可以读忙信号,当 RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命 令。第714脚:DA D吠
20、8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。(2)1602LCD的指令说明及时序1602液晶模块部的控制器共有11条控制指令,如表-2所示。序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRA或DDRAM10要写的数据容11从CGRA或DDRA
21、腋数11读出的数据容表-2控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00Ho指令3:光标和显示模式设置I/D :光标移动方向,高电平右移,低电平左 移;S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低 电平表示关显示;C:控制光标的开与关,高电平表示有光标,低电平表示无光 标;B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高
22、电平时移动显示的文字,低电平时移动光 标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线;N: 低电平时为单行显示,高电平时双行显示;F:低电平时显示5x7的点阵字符,高 电平时显示5x10的点阵字符。指令7:字符发生器RAM4址设置。指令8: DDRA地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不 能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780目兼容的芯片时序表如下:读状态输入RS=L R/W=H E=H输出DO- D7= 犬态字写指令输入RS=L R/W=L DO- D7=旨令码,E=B脉冲输
23、出无读数据输入RS=H R/W=H E=H输出D0- D7=K据RSR/WEDB0DB7TSP1THD1TSP2'-TR写数据输入RS=H R/W=L DO- D7=g:据,E=高脉冲输出无Valid DataTHD2TC表-3基本操作时序表读写操作时序如图-4和图-5所示:图-4读操作时序图-5写(3) 1602LCD勺RAMlft址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块 的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字 符地址,也就是告诉模块在哪里显示字符,图 -6是1602的部显示地址。图-6 1602LCD部显示
24、地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标 定位在第二行第一个字符的位置呢?这样不行。因为写入显示地址时要求最高位 D7叵定为高电平1所以实际写入的数据应该是:01000000B(40H) +10000000B(80H)=11000000B(C0H)在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标 是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的 状态。1602液晶模块部的字符发生存储器(CGRQ ME经存储了 160个不同的点阵字 符图形,如图-7所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符 号、和日文假名等
25、,每一个字符都有一个固定的代码,比如大写的英文字母“ A” 的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来, 我们就能看到字母“ A(4) 1602LCD勺一般初始化(复位)过程延时15mS写指令38H (不检测忙信号)延时5mS写指令38H (不检测忙信号)延时5mSCGBOM中字符码与字字符字提关系对耀表10000 OOGI001 d 4011 am Omi otio oin im。1001 1(110 1011 HOC 11C1 1110 1111xxkmOODDCG FMJllI-eapr f|- 0 三;C£pxmwOCC 1何! Il
26、l口|Q回 1可D 7厅白急q国国园咽团taV平# F已xxwODTl播#|3|C|S|cs一|印亍因程8xmwOIDO国_*|41D|T|d|tII blfrlpnxmuDIOI同N 5 E U|e|uswxOHC叼sisiFiuirivixrawDI11婚7|7|G|kl|g|w二切书河5qjibow IODO(11(I8IHW因席Nj文XMCXlOC'10弓F川L T qicoodOI口国喇GJNIJIzIXXXX1O11网+ ;|K|L|k (才于七口* AxxxmIIDO同7KEI¥rrTT窜回.归FlxmocHCI阿-=M 3lm xramlHO韭鲤科阿z?IO
27、j y 7 oj|b 1 o n. 1 iLiwen tao .netw ent a . pEoerramtan - com图-7字符代码与图形对应图写指令38H (不检测忙信号) 以后每次写指令、读/写数据操作均需要检测忙信号 写指令38H:显示模式设置写指令08H:显示关闭 写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH显示开及光标设置3.3.3时钟电路模块的设计图-8示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源主电 源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vc
28、c2给DS1302供电。当Vcc2小于Vcc1 时,DS1302由Vcc1供电。X1和X2是振荡源,外接32. 7 6 8 KHz晶振。RST是 复位/片选线,通过把RST俞入驱动置高电平来启动所有的数据传送。RST俞入有两种功能:首先,RSTS通控制逻辑,允许地址/命令序列送入移位寄存器; 其次,RSTI供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTSS为低 电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在 Vcc大于 等于2.5V之前,RS侬须保持低电平。中有在 SCLKM氐电平时,才能将R
29、STS 为高电平,I/O为串行数据输入端(双向)。SCLK!台终是输入端。(1)时钟芯片DS1302的工作原理:DS1302在每次进行读、写程序前都必须初始化,先把SCLK®置“0”,再接着 把RST®置“1",最后才给予SCLK永冲;读/写时序如下图-9所示。表-4为 DS1302勺控制字,此控制字的位7必须置1,若为0则不能把对DS1302s行读写数 据。对于位6,若对程序进行读/写时RAM=1对时间进行读/写时,CK=0位1至位5指操作单元的地址。位0是读/写操作位、进行读操作时,该位为1;该位为0则表示进行的是写操作VcC东 星节总是从最低位iXcc/输出
30、的。表6为DS1302X1的日历、时间寄存器容:X2CH酝志1时,时钟振荡器停止,DS1302t于低功耗状说GND 一当该位为0时,1而开始运行。“ WP是写保护RST位,在任何的对时钟和 RAM勺笠操作之前,WP必须为0。当“WP为1时,写保护位防止对任一寄存器的写操作(2) DS1302的控制字节DS1302的控制字如表-1所示。控制字节的高有效位(位 7)必须是逻辑1, 如果它为0,则不能把数据写入 DS1302中,位6如果0,则表示存取日历时钟 数据,为1表示存取RA微据;位5至位1指示操作单元的地址;最低有效位 (位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低
31、位开始输出图-8 DS1302的弓|脚图PSENGND表-4 DS1302的控制字格式CESCLK32.768KHz单字节读i1I/O R/WA0A1A2A3A4R/CD0D1D2D3D4D5D6D7CESCLKI/O R/WA0A1A2A3A4R/C单字节写D0D1D2D3D4D5D6D7图-9 DS1302读/写时序图数据输入输出(I/O)在控制指令字输入后的下一个 SCLK寸钟的上升沿时,数据被写入 DS1302数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位 0位到高位7。如表-4所示。DS1302的寄存器DS
32、1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据 位为BCM形式,其日历、时间寄存器及其控制字见表-5。止匕外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存 器及与RA醒目关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外 的所有寄存器容。DS1302与RA附目关的寄存器分为两类:一类是单个RAW元, 共31个,每个单元组态为一个8位的字节,其命令控制字为 C0HH FDH其中奇 数为读操作,偶数为写操作;另一类为突发方式下的RAMJ存器,此方式下可一 次性读写所有的RAM勺31个字节,命令控制字为FEH(W)、FFHQ却。读寄存器写寄存器BIT
33、7BIT6BIT5BIT4BIT3BIT2BIT1BIT0围81H80HCH10秒秒0-5983H82H10分分0-5985H84H12/24010时时1-12/0-23AM/PM87H86H0010日日1-3189H88H00010月月1-128BH8AH00000周日1-78DH8CH0-998FH 8EH WP 0000000- >表-5 DS1302的日历、时间寄存器3.3.4畸如图-10,测量精度使用P1.寄生电源电路示。采用数字式渊瘦能 t? VDD高,电DS18B2的GNDGND特点,I/O 口连D2电源 检测D5I8B20的内部给陶DALLASDS18B20123GNDD
34、QVddDS18B20 的 TO-92 封装图-10 DS18B20温度采集(1) DS18B2的理:NCNCVl*DQ8765NCNC:NCGNDVCC今U2MM VCC .- GNDDS18B20口 S18B20Z¥OIC 封装DS18B20勺测温原理如图-11所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2的脉冲输入, 图中还隐含着计数门,当计数门打开时,DS18B2CM对低温度系数振荡器产生的 时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度
35、系数振荡器来决定,每次测量前,首先将-55 C所对应的基数分别置入减法计数器 1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 C所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数, 如此循图-11 DS18B20测温原理图环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 2中的斜率累加器用于补偿和修正测温过程中的非线性,具输出用于修正减法计数器的预置值,只要计数门仍未关闭就重
36、复上述过程,直至温度寄存器值达到被测温度值。另外,由于DS18B20I线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对 DS18B20勺各种操作必须按协议进行。操作协议为:高8位低8位D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0SSSSS26252423222120212-22324温度值的符号部分温度值的整数部分温度值的小数部分DS18B20的内温度数据格式初始化DS18B20(发复位脉冲)一发ROMfe能命令一发存储器操作命令一处理数 据。DS18B20勺核心功能是一个直接数字式温度传感器。芯片的分辨率可以
37、按照 用户的需要配置为9位、10位、11位、12位,芯片在上电后默认设置为12位。 DS18B2W工作在低功耗的空闲状态。单总线系统中的主机发出温度转换命令(44H)后,DS18B2攸开始启动温 度测量并把测量的结果进行 A/D转换。经过A/D转换后,所产生的温度数据将存 储在暂存器中的两个温度寄存单元中,数据的格式为符号扩展的二进制补码, 同时DS18B2驱回到空闲状态。DS18B20勺温度数据输出单位为“摄氏度”。温度数据在两个温度寄存器单 元中的存储格式见下图:标志位(S)是温度数据的符号扩展位,表示温度的正负:如果温度为正,则S=0;如果温度为负,则S=10在实际使用过程中,如果 DS
38、18B20ft设置为12率,则D0位数据无效;如果DS18B2敢设置为10位分辨率,则D1、D0位数据 无效;如果DS18B20KS置为9位分辨率,则D2、D1、D0位数据无效。以12 位分辨率为例,表-6给出了 DS18B20FB分数字量输出与温度值之间的关系。在 表-6中,+85C是DS18B2叶电复位后在温度寄存器对应的数字量。温度/C数字量输出(二进制)数字量输出(十六进制)+1250000 0111 1101 000007D0+850000 0101 0101 00000550+25.06250000 0001 1001 00010191+10.1250000 0000 1010 0
39、01000A2+0.50000 0000 0000 1000000800000 0000 0000 00000000-0.51111 1111 1111 1000FFF8-10.1251111 1111 0101 1110FF5E-25.06251111 1110 0110 1111FF6F-551111 1100 1001 0000FC90表-6 DS18B20部分数字量输出与温度值之间的对应关系在DS18B2求成温度转换以后,其温度值将与报警寄存器中的值相比较。 在DS18B20中有两个报警寄存器,TH为温度上限值,TL为温度下限值,这两个寄存器均为8位,所以在进行温度比较时,只取出温度的
40、中间 8位(D4D11进行 比较。TH和TL寄存器格式如下表所示:D7D6D5D4D3D2D1D0S26252423222120如果温度寄存器测量的结果低于 TL或高于TH,则设置报警标志,这个比较 过程会在每次温度测量时进行。一旦报警标志设置后,器件就会响应系统主机发 出的条件搜索命令(ECH。这样处理的好处是,可以是单总线上的所有器件同时 测量温度,如果有些点上的温度超过了设定的阈值, 则这些报警器件就会通过条 件搜索方式识别出来,而不需要一个个器件去读取。无论是温度测量值还是报警阈值,都会存储在DS18B20芯片的寄存器中。DS18B20勺寄存器包括 SRAM暂存寄存器)和 EEPROM
41、t易失寄存器)。EEPROM 用于存放报警上限寄存器(TH)、报警下限寄存器(TL)和配置寄存器。如果在 使用过程中,没有使用报警功能,TH和TL可作为普通寄存器单元使用。DS18B20的存表-7寄存器内容字节地址储器结构如温度翻字量有位字节(LS By0鹏。温度薮字量高位字节(MS B<>EEPROMTH或用户寄存器I2TH或用户寄存器1TL或用户寄存器23TL或用户寄存器2<二配置寄存器4配置寄存器保留(FFH)5保留6保留(10H)7CRC校脸®S表-7 DS18B2存储结构字节0和字节1是温度数字量的低位字节和高位字节,这两个寄存器是只读寄存器,在上电时默认
42、值为 0550H,即+85C。字节2和字节3可用于存放报警阈值或用户寄存器。字节4是配置寄存器,用于设置 DS18B20®度测量分辨率,其格式如下表:D7D6D5D4D3D2D1D00R1R011111字节6、6、7保留未使用。字节8用于存放前8个字节的CRCK验值。EEPROM的值在掉电后仍然保留,SRAW的值在掉电后会丢失。在器件上电时,将EEPROM的数据复制到SRAW, SRA蹶复默认值。所以SRAM勺字节2、3、4、8中的值取决于EEPROM的值用户可通过“回读EEPROM命令后,通过一个读时隙来判断回读操作是否完成:如果回读操作正在执行,则 DS18B2脍向总线上发送一个
43、0;如果回读操作已完成,则DS18B2除向总线上发送一个1.“回读EEPROMfir令会在DS18B20 上电时自动完成一次,保证芯片在上电后可以使用有效数据。(2) DS18B20勺功能命令:DS18B20勺功能命令包括两类:温度转换和存储命令,见表 -8.1和表-8.2。表-8.1 ROM指令表指令约定代码功能读ROM33H读DS182姗度传感器ROW的编码(即64位地址)符合ROM55H发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。搜索ROM0FOH用于确定挂接在同一总线上 DS1820的个数和识别6
44、4位ROM地址。为操作各器件作好准备。跳过ROM0CCH忽略64位ROM地址,直接向DS1820发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表-8.2 RAM 指令表指令约定代码功能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms (9位为93.75ms)。结果存入部9字节RAMK读暂存器0BEH读部RAM+ 9字节的容写暂存器4EH发出向部RAM勺3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAMfr第3、4字节的容复制到EEPROMPo重调EEPROM0B8H将E
45、EPROM容恢复到RAMfr的第3、4字节读供电方式0B4H读DS1820的供电模式。寄生供电时 DS182侬送“ 0 ”,外接电源供电DS1820发送“1 ”。当系统中DS18B20g用寄生电源供电时,由于“温度转换”和“复制 SRAM 的操作都是发生在主机发命令之后,由DS18B20自主完成,同时又需要较长的时 问(“温度转换”的时间最长),所以通常在主机发出这些命令后,通过 MOSFET 将总线电压强拉至高电平,以保证这些操作顺利完成。如图-12所示。一般在“温 度转换”时需要根据测量的分辨率选择保持强上拉的时间;在“复制 SRAM时 需要至少保持10ms的强上拉,而且必须在主机发出命令
46、的 10ps的时间使用 MOSFET行上拉。3.3.5掉电保护模块的设计12c总线是一种双向二线制总线,结构简单,可靠性和抗干扰性能好。24C02 芯片是一个带有I2C总线接口的E2PRO怵储器,具有掉电记忆的功能,方便进 行数据的长期保存。Vcc图-12使用行强上拉图AT89C51DS18B20GND DQ Vdd4.7k。1-wire总线DS18B20MOSFET电路原理_ Vcc二 WP 口 SCL SDA线结构(1) I C 总结构的硬件结构非常简洁。24C02的弓|脚图:当某器件向总线上发送信息时,它就是发送器,而当其从总线上接收信息时,又成为接收器(2) I2C总线上的数据传送1
47、)位传输I 2c总线每传送一位数据必须有一个时钟脉冲。被传送的数据在时钟SCL的高电平期间保持稳定,只有在 SCL低电平期间才能够改变,示意图如下图所示, 在标准模式下,高低电平宽度必须不小于 4.7us。那么是不是所有I2C总线中的信号都必须符合上述的有效性呢?只有两个例外, 就是开始和停止信号。开始信号:当SCL为高电平时,SDAg生从高到低的跳变,就定义为开始信号。停止信号:当SCL为高电平时,SDAg生从低到高的跳变,就定义为结束信号。2)数据传输的字节格式SDA 传送数据是以字节为单位进行的。每个字节必须是 8位,但是传输的字 节数量不受限制,首先传送的是数据的最高位。每次传送一个字
48、节完毕,必须接 收到从机发出的一个应答位,才能开始下一个字节的传输。如果没有接受到应答 位,主机则产生一个停止条件结束本次的传送。那么从机应该发出什么信号算是 产生了应答呢?这个过程是这样的。当主器件传送一个字节后,在第9个SCL时钟置高SDA,而从器件白响应信号将 SDAK低,从而给出一个应答位。3) I2C数据传输协议I 2c总线的数据传输协议如下: 主器件发出开始信号 主器件发出第一个字节,用来选通相应的从器件。其中前7位为地址码, 第8位为方向位(R/W)o方向位为“ 0”表示发送,方向位为“ 1”表示接受。从机产生应答信号,进入下一个传送周期,如果从器件没有给出应答信 号,此时主器件
49、产生一个结束信号使得传送结束,传送数据无效。 接下来主、从器件正式进行数据的传送,这时在 I2C总线上每次传送的 数据字节数不限,但每一个字节必须为 8位(传送的时候先送高位,再送低位)。 当一个字节传送完毕时,再发送一个应答位(第 9位),如上一条所述,这样每次 传送一个字节都需要9个时钟脉冲。(3) AT24C0的存储结构与寻址AT24C0酌存储容量为256B,部分成32页,每页8B,操作时有两种寻址方式:芯片寻址和片子地址寻址。Q)芯片寻址AT2402勺芯片地址固定为1010,是I2C总线器件特征编码,其地址控制字格式为1010A2A1A0RW 其中,A2、A1、AM可编程地址选择位。A2、A1、A0 引脚接高、低电平后得到确定的三位编码,与 1010形成7位编码,即为该器 件的地址码。由于 A2、A1、ACHE接高电平,或接低电平,共有8种组合,故 系统最多可接8片AT24C02对应的存储容量为2K
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国精密模具数据监测研究报告
- 2025至2030年中国普通半剥扭线机数据监测研究报告
- 2025至2030年中国弹性套柱销式联轴器数据监测研究报告
- 2025年中国中号多彩兰花口杯市场调查研究报告
- 2025至2031年中国自动化控制设备行业投资前景及策略咨询研究报告
- 二零二五年度奶牛养殖废弃物处理与资源化利用合同2篇
- 2025年度出纳职务责任抵押担保及职业培训合同4篇
- 二零二五年度农家乐旅游产品设计与市场营销推广合同3篇
- 二零二五年度面料印刷与包装服务合同4篇
- 2025年度橱柜定制产品设计与创新奖励合同4篇
- 2025年温州市城发集团招聘笔试参考题库含答案解析
- 2025年中小学春节安全教育主题班会课件
- 2025版高考物理复习知识清单
- 除数是两位数的除法练习题(84道)
- 2025年度安全检查计划
- 2024年度工作总结与计划标准版本(2篇)
- 全球半导体测试探针行业市场研究报告2024
- 反走私课件完整版本
- 2024年注册计量师-一级注册计量师考试近5年真题附答案
- 临床见习教案COPD地诊疗教案
- 中考数学复习《平行四边形》专项练习题-附带有答案
评论
0/150
提交评论