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

2019-03-24 17:38发布

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

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

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

我做的东西现在频率不够,已经卡住好久了。。。老师要达 5KHZ,我的程序才300HZ左右。。。肿么破
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
lcofjp
1楼-- · 2019-03-25 04:38
 精彩回答 2  元偷偷看……
maychang
2楼-- · 2019-03-25 08:03
楼主浪费的机时太多了。
晶体为12MHz,那么51单片机的单周期指令需要1us,要达到500kHz输出,只能用两条单周期指令。这就根本不可能使用定时器,也绝对不可能使用中断。
两条单周期指令,一条是某引脚取反,另一条是短跳转。这只有用汇编语言才能够写出来。
lcofjp
3楼-- · 2019-03-25 08:30
找个带PWM功能的单片机。。。
huaiqiao
4楼-- · 2019-03-25 11:40
 精彩回答 2  元偷偷看……
philipchiu
5楼-- · 2019-03-25 17:05
如果沒有其他限制要求,考慮ALE輸出再做四分頻,絕對可以做到500KHZ,
574433742
6楼-- · 2019-03-25 18:40
STM32F0 或者F1 比 51 价钱也高不了多少,楼主换主控吧 ,,

一周热门 更多>