No.51431 作者:wanglujun 邮件:wanglujun@ah163.com ID:19613 登陆:3次 文章数:1篇 最后登陆IP:218.23.123.123 最后登陆:2004/9/17 18:29:20 注册:2004/3/26 23:55:28 财富:107 发帖时间:2004/3/26 23:57:44 发贴者IP:218.23.123.95 标题:wanglujun:x5045的奇怪复位? 摘要:No.51431x5045的奇怪复位? 各位高手: 麻烦看一下,我目前只需要用X5045做看门狗用,但为何上电不稳定,有时上电后不复位,有时侯上电复位。我用两种MCU比较,Philps89c58和华邦的W78E58B,发现前者复位的概率很小,而后者就总是复位。电路的口线方式是CS——> P3.2(INT0) SO——> P3.3(INT1) SCK——> P3.4(T0) SI——> P3.5(T1),为了排除原因,我其它口线都没接外围电路。复位经常出现,不知哪位高手可以指点迷津。谢谢!程序如下: #include <reg52.h> #define uchar unsigned char #define uint unsigned int #define WREN_INST 0x06//写使能 #define WRSR_INST 0x01//写状态 #define RDSR_INST 0x05//读状态 #define STATUS_REG 0x00//初始化状态 #define MAX_POLL 0x99//检测 sbit CS=P3^2; sbit SI=P3^5; sbit SCK=P3^4; sbit SO=P3^3; void outbyt( uchar c);//输出单字节 uchar inbyt(void);//读字节 void wip_poll(void);//检测 void wren_cmd(void);//使能写操作 void wrsr_cmd(void);//写状态寄存器(看门狗和块锁) uchar rdsr_cmd (void);//读状态寄存器 void rst_wdog (void);//喂狗 void Init(void);//初始化 void delay10ms(uint count);//延迟10ms*count uchar code date[]={0xfe,0xfd,0xfb,0xf9,0xfc,0xfa,0xfc,0xf9,0xf8,0xfb,0xfd,0xfe,0xfc,0xf9,0xfb}; void main(void) { uchar i; rst_wdog (); Init();//初始化 wren_cmd();//使能写操作 wrsr_cmd();//写状态寄存器(看门狗和块锁) rst_wdog ();//喂狗 while(1) {for(i=0;i <(sizeof(date)/sizeof(char));i++) {P0=date[i]; delay10ms(10); rst_wdog (); } ......
>>返回讨论的主题
|