看门狗芯片X25045
毕业设计论文_基于51单片机
南京信息职业技术学院毕业设计论文作者薛亮学号*****T32 系部电子信息学院专业无线电技术题目基于单片机的家用电器远程遥控装置的设计与制作指导教师李光明评阅教师完成时间:2010年2月11日目录第1章绪论 (5)1.1 概述 (5)1.2 设计要求及主要功能介绍 (5)1.3 MCS-51系列单片机简介 (7)第2章系统总体设计 (9)2.1 系统功能模块的划分 (9)2.2 系统原理框图 (9)2.3 系统软件主要特色 (10)第3章各模块详细设计 (12)3.1 振铃检测模块的设计 (12)3.2 双音多频模块的设计 (13)3.3 自动摘机及超时挂机模块的设计 (16)3.4 语音提示模块的设计 (17)3.5 密码设置模块的设计 (21)3.6 EEPROM及看门狗模块的设计 (23)3.7 继电器驱动模块的设计 (27)3.8 系统总程序的设计 (28)第4章系统的组装、调试和测试 (30)4.1 系统的组装、调试 (30)4.2 振铃检测及自动摘机功能的测试 (30)4.3 语音及双音多频功能的测试 (30)4.4 密码设置功能的测试 (30)4.5 EEPROM密码存储功能的测试 (31)4.6 继电器驱动、电器状态显示及语音提示功能的测试 (31)4.7 超时自动挂机功能的测试 (31)第5章系统方案总评 (32)结论 (33)致谢 (33)参考文献 (33)附录A 家用电器远程遥控装置的功能及使用 (35)1 家用电器远程遥控装置的功能 (35)2 家用电器远程遥控装置的使用方法 (36)图1 家用电器远程遥控装置原理图 (38)图2 家用电器远程遥控装置印制板图 (39)图3 家用电器远程遥控装置CPLD内部电气图 (40)表1 家用电器远程遥控装置元器件清单 (41)第1章绪论1.1 概述单片机以其强大的控制能力已经被广泛应用于诸多领域,从最初的8位控制器到现在的16位、32位控制器都还有很大的发展和应用空间。
X25045芯片简介
X25045芯片简介X25045芯片简介X25045是美国Xicor 公司的生产的标准化8脚集成电路,它将EEPROM 、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。
X25045引脚如图1所示。
其引脚功能如下。
CS :片选择输入;SO :串行输出,数据由此引脚逐位输出;SI :串行输入,数据或命令由此引脚逐位写入X25045;SCK :串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;WP :写保护输入。
当它低电平时,写操作被禁止;Vss :地;Vcc :电源电压;RESET :复位输出。
X25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。
X25045看门狗电路设计及编程X25045硬件连接图如图2所示。
X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。
在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET 输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU 复位。
图2电路中,CPU 的复位信号共有3个:上电复位(C1、R2 ,人工复位(S、R1、R2 和Watchdog 复位(C2、R3 ,通过或门综合后加到RESET 端。
C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU 的振荡器已经在工作。
看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。
如表2所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM 的工作设置有关。
X25045状态寄存器WD1=0,WD0=0,预置时间为1.4s 。
WD1=0,WD0=1,预置时间为0.6s 。
WD1=1,WD0=0,预置时间为0.2s 。
WD1=1,WD0=1,禁止看门狗工作。
实现串行E_2PROM芯片的PC界面操作
收稿日期:2002 01 09 收修改稿日期:2002 04 26实现串行E 2PROM 芯片的PC 界面操作贾东耀,汪仁煌(广东工业大学,广东广州 510090)摘要:基于串行总线I 2C 或SPI 的E 2PROM 芯片已被广泛应用于智能仪表中,但通常对E 2PROM 的操作是利用单片机实现,可视性不强。
文中以X25045为例,给出了一种实现串行E 2PROM 芯片功能的新方案,即通过PC 机和单片机之间的串行通讯,可以很方便的实现PC 机对E 2PROM 的读写操作,并且可以把需要存入E 2PROM 的数据以数据库文件的形式保存起来,设计更为灵活。
PC 机界面采用VB6 0编程,形象直观。
该设计充分利用了PC 机的资源,在模块方式嵌入系统中,对于无显示模板系统的调试,确认存取数据和基本参数的准确性等方面的操作方便、简单。
本方案具有典型性,对于其他I 2C 或SPI 总线串行E 2PROM 的读写同样适用。
关键词:通讯约定;单片机C 语言中图分类号:TP333 文献标识码:B 文章编号:1002-1841(2002)08-0031-03Operation of Serial C hip E 2PROM On PC InterfaceJia Dongyao,Wang Renhuang(Guangdong U niversity of T echnology ,Guangdo ng 510090,China)Abstract:E 2PROM chips based on SPI or I 2C ser ial bus have been used w idely in intelligent instruments and sensors,while the normal oper atio n on E 2PROM is reailized by single chip and is inv isible.T his paper introduces one new method of realizing the function of chip E 2PROM and g ives the example of X25045.By using the serial communication between the P C and single chip,the read and w rite operation of X25045is carried out easily on PC,and the data to be sto red in E 2PRO M can be stored in database file form.T he PC interface is built by Visual Basic 6.0and vivid result is got.Especial ly in model embedded system,this method is effectiv e in debugging embedded system w ithout display model,conforming access data and ex aming the acuracy of basic parameters by making fully use of the PC resourses.T he metho d i s ty pical and can be applied to other E 2PROM chips based o n SPI or I 2C bus.Key Words:Communication Protocol;Single Chip C L anguage1 方案的提出目前基于串行总线I 2C 或SPI 的E 2PROM 芯片越来越多,被广泛应用于单片机系统、智能仪表等各个领域。
X25045编程器的制作
X25045编程器的制作摘要介绍X25045的编程特性以及用单片机GMS97C2051制作的编程器。
关键词单片机E2PROM 编程1 引言X25045是美国Xicor公司的产品,它将三种功能:电压监控、看门狗定时器和E2PROM 组合在单个芯片之内。
因其体积小、占用I/O口少等优点已被广泛应用于工业控制、仪器仪表等领域,是一种理想的单片机外围芯片。
为了对X25045内的E2PROM编程,用GMS97C2051单片机制作了一个简易编程器,该编程器与PC的串行口相接,编程数据可通过PC机写入X25045的E2PROM。
2 X25045简介2.1 X25045引脚:芯片选择输入;SO:串行输出;SI:串行输入;SCK:串行时钟输入;:写保护输入;Vss:地;Vcc:电源电压;RESET:复位输出。
2.2 X25045工作原理X25045内含512×8的串行E2PROM,可以直接与微控制器的I/O口串行相接。
X25045内有一个位指令寄存器,该寄存器可以通过SI来访问。
数据在SCK的上升沿由时钟同步输入,在整个工作期内,必须是低电平且必须是高电平。
如果在看门狗定时器预置的超时时间内没有总线的活动,那么X25045将提供复位信号输出。
X25045内部有一个“写使能”锁存器,在执行写操作之前该锁存器必须被置位,在写周期完成之后,该锁存器自动复位。
X25045还有一个状态寄存器,用来提供X25045状态信息以及设置块保护和看门狗的超时功能。
表1 X25045的指令集2.3 X25045的读时序(a)读E2PROM的时序(b)读状态寄存器的时序图2 X25045读时序2.4 X25045的写时序(a)写使能锁存器的时序(b)字节写操作的时序图3 X25045写时序2.5 复位操作当Vcc降至门限电压以下或看门狗定时器已达到编程的极限值,X25045的RESET引脚将输出高电平。
3 X25045编程器的组成及原理X25045编程器主要由单片机、MAX232、PS7219和LED等组成,如图4所示(虚线框部分)。
嵌入式看门狗定时器
看门狗定时器在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watch dog)。
加入看门狗电路的目的是使单片机可以在无人状态下实现连续工作,其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便将它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,从而单片机将从程序存储器的起始位置重新开始执行程序,这样便实现了单片机的自动复位。
通常看门狗电路需要一个专门的看门狗芯片连接单片机来实现,不过这样会给电路设计带来复杂,STC单片机内部自带有看门狗,通过对相应特殊功能寄存器的设置就可实现看门狗的应用,STC89系列单片机内部有一个专门的看门狗定时器寄存器,Watch Dog Timer 寄存器看门狗定时器寄存器(WDT_CONTR)STC单片机看门狗定时器寄存器在特殊功能寄存器中的字节地址为E1H,不能位寻址,该寄存器用来管理STC单片机的看门狗控制部分,包括启停看门狗、设置看门狗溢出时间等。
单片机复位时该寄存器不一定全部被清0,在STC下载程序软件界面上可设置复位关看门狗或只有停电关看门狗的选择,大家根据需要可做出适合自己设计系统的选择。
其各位的定义如表1所示。
CLR_WDT :看门狗清“0”位,当设为“1”时,看门狗定时器将重新计数。
看门狗芯片X25045
SPI接口应用之一---看门狗芯片X25045hadao 发表于 2006-5-8 0:08:41一、引脚定义及通信协议SO:串行数据输出脚,在一个读操作的过程中,数据从SO脚移位输出。
在时钟的下降沿时数据改变。
SI:串行数据输入脚,所有的操作码、字节地址和数据从SI脚写入,在时钟的上升沿时数据被锁定。
SCK:串行时钟,控制总线上数据输入和输出的时序。
/CS :芯片使能信号,当其为高电平时,芯片不被选择,SO脚为高阻态,除非一个内部的写操作正在进行,否则芯片处于待机模式;当引脚为低电平时,芯片处于活动模式,在上电后,在任何操作之前需要CS引脚的一个从高电平到低电平的跳变。
/WP:当WP引脚为低时,芯片禁止写入,但是其他的功能正常。
当WP引脚为高电平时,所有的功能都正常。
当CS为低时,WP变为低可以中断对芯片的写操作。
但是如果内部的写周期已经被初始化后,WP变为低不会对写操作造成影响。
二、硬件连接三、程序设计状态寄存器:WIP:写操作标志位,为1表示内部有一个写操作正在进行,为0则表示空闲,该位为只读。
WEL:写操作允许标志位,为1表示允许写操作,为0表示禁止写,该位为只读。
BL0,BL1:内部保护区间的地址选择。
被保护的区间不能进行看门狗的定时编程。
WD0,WD1:可设定看门狗溢出的时间。
有四种可选择:1.4s,600ms,200ms,无效。
操作码:WREN 0x06 设置写允许位WRDI 0x04 复位写允许位RDSR 0x05 读状态寄存器WRSR 0x01 写状态寄存器READ 0x03/0x0b 读操作时内部EEPROM页地址WRITE 0x02/0x0a 写操作时内部EEPROM页地址程序代码:#i nclude <reg51.h>sbit CS= P2^7;sbit SO= P2^6;sbit SCK= P2^5;sbit SI= P2^4;#define WREN 0x06 //#define WRDI 0x04 //#define RDSR 0x05 //#define WRSR 0x01 //#define READ0 0x03 //#define READ1 0x0b //#define WRITE0 0x02 //#define WRITE1 0x0a //#define uchar unsigned charuchar ReadByte() //read a byte from device{bit bData;uchar ucLoop;uchar ucData;for(ucLoop=0;ucLoop<8;ucLoop++){SCK=1;SCK=0;bData=SO;ucData<<=1;if(bData){ ucData|=0x01; }}return ucData;}void WriteByte(uchar ucData)//write a byte to device {uchar ucLoop;for(ucLoop=0;ucLoop<8;ucLoop++){if((ucData&0x80)==0) //the MSB send first{SI=0;}else{SI=1;}SCK=0;SCK=1;ucData<<=1;}}uchar ReadReg() //read register{uchar ucData;CS=0;WriteByte(RDSR);ucData=ReadByte();CS=1;return ucData;}uchar WriteReg(uchar ucData) //write register{uchar ucTemp;ucTemp=ReadReg();if((ucTemp&0x01)==1) //the device is busyreturn 0;CS=0;WriteByte(WREN);//when write the WREN, the cs must have a high lev elCS=1;CS=0;WriteByte(WRSR);WriteByte(ucData);CS=1;return 1;}void WriteEpm(uchar cData,uchar cAddress,bit bRegion)/* 写入一个字节,cData为写入的数,cAddress为写入地址,bRegion为页 */{while((ReadReg()&0x01)==1); //the device is busyCS=0;WriteByte(WREN); //when write the wren , the cs must have a high l evelCS=1;CS=0;if(bRegion==0){ WriteByte(WRITE0);} //write the page addrelse{WriteByte(WRITE1);}WriteByte(cAddress);WriteByte(cData);SCK=0; //CS=1;}uchar ReadEpm(uchar cAddress,bit bRegion)/* 读入一个字节,cAddress为读入地址,bRegion为页 */{uchar cData;while((ReadReg()&0x01)==1);//the device is busyCS=0;if(bRegion==0){WriteByte(READ0); }else{WriteByte(READ1);}WriteByte(cAddress);cData=ReadByte();CS=1;return cData;}main(){WriteReg(0x00);//set the watchdog time as 1.4sCS=1;CS=0; //reset the watchdog}基于X25045的新型看门狗电路图作者:重庆三峡学院应用技术学院谢辉来源:不详点击数:更新时间:2007年02月14日看门狗(watchdog)电路是嵌入式系统需要的抗干扰措施之一。
多功能器件X25045及其在总线节点中的应用
多功能器件 X25045 及其在总线节点中的应用
王俊波,王红蕾
(贵州工业大学 电气工程学院,贵州 贵阳 550003)
摘 要:介绍多功能器件 X25045 的主要特点和原理,结合其在 CAN 总线节点中的作用,设计
并实现其硬件接口电路及软件。
具有低功耗、长寿命、可编程锁定等功能。使用 3 线总线串行外设接口 SPI,就可对芯片进行读写操作。利用编程器与计算机
相连,来实现对 E2 PROM 进行读写。
1 . 2 工作原理
X25045 内部有一个 8 位指令寄存器,该寄存器可以通过引脚 SI 来访问,数据在串行时钟输入的上升沿
! 收稿日期:2003 - 04 - 23 基金项目:贵州省基金项目资助[黔基合计字(1998)2010 号]
特别提出的是,看门狗定时器对单片机提供了独立的保护系统,当 系统出现故障时,只要其计时达到其编程的超时极限,或者当电源电压 降到最低转换点以下时,RESET 引脚就会立即输出高电平复位信号。
引脚
1 2 3 4 5 6 7 8
引脚名称
CS SO WP VSS SI SCK RESET Vcc
功能说明
芯片选择输入 串行输出
WIP 位表示 X25045 是否在向 E2 PROM 写数据。该位是 l 时,表示正在进行写操作,此时不能向其写 数据,反之,则是没有写操作进行,可以向其写数据。WEL 位是写使能锁存器的状态位。可以由指令进行复 位和置位操作。写使能锁存器被复位时向其写操作被禁止。
由 WREN 指令可以对状态寄存器中的 BL0,BLl,WD0,WDl 进行设置。BL0 和 BLl 位确定 E2 PROM 的块保护地址范围。WD0 和 WDl 位是看门狗超时功能的设定位,可以设置不同的周期(典型值 l . 4 S、600 mS、200 mS). 当 WD0 和 WDl 同时为 l 时,功能被禁止。
可编程看门狗监控EEPROM芯片X25045及其应用
18科技资讯 SCIENCE & TECHNOLOGY INFORMATION2009 NO.32SCIENCE & TECHNOLOGY INFORMATION信 息 技 术在单片机系统中,通常需要在外围连接一个看门狗电路,以防止程序走飞;同时,单片机系统也需要监测电源电压的情况,以便系统掉电时能及时复位,从而避免因电源波动影响系统的正常工作;另外,单片机应用时,需要提前设置一些参数,比如时钟初值、控制算法参数等,一旦设置完成后,这些参数往往需要掉电保存。
X25045是美国Xicor 公司出品的新型可编程看门狗监控EEPROM 芯片。
X25045把常用的看门狗定时、电压监控和EEPROM 三种功能组合在单个封装之内,从而降低了系统成本并减少了电路板空间的要求。
我们曾将X25045应用到“步进电机细分驱动器”、“食堂收费终端”中,在实际使用中收到了良好的效果。
1 X25045的结构及特点1.1引脚功能X25045是Xicor 公司生产的微处理器监控电路,采用8脚DIP 封装,各引脚见图4,其作用分别是:CS:芯片选择输入引脚;SO:串行输出引脚,在读周期内,数据在此引脚上输出,数据由串行的时钟的下降沿同步输出;WP:写保护输入引脚,当WP 为低电平时,X25045的写操作被禁止;VSS:地引脚;SI:串行输入引脚,所有操作码、字节地址以及写入存储器的数据在此引脚上输入,串行时钟的上升沿锁存SI 数据;SCK:串行时钟引脚,用于数据输入和输出的串行总线定时;RESET:复位输出引脚,高电平有效;VCC:电源电压。
1.2主要特点(1)可编程的看门狗定时器;(2)低Vcc 检测;(3)512×8位串行E2PROM;(4)低功耗CMOS:10μA 备用电流;3mA 工作电流;(5)电源电压范围宽:2.2V 到5.5V;(6)块锁定:可以保护1/4,1/2或所有EEPROM 阵列;(7)内建写保护:上电/掉电保护电路、写锁存、写保护引脚;(8)高可靠,数据保存期为100年;(9)8引脚小型DIP 封装;(10)X25045为RESET 复位控制。
X25045
一、93AA46与单片机的接口电路V CCAT89C205193AA46P1.0 CSP1.1 DIP1.2 CLKP1.3 DOP1.4 ORG二、控制子程序清单;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *;X25045控制子程序清单——杨叶珍;1、WD_RST 看门狗复位子程序;2、WD_SET 看门狗定时时间设置子程序;3、RD_SR 读状态寄存器子程序;4、WR_SR 写状态寄存器子程序;5、RD_B 读一个字节数据子程序;6、WR_B 写一个字节数据子程序;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *;;I/O口定义CS EQU P1.0SI EQU P1.1SO EQU P1.3SCK EQU P1.2;看门狗复位子程序WD_RST:CLR CSSETB CSRET;看门狗定时时间设置成600msWD_SET:MOV R0,#10H ;若将定时时间设为1.4S或200ms,则应送立即;数#00或#20LCALL WR_SRRET;读状态寄存器子程序,读出的X25045的状态存在A累加器中RD_SR :MOV A,#05H ;将RDSR命令送A累加器CLR CSLCALL WRLCALL RDSETB CSRETWR:MOV R0,#08H ;写8位数据共3页第1页WR1:RLC AMOV SI,CCLR SCKSETB SCKDJNZ R0,WR1RETRD:MOV R0。
#08H ;读8位数据RD1:SETB SCKCLR SCKMOV C,SORLC ADJNZ R0,RD1RET;写状态寄存器子程序。
F0为写成功与否标志,F0=0,写成功;F0=1,写失败WR_SR:LCALL RD_SR ;检查WPI位,确定X25045是否正在进行写操作CLR F0JNB ACC.0,WR_SR1;WPI=0,转写状态寄存器SETB F0 ;WPI=1,1 F0后返回RETWR_SR1:CLR CSMOV A,#06H ;置位写使能寄存器LCALL WRSETB CSCLR CSMOV A,#01H ;送写状态寄存器命令LCALL WRMOV A,#18H ;设看门狗定时时间为600ms,块保护地址为;100H~1FFHLCALL WRCLR CSSETB CSRET;读一个字节数据子程序,待读出数据地址在R3中,读出后的数据存R4RD_B:LCALL RD_SRJB ACC.0,RD_BCLR CSMOV A,#03H ;送读E2PROM命令,地址在00H~FFH间LCALL WRMOV A,R3 ;送地址LCALL WRLCALL RD ;读数据并送R4MOV R4,ASETB CSRET共3页第2页;写一个字节数据子程序,写入地址在R3中,数据在R4中WR_B:LCALL RD_SRJB ACC.0,WR_BCLR CSMOV A,#06H ;置位写使能寄存器LCALL WRSETB CSCLR CSMOV A,#02H ;送写E2PROM命令,地址在00H~FFH间LCALL WRMOV A,R3 ;送地址LCALL WRMOV A,R4 ;送待写数据LCALL WRCLR CSSETB CSRET共3页第3页。
温度控制系统毕业设计
温度控制系统毕业设计•相关推荐温度控制系统毕业设计摘要在日常生活及工农业生产中,对温度的检测及控制时常显得极其重要。
因此,对数字显示温度计的设计有着实际意义和广泛的应用。
本文介绍一种利用单片机实现对温度只能控制及显示方案。
本毕业设计主要研究的是对高精度的数字温度计的设计,继而实现对对象的测温。
测温系数主要包括供电电源,数字温度传感器的数据采集电路,LED显示电路,蜂鸣报警电路,继电器控制,按键电路,单片机主板电路。
高精度数字温度计的测温过程,由数字温度传感器采集所测对象的温度,并将温度传输到单片机,最终由液晶显示器显示温度值。
该数字温度计测温范围在-55℃~+125℃,精度误差在±0.5℃以内,然后通过LED数码管直接显示出温度值。
数字温度计完全可代替传统的水银温度计,可以在家庭以及工业中都可以应用,实用价值很高。
关键词:单片机:ds18b20:LED显示:数字温度.AbstractIn our daily life and industrial and agricultural production, the detection and control ofthe temperature, the digital thermometer has practical significance and a wide rangeof applications .This article describes a programmer which use a microcontroller toachieve and display the right temperature by intelligent control .This programmermainly consists by temperature control sensors, MCU, LED display modules circuit.The main aim of this thesis is to design high-precision digital thermometer and thenrealize the object temperature measurement. Temperature measurement systemincludes power supply, data acquisition circuit, buzzer alarm circuit, keypad circuit,board with a microcontroller circuit is the key to the whole system. The temperatureprocess of high-precision digital thermometer, from collecting the temperature of theobject by the digital temperature sensor and the temperature transmit ted to themicrocontroller, and ultimately display temperature by the LED. The digitalthermometer requires the high degree is positive 125and the low degree is negative 55,the error is less than 0.5, LED can read the number. This digital thermometer couldreplace the traditional mercurial thermometer, can be used in family or industrial andproduction, it has a great value.Key words: MCU: DS18B20 : LED display: Digital thermometer。
dsp看门狗定时器的作用解析
dsp 看门狗定时器的作用解析
一、DSP 看门狗定时器介绍
看门狗在外围监控DSP 中软件的运行以及硬件的操作,当CPU 出现故障时,看门狗将执行系统复位。
如果软件进入了一个不正确的循环或者CPU 出现暂时的混乱,看门狗定时器将出现溢出来使系统复位。
在大多数情况下,DSP 短暂的混乱以及CPU 不正确的操作都可以被看门狗所清除并重新进行设置。
由于看门狗稳定的性能,其增加了CPU 的可靠性,以确保系统的完整。
在看门狗中这个外围设备中,所有的寄存器都是8 位的,连接到16 位CPU 的低8 位外围数据总线上。
240XA 看门狗定时器和C240 看门狗定时器唯一的区别就是其缺乏实时的中断能力。
看门狗定时器将通过对从CPU 出来的CLKOUT 进行分频而得到自己所需的时钟
二、看门狗定时器工作原理
使用时,WDT 将递增,直到溢出,或称超时。
除非处于休眠或空闲模式,WDT 超时会强制器件复位。
为避免WDT 超时复位,用户必须定期用。
X25045
4 EC V 1 2 0 N . 2 l o 9 0 2 01 .
欢迎光临本刊网站 ht: w 。i c m。r t t wec o cl pt w 。
维普资讯
篓 塞旦
复位端 .则可把单 片机系统复位,从而使系统免受 低 电压的影响。如果允 许看门狗定 时器工作 ,当 C S保持 “ 或 “ 的时间长于看门狗超时周 1 0 期 时, R S T也 变为高 电平 ,同样 能使系统复 EE 位 ,这为单片机提供 了独立的保护系统 如.当单 片机因受干扰信 号 不能执行工作程序 ( 而 含复位看 I 狗程序)时 , C 将保持不变 , R S T就会变 ' - J S EE 为高电平从而把单片机 系统复位,待干扰消失后系 统重新开始工作 。 12 指令 . 对 X205的操作是通过执行 6 54 条指令 ( 1 表 ) 实现的 指令码通过 S 引脚送入 X 54 的 8 I 2 05 位指 令寄存器 ,指令码 由 S K 的上升沿锁存 到指令寄 C 存器 ,此时 C S必须为 … 且 WP为 …1 。指 0 令码 、地址 ,数据都以最高位在前的方式传送 ,读
pr r m mi g ppr a h og a n a oc
【 e rs X 5 4 . tr c i u , mg o o io K y w0d 】 2 0 5I ef e c c i P mm c mp s in n a r t t
S 为串行数据输出 I O 脚。在读周期 内,数据 在S O上 由串行时钟 S K的下降沿同步移出。 C 单 片机控制的仪表中常用的三种器件。 X 54 把 20 5 S 为串行数据输入引脚。指令码 、字节地址和 I 这三种电路集成在 8 引脚的单个封装之 内,降低了 ER M I C 仪表成本 ,减少了对 电路板空间的要求 。另外 ,对 写入 E P O 的数据在 S 上输入 ,并 由 S K的
单片机汇编语言实现看门狗
CS=0; if(bRegion==0) //write the page addr else WriteByte(cAddress); WriteByte(cData); SCK=0; // CS=1; } uchar ReadEpm(uchar cAddress,bit bRegion) /* 读入一个字节,cAddress 为读入地址,bRegion 为页 */ { uchar cData; while((ReadReg()&0x01)==1);//the device is busy CS=0; if(bRegion==0) else WriteByte(cAddress); cData=ReadByte(); CS=1; return cData; } main() { WriteReg(0x00);//set the watchdog time as 1.4s CS=1; CS=0; } //reset the watchdog
SCK=0; SCK=1; ucData<<=1; } } uchar ReadReg() { uchar ucData; CS=0; WriteByte(RDSR); ucData=ReadByte(); CS=1; return ucData; } uchar WriteReg(uchar ucData) { uchar ucTemp; ucTemp=ReadReg(); if((ucTemp&0x01)==1) //the device is busy return 0; CS=0; WriteByte(WREN);//when write the WREN, the cs must have a high level CS=1; CS=0; WriteByte(WRSR); WriteByte(ucData); CS=1; return 1; } void WriteEpm(uchar cData,uchar cAddress,bit bRegion) /* 写入一个字节,cData 为写入的数,cAddress 为写入地址,bRegion 为页 */ { while((ReadReg()&0x01)==1); //the device is busy CS=0; WriteByte(WREN); //when write the wren , the cs must have a high level CS=1; //write register //read register
X25045芯片的原理及其应用
第20卷第2期 中南民族学院学报(自然科学版) Vol.20No.2 2001年6月 J ournal of South-Central Univer sity for Nationalities(Nat.S ci.) Jun.2001X25045芯片的原理及应用刘立航(中南民族学院电子信息工程学院)摘 要 介绍了具有可编程看门狗、电压监控、串行E2P RO M功能的X25045芯片的工作原理,并给出了与单片机连接的可应用于语音系统的软件编程.关键词 X25045电路;单片机;软件中图分类号 T P333.1 文献标识码 A 文章编号 1005-3018(2001)02-0049-05微机控制系统干扰、电源的波动引起的程序飞车和数据丢失,常造成系统的各种误动作或死机,直接影响着系统的正常运行,设计人员为此倍感头痛.X25045(X25043)芯片将微机测控系统中常用的功能:看门狗定时器、电源电压监控、上电复位、串行E2PROM集成在一片8引脚的芯片内.这种组合大大减少了对电路板的空间要求,简化了硬件设计,降低了成本和功耗,大大提高了系统的可靠性和安全性.1 芯片简介1.1 引脚功能引脚功能见表1.表1 引脚功能引脚号引脚名说明1CS片选输入(低电平有效)2SO串行输出3WP E2PR OM写保护输入4V ss地5SI串行输入6SCK串行时钟输入7RESET复位信号输出8V cc电源电压1.2 看门狗看门狗定时器对微处理器提供了独立的保护系统.它提供了3种定时时间,可用编程选择200ms,600m s和1.4s.当系统故障程序飞车,只要看门狗定时器计时达到其编程的超时极限, RESET引脚立即自身产生高电平复位信号.CS电平变化(上升沿)将复位看门狗定时器.1.3 电压监控当电流电压Vcc降至最小转换点以下,芯片的RESET引脚立即产生复信信号,这样电源接通和关断瞬间电源电压不稳定就不会造成系统死机,数据误写及误动作等故障.收稿日期 2001-02-28作者简介 刘立航(1954~),男,讲师,中南民族学院电子信息工程学院,武汉4300741.4 E 2PROM 存贮器芯片内部的存贮器采用CM OS 工艺的4096位串行E 2PROM .它的内部按512×8组织.每个字节可擦写10万次以上,内部数据可保存100年以上.使用简单的3线总线串行外设接口(SPI),就可对芯片进行读写操作.一次最多写4个字节[1].2 工作原理2.1 指令寄存器X25045内含一个8位的指令寄存器,对芯片的所有操作都需通过对指令寄存器写命令来完成,指令集见表2.所有指令、地址和数据都是以高位(M SB )在前的方式串行传送.读和写指令的第3位包含了高地址位A 8.表2 指令集指令名指令格式操 作W REN00000110设置写使能锁存器允许写WR DI 00000100复位写使能锁存器禁止写RD SR 00000101读状态寄存器W RSR 00000001写状态寄存器R EAD 0000A 8011从所选地址开始的存贮器中读出数据WR IT E0000A 8010把数据写入所选地址开始的存贮器中2.2 状态寄存器在任何情况下都可以通过RDSR 指令读状态寄存器,状态寄存器格式为:D 7D 0XXW D1WD 0BL 1BL 0WELWI P 其中WIP 位表示X 25045是否忙于向E 2PROM 写数据.为0时表示没有写操作在进行,可以向E 2PROM 写数据;为1时,表示正在写操作,此时不能向E 2PROM 写数据.WIP 由WREN 指令设定为1,在下列情况之一可使W IP 复位为0.(1)执行WRDI .(2)上电时.(3)字节、页或状态寄存器写周期完成之后.(4)WP 脚变成低电平.WEL 位表示写使能锁存器的状态,是只读位,在X 25045的写周期内该位为1,写结束后为0.WRSR 指令可以对状态寄存器中非易失性位BL1,BL0,WD1,WD0进行设置.BL1和BL0位确定E 2PROM 的块保护地址范围,它们的关系如表3所示.在块保护地址范围内的数据只能被读出.WD 1、WD 0控制看门狗定时器时状态,超时选择如表4所示.表3 块保护选择状态寄存器BD 1BD 0被保护的阵列地址00无写保护01$180~$1F F 10$100~$1F F表4 看门狗定时选择状态寄存器看门狗超时周期BL 1BL 0(典型值)00 1.4s 01600ms 10200ms 50 中南民族学院学报(自然科学版)第20卷3 读/写操作时序3.1 读时序(1)把CS 拉低以选择芯片;(2)发送8位的读(READ )指令;(3)送8位的字节地址;(4)将所选定地址的存储器中的数据移到期S0线上.继续提供时钟脉冲可连续读出接下的地址空间中的数据.每移出一个字节数据之后,字节地址自动增到下一个较高地址.达到最高地址时,地址计数器翻转至00H ,无限循环下去直到把CS 置为高电平,可以终止操作.图1所示为从EEPROM 阵列中读数据的操作时序.图1 读时序 图2 写时序3.2 口写时序在写时序之前,必须先发出WREN 指令使“写使能”锁存器置位(见图2).具体置位“写使能”锁存器操作为:(1)CS 先被拉到低电平;(2)由时钟同步送入WREN 指令.(3)将CS 变为高电平.写数据到EEPROM 操作为(见图3):(1)拉低CS 并保持在低电平;(2)发送写指令(WRIT E );(3)写数据.可以连续写多达4个字节的数据,但必须是这4个字节驻留在同一页上.图3为写数据到EEPROM 阵列中的操作时序.图3 写数据串 图4 与单片机的接口51第2期 刘立航:X 25045芯片的原理及应用 4 X25045与GM S97L51单片机接口4.1 硬件设计设计的硬件的原理图见图4.4.2 软件设计芯片提供了E2PROM存贮数据及看门狗功能.它必须通过微处理器加以控制方可实现.针对上述硬件,现提供以下调试通过的子模块,这些模块已应用于模拟存贮器的语音系统中,效果良好[2].(1)写8位数据子程序.入口参数:数据:A WRIT E8: M OV R3,#08HWRIT E81:RLC A M OV SI,C CLR SCK SETB SCK DJNZ R3,WRIT E81 CLR SI RET(2)读8位数据子程序.出口参数:数据:A READ8: MOV R3,#08HREAD81:SET B SCKCLR SCKMOV C,SORLC DJNZ R3,READ81RET(3)读状态子程序.出口参数:状态子节:A READ-SR:M OV A,#RDSR;发读命令CLR CSLCALL WRIT E8;写命令LCALL READ8;读状态SET B CSRET(4)写状态子程序.入口参数:DL:状态字出口参数:F0=0,写成功;=1,失败WRIT E-SR:LCALL READ-SRCLR F0JNB ACC.0,WRITE-SR1SET B F0SJM P WRIT E-SR2WRIT E-SR1:CLR CSM OV A,#WREN;写使能允许LCALL WRIT E8SET B CSCLR CSM OV A,#WRSR;写状态命令 LCALL WRITE8 M OV A,DL LCALL WRITE8 CLR SCK SETB CSWRIT E-SR2:RET (5)写一字节子程序.入口参数:25045地址:DPT R数据:DHWRIT E-BYT E:LCALL READ-SR JB ACC.0,WRIT E-BYT E CLR C M OV A,#WREN;写使能 LCALL WRIT E8 SET B CSMOV DPTR,#BYTE-ADDRCLR CSMOV A,#WRIT E;数据写入EEPOM命令MOV B,DPHMOV C,B0HMOV ACC.3,C52 中南民族学院学报(自然科学版)第20卷LCALL WRITE 8MOV A ,DPL ;写地址LCALL WRITE8MOV A,DH ;写数据LCALL WRITE 8CLR SCK SET B CSRET(6)读一字节子程序.入口参数:25045地址:DPT R 出口参数:DLREAD -BYT E :LCALL READ -SRJB ACC.0,READ-BYTE MOV DPT R,#BYTE-ADDRCLR SCK CLR CSMOV A,#READ;读命令M OV B ,DPH M OV C ,B 0H M OV ACC.3,C LCALL WRITE 8M OV A ,DPL LCALL WRITE 8LCALL READ8M OV DL,A CLR SCK SETB CSRET若要连续读2个数据字节,只需在M OV DL,A 后再插入LCALL READ8,M OV DH ,A ,读多字节,依此类推.(7)复位看门狗.RST -WDOG :CLR CSSET B CS RET参 考 文 献[1] 力源电子股份有限公司.X 25043/45数据手册[M ].武汉:力源电子出版公司,1998.[2] 孙育才.M CS-51系列单片微型计算机及其应用[M ].南京:东南大学出版社,1997.34~94.Principle and Application of X 25045CMOS ChipL iu L ihangAbstract T his article introduces the wo rking principle of X25045CMOS chip,w hich hasthe function on the prog rammable watchdog ,voltage mo nitor -contr ol and serial E 2PROM .And it gives a softw are pro gram o n connecting w ith single chip w hich can be used in phonetic sy stem .Keywords X25045circuit;single chip;prog ramLiu Lihang Lect.,Dept o f Electr onic Engineering ,SCU F N ,Wuhan 43007453第2期 刘立航:X 25045芯片的原理及应用 。
(完整word版)基于单片机的大棚温湿度控制系统的设计
摘要随着大棚技术的普及,温室大棚数量不断增多,对于蔬菜大棚来说,最重要的一个管理因素是温湿度控制。
温湿度太低,蔬菜就会被冻死或则停止生长,所以要将温湿度始终控制在适合蔬菜生长的范围内。
传统的温度控制是在温室大棚内部悬挂温度计,工人依据读取的温度值来调节大棚内的温度。
如果仅靠人工控制既耗人力,又容易发生差错.现在,随着农业产业规模的提高,对于数量较多的大棚,传统的温度控制措施就显现出很大的局性。
为此,在现代化的蔬菜大棚管理中通常有温湿度自动控制系统,以控制蔬菜大棚温度,适应生产需要。
本论文主要阐述了基于AT89C51单片机的温室大棚温湿度控制系统设计原理,主要电路设计及软件设计等.该系统采用AT89C51单片机作为控制器,SHT11作为温湿度数据采集系统,可对执行机构发出指令实现大棚温湿度参数调节,根据实际需求设计了单片机硬件系统,该系统能够实现数据采集,数据处理,数值显示,键盘扫描等功能功能。
同时介绍了温湿度传感器,单片机接口,及其应用软件的设计,该基于单片机和SHT11温湿度传感器的大棚温湿度控制系统,该系统性能可靠,结构简单,能实现对温室内温湿度的自动调节。
关键词:AT89C51;SHT11;大棚;温湿度;控制系统;传感器;单片机AbstractWith the popularization of trellis technology, greenhouse trellis an ever-growing number,for vegetable shed speaking, one of the most important management factor is the temperature and humidity control. Temperature is too low,the vegetables will freeze to death or stop growing,so will always control temperature and humidity in a suitable vegetable growth range。
x5045讲解
X5045和51单片机接口X25045是带有串行E2PROM的CPU监控器。
现在型号改为X5045,性能相同图2是它的引脚图:CS/WDI:片选输入/看门狗复位输入;SO:串行输出;WP:写保护输入;Vss:地;Vcc:电源;RESET:复位输出;SCK:同步时钟输入;SI:串行输入。
X25045的状态寄存器描述器件的当前状态,各位意义如表1所列。
图一7 6 5 4 3 2 1 00 0 WD1 WD0 BL1 BL0 WEL WLP其中,WD1、WD0是看门狗定时时间设置位;BL1、BL0是存储单元写保护区设置位;WEL是只读标志,1表明写使能开关打开;WLP也是只读标志,1代表芯片内部正处于写周期。
电复位时,各位都被清零。
X25045芯片功能包括以下4种:(1)上电复位控制。
在对X25045通电时,ERSET引脚输出有效的复位信号,并保持至少200ms,使CPU有效复位。
(2)电源电压监控。
当检测到电源电压低于内部门槛电压VTRIP时,RESET输出复位信号,直至电源电压高于VTRIP并保持至少200ms,复位信号才被撤消。
VTRIP的出厂值根据芯片型号不同共有5个级别的电压范围。
对于需要电源电压精确监控的应用,用户可以搭建编程电路,对芯片内VTRIP电压进行微调。
(3)看门狗定时器。
芯片内部状态寄存器的WD1、WD0是看门狗定时设置位,通过状态寄存器写指令WRSR修改这2个标志位,就能在3种定时间隔中进行选择或关闭定时器。
对看门狗的复位由CS输入电平的下降沿完成。
表2是WD1、WD0组合的含义。
表二WD0 看门狗定时值WD10 0 1.4s0 1 600ms1 0 200ms1 1 禁止看门狗工作(4)串行E2PROM。
芯片内含512字节存储单元,10万次可靠写,数据保持时间100年。
XICOR设计了3种保护方式防止误写。
包括:WP写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入;存储区域写保护模式,通过对状态寄存器的BL1、BL0位的设置,可以选择对不同的存储区域进行写保护;在进行任何写操作前都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。
软件看门狗
看门狗,又叫 watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT定时超过,就回给出一个复位信号到MCU,是MCU复位.防止MCU死机.看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以在使用有看门狗的芯片时要注意清看门狗。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。
那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等.软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。
我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。
对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1的定时中断就会使单片机复位。
在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。
而T1的中断正常与否我们再由T0定时中断子程序来监视。
这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。
CAN
对隐性电压和显性电压的诠释CAN2.0B规范定义了两种互补的逻辑数值:“显性”和“隐性”,同时传送“显性”和“隐性”位时,总线结果值为“显性”。
“显性”(“Daminant”)数值表示逻辑“0”,而“隐性”(“Recessive”)表示逻辑“1”。
在CAN规范中并未定义代表逻辑电平的物理状态(例如电压),iCAN网络使用符合ISO11898-2标准的电平信号,典型地,CAN总线为“隐性”(逻辑1)时,CAN_H和CAN_L 的电平为2.5V(电位差为0V);CAN总线为“显性”(逻辑0)时,CAN_H和CAN_L的电平分别是3.5V和1.5V(电位差为2.5V),如下图所示。
汽车电子与CAN总线摘要:控制器局域网(CAN)是一种有效支持分布式控制或实时控制的现场总线,具有高性能和高可靠性的特点;随着现代汽车技术的发展,CAN技术在汽车电子领域应用日益广泛。
文章介绍了符合CAN2.0B协议汽车CAN系统设计方案,着重讨论了以微处理器P89C668为核心的CAN总线智能节点的软硬件实现,推荐一款MOTOROLA的多路开关检测芯片MC33993,并且涉及到,SPI以及在系统编程等技术。
关键词:现场总线,CAN,汽车电子,MC33993,,SPI1 汽车电子与CAN总线随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,连接导线显著增加,因而提高控制单元间通讯可靠性和降低导线成本已成为迫切需要解决的问题。
为此以研发和生产汽车电子产品著称的德国BOSCH公司开发了CAN总线协议,并使其成为国际标准(ISO11898)。
1989年,Intel公司率先开发出CAN总线协议控制器芯片,到目前为止,世界上已经拥有20多家CAN 总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微处理器芯片。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
多功能时间控制器
多功能时间控制器1.1 多功能智能钟的功能与设计要求⽬前⼤多数时间控制器往往只能单机⼯作,不能满⾜集体控制的要求;⽽在很多应⽤场合,要求时间控制器除了要具有⽐较灵活的时间控制作⽤外,还能通过上位机连成⼀个⽹络体系,以便对分布在各处的时间控制器进⾏集中控制(群控)。
本章设计的时间控制器的功能与特点如下:●既能单机⼯作,⼜能通过上位机进⾏多机集中控制;●每个单机可以按设定的时间表进⾏相应的控制动作;●每个单机上的定时时间表,可通过⼀台PC 机分别设定,设定的信息存放在串⾏的EE - PROM 中,可以保存10 年以上;● 6 位LED 显⽰屏,⽤作时钟显⽰;●采⽤RS ⼀485 通信接⼝,可以满⾜远距离控制的需要;●双休⽇可以⾃动停⽌报警。
该时间控制器⼗分适应于需要控制的对象(如电铃)较为分散⽽且个数较多的场合,有效克服了⼿⼯控制或单独控制导致的对象间的时间误差,避免了⼯作上的混乱。
只需1台普通PC机,通过通信电缆与各控制器联成RS-485拓扑⽹络。
由此PC机作为上位机,借助通信软件将设定时间⼀⼀传送到各个控制器,就可以实现群控。
当然,上位PC机必须外接RS-232/RS-485转接器。
建议采⽤市售成品,将它直接插在串⼝上即可。
1.2 系统总体设计⽅案1.2.1 总体⽅案的确定按照功能要求,确定系统⽅案如图7 ⼀ 1 所⽰。
从图中可以看出,系统由微处理器模块、串⾏通信模块、时钟模块、数据存储模块及显⽰等⼈机界⾯模块组成。
在⽅案设计中,遵循简洁⾄上的原则;因此,所有的外围模块采⽤串⾏⽅式与微处理器模块接⼝。
这⾥,微处理器采⽤ATMEIJ 公司的89C2051 ,所有串⾏接⼝时序均通过软件模拟实现。
1.2.1.1 硬件设计我的电⼦钟设计包括以下⼏部分:时钟模块,键盘输⼊模块,⼋位LED显⽰模块,电⽹频率测量模块、电⽹电压、电流、功率因数测量模块,环境温度测量模块,遥控关闹钟模块等。
为了⽅便使⽤,把数据采集单独使⽤⼀个单⽚机系统,⽽把时钟闹钟系统由DS12C887与单⽚机设计完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SPI接口应用之一---看门狗芯片X25045hadao 发表于 2006-5-8 0:08:41一、引脚定义及通信协议SO:串行数据输出脚,在一个读操作的过程中,数据从SO脚移位输出。
在时钟的下降沿时数据改变。
SI:串行数据输入脚,所有的操作码、字节地址和数据从SI脚写入,在时钟的上升沿时数据被锁定。
SCK:串行时钟,控制总线上数据输入和输出的时序。
/CS :芯片使能信号,当其为高电平时,芯片不被选择,SO脚为高阻态,除非一个内部的写操作正在进行,否则芯片处于待机模式;当引脚为低电平时,芯片处于活动模式,在上电后,在任何操作之前需要CS引脚的一个从高电平到低电平的跳变。
/WP:当WP引脚为低时,芯片禁止写入,但是其他的功能正常。
当WP引脚为高电平时,所有的功能都正常。
当CS为低时,WP变为低可以中断对芯片的写操作。
但是如果内部的写周期已经被初始化后,WP变为低不会对写操作造成影响。
二、硬件连接三、程序设计状态寄存器:WIP:写操作标志位,为1表示内部有一个写操作正在进行,为0则表示空闲,该位为只读。
WEL:写操作允许标志位,为1表示允许写操作,为0表示禁止写,该位为只读。
BL0,BL1:内部保护区间的地址选择。
被保护的区间不能进行看门狗的定时编程。
WD0,WD1:可设定看门狗溢出的时间。
有四种可选择:1.4s,600ms,200m s,无效。
操作码:WREN 0x06 设置写允许位WRDI 0x04 复位写允许位RDSR 0x05 读状态寄存器WRSR 0x01 写状态寄存器READ 0x03/0x0b 读操作时内部EEPROM页地址WRITE 0x02/0x0a 写操作时内部EEPROM页地址程序代码:#i nclude <reg51.h>sbit CS= P2^7;sbit SO= P2^6;sbit SCK= P2^5;sbit SI= P2^4;#define WREN 0x06 //#define WRDI 0x04 //#define RDSR 0x05 //#define WRSR 0x01 //#define READ0 0x03 //#define READ1 0x0b //#define WRITE0 0x02 //#define WRITE1 0x0a //#define uchar unsigned charuchar ReadByte() //read a byte from device{bit bData;uchar ucLoop;uchar ucData;for(ucLoop=0;ucLoop<8;ucLoop++){SCK=1;SCK=0;bData=SO;ucData<<=1;if(bData){ ucData|=0x01; }}return ucData;}void WriteByte(uchar ucData)//write a byte to device {uchar ucLoop;for(ucLoop=0;ucLoop<8;ucLoop++){if((ucData&0x80)==0) //the MSB send first{SI=0;}else{SI=1;}SCK=0;SCK=1;ucData<<=1;}}uchar ReadReg() //read register{uchar ucData;CS=0;WriteByte(RDSR);ucData=ReadByte();CS=1;return ucData;}uchar WriteReg(uchar ucData) //write register{uchar ucTemp;ucTemp=ReadReg();if((ucTemp&0x01)==1) //the device is busyreturn 0;CS=0;WriteByte(WREN);//when write the WREN, the cs must have a high levelCS=1;CS=0;WriteByte(WRSR);WriteByte(ucData);CS=1;return 1;}void WriteEpm(uchar cData,uchar cAddress,bit bRegion) /* 写入一个字节,cData为写入的数,cAddress为写入地址,b Region为页 */{while((ReadReg()&0x01)==1); //the device is busyCS=0;WriteByte(WREN); //when write the wren , the cs must hav e a high levelCS=1;CS=0;if(bRegion==0){ WriteByte(WRITE0);} //write the page addrelse{WriteByte(WRITE1);}WriteByte(cAddress);WriteByte(cData);SCK=0; //CS=1;}uchar ReadEpm(uchar cAddress,bit bRegion)/* 读入一个字节,cAddress为读入地址,bRegion为页 */{uchar cData;while((ReadReg()&0x01)==1);//the device is busyCS=0;if(bRegion==0){WriteByte(READ0); }else{WriteByte(READ1);}WriteByte(cAddress);cData=ReadByte();CS=1;return cData;}main(){WriteReg(0x00);//set the watchdog time as 1.4sCS=1;CS=0; //reset the watchdog}基于X25045的新型看门狗电路图作者:重庆三峡学院应用技术学院谢辉来源:不详点击数:更新时间:2007年02月14日看门狗(watchdog)电路是嵌入式系统需要的抗干扰措施之一。
本文用x25045芯片设计了一种新的看门狗电路,具有体积小、占用i/o口线少和编程方便的特点,可广泛应用于仪器仪表和各种工控系统中。
前言工控系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。
看门狗(watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包含看门狗电路。
在8096系列单片机和增强型8051系列单片机中,该系统已经做在芯片内部,用户只要用软件开放它就可以,使用很方便。
但目前工控系统仍在使用廉价的普通型8051系列单片机,则看门狗电路必须由用户自己建立。
看门狗电路一般有软件看门狗和硬件看门狗两种。
软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。
硬件看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由555多谐振荡器、计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。
x25045芯片简介x25045是美国xicor公司的生产的标准化8脚集成电路,它将eeprom、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。
x2504 5引脚如图1所示。
图1 x25045引脚图其引脚功能如下。
cs:片选择输入;so:串行输出,数据由此引脚逐位输出;si:串行输入,数据或命令由此引脚逐位写入x25045;sck:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;wp:写保护输入。
当它低电平时,写操作被禁止;vss:地;vcc:电源电压;reset:复位输出。
x25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。
表1 x25045指令及其含义x25045看门狗电路设计及编程x25045硬件连接图如图2所示。
x25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。
在看门狗定时器预置的时间内若没有总线活动,则x25045将从reset输出一个高电平信号,经过微分电路c2、r3输出一个正脉冲,使cpu复位。
图2电路中,cp u的复位信号共有3个:上电复位(c1、r2),人工复位(s、r1、r2)和watchdog复位(c2、r 3),通过或门综合后加到reset端。
c2、r3的时间常数不必太大,有数百微秒即可,因为这时cpu的振荡器已经在工作。
图2 x25045看门狗电路硬件连接图看门狗定时器的预置时间是通过x25045的状态寄存器的相应位来设定的。
如表2所示,x2 5045状态寄存器共有6位有含义,其中wd1、wd0和看门狗电路有关,其余位和eeprom的工作设置有关。
表2 x25045状态寄存器wd1=0,wd0=0,预置时间为1.4s。
wd1=0,wd0=1,预置时间为0.6s。
wd1=1,wd0=0,预置时间为0.2s。
wd1=1,wd0=1,禁止看门狗工作。
看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。
编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。
当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。
以下是c语言编写的看门狗程序部分。
#include "reg51.h"sbit cs=p1^2;/*片选信号由p1.2产生*/sbit sck=p1^3; /*时钟信号由p1.3 产生*/sbit si=p1^0; /*si由p1.0产生*/sbit so=p1^1; /*so由p1.1产生*/sbit c=acc^7; /*定义位变量*/bdata unsigned char com;void tran() /*发送一字节数据子函数*/{unsigned char i;for(i=0; i<8; i++){ acc=com; /*将数据放入a中*/si=c;sck=0; /*sck产生一个上跳变*/sck=1;com=com<<1; /*左移一位*/}return;}main(){com=0x06; /*发写读使能命令*/cs=0;tran();cs=1;com=0x01; /*发写状态字命令*/cs=0;tran();com=0x00; /*定时1.4s*/tran();cs=1;...;系统正常运行的程序部分}需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指令,使系统正常运行时的定时时间达不到预置时间。