at89c51单片机的程序换成8051f,移植时,机器时钟周期对程序有无影响?
3个回答
展开全部
要看你的程序功能:
如果你的单片机内部无定时器或延时程序,外部无时序要求,可以认为机器时钟周期对程序执行结果无影响。
如果内部有定时器或延时程序,机器时钟变了,功能就变了,简单讲,你设计的是一个时钟,由于机器周期快了12倍,那么,原先走1小时,现在就是12小时。
如果外部有队时序敏感的借口,典型的如串口通讯,你的波特率就变了,如果不能调整对方的波特率,通讯就可能出问题。
当然,这些问题基本上都可以通过改变晶振频率得以解决,比方说,速度提高到了原先的12倍,原先用12MHz晶振,现在改用1MHz。
另外,你的程序如果在设计时就考虑了时钟周期的问题,将时钟周期改一下就行了。C语言编程时,许多库程序都是这样定义的。
如果你的单片机内部无定时器或延时程序,外部无时序要求,可以认为机器时钟周期对程序执行结果无影响。
如果内部有定时器或延时程序,机器时钟变了,功能就变了,简单讲,你设计的是一个时钟,由于机器周期快了12倍,那么,原先走1小时,现在就是12小时。
如果外部有队时序敏感的借口,典型的如串口通讯,你的波特率就变了,如果不能调整对方的波特率,通讯就可能出问题。
当然,这些问题基本上都可以通过改变晶振频率得以解决,比方说,速度提高到了原先的12倍,原先用12MHz晶振,现在改用1MHz。
另外,你的程序如果在设计时就考虑了时钟周期的问题,将时钟周期改一下就行了。C语言编程时,许多库程序都是这样定义的。
展开全部
8051F系列也是51内核,只是速度快了(许多指令单周期完成),多了好多外设。
理论上是完全兼容,时钟周期不同对程序无影响。但由于速度快了,与外设通讯时的延时可能不够。另外外扩SRAM的时序也要根据具体芯片注意调整一下相应寄存器的设置,避免速度过快而产生不匹配的情况。
理论上是完全兼容,时钟周期不同对程序无影响。但由于速度快了,与外设通讯时的延时可能不够。另外外扩SRAM的时序也要根据具体芯片注意调整一下相应寄存器的设置,避免速度过快而产生不匹配的情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对程序无影响 程序是按照脉冲执行的 有脉冲就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询