
展开全部
计算单片机的时钟周期,T=12/8x10^6=1.5us,如果是用汇编编程,还需要知道一些指令的执行周期
如下面的程序
D1:MOV R2,#0AH 执行了1次 每次需要1个机器周期 共需要1*1个机器周期
D2:MOV R3,#0FFH执行了10次个 .....1........ ...10*1...
D3:DJNZ R3,D3执行了255*10次 .....2........ ...2550*2..
DJNZ R2,D2执行了1次 .....2........ ...10*2...
RET 执行一次 ...2......... ..1*2....
一共需要5132个机器周期,如果用8M晶振 则执行一个机器周期需要1US,那么一共需要7698US,如需要5s可以再多加几个,似乎计算起来很麻烦。
如果C语言编程,就用for循环,或是while(--i);这种语句。
以上两种方法计算起来比较麻烦,个人喜欢用定时器,不过5s的时间是需要嵌套的。
如下面的程序
D1:MOV R2,#0AH 执行了1次 每次需要1个机器周期 共需要1*1个机器周期
D2:MOV R3,#0FFH执行了10次个 .....1........ ...10*1...
D3:DJNZ R3,D3执行了255*10次 .....2........ ...2550*2..
DJNZ R2,D2执行了1次 .....2........ ...10*2...
RET 执行一次 ...2......... ..1*2....
一共需要5132个机器周期,如果用8M晶振 则执行一个机器周期需要1US,那么一共需要7698US,如需要5s可以再多加几个,似乎计算起来很麻烦。
如果C语言编程,就用for循环,或是while(--i);这种语句。
以上两种方法计算起来比较麻烦,个人喜欢用定时器,不过5s的时间是需要嵌套的。
展开全部
拜托,楼上几位不要拿51单片机的知识来解决AVR单片机的问题,不知道AVR单片机与51有很大的不同吗?
如果使用定时器来延时,那16位的定时是不够用的,所以使用分频,而且分频数16,即8M÷16=500K,然后使用定时器的CTC中断方式,设定比较值为50000,这样在发生10次中断之后的时间就是1S了,同样要延时5S,那就产生中断50次之后。
如果使用定时器来延时,那16位的定时是不够用的,所以使用分频,而且分频数16,即8M÷16=500K,然后使用定时器的CTC中断方式,设定比较值为50000,这样在发生10次中断之后的时间就是1S了,同样要延时5S,那就产生中断50次之后。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。
如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059
2
mhz、12
mhz或6
mhz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1
μs和2
μs,便于精确延时。本程序中假设使用频率为12
mhz的晶振。最长的延时时间可达216=65
536
μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059
2
mhz、12
mhz或6
mhz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1
μs和2
μs,便于精确延时。本程序中假设使用频率为12
mhz的晶振。最长的延时时间可达216=65
536
μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先我们要算出单片机的计数周期T=1/8x10^6x(1/12)=1.5us,也就是说一个计数周期是1.5us然后延时5s就有两种方法一种是循环,另一种就是通过定时器来延时了,我个人推荐你用定时器方式一,希望你能明白,要是还不明白就加我吧呵呵,祝你一帆风顺。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
f=1MHz/4=250KHz,内部振荡模式
;T=4uS
这样是什么意思?
就是单片机内部的振荡器的参数设置.
单片机内部有RC振荡器,设定为f=1MHz/4=250KHz模式,
那么它的机器周期T=4US
;T=4uS
这样是什么意思?
就是单片机内部的振荡器的参数设置.
单片机内部有RC振荡器,设定为f=1MHz/4=250KHz模式,
那么它的机器周期T=4US
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询