单片机/MCU论坛
直播中

王焕锁

7年用户 906经验值
私信 关注
[问答]

ADuC7060一个指令周期为几个机器周期?一个机器周期为多少个振荡周期?

假定使用内部32.768Khz振荡频率,倍频至10.24MHZ,内核频率为一分频即10.24MHZ,那么一个指令周期是多少?一个指令周期为几个机器周期?一个机器周期为多少个振荡周期?
若定时器1使用32768HZ作为时钟源,那么定时一秒为什么是0x8000(32768*4)而不是0x2000(32768)呢

回帖(1)

萧持毅

2024-1-15 16:49:03
ADuC7060的一个指令周期为12个机器周期。一个机器周期为15个振荡周期。

根据题目提供的信息,使用了内部32.768KHz振荡频率,并倍频至10.24MHz,即内核频率为10.24MHz。因此一个指令周期为1 / 10.24MHz = 97.65625ns。

一个指令周期内有12个机器周期,所以一个机器周期为97.65625ns / 12 ≈ 8.13802ns。

一个机器周期内有15个振荡周期,所以一个振荡周期为8.13802ns / 15 ≈ 542.5347ps。

对于定时器1,使用的时钟源是32.768Hz,也就是每秒钟有32768个振荡周期。定时一秒需要计数的值为时钟源频率乘以计数器计数次数。因此,定时一秒的计数器计数值为32768 * 4 = 131072,也就是0x8000。所以定时一秒的计数值是0x8000。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分