打印
[微控制器/MCU]

义隆EM78P153S单片机C语言交流同步问题

[复制链接]
8451|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuqingliang1|  楼主 | 2010-3-19 15:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我最近做一个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口输入电平变化中断
}

相关帖子

沙发
北京户口| | 2010-3-19 15:26 | 只看该作者
这必须不能同步啊,两个单片机不是同一个时钟,凭啥同步!

使用特权

评论回复
板凳
想实习去| | 2010-3-19 15:27 | 只看该作者
我只是想说这个单片机是属于NXP的不?

还有你这两个MCU是怎么互联的?

使用特权

评论回复
地板
wuqingliang1|  楼主 | 2010-3-20 10:01 | 只看该作者
2# 北京户口
两个单片机是不能保证同时启动的,是否能通过控制看门狗复位实现同步进入主程序呢?主程序中通过对交流电频率计数来实现同步。

使用特权

评论回复
5
wuqingliang1|  楼主 | 2010-3-20 10:09 | 只看该作者
3# 想实习去
不好意思,刚进论坛,没注意分类!两个MCU都是独立的电路板,之间通过220V 50HZ交流电连接两条灯板,220V阻容降压给单片机供电,对交流检测上升沿计数实现同步。

使用特权

评论回复
6
想实习去| | 2010-3-20 11:04 | 只看该作者
可不可以两个板子用同一个电源供电就可以解决问题?

使用特权

评论回复
7
canback| | 2010-3-20 11:11 | 只看该作者
5# wuqingliang1

现在才明白楼主的意思。

我感觉你这样同步不大现实

交流电,50hz,如果全波整流后检测,那么你检测的上升沿的周期是10ms,如果是半波,那也是20ms,你电压打开肯定一前一后,这中间的时间差?

很可能早开的已经技术个10次了,也就200ms,后开的才开始计数

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
wuqingliang1 + 1
8
wuqingliang1|  楼主 | 2010-3-20 13:37 | 只看该作者
7# canback
哦,那怎样实现同步呢,这位仁兄有何高见?

使用特权

评论回复
9
canback| | 2010-3-20 13:40 | 只看该作者
单片机之间通讯了

单靠电源线同步感觉不大好弄,我没想到什么方法

使用特权

评论回复
10
wuqingliang1|  楼主 | 2010-3-20 13:53 | 只看该作者
9# canback
哦,这个项目单片机之间无法通信的,可能还是哪里有BUG没找到:L

使用特权

评论回复
11
canback| | 2010-3-20 13:55 | 只看该作者
10# wuqingliang1

硬件是别人弄好了吗?

使用特权

评论回复
12
canback| | 2010-3-20 13:59 | 只看该作者
10# wuqingliang1

P61 = P61;  //读P61口状态

不知道你这句话编译出来是怎么样的?

使用特权

评论回复
13
wuqingliang1|  楼主 | 2010-3-20 14:07 | 只看该作者
12# canback
是的,硬件是固定的,
按PDF这款单片机这句C语言可以这么操作的
编译后:
BC    0x06, 1         
JBC   0x06, 1        
BS    0x06, 1

使用特权

评论回复
14
wuqingliang1|  楼主 | 2010-3-20 15:13 | 只看该作者
14# int3
需要的是遇到这种问题,该怎么去解决?还望不吝赐教!

使用特权

评论回复
15
siman275| | 2010-3-21 20:26 | 只看该作者
采用中断方式对交流信号进行采样就比较稳定,还有在断电是在电容上加放电电阻就取保上电比较统一。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
wuqingliang1 + 1 谢谢,是用的中断方式,也加了放电电阻的! ...
16
nxponline| | 2010-3-21 22:22 | 只看该作者
这里是讨论恩智浦MCU应用的专区,楼主似乎发错了地方哦,呵呵,建议楼主采用恩智浦的MCU试试,,。:lol

使用特权

评论回复
17
wuqingliang1|  楼主 | 2010-3-22 09:11 | 只看该作者
15# siman275
谢谢!是采用中断方式,也加了放电电阻的。

使用特权

评论回复
18
wuqingliang1|  楼主 | 2010-3-22 09:13 | 只看该作者
16# nxponline
误打误撞了:L 下次是得采用恩智浦的试试:D

使用特权

评论回复
19
nxponline| | 2010-3-22 16:50 | 只看该作者
呵呵,多谢!
以后单片机拼的是生态系统和服务,选单片机要考虑这两点哦,否则会很辛苦的。

使用特权

评论回复
20
fzp900| | 2010-5-25 22:09 | 只看该作者
wuqingliang1 楼主先生,能否给加个QQ或邮箱交流下EMC 系统的问题,小弟也做这灯饰这一块,我QQ61942696,希望有机会交流:handshake

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

29

帖子

1

粉丝