大家好,我最近做一个LED灯饰的项目,用义隆EM78P153S单片机,C语言,用两条灯板(各1个EM78P153S单片机,50HZ 220V交流同步)测试,发现如果上电启动瞬间同步的话后面运行很长时间同步都没问题(说明主循环程序同步没问题),而上电瞬间不同步的话就不同步了,不知道是不是初始化看门狗复位功能设置不对还是怎么回事,请高手不吝赐教!谢谢!!!
初始化代码如下:
/*************
功能说明:系统初始化
***************/
void SysInit(void)
{
DISI(); //关中断
WDTCR = 0x80; //使能看门狗定时器,P60为普通IO口
_asm
{
MOV A,@0x4b
CONTW
} //预分频给WDT,分频比设为1:8,WDT定时时间为18*8=144ms
WDTC(); //预分频器从WDT转换到TCC须清零
WDTCR = 0x00; //关闭看门狗
P5CR = 0x00; //设置P5口为LED控制输出
P6CR = 0x0a; //设置P61为交流信号输入端口,P63只能为输入,其余为LED控制输出
// PDCR = 0XFF; //下拉禁止
// ODCR = 0X00; //漏极开路禁止
// PHCR = 0X04; //P62禁止上拉,P6其它口上拉允许
Close_All(); //初始化LED全灭
P61 = P61; //读P61口状态
ENI();
MR |= 0x02; //使能P6口输入电平变化中断
} |