51单片机可以输出多高频率的方波???

2019-03-24 17:38发布

我用89C52,12M晶振。网上查了说理论上可以到500KHZ,但我怎么只能到50KHZ

为了最大化频率,用8位自动填充定时器,中断只写一句,P1=~P1;定时器初值设到255,频率只能到50KHZ啊  这个到底是怎么回事??? 希望有大神指教

我发现(软件调试)需要5~6个时钟周期才能进中断,中断内也需要几个时钟周期。。我调定时器初值TH0从255到246都是输出50KHZ的方波,这是为什么啊啊

我做的东西现在频率不够,已经卡住好久了。。。老师要达 5KHZ,我的程序才300HZ左右。。。肿么破
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
johnrey
1楼-- · 2019-03-25 23:50
 精彩回答 2  元偷偷看……
Li_Lei
2楼-- · 2019-03-26 04:21
频率不变方波的输出自然简单,软件实现500K肯定没问题,定时器自动重装模式中断里翻转io,再高就用ALE的分频输出用晶振往上凑。
philipchiu
3楼-- · 2019-03-26 06:07
因為你要做到500khz所以mcu已無時間去做中斷或其他,所以只需要如圖片那樣短短5行就ok,只需要在主循環一句取反就ok。如果要求精度就如6樓我說的用ale輸出做4分頻。
hpdlj
4楼-- · 2019-03-26 11:41
 精彩回答 2  元偷偷看……
taylda
5楼-- · 2019-03-26 14:37


定时器设定有点失控,th0从255到246都是一个值,是因为中断也要反应这么长时间吗
吴下阿蒙
6楼-- · 2019-03-26 15:29
兄弟,换stc15w系列的芯片,不需要外置晶振,频率可以设置到30M,且是1T的,轻松输出1M的方波。

一周热门 更多>