永发信息网

关于51单片机产生500KHZ方波

答案:1  悬赏:10  手机版
解决时间 2021-02-22 23:18
  • 提问者网友:骑士
  • 2021-02-22 15:03
关于51单片机产生500KHZ方波
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-02-22 15:46
有什么问题呢?是程序不执行,还是什么?
是输出的方波不是500KHZ吧。首先告诉你,是不可能输出500KHZ方波的。
按你的程序计算,定时一个机器周期,就1us,方波周期就是2us,输出方波应该是500KHZ的,可为什么不是呢?
你是这么想的吧?
看来你对单片机的工作,还是不理解的。
单片机工作是靠执行指令,就是程序,来完成。可执行指令也是要需要时间的,执行一般的指令也需要2us的,你又用定时器的方式1,每次中断还要重写时间常数,就你的中断程序是需要7us的。可是,单片机响应中断,中断结束从中断返回需要的时间更长了。都些时间都要加起来才是一个中断的时间,一个周期则是2倍。这周期远远超过了2us。所以,是不可能输出500KHZ方波的。
按理说,应该用定时器的方式2,自动重装时间常数,可以节省时间,再利用查询方式,(不要用中断,因中断太费时了),虽然可以大大节省时间,但也不可能达到500KHZ,只是频率比你现在的程序会高很多的。
真要得到500KHZ的方波,有两种方案,1,用1MHZ的晶振组成振荡器,再分频就行。
2,用STC单片机,晶振频率选更高的,它内部有时钟分频电路,直接输出分频的方波,不需要执行程序,不需要中断。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯