完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我的项目是:转换模拟数据,从pid控制器,数字过零检测器,产生脉冲的RB0/INT中断pinwait等待点火时间,并设置输出火灾三重奏,我使用逻辑工具监控过零点。主要是50赫兹,所以一个周期是20毫秒。这里是图片:它没有给出正确的零交叉。我必须使用20毫秒的周期进行编程。代码:当模拟数据为5 V时,输出为217 VAC;对于0V,输出为30 VAC。当我增加寄存器0x22而不是减少时,输出转移到4V到206V的范围。问题是当模拟数据低于2.5V时,输出为0。还有一个问题是,系统不稳定。如果我复位电源,它给出了不同的结果(对于0V:20VAC,5伏:1VAC和1.9V:178VAC)。我认为这是因为我无法检测到正确的零交叉。我不知道为什么会发生这种情况。是中断、ADC、计时器或其他问题吗?需要帮助。谢谢。
|
|
相关推荐
3个回答
|
|
|
|
为了代码的可读性,我使用代码标签重新发布了代码。但是有些事情仍然不清楚,例如IRQ处理程序等等。另外,您应该使用“,F”和“,W”作为目的地(而不是“,1”等),并且可能使用位和变量名,而不是数字……
|
|
|
|
谢谢你,达里奥。我为代码添加了更多的解释,并对比特名称做了一些修改。
|
|
|
|
只有小组成员才能发言,加入小组>>
5161 浏览 9 评论
1999 浏览 8 评论
1928 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3171 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2226 浏览 5 评论
731浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
629浏览 0评论
527浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:40 , Processed in 1.163983 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号