《毕业设计论文基于单片机的数字式日历温度显示系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的数字式日历温度显示系统的设计.doc(22页珍藏版)》请在三一办公上搜索。
1、毕 业 设 计数字式日历温度显示系统的设计 Digital Calendar Temperature Display院 系 专 业 电 姓 名 指导教师 目 录前言3第一章 绪论4第一节 提出问题确立初步方案4第二节 系统总体框图5第二章 主要硬件的功能与应用5第一节 AT89C52芯片介绍 5 第二节 DS12887功能简介10第三节 DS18B20温度传感器13第四节 多功能器件X25045 特点及应用15第五节 键盘工作原理17第六节 采用MAX232 实现MCS-51 单片机与PC 机的通信18第三章 程序流程图25 第一节 DS18B20软件流程图25 第二节 x25045软件流程图
2、27第四章 键盘接口的类型与设计28 第一节 键盘类型介绍28 第二节 键盘扫描方式31谢词35第五章 结束语36参考文献37 前言由于数字式日历、温度显示器在各个行业的广泛应用,各企业也投入更多的人力,物力,尤其是在单片机控制系统上的重视程度越来越高,我们所设计的是利用单片机控制系统来实现的数字式日历、温度显示器。在日常生活中的很多场所,如变电所、银行等,需要一个非常明显的显示装置,可以显示出现在的年、月、日、时、分、秒,安全运行天数,从某年、某月、某日开始运行,现在场所的温度、湿度值等。这样可以给广大消费者带来很大的方便,为了满足上述需求,我们研究设计了一种单片机控制的数字式日历、温度显示
3、系统。 本系统我们采用了89C52单片机,时钟由时钟芯片DS12887提供; 显示部分采用高亮度LED显示器,共32位显示; 模拟量输入:采用集成传感器DS1820,测量范围:-50-+150;开关量输出为继电器输出;最高温度和最低温度状态指示为发光二极管;按键:设置3个按键和一个拨动开关本论文在编写过程中,得到山东理工大学电气与电子工程学院副教授姜志海的悉心指导,在次表示深深的谢意。另外在编写过程中,还参阅和利用了国内外大量文献、资料,对这些文献作者也在次致以谢意。由于作者水平有限,加上时间仓促,本论文难免有不足和疏漏之处,热忱欢迎广大读者批评指正,提出宝贵意见。 学生:刘国栋 2005年5
4、月25日 第一章 绪论 第一节 提出问题确立初步方案一、 问题的提出在日常生活中的很多场所,如变电所、银行等,需要一个非常明显的显示装置,可以显示出现在的年、月、日、时、分、秒,安全运行天数,从某年、某月、某日开始运行,现在场所的温度、湿度值等。这样可以给广大消费者带来很大的方便,为了满足上述需求,我们研究设计了一种单片机控制的数字式日历温度显示系统。二、 设计方案初步确立数字式日历温度显示系统的设计是一套基于单片机的综合控制系统,包括很多方面。本次设计由于时间等各方面的限制只完成了其中的大部分的内容1. 选择单片机:根据控制系统所要求的控制精度,响应速度,开发环境,I/O点数,输入/输出通道
5、数等情况,我们选择了MCS51系列的8位单片机89C52。AT89C52是一种带8K字节闪速可编程可擦除只读存储器(EEPROM)的低电压、高性能CMOS8位为制器 。该器件采用ATMEL非易失存储器制造技术制造,与工业标准的80C51和80C52输出管相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C520是一种高性能控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.选择时钟芯片:DS12887 是美国达拉斯半导体公司(Dallas) 最新推出的串行接口实时时钟芯片,采用CMOS 技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与目前IBM A
6、T 计算机常用的时钟芯片MC146818B 和DS1287 管脚兼容,可直接替换。它所提供的世纪字节在位置32h ,世纪寄存器32h 到2000 年1 月1 日从19 递增到20 。采用DS12887 芯片设计的时钟电路不需任何外围电路和器件,并具有良好的微机接口。DS12887芯片具有微功耗, 外围接口简单,精度高,工作稳定可靠等优点, 可广泛用于各种需要较高精度的实时时钟系统。 3.集成传感器的选择:DS18B20 是美国DALLAS 公司继DS1820 之后推出的增强型单总线数字式温度传感器,它在转换速度、转换时间、传输距离、分辨率等方面较DS1820 有了很大的改进,给用户带来了更方便
7、、更令人满意的效果。 4串行通讯接口的选择在单片机应用系统中,数据通信主要采用异步串行通信方式.在设计通信接口时,必须根据需要选择标准接口,并考虑传输介质、电平转换等问题。RS - 232C是美国电子工业协会1969年公布的,是在异步通信中应用最广泛的总线标准。他的通信距离不大于15米,传输速率最高为19.2kb/s。适合于短距离或带调制解调器的通信场合。MAX232 芯片是MAXIM 公司生产的低功耗、单电源双RS232 发送/ 接收器,用于各种EIA -232E 和V. 28/ V. 24 的通信接口。采用此芯片接口的串行通信系统只要单一的+5V 电源就可以。其适应性更强,加之其价格低,硬
8、件接口简单,所以被广泛应用。 2 第二节 系统总体框图如图1所示,是数字式日历温度显示系统的总体框图: 单片机 89C52时钟电路 键盘/显示电路传感器电路 检测及复位电路报警电路串行接口 数字式日历温度显示系统总体框图 第二章 主要硬件的功能与应用本章主要论述了系统中所选的芯片的主要、结构、典型用途和接法,以及主要命令字的编写和一些有关的计算第一节 AT89C52芯片介绍AT89C52是一种带8K字节闪速可编程可擦只读存储器的低电压、高性能CMOS 8位微控制器。该器件采用ATMEL非易失性存储器制造技术制造,与工业标准的80C51和80C52指令集和输出管脚相兼容。由于将多功能8位CPU和
9、闪速存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很 3多嵌入式控制系统提供了一种灵活性高且廉价的方案。ATMEL带8K字节闪速存储器的8位单片机特性:1 与80C51和80C52产品兼容;2 8K字节可编程闪速存储器;寿命:1000写/擦循环;数据保留时间:10年;3 静态工作:024MHZ;4 三级程序存储器锁定;5 2568位内部ROM;6 32条可编程I/O口;7 3个16位定时器/计数器;8 8个中断源可编程串行通道;9 低功耗的闲置和掉电模式;一、管脚说明:1.主电源引脚Vcc和GND Vcc:供电电压,正常操作是为+5V电源。 GND:接地。2.外接晶体
10、引脚XTAL1和XTAL2 XTAL1:内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接外部电源。XTAL1:内部振荡电路反相放大器的输出端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接外部电源。3.控制或复位引脚RST,ALE/PROG,PSEN,EA/Vpp RST:复位输入,当振荡器复位时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部寄存器时地址锁存器允许的输出电平用于锁存地址的低字节位。在FLASH编程期间,此引脚用于输入编程。在平时,ALE脉冲信号,此频率为振荡频率的1/6。因此它可用作对外部输出的时端以不变的频率周期
11、输出时钟,或用语定时目的。 PSEN:此输出为外部程序存储器的选读信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部存储器时,这两次有效的PSEN信号将不出现。 4EA/Vpp:当EA保持低电平时,则只此间外部寄存器不管是否有内部程序存储器,注意加密方式1时EA将内部被锁为RESET。 当EA保持高电平时,此间对内部程序存储器进行操作,在FLASH编程期间也用于施加12V编程电源。4输入/输出引脚P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0P3.7 P0.0P0.7:P0是一个8位漏极开路型双向I/O口,在访问外部存储器时,它分时传送低字节地址和数据
12、总线。P0口能以吸收电流的方式驱动8个LSTTL负载。 P1.0P1.7:P1口是一个内部提供上拉电8位双向I/O口,P1.0和P1.1可作为定时器2外部计数器和定时器2外部控制端,祥见表 在FLASH编程和校验时,P1口作为低8位地址接收。交替功能P1.0T2(定时器/计数器2外部记数输入)时钟输出P1.1T2(定时器/计数器2捕捉/再装配控制) 表2P2.0P2.7:P2口为带内部上拉的8位双向I/O口。P2口当用于外部程序存储器或16位地址外部存储器进行存取时,P2口输出地址的高8位,当对外部8位地址进行读写时P2口输出其特殊功能寄存器的内容。P2口FLASH编程和校验时接收高8位地址信
13、号和其他控制信号。P3.0P3.7:口管脚是8个带内部上拉的双向I/O管脚。P3口也可用作AT89C52的一些特殊功能口,如表所示P3口管脚备选功能P3.0 RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断口0)P3.3 INT1(外部中断口1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入) 表3 P3口同时为闪速编程和编程校验接收一些控制信号。二、串行通信1.串行口控制寄存器SCON:SCON是串行口的控制和状态寄存器,各位的定义:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISCON各位的功能和操作: SCON各位功
14、能和操作SM0SM1SM2串行口操作模式选择位,两个选择位对应四种模式。在模式2和模式3的中多处理机通信使能位,在模式2和模式3中,若SM2=1时,仅当收到第9位数据为1时,RI不置位。若SM2=0时,接收RI就置位。当串行口工作在模式0时,SM2必须是0。允许标志位。由软件置位和清零。当此位为1时,允许接收;当此位为0时,禁止接收。发送数据位8。该位是在模式2和3中要发送的第9位数据。该位也可以作为奇偶校验位。可以按照需要有软件置位和清除。在多处理机通信中,该位用来表示是地址桢还是数据桢接收数据位8。是模式2和3中已接收到的第9位数据。RENTB8RB8TIRI发送中断标志位。模式0中,发送
15、完第8位数据时,由硬件置位。在其他模式中,发送停止位之初,由硬件置位。TI=1时,申请中断,CPU相应中断后发送下一桢数据。该位必须用软件来清除。接收中断标志位。在模式0中,接收第8位结束时,由硬件置位。RI,申请中断,请求CPU取走数据。而在工作模式1中,SM2=1时,若未接到有效停止位,则不会对RI置位。该位必须用软件清除。串行口工作方式: SM0SM1工作方式说明波特率 00方式0同步移位寄存器Fosc/1210方式110位异步收发由定时器控制10方式211位异步收发Fosc/32或Fosc/6411方式311位异步收发由定时器控制注:表中Fosc时振荡器频率2.电源控制寄存器PCON:
16、 PCON的第7位SMOD是与串行口的波特率设置有关的选择位。 相关的定义:D7D6D5D4D3D2D1D0SMODGF1GF0PDIDL与串行口控制有关的位:PCON各位功能和操作SMOD与串行口波特率设定有关。为1时:在串行口工作模式1和3下,波特率=定时器1溢出率/16;在模式2下,波特率=Fosc/32为0时:在串行口工作模式1和3下,波特率=定时器1溢出率/32;在模式2下,波特率=Fosc/64GF1两个通用标志位GF0PDCHMOS器件的低功耗控制位IDL芯片IDLE模式设置位 3串行口的工作模式:模式0:串行口作同步移位寄存器使用,其波特率是固定的,为Fosc /12串行书记通
17、过RXD输入/输出,TXD提供移位时钟脉冲。发送接收的是8位数据,高位在后,低位在前。发送一些SBUF寄存器的指令开始,8位为输出结束时,TI置位,方式0接收REN=1和REN=1时开始,接收的数据装入SUBF中,结束时RI被置位。三、辅助部分 1时钟电路:单片机的时钟信号,由CAN总线控制器SJAI1000的CLKOUT引脚提供,它来自内部振荡器且可以通过编程分频。SJAI1000的时钟分频寄存器的低四位定义CLKOUT输出频率及开关状态。频率选择如表:CD2CD1CD0时钟频率000fose/2001fose/4010fose/6011fose/8100fose/10101fose/121
18、10fose/14111fose 表4 2复位电路 复位芯片采用带看门狗芯片X25045。通过给其状态寄存器写控制字,并根据智能模块系统程序的需要设定看门狗的溢出时间。在主程序中设一条指令对计数器复位清零。一旦程序在运行过程中因干扰而陷入死循环,超过预定时间间隔而没能执行这条指令,复位芯片的RESET脚就会产生一个高电平输出,使与之相连的微控制器、总线控制器及传感器接口等芯片等统统复位。四:键盘 2 143键一:定义为温度时间实际值与设定值转换按键,在上面时为正常运行位置,在下面时为调整位置。键二:定义为数码管之间的闪烁切换按键。键三:定义为+1按键,可以对闪烁数码管的显示值进行加1操作。键四
19、:定义为-1按键,可以对闪烁数码管的显示值进行减1操作。第二节 DS12887功能简介一、DS12887 主要功能简介 (1) 内含一个锂电池,断电情况运行十年以上不丢失数据。(2) 计秒,分,时,天,星期,日,月,年,并有闰年补偿功能。(3) 二进制数码或BCD 码表示时间, 日历和定闹。(4) 12 小时或24 小时制,12 小时时钟模式带有PM和AM指示,有夏令时功能。(5)MOTOROLA 和INTEL 总线时序选择。(6) 有128 个字节RAM 单元与软件接口,其中14 个字节作为时钟和控制寄存器,114 字节为通用RAM,所有RAM单元数据都具有掉电保护功能。(7) 可编程方波信
20、号输出。(8) 中断信号输出( IRQ) 和总线兼容,定闹中断,周期性中断,时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。 8二.原理及管脚说明 图1 DS12887 管脚图DS12887 内部由振荡电路,分频电路,周期中断/ 方波选择电路,14 字节时钟和控制单元,114 字节用户非易失RAM,十进制/ 二进制计加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。DS12887 管脚分配如图1。 1. DS2887 管Vcc :直流电源+ 5V 电压。当5V 电压在正常范围内时,数据可读写;当Vcc 低于4. 25V ,读写被禁止,计时功能仍继续;当Vcc 下降到3V 以
21、下时,RAM和计时器供电被切换到内部锂电池。MOT(模式选择) :MOT 管脚接到Vcc 时,选择MOTOROLA 时序,当接到GND 时,选择INTEL 时序。SQW(方波信号输出) :SQW 管脚能从实时时钟内部15 级分频器的13 个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A 编程改变。 2. AD0 AD7 (双向地址/ 数据复用线) :总线接口,可与MOTOROLA 微机系列和INTEL 微机系列接口。3.AS (地址选通输入) : 用于实现信号分离, 在AD/ ALE 的下降沿把地址锁入DS12887。4.DS(数据选通或读输入) :DS/ RD 管脚有两种操作模式,取
22、决于MOT 管脚的电平,当用MOTORO2LA 时序时,DS 是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS 指示DS12887 驱动双向总线的时刻; 在写周期,DS 的后沿使DS12887锁存写数据。选择INTEL 时序时,DS 称作(RD) ,RD与典型存贮器的允许信号(OE) 的定义相同。5.R/W(读/ 写输入) : R/ W 管脚也有两种操作模式。选MOTOROLA 时序时,R/ W 是一电平信号,指示当前周期是读或写周期,DS 为高电平时,R/ W高电平指示读周期,R/ W 信号是一低电平信号,称为WR。在此模式下,R/ W管脚与通用RAM 的写允许信号(WE) 的
23、含义相同。6.CS(片选输入) :在访问DS12887 的总线周期内,片选信号必须保持为低。7.IRQ(中断申请输入) :低电平有效,可作微处理的中断输入。没有中断的条件满足时, IRQ处于高阻态。IRQ线是漏极开中输入,要求外接上接电阻。RESET(复位输出) :当该脚保持低电平时间大于200ms ,保证DS12887 有效复位。三、内部功能 9 DS12887 内部框图如图21. 地址分配:DS12887 的地址由114 字节的用户RAM。10 字节的存放实时时钟时间,日历和定闹RAM及用于控制和状态的4 字节特殊寄存器组成,几乎所有的128个字节直接读写。2. 时间、日历和定闹单元:时间
24、和日历信息通过读相应的内存字节来获取,时间、日历和定闹通过写相应的内存字节设置或初始化,其字节内容可以是二进制或BCD 形式。时间可选择12 小时制或24 小时制,当选择12 小时制时,小时字节的高位为逻辑“1”代表PM。时间、日历和定闹字节是双缓冲的,总是可访问的。每秒钟这10 个字节走时1 秒,检查一次定闹条件, 如在更新时,读时间和日历可能引起错误,三个字节的定闹字节有两种使用方法。第一种,当定闹时间写入相应时,分、秒、定闹单元,在定允许闹位置高的条件下,定闹中断每天准时起动一次。第二种,在三个定闹字节中插入一个或多个不关心码。不关心码是任意从C0 到FF 的16 进制数。当小时字节的不
25、关心码位置位时,定闹为每小时发生一次; 同样,当小时和分钟定闹字节置不关心位时,每分钟定闹一次;当三个字节都置不关心位时,每秒中断一次。 3. 非易失RAM:在DS12887 中,114 字节通用非易失RAM 不专用于任何特殊功能, 它们可被处理器程序用作非易失内存,在更新周期也可访问。4. 中断:RTC 实时时钟加RAM 向处理器提供三个独立的、自动的中断源。定闹中断的发生率可编程,从每秒一次到每天一次, 周期性中断的发生率可500ms 到122s 选择。更新结束中断用于向程序指示一个更新周期完成。中断控制和状态位在寄存器B 和C 中,本文的其它部分将详细描述每个中断发生条件。 5. 晶振控
26、制位:DS12887 出厂时,其内部晶振被关掉,以防止锂电池在芯片装入系统前被消耗。寄存器A 的BIT4- BIT6 的其它组合都是使晶振关闭。6. 方波输出选择:15 级分频抽头中的13 个可用于15 选1 选择器,选择分频器抽头的目的是在SQW管脚产生一个方波信号,其频率由寄存器A 的RS0 - RS3 位设置。SQW频率选择器与周期中断发生器共享15 选1 选择器,一旦频率选择好,通过用程序控制方波输出允许位SQWE 来控制SQW管脚输出的开关。 7.中断选择:周期中断可在IRQ脚产生500ms 一次到每122s一次的中断,中断步率同样由寄存A 确定,它的控制位为寄存器B 中的PIE 位
27、。 8.更新周期:DS12887 每一秒执行一次更新周期,保证时间、日历的准确。更新周期还比较每一定闹字节与相应的时间字节,如果匹配或三个字节都是不关心码,则产生一次定闹中断。四、状态控制寄存器DS12887 有4 个控制寄存器,它们在任何时间都可访问,即使更新周期也不例外。 1.寄存器A:UIP :更新周期正在进行位。当UIP 为1 ,更新转换将很快发生,当UIP 为0 ,更新转换至少在244s内不会发生。DV0、DV1、DV2 :用于开关晶振和复位分频链。这些位的010 唯一组合将打开晶振并允许RTC 计时。RS3、RS2、RS1、RS0 :频率选择位,从15 级频率器13 个抽头中选一个
28、,或禁止分频器输入。选择好的抽头用于产生方波(SQW管脚) 输出和周期中断,用户可以:(1) 用PIE 位允许中断。(2) 用SQWE 位允许并用相同的频率。2.寄存器B:SET:SET为0 ,时间更新正常进行,每秒计数走时一次,当SET 位写入1 ,时间更新被禁止,程序可初始化时间和日历字节。PIE:周期中断允许位,PIE 为1 ,则允许以选定的频率拉低IRQ 管脚,产生中断; PIE 为0 ,则禁止中断。AIE:定闹中断允许位,ATE 为1 ,允许中断;否则禁止中断。SQWE:方波允许位,置1 选定频率方波从SQW脚输出;为0 时,SQW脚为低。DM:数据模式位,DM 为1 表示为二进制数
29、据,为0 表示是BCD 码的数据。24/ 12 :小时格式位,1 表示24 小时模式,0 表示12 小时模式。DSE:夏令时允许位,当DSE 置1 时,允许两个特殊的更新,在四月份的第一星期日,时间从1 :59 :59AM改变为1 :00 :00AM,当DSE 位为0 ,这种特殊的修正不发生。IRQF :中断申请标志位。当下列表达式中一个或多个为真时,置1。PF = PIE = 1 ;AF = AIE = 1 ;UF = UIE = 1 ;即: IRQF = PF 3 PIE + AF 3 AIE + UF 3 UIE 只要IRQF 为1 ,IRQ 管脚输出低电平,程序读寄存器C 以后或RES
30、ET 管脚为低后,所有标志位清零。AF :定闹中断标志位,只读,AF 为1 表明现在时间与定闹时间区匹配。VF :更新周期结束标志位。VF 为1 表明更新周期结束。BIT0 - BIT3 : 未用状态位, 读出总为0 , 不能写入。VRT:内部锂电池状态位,平时应总读出1 ,如出现0 ,表明内部锂电池耗尽。BIT0 - BIT6 : 未用关态位, 读出总为0 , 不能写入。四、寄存器及RAM说明 第三节 DS18B20温度传感器DALLAS最新单线数字温度传感器简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas半导体公司的数字化温度传感器。DS18B20是世界上第一片支持“一线总线
31、”接口的温度传感器。一线总线独特而经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新概念。DS18B20。DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也同样支持“一线总线”接口,测量温度范围为-55.5+125,在-10+85范围内,精确度为0. 5 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰能力。适合于恶劣环境的现场温度测量。新的产品支持3V-5V的电压范围,使系统设计更灵活、方便。而新一代产品更便宜,体积更小。DS18B20、DS1822的特性DS18B20可以程序设定9-12位的分辨率,精度为0. 5 。可选更小的封
32、装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。0. 5 的性能是新一代产品中最好的!性能价格比也非常出色!一、DS18B20 温度传感器简介 1.DS18B20 的外型及引脚说明:外型如图1所示,其体积只有DS1 8 2 0的一半,引脚定义相同。 图1 DS18B20 引脚结构图 1 地( GND) ;2 单线运用的数据输入输出引脚(DQ) ;3 可选的电源引脚(VDD)。 2. DS18B20 测温原理:DS18B20 测温原理如图2 所示。传感器中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1 。高温度系数
33、晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2 的脉冲输入。计数器1 和温度寄存器被预置在- 55 所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1 的预置值减到0 时,温度寄存器的值将加1 ,计数器1 的预置将重新被装入,计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1 的预置值。 图2 DS18B20 测温原理框图在正常测温情况下,DS18B20 的测温分辩率为0.
34、5 以12 位数据格式表示,其中最低有效位(LSB)由比较器进行0. 25 比较,当计数器1 中的余值转化成温度后低于0. 25 时,清除温度寄存器的最低位(LSB) ,当计数器1 中的余值转化成温度后高于0.25 ,置位温度寄存器的最低位(LSB) 。二、系统的组成 1.硬件接口电路: 图3 硬件接口电路系统采用了AT89C2051 单片机,它是一个只有20 引脚的体积小、价格便宜的Flash ROM 型单片机,并提供了以下标准功能,一个8 位的CPU ,2 KB 的闪烁存储器,128 字节RAM ,15 根I/ O 线,两个16 位定时器,一个全双工串行口,5 个中断源,还有片内振荡电路和
35、时钟电路及一个精密模拟比较器,指令系统与MSC51 兼容,因而系统硬件设计简单,软件设计也十分方便。系统通过键盘对以下几种参数进行选择,循环检测显示各路温度值,对每一路温度设上下限报警值以及继电器闭合时间的设定等。系统使用了AT89C2051 的P3. 4 控制继电器1 ,实现温度控制;使用P3. 5 控制继电器2 ,实现定时控制,并外接EEPROM 存储器,可采集大量数据进行计算并存储,进而通过RS485 通讯接口将数据传送到上层计算机进行进一步分析处理,进行报表统计和打印。 3.DS18B20常用命令:命令命令编号功能介绍跳过ROM CCH不送出ROM序列信号,可访问总线上的所有设备。后接
36、44H命令可使总线所有温传进行温度转换。 搜索ROM F0H系统上电前,识别总线所有从机ROM序列号。控制器执行SEARCH ROM循环确定从机的数目和类型。每次该命令之后必须回到事务序列的初始化。 温度变换 44H启动温度转换,结束后,数据保存在暂存器的2字节温度寄存器中,DS18B20回到低功耗状态。寄生电源模式,该命令发出后10US内,在整个变换期间控制器必须有足够强的上拉。 写暂存器 4EH控制器写3字节到DS18B20的暂存器中。第一字节写到TH寄存器(暂存器的第2字节),第二字节写到TL寄存器(字节3),第三字节邪道配置寄存器(字节4)。以最低的有效位先发送。读暂存器0BEH控制器
37、读暂存器的内容。数据传诵开始于字节0的最低位,直到暂存器的第9字节(字节CRC)被读取。只需部分暂存器数据,用复位结束读操作。 符合ROM33H发出此命令后,接着发出64位ROM编码,访问单线总线与该编码相对应的DS18B20使之作出响应,为下异步对该DS18B20的读写做准备。告警搜索命令0CEH执行后,只有温度超过设定值上限或下限的片子才做出响应。复制暂存器48H将RAM中的第3、4字内容复制到E2PRAM中。重调E2PROM OB8H将E2PRAM中的内容恢复到RAM中的第3、4字节。读供电方式 0B4H读DS18B20的供电方式,寄生供电时DS18B20发送“0”,外接电源供电DS18
38、B20发送“1”。表1注意:(1) DS18B20进行读写编程时,必须严格保证读写程序,否则将无法读出测温结果。在使用PL/M、C等高级语言进行系统编程时,对DS18B20操作部分最好采用汇编语言。(2) 单总线上挂的DS18B20的个数不允许超过8个。(3) 连接DS18B20的总线长度有限制。采用普通信号的电缆传输长度不超过50M,当采用双绞线带屏蔽电缆时,正常通信距离可大150M。(4) 在DS18B20测温设计中,向DS18B20发出温度转换命令时,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。(
39、5) 测温电缆线建议采用屏蔽4芯双绞线,其中一对接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。第四节 多功能器件X25045 特点及应用一、微处理系统中的监控作用一般情况下, 大多数单片机系统在上电和掉电过程中、正常运行以及在切换工作模式过程中, 都需要进行监控, 诸如上电和掉电复位、后备电池管理、存储器写保护、低电压早期告警以及看门狗等。其中, 上电和掉电复位是CPU最基本也是必不可少的硬件功能; 看门狗(即WATCHDO G) 是针对机器语言程序设置的抗干扰措施。这两项基本功能体现在单片机系统的设计中, 可以提高智能仪表整机的可靠性能。传统的阻容复位电路存在问题1 , 而基于供电电源监视技术研制的复位电路在欠压状态下,可提供稳定的复位脉冲输出,对智能仪表的可靠性设计提供了强大的技术支持。二、X25045 性能及特点X25045 芯片具备三种功能, 除包含监控器复位电路和看门狗外, 还具有512 字节串行EEPROM , 因而使单片机系统的设计结构紧凑、性能完善。在8 个引脚的封装内, 其主要性能可描述如下:1. 编程的看门狗定时器2. 供电电源欠压时的复位输出3. 512 字节串行EEPROM4. 多种形式对EEP