看门狗x5045开发档案

上传人:ji****n 文档编号:45244396 上传时间:2018-06-15 格式:DOC 页数:11 大小:88.50KB
返回 下载 相关 举报
看门狗x5045开发档案_第1页
第1页 / 共11页
看门狗x5045开发档案_第2页
第2页 / 共11页
看门狗x5045开发档案_第3页
第3页 / 共11页
看门狗x5045开发档案_第4页
第4页 / 共11页
看门狗x5045开发档案_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《看门狗x5045开发档案》由会员分享,可在线阅读,更多相关《看门狗x5045开发档案(11页珍藏版)》请在金锄头文库上搜索。

1、看门狗 X5045 开发档案作者:张先永 2009、6、30最近给客户做了一个电机控制板。考虑到产品的稳定性。所有复位电路我们采用了 X5045 最为复位。当然前期我也下了不少的资料看。可是大多的不全。或者是程序不能用,现在我把我的程序发给大家。希望做X5045 的朋友可以用的上,也算是我个人回馈论坛吧。当然我支持程序原创,因为许许多多的一手资料都不是网上下的。而是写出来的。在此我更希望大家自己动手去写程序。因为只有自己写用的时候你才会有底。X5045 工作在 4.5V-5.5V,希望要用在 2.7V-5.5V,并且复位电压在 3.0V 的同志。记得选型的时候选 X5045S8I-2.7A 我

2、也曾经为此复位电压苦恼了很久,我用的是锂电池 3.6V,我当时选的 X5045 一直在啊复位希望读者,一定要看清除数据手册在选型。下面是我项目中的 X5045 的读写程序,希望可以用的上的可以拿去参考。X5045 接线电路图:测试程序:测试程序:说明:以下程序包含:底层字节读取函数,复位看门狗,状态寄存器的读写函数,EEPROM 的读写函数。在主函数中有一个 P0=designb;/读已经定义的花样数据并写花样数据到 P0;那个是我在程序测试的时候用的使用可以不易理会,send_char_com(Read_StatusReg(); 是利用串口把状态寄存器中的数发送到 PC 机上去。这个也是我测

3、试用的。这些函数在另一个 .h 文件中我就不发上去了,你们应该是会写的。我的程序在实际应用中得到了事实的考证,经过实际的检验。单片机做控制外置看门狗电路效果很不错。X5045 的功能很强大在实际开发中很有价值。/=/程 序:X5045 看门狗的使用/MCU:AT89C2051/晶振:12M/署名:张先永/时间:2009-6-6/=#include #define uchar unsigned char #define uint unsigned int/*#define CS P1_4#define SO P1_5#define SI P1_7#define SCLK P1_6*/实验板测试#

4、define CS P1_0#define SO P1_1#define SI P1_3#define SCLK P1_2#define ID_Part_A 0x55#define ID_Part_D 0x40/=/函数名称:1ms 延时函数/=delay1ms(int t)int i,j;for(i=0;it;i+)for(j=0;j120;j+) ;/=/函数名称: X5045 写入数据(NOTE:高位在前)/=void Write_X5045(uchar Writer_data)unsigned char i;for(i=0;i8;i+)SI=(bit)(Writer_dataSCLK=

5、0;SCLK=1;Writer_data=1;SI=0; /使 SI 处于确定的状态 /=/函数名称: X5045 读取数据(NOTE:高位在前)/=uchar Read_X5045(void)unsigned char i,Read_data;for(i=0;i8;i+)SCLK=1;SCLK=0;Read_data=1;Read_data|=(uchar)(SO);return Read_data; /=/函数名称:WREN Instruction 允许写 CMD OX06/=void WREN_Cmd (void)SCLK=0;CS=0;Write_X5045(0x06);SCLK=0;

6、CS=1;/=/函数名称:WRDI Instruction 不允许写 CMD OX04/=void WRDI_Cmd (void)SCLK=0;CS=0;Write_X5045(0x04);SCLK=0;CS=1;/=/函数名称: 读状态寄存器 /说 明: WIP bit:(Read Only) / When set to a“1“,a nonvolatile / write opration is in progress./ WEL Bit:(Read Only) / the bit is Write Enable Latch/ When WEL=1,the latch is set. /=

7、uchar Read_StatusReg(void)uchar Read_data;SCLK=0;CS=0;Write_X5045(0X05); /Read Status Register instuctionRead_data=Read_X5045();SCLK=1;CS=1; return (Read_data); /=/函数名称: 写状态状态寄存器/=void Write_StateReg(uchar Writer_data)delay1ms(10); /等待器件稳定,经验值WREN_Cmd (); /解锁SCLK=0;CS=0;Write_X5045(0X01);Write_X5045

8、(Writer_data);SCLK=0;CS=1;WRDI_Cmd (); /上锁 /=/函数名称:重设看门狗/=void Rest_WDG(void)CS=0;CS=1;/=/函数名称: 写数据到 X5045_EEPROM/=void Writer_to_X5045(uchar Writer_data, address)WREN_Cmd (); /解锁SCLK=0;CS=0;Write_X5045(0X02);Write_X5045(address);Write_X5045(Writer_data);SCLK=0;CS=1;WRDI_Cmd (); /上锁/=/函数名称:读取数据 X504

9、5_EEPROM /=uchar Read_form_X5045(uchar address)uchar Read_data;SCLK=0;CS=0;Write_X5045(0X03);Write_X5045(address);Read_data=Read_X5045();SCLK=0;CS=1;return Read_data;/=/函数名称:重置看门狗门限/=void Reset_Vtrip(void)CS=0;delay1ms(50);SCLK=0;CS=0;Write_X5045(0x06);SCLK=0;CS=1;delay1ms(10);SCLK=0;CS=0;Write_X504

10、5(0X02);Write_X5045(0x00);Write_X5045(0x03);Write_X5045(0x00);SCLK=0;CS=1; /=/函数名称:设置看门狗门限/=void Set_Vtrip(void)CS=0;delay1ms(50);SCLK=0;CS=0;Write_X5045(0x06);SCLK=0;CS=1;delay1ms(10);SCLK=0;CS=0;Write_X5045(0X02);Write_X5045(0x00);Write_X5045(0x01);Write_X5045(0x00);SCLK=0;CS=1; /=/函数名称:配置串口/=void

11、 Init_Com(void)TMOD = 0x20; /定时器工作方式 2,初值自动装入PCON = 0x00; /波特率不增倍SCON = 0x50; /串行工作方式设定 TH1 = 0xFd; /定时器初值高位TL1 = 0xFd; /定时器初值低位TR1 = 1; /启动定时器 /=/函数名称:向串口发送一个字符 /=void send_char_com(unsigned char ch) SBUF=ch;while(TI=0);TI=0;/定义花样数据code unsigned char design 32=0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF ,0xBF,0x7f,0x7f,0xbf,0xdf,0xef,0xF7,0xFB,0xFD,0xFE,0xFF,0XFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,0xE7,0xDB,0xBD,0x7E,0xFF;/=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号