搜索
bottom↓
回复: 10

讨论用PIC实现1-1KHZ方波产生

[复制链接]

出0入0汤圆

发表于 2008-4-18 14:40:09 | 显示全部楼层 |阅读模式
我想用PIC16F877做一个波形发生器,要求频率在1HZ到1KHZ连续可调,以1HZ步进,占空比恒定为50%,我用定时器做的, 用电位器调节,A/D采样的值做频率值,用频率值来计算周期,用TMR0做的定时,基准时间设为1MS,累计定时时间,达到半周期的时间就把I/O口电平取反,现在的问题就是频率只能以最小基准时间的整数倍步进,而我想要的结果是以1HZ步进,我算了一下1KHZ与999HZ就差1us,用我的方法是不可能实现,那位大侠有没有好的方法能够实现?麻烦指点一下

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2008-4-18 15:18:58 | 显示全部楼层
20M晶体,用3个表分别装载T2CKPSn、CCPR1L、PR2,利用PWM功能输出波形。

出0入0汤圆

发表于 2008-4-18 15:20:45 | 显示全部楼层
那3个表大小均为1K个字,可以考虑将每个表拆成4个,每个大小为250个字。

出0入0汤圆

发表于 2008-4-18 15:54:46 | 显示全部楼层
1kHZ与999HZ相差1uS吗?
不是1ms吗?

出0入0汤圆

 楼主| 发表于 2008-4-18 21:14:40 | 显示全部楼层
TO 【2楼】 eduhf_123 经历
T2CKPSn是什么寄存器,我好像没找到这个寄存器,还有你讲到(那3个表大小均为1K个字,可以考虑将每个表拆成4个,每个大小为250个字。)能讲具体点吗?要怎么样切换频率,

出0入0汤圆

发表于 2008-4-20 10:51:36 | 显示全部楼层
T2CKPSn是T2CON寄存器中的低两位,用来确定TMR2的输入分频比。

至于表,是这样的,对于1Hz~1kHz中的每个频率,事先算好用什么样的值来装载我说的那三个寄存器,然后根据A/D采样结果得到的频率值来查常数表,用查到的常数装载入这三个寄存器,就可以让他自己工作了;可是877中的查表是通过ADDWF   PCL,    F指令来实现的,W中的值最大不超过255,也就是说只能查最大256个单元的表,所以要分段,频率在1~250Hz的时候查第一个表,频率在251~500的时候,用频率值减250作为索引值来查第二个表,以此类推。

对了,另外还有一个问题,那就是这样的方法对“高频段(频率接近1kHz时)”没有问题,在“低频段(频率接近1Hz时)”周期过长超过PR2的范围,就需要采用另外的办法了(如在中断服务程序中对某一变量计数,以实现定时器扩展)。

总之,需要分段处理。

出0入0汤圆

发表于 2008-4-22 20:38:26 | 显示全部楼层
厉害~~~~~~~~

出0入0汤圆

 楼主| 发表于 2008-4-25 13:14:18 | 显示全部楼层
我最终用了另一种方法做的,用了我最不喜欢的三字节除法,用TIMER1做定时器,低频部分用查表做的,谢谢eduhf_123 经历

出0入0汤圆

发表于 2008-4-25 16:39:15 | 显示全部楼层
三字节除法……

PIC16F877做三字节除法的效率……
不过对于低频段来讲倒也无所谓,最多是前一、两个脉冲的周期不对。

楼主说说结果怎么样了:最终满量程范围是多少?稳定度如何?精度(细粒度/最小步进)如何?

出0入0汤圆

 楼主| 发表于 2008-6-12 15:10:26 | 显示全部楼层
产生1-1000HZ的频率ourdev_308322.txt(文件大小:4K) (原文件名:DIVPL.txt)

出0入0汤圆

发表于 2008-6-12 16:41:43 | 显示全部楼层
用MCU 100%准确的频率你没办法产生,好象也没多大意义,比如100K与99K,100K与50K时间太短了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 21:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表