中易网

STC单片机比较延时函数

答案:3  悬赏:0  
解决时间 2021-02-20 18:13
A 的取值范围是0-FF,根据一个A的值不同来做不同的延时,应该怎么编。
最佳答案
看你说的意思,我的理解是:编写一个延时程序,以A作为输入形参
void delay(unsigned int A)
{
for(unsigned int i=0;i<A;i++)
for(unsigned int j=0;j<num;j++) //注意这边的num是常值,选择合适的num值,使得这个for 的延时大概为1ms,具体看机器周期的计算
nop();
}
希望能帮到你!
全部回答
假设你用的12M晶振,IT单片机; 参照STC的数据手册“2.6 指令系统分类总结及与普通8051 指令执行时间对比” 可查出: 机器周期 L1:CLR A 1 MOV R6,A 2 L2:INC R6 3 CJNE R6,#0x09,L2 4 DJNZ R7,L1 4 RET 4 你的延时=((1+2+9*(3+4)+4)*n+4)/12000000秒=(70*n+4)/12us; n取1的话=74/12=6.167us;
1,只要学过一种单片机,触类旁通,很多概念性的东西都是相通的。stc单片机的时钟、外部晶振与飞思卡尔单片机的时钟、外部晶振并没有本质上的区别,大凡是单片机都需要时钟,没有时钟,芯跳就停止了。stc单片机有内部rc振荡器或外部晶体振荡器为单片机产生时钟。为兼容传统51单片机的某些特性,stc单片机的指令时钟周期数是可选的,可以是1个时钟周期也可以是12个时钟周期的。至于什么11.0592mhz、22.1184mhz,这是振荡器的频率,也是单片机的时钟频率,单片机的时钟频率并不是只允许这两种,还可以根据实际需要作其它选择,比如4.000mhz、3.58mhz等等。你说的总线时钟就是单片机的时钟,与震荡频率有关。 2,for循环延时是无法直接精确计算的。要获得比较准确的时间,需要参考c平台编译后的汇编文件,按汇编文件的指令周期逐条计算时间,这样得出的结果相对比较精确。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鸳鸯井在哪里啊,我有事要去这个地方
求关于风的作文,300字就可以了
甜馨花坊地址在哪,我要去那里办事
经常玩游戏的女是个怎么样的女的
游泳深水过胸
请教:教育经费、国家财政性教育经费、财政预
空调时外机风扇倒转怎么可以把着结果来
飚车世界 DIY
元锋文印部在哪里啊,我有事要去这个地方
最近炒股可以在短时间内结束一只股票吗?
圆柱的底面半径和高都扩大两倍,它的体积扩大
金海心的一手老歌,只记得一句歌词,阳光空气
自行车变速齿轮调在大的齿轮上跑得快,还是调
怎样用微波炉焖茄子
greenstoro是什么意思
推荐资讯
老茶壶在哪里啊,我有事要去这个地方
为求一自稳,耐得半宵寒的意思
新弄桥地址在什么地方,想过去办事
糖小糖商城经营什么商品?化妆品卖不卖
如何用firefox模拟一次post请求
血压不稳定,头晕恶心是怎么回事
为什么有的女生明明性取向很正常,却偏要把自
怎么给个人MV制作片头片尾用什么软件好
Then Kitty wanted to do her homework.请问
安卓手机捕鱼达人2怎样挣鱼币挣得多?
翔荣精细化工有限公司地址在什么地方,想过去
寝室有打呼噜的,网上有什么防噪音的东西吗,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?