打印

51单片机,6M晶振,20us定时,求救。

[复制链接]
3375|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaolipingyy|  楼主 | 2009-9-12 20:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟最近在写一个发生脉冲的程序。要发出20us的脉冲,方案已定,用51定时器,6M晶振,用C语言写。结果进出中断所花费的时间大于20us。无法产生20us的延时。除了嵌入汇编以外,有没有别的方式可以加快进出中断?是否可以优化编译器对程序的处理?

相关帖子

沙发
宇容创行| | 2009-9-12 21:40 | 只看该作者
别用中断了,用nop延时

使用特权

评论回复
板凳
lyjian| | 2009-9-12 22:16 | 只看该作者
用软件做,CPU不用做别的了
用T2的频率输出功能吧

使用特权

评论回复
地板
aozima| | 2009-9-12 22:45 | 只看该作者
51单片机,6M晶振
12T的话一个指令周期就是2uS

如果这个脉冲输出还要可控的话....
期待你的解决方案:lol:lol

使用特权

评论回复
5
waytoCTO| | 2009-9-12 23:00 | 只看该作者
呵呵,这么短时时10条指令都也不到,这别用C了

使用特权

评论回复
6
不亦心| | 2009-9-12 23:03 | 只看该作者
软件实现不了,那就在硬件上做手脚。
产生个低频在倍频

使用特权

评论回复
7
踢球老越位| | 2009-9-12 23:43 | 只看该作者
找STC的51试试吧,快一点

使用特权

评论回复
8
kingTek| | 2009-9-13 00:19 | 只看该作者
本帖最后由 kingTek 于 2009-9-13 09:00 编辑

时间太短了,可能无法做到。

使用特权

评论回复
9
xuyiyi| | 2009-9-13 13:50 | 只看该作者
51单片机,6M晶振
12T的话一个指令周期就是2uS
10个指令周期就是20uS

使用特权

评论回复
10
BRL_mjc| | 2009-9-13 19:30 | 只看该作者
可以换个单片机或者提高系统个的震荡频率。不过你是发烧友的话,就不能用C语言实现了,汇编可能会实现,但是不会精确地。

使用特权

评论回复
11
fugong| | 2009-9-13 22:11 | 只看该作者
找个自带PWM的MCU。。。。。。。。。

使用特权

评论回复
12
zhaolipingyy|  楼主 | 2009-9-14 10:07 | 只看该作者
谢谢大家的回复。特别感谢3楼的提示。这个信号的输出端口在原来的设计中接在P10。我觉得和T2有关,但是因为对T2不熟悉,所以没有用。三楼的建议应该试一试。

使用特权

评论回复
13
王命天涯| | 2009-9-14 11:51 | 只看该作者
关中断,搞几个空语句即可。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

108

帖子

0

粉丝