[ZLG-MCU] LPC952的看门狗怎么不运行啊!各位前辈帮我看看啊!

[复制链接]
1683|0
 楼主| eaglewxy 发表于 2008-4-21 15:50 | 显示全部楼层 |阅读模式
<br />各位前辈,帮我看看LPC952的看门狗怎么不运行啊?各位前辈好!<br /><br />我的LPC952的看门狗怎么都不运行啊!设置也很简单啊,怎么就不运行呢?有相关经验的朋友能给点建议吗?谢谢!<br /><br />这个程序应该因为看门狗复位,灯熄灭后应该要再次点亮!<br /><br />灯亮---熄灭---亮(因为看门狗溢出复位),但是灯熄灭后不亮了啊!<br /><br />/**************************************************************************<br />*&nbsp;Copyright(C)2007<br />*&nbsp;All&nbsp;rights&nbsp;reserved.<br />*&nbsp;<br />*&nbsp;文&nbsp;件&nbsp;名:<br />*&nbsp;<br />*&nbsp;文件描述:<br />*&nbsp;<br /><br />*&nbsp;创&nbsp;建&nbsp;人:<br />*&nbsp;当前版本:&nbsp;1.0<br />*&nbsp;完成日期:<br />*&nbsp;修改记录:<br />*<br />*&nbsp;说&nbsp;明:全局变量(Global&nbsp;Variable)后缀:_G<br />***************************************************************************/<br /><br />#include&nbsp;&lt&nbsp;reg952.h&nbsp;&gt<br /><br />/*宏定义*/<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;uint&nbsp;unsigned&nbsp;int<br />#define&nbsp;uintl&nbsp;unsigned&nbsp;long<br /><br /><br />#define&nbsp;BRGR1_DATA&nbsp;0x04&nbsp;/*9600&nbsp;baud&nbsp;@&nbsp;11.0592MHz*/<br />#define&nbsp;BRGR0_DATA&nbsp;0x70<br /><br />#define&nbsp;ADIN_Channel&nbsp;0x60&nbsp;/*T:AD05&nbsp;V:AD06*/<br /><br />sbit&nbsp;pow_en&nbsp;=&nbsp;P1^7;&nbsp;/*电源控制*/<br /><br />/*=========================================================================<br />*&nbsp;函&nbsp;数&nbsp;名:clrwdt()<br />*&nbsp;功能描述:<br />*&nbsp;喂狗子程序<br />*&nbsp;入口参数:<br />*&nbsp;无&nbsp;<br />*&nbsp;出口参数:<br />*&nbsp;无<br />*&nbsp;函数说明:<br />*&nbsp;无<br />=========================================================================*/<br />//void&nbsp;clrwdt&nbsp;()<br />//{<br />//&nbsp;EA=0;&nbsp;/*关中断*/<br />//&nbsp;WFEED1=0xA5;&nbsp;/*执行清零第一部分*/<br />//&nbsp;WFEED2=0x5A;&nbsp;/*执行清零第二部分*/<br />//&nbsp;EA=1;&nbsp;/*开中断*/<br />//}<br /><br />/*=========================================================================<br />*&nbsp;名&nbsp;称:init_wdt()<br />*&nbsp;功能描述:<br />*&nbsp;看门狗初始化程序&nbsp;<br />*&nbsp;入口参数:<br />*&nbsp;无<br />*&nbsp;出口参数:&nbsp;<br />*&nbsp;无<br />*&nbsp;函数说明:<br />*&nbsp;CPU配置(UCFG1)WDTE=1,WDSE=0<br />*&nbsp;WDCON上电复位值为111??1?1B&nbsp;(默认选择看门狗振荡器)&nbsp;<br />=========================================================================*/<br />void&nbsp;init_wdt&nbsp;()<br />{&nbsp;<br />WDL=0xFF;&nbsp;/*设置8位倒计数器初值,复位值为FF*/<br /><br />EA=0;<br />WDCON=0xC5;&nbsp;/*启动WDT&nbsp;1.31S*/<br />WFEED1=0XA5;&nbsp;/*清零第一部分*/<br />WFEED2=0X5A;&nbsp;/*清零第二部分*/<br />EA=1;<br />}<br /><br />/*=========================================================================<br />*&nbsp;名&nbsp;称:Delayms()<br />*&nbsp;功能描述:<br />*&nbsp;N*0.5ms级延时<br />*&nbsp;入口参数:<br />*&nbsp;N&nbsp;延时参数<br />*&nbsp;出口参数:<br />*&nbsp;无<br />*<br />*&nbsp;函数说明:N值越大,延时越久<br />=========================================================================*/<br />void&nbsp;Delayms&nbsp;(&nbsp;uint&nbsp;N&nbsp;)<br />{<br />uint&nbsp;j;<br />while&nbsp;(&nbsp;N&gt0&nbsp;)<br />{<br />for&nbsp;(&nbsp;j=0;&nbsp;j&lt=200;&nbsp;j++)&nbsp;;<br />N--&nbsp;;<br />}<br />}<br /><br />/*=========================================================================<br />*&nbsp;名&nbsp;称:Init_CPU()<br />*&nbsp;功能描述:<br />*&nbsp;初始化CPU各部件<br />*&nbsp;入口参数:<br />*&nbsp;无<br />*&nbsp;出口参数:<br />*&nbsp;无<br />*&nbsp;<br />*&nbsp;函数说明:&nbsp;<br />=========================================================================*/<br />void&nbsp;Init_CPU&nbsp;(&nbsp;)<br />{<br />/*I/O口初始化*/<br />P0M1=0x87;&nbsp;<br />P0M2=0x00;<br /><br />P1M1=0x3c;<br />P1M2=0x00;<br /><br />P2M1=0x02;<br />P2M2=0x00;<br /><br />P4M1=0xf3;<br />P4M2=0x00;<br /><br />P5M1=0x00;<br />P5M2=0x00;<br /><br />/*A/D转换模式*/<br />AD0INS=ADIN_Channel;&nbsp;/*使能待选通道*/<br />AD0MODA|=0x20;&nbsp;/*双通道、连续转换模式*/<br />AD0MODB&nbsp;=0x00;&nbsp;/*ADC时钟为1分频CCLK&nbsp;8次产生中断*/<br /><br />/*UART0&nbsp;初始化*/<br />//PCON&nbsp;&=&nbsp;0x3f;&nbsp;/**/<br />S0CON&nbsp;=&nbsp;0xf0;&nbsp;/*MODE&nbsp;3、使能接受、使能多机通讯*/<br /><br />BRGCON_0&nbsp;=&nbsp;0x00;&nbsp;/*载入波特率常数*/<br />BRGR1_0&nbsp;=&nbsp;BRGR1_DATA;&nbsp;/*9600&nbsp;baud&nbsp;@&nbsp;11.0592MHz*/<br />BRGR0_0&nbsp;=&nbsp;BRGR0_DATA;&nbsp;<br />BRGCON_0&nbsp;=&nbsp;0x03;&nbsp;/*选择独立的波特率发生器、并使能*/<br /><br />S0STAT&nbsp;=&nbsp;0x20;&nbsp;/*使用独立的Rx和Tx中断*/<br /><br />/*UART1&nbsp;初始化*/<br />S1CON&nbsp;=&nbsp;0x50;&nbsp;/*MODE&nbsp;1&nbsp;使能接收*/<br /><br />BRGCON_1&nbsp;=&nbsp;0x00;&nbsp;/*载入波特率常数*/<br />BRG1_1&nbsp;=&nbsp;BRGR1_DATA;&nbsp;/*9600&nbsp;baud&nbsp;@&nbsp;11.0592MHz*/<br />BRG0_1&nbsp;=&nbsp;BRGR0_DATA;&nbsp;<br />BRGCON_1&nbsp;=&nbsp;0x03;&nbsp;/*选择独立的波特率发生器、并使能*/<br /><br />S1STAT&nbsp;=&nbsp;0x20;&nbsp;/*使用独立的Rx和Tx中断*/<br /><br />IEN2=0x04;&nbsp;/*使能UART1接收中断*/<br /><br />/*T0&nbsp;T1&nbsp;初始化*/<br />TMOD=0x15;&nbsp;/*定时器0:计数&nbsp;定时器1:定时;&nbsp;模式1:16位;&nbsp;TRn控制*/<br />TCON=0X01;&nbsp;/*外中断0下降沿触发&nbsp;外中断1低电平触发*/<br /><br />EA=1;<br />}<br /><br />/*=========================================================================<br />*&nbsp;名&nbsp;称:main()<br />*&nbsp;功能描述:<br />*&nbsp;<br />*&nbsp;入口参数:<br />*&nbsp;无<br />*&nbsp;出口参数:<br />*&nbsp;无<br />*<br />*&nbsp;函数说明:无<br />===========================================================================*/<br />void&nbsp;main&nbsp;(&nbsp;)<br />{<br />Delayms(&nbsp;10&nbsp;);<br /><br />Init_CPU();<br /><br />init_wdt();&nbsp;<br /><br />pow_en=0;&nbsp;/*测量部分电源使能*/<br />Delayms&nbsp;(&nbsp;1000&nbsp;);<br /><br />while(&nbsp;1&nbsp;)<br />{<br />//&nbsp;clrwdt();<br />Delayms&nbsp;(&nbsp;500&nbsp;);<br />pow_en=1;<br />Delayms&nbsp;(&nbsp;500&nbsp;);&nbsp;<br />}<br />}<br />&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部