完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗯,首先我要测量时钟,只是为了确定。然后,你的LCD在移到新的PIC之后,我需要对延迟等进行调整。
|
|
|
|
你有DSO吗?如果是这样,检查振荡器信号,特别是它在OSC2的频率与X10探头。不要使用X1探头或者在OSC1上检查它。如果你没有DSO,我只需简单地用计时器1闪烁一个LED就可以了。对于延迟,不要编写ISR——只需清除TMR1和TMR1IF,启用定时器1,然后进入轮询循环,当TMR1IF由定时器溢出设置时该轮询循环退出。这比在汇编程序中写一个长的延迟要容易得多,然后验证它的正确性。如果你设置一个计时器1为内部时钟与1:8预分频器,延迟将是4×8×65536 / 10MHz,这是大约0.21秒。在延迟之后立即添加代码来清除TMR1IF,然后再次轮询它来加倍延迟,并在每次通过时切换LED,并且您在一分钟内得到合理的1.2Hz闪光率(大约)或71次闪光。计时并计数闪光来验证你的振荡器频率!
|
|
|
|
谢谢你用我的DSO和程序给我的回复,只要打开和关闭一个LED,结果就是每秒2,5M的指令,我认为这是一个奇数,当我使用10MhzCrystal时,或者是指令比晶体慢4倍。
|
|
|
|
在PIC16上,指令在1/4个FoSC上执行。
|
|
|
|
是的,指令率是晶体的1/4。但我只是浏览了数据表(Rev D),很快就找不到任何具体的提到这个事实。它在一些数字中被暗示,比如14-8和14-10,但是只有当你知道你在看什么的时候。用于旧芯片的旧数据表具有描述时钟方案的特定部分(例如,参见PIC16F627A转速G数据表的3.1节),但是新数据表中似乎缺少该部分。
|
|
|
|
显示器不需要任何水晶时钟。只需将命令作为协议和一些时间延迟,以便显示器可以读取该命令或数据输入。所以您不需要任何C来写入字符显示器-您也可以使用一些切换开关来激活它。D & lt;7:0& gt;EN,RS,,…请阅读DePaul.GealdD-的数据表
|
|
|
|
PIC16F887数据表的第15.0节对指令时钟非常敏感:它也在图14-8中显示:INT PIN中断计时
|
|
|
|
谢谢你,我当时的印象,只有定时器运行1/4fosc,控制器每fosc执行一个指令。关于显示器,它以与pic16f877a完全相同的配置工作。但现在我知道频率是正确的,然后我将得到所有的延迟。回到旧的价值观。并开始学习数据表(PIC16F87),并尝试寻找缺失的链接。
|
|
|
|
它也显示在图14-8:INTING中断定时精确!
|
|
|
|
也读一下显示数据表。C和显示器(数据总线)之间的数字通信工作得很快,很少。仅仅写到显示晶体(显示板上的显示控制器内部)需要一些延迟时间。这需要在源代码中查找。指令周期的数目由给定的时钟频率/ 4(C c内部时钟时间)。杰拉尔德
|
|
|
|
***
|
|
|
|
只有小组成员才能发言,加入小组>>
5244 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3209 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2260 浏览 5 评论
779浏览 1评论
672浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
598浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
682浏览 0评论
579浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 03:17 , Processed in 1.423341 second(s), Total 68, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号