完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
相关推荐
19个回答
|
|
|
有了适当的信号调节,这当然是可能的。我建议在数据表中阅读适当的部分,以了解比较器可接受的输入限制。您没有提供必须的细节,所以更多的答案将需要更多的信息。
|
|
|
|
|
|
这是在HTTP://www. McCHIP.COM/FUMMS/M941219.ASPX的主题的延续。
|
|
|
|
|
|
为什么?不喜欢那边的答案吗?
|
|
|
|
|
|
嗨,jack@kk.,谢谢你们两位的更新。现在我可以使用ZCD,内部比较输入信号500mVand Check Output on RA2, RC4, pin C1OUT和C2OUT。代码(不使用比较器中断)和波形输出作为附件。连接到C12IN1-Blu的橙色信号e信号连接到C12IN2-现在您能建议一下,如何从ZCD波形中找出120°和240°之间的差别。在带有比较中断的两个上升沿之间设置简单计数器,或者有更好的解决方案?谢谢——KR
|
|
|
|
|
|
DSO图像作为附件。
|
|
|
|
|
|
嗨,jack@kk.,[Advice Needed]我已经编写了另一个代码来找出120度和240度与比较器中断和自由运行定时器0之间的差别,其前标量为128,如下所示。我只定义全局变量Start_Time、End_Time、Elapsed_time,然后复制TMR0在toSta中的状态rt_Time,当第一次过零时,将TMR0的状态复制到toEnd_TimeSecond过零中,然后减去Elapsed_time=End_Time-Start_Time;DSO波形的理论计算[线频率50Hz.]PIC频率=8MHz[带内部振荡器](120序列)-右序列1/4*8MHZ=2MHzT=1/2MHz=0.5us5ms=5000us[来自DSO波的5ms,小于等于]5000us*0.5us=2500/128=19.53=20Approx255-20=234或235,在TMR0(240个序列)的十进制值中——错误序列频率=8MHz[内部振荡器频率]1/4*8MHZ=2MHzT=1/2MHz=0.5MHz=0us16ms=16000us[来自DSO Wavefrom,Less and.l to]16000us*0.5us=8000/128=62.5=63Approx255-63=192或193inDecimalValueinTMR0中如何将TIMER0配置为没有TMR0ON的自由运行(对于PIC16F1824)?谢谢……KR
|
|
|
|
|
|
我不确定我理解你的问题,一旦你启用它,Time0将“自由运行”,除非你停止它。设置TMR0 on“启用”定时器,清除此位禁用(停止)定时器。您必须知道,当计时器达到最大值时,它将“翻转”回0x0000,这可能会影响您的时差(减法)计算。
|
|
|
|
|
|
实际上,PIC16F1824(I Checked Datasheet)中没有TMR0ON,这就是我所要求的。如何在没有TMR0ON的情况下将TIMER0配置为自由运行(对于PIC16F1824)?任何实验之后,我检查Time0自动启动没有TMR0on位。是的,你是正确的。这就是我读错的方法(带负号)。然后我改变了tMR0= 0x00:但是我仍然在10-15之后得到了负面的阅读作为附件。??
|
|
|
|
|
|
这一点的缺乏意味着你不能停止计时器!它总是“自由奔跑”。是的,你是对的。这就是我读错的方法(带负号)。然后,我将TMR0=0x00更改如下:但是在附件10-15之后仍然得到否定的读数。清除TMR0对结果绝对没有影响,因为翻转是由您正在做的8位减法自动处理的。将-78转换为“无符号字符”将给出178。编辑:动作实际上,你是在做“无符号int”,而不是“无符号char”,所以是16位减法。换成无符号char只会得到肯定的结果(而且你的计算会更快)。
|
|
|
|
|
|
嗨,Qhb,谢谢你的更新,看看我的阅读。我已经开始了时间,EnthTimeTimes,EaseSimeTimeTimes如下:但是解决的办法是什么?我怎么总是得到类似的阅读?没有意外阅读。请建议…-KR
|
|
|
|
|
|
你的答案在_11_后面,所以改为:你用16位整数来处理8位值,减法将给出否定的结果,用8位字符则不会。
|
|
|
|
|
|
谢谢qhb和jack@kk.for更新。现在我已经将“unsigned int”更改为“unsigned char”,并且只获得正值。但是现在我面临一个新问题,即……连续读完10到15遍[随机]后,我得到了一到两篇意想不到的读数。[说对于RightSequence28,28,29,28,27,28,28,78,28,28,28,28,28,27,26,28,27,29,75][说错序列128128,129130,134130,28,2812126,127,128,128127126,128,26]我有50的阅读程序,但我的程序很慢,现在问题是不是意外阅读?我也用CxHythSeistReST使能实验。但结果是一样的。——KR
|
|
|
|
|
|
猜猜看,也许你的比较器参考不在电压摆动的中间,并且随着一点噪声,你错过了一些过渡。
|
|
|
|
|
|
HQ-QHB,但是DSO波形显示在相应引脚上的平方输出的完美正弦。还有其他的猜测吗?我已经把比较器RF绑定到GND内部。——KR
|
|
|
|
|
|
请张贴完整的代码列表,而不仅仅是代码片段。
|
|
|
|
|
|
HI QHB,请在实验阶段(以平均值)检查完整代码作为附件。
|
|
|
|
|
|
在输出到串行(GOOD)时,您正在禁用中断,但是无法处理在C1中断和C2中断之间禁用中断的情况。因此,在检测C1和C2之间偶尔会错过几个周期。最好只禁用.中断足够长,以便将avg变量复制到另一个位置,然后清除avg和i,并在执行输出之前再次启用中断。这由低效的传输例程复合。更改为:
|
|
|
|
|
|
好啊。。。我会检查更新给你。
|
|
|
|
|
|
不要试图改变你自己的时间延迟。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
454 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3529 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
466浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:16 , Processed in 1.045960 second(s), Total 76, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1198