搜索
bottom↓
回复: 20

求:PIC 单片机C语言精确计时(4MHz晶振),谢谢。

[复制链接]

出0入0汤圆

发表于 2013-4-2 16:32:50 | 显示全部楼层 |阅读模式
各位大侠

小弟PIC新手入门,求PIC 单片机C语言精确计时(4MHz晶振)。
最好是精确计时到1ms ,我可以直接更改变量来调整为其他时间。谢谢!

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2013-4-2 18:16:45 | 显示全部楼层
Something like this is so easy that you don't need others to do it for you.

1) set up a timer to trip periodically;
2) in the timer isr, count pulses.
3) done!

出0入0汤圆

 楼主| 发表于 2013-4-3 08:31:46 | 显示全部楼层
millwood0 发表于 2013-4-2 18:16
Something like this is so easy that you don't need others to do it for you.

1) set up a timer to tr ...

Hi  millwood0

Good morning,thanks for your response.
It's more better if I use delay time because I need 11 type delay time currently. E.g. 1ms,2ms....10ms,200ms.
Whatsoever,thank you.

出0入0汤圆

发表于 2013-4-3 10:51:43 | 显示全部楼层
人家看懂中文的  可怜的楼主
换编译器吧 有的编译器自带延时函数的
直接调用就可以了

出0入0汤圆

 楼主| 发表于 2013-4-3 14:28:50 | 显示全部楼层
yklstudent 发表于 2013-4-3 10:51
人家看懂中文的  可怜的楼主
换编译器吧 有的编译器自带延时函数的
直接调用就可以了 ...

呵呵,算是对人家的尊重吧。
哪种编译器?推荐下?
之前用51,感觉延时函数挺精确的,到PIC就不行了。
捕捉交流电的过零点,然后PIC单片机软件延时控制双向可控硅的导通角进而控制交流电机的软启动,有搞过没?赐教下。

出0入0汤圆

发表于 2013-4-3 15:44:39 | 显示全部楼层
不好意思 没搞过
CCSC估计适合你

出0入0汤圆

发表于 2013-4-3 16:11:34 | 显示全部楼层
用 timer1 計時中斷就行了,建議您晶振加快一點可以更精細。一般我都用20MHz或 10MHz x 4 (PLL)

出0入0汤圆

发表于 2013-4-3 16:36:04 | 显示全部楼层
定时器呗。

出0入0汤圆

发表于 2013-4-4 09:55:55 | 显示全部楼层
http://www.amobbs.com/thread-5415935-1-1.html
看看这个也许对你有帮助!任何单片机都可以计算延时函数的,不过用指令周期也有缺点,就是系统有多个中断,会导致延时>=传递值!你可以尝试用计数器做,误差会相对小一点。

出0入0汤圆

 楼主| 发表于 2013-4-4 11:39:07 | 显示全部楼层
wangqh1983 发表于 2013-4-4 09:55
http://www.amobbs.com/thread-5415935-1-1.html
看看这个也许对你有帮助!任何单片机都可以计算延时函数的 ...

谢谢,我昨天试了多次,交流电机每次都是全速启动,没法软启动。看来不是延时的问题,可能概念上就错了。
等我调出软启动程序后发上来大家共享啊,

出0入0汤圆

发表于 2013-4-4 17:30:58 | 显示全部楼层
我觉得millwood0有点讨厌

出0入0汤圆

发表于 2013-4-4 19:41:00 | 显示全部楼层
fangjikun 发表于 2013-4-4 17:30
我觉得millwood0有点讨厌


话不可以乱说,会很伤人的,你搜一下他的帖子,就知道他很乐于帮助人的;而且好多帖子都是很不错的!
头像被屏蔽

出0入0汤圆

发表于 2013-4-4 19:59:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2013-4-4 20:44:09 | 显示全部楼层
fangjikun 发表于 2013-4-4 17:30
我觉得millwood0有点讨厌

兄弟,millwood0 可是高手啊,而且能抽空对大家指点一二不错的。

出0入0汤圆

 楼主| 发表于 2013-4-4 20:49:36 | 显示全部楼层
topdog 发表于 2013-4-4 19:59
楼主,若是延时millwood0已经告诉你了,需要不同延时只有增加TIMERCOUNTs比较就可以了。
刚学单片机时千万 ...

谢谢,我用定时器试试。用延时函数就是图个方便,长时间不写程序,写之前都得先看看之前的程序回忆一下。

出0入0汤圆

发表于 2013-4-5 18:07:29 | 显示全部楼层
用它的软件模拟,慢慢调   分分钟就搞定

出0入0汤圆

发表于 2013-4-5 18:24:23 来自手机 | 显示全部楼层
定时器,或者汇编算

出0入0汤圆

发表于 2013-4-7 09:34:31 | 显示全部楼层
用定时器,开中断后,自己算定时器初始值后,再测测跟实际相差多少,然后在软件中调整就是了!

出0入0汤圆

发表于 2014-3-17 15:50:10 | 显示全部楼层
用示波器   就ok了

出0入0汤圆

发表于 2014-3-18 15:07:42 | 显示全部楼层
CCS C就可以了

出0入0汤圆

发表于 2014-4-7 21:37:39 | 显示全部楼层
要想精确度定时,不要指令用延时
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-22 08:58

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

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