1T和12T单片机的区别

标准51单片机是12T的,就是说12个时钟周期(晶振周期,例如12M的,周期是1/12M,单位秒),机器做一个指令周期,刚好就是1/12M*12=1uS,常见指令例如_nop_就是一个周期,刚好1uS,其他的大多多于一个周期,乘除法更多。所以如果计算指令时间可以这样算。

而现在51核的单片机工艺质量上去后,频率大大提高,增强型51有6T的,如果接12M的话,一个nop就只需要0.51uS,如果是STC的部分单片机1T的话,那只需要1/12uS。

单片机的晶振不是随便选,要看技术手册,看最高频率,看支持类型等等。一般12M,接串口的话11.0592M。如果是PIC,很多4M,8M。

不是越高越好,对很多不需要大量处理,只是控制的情况,为了增加可靠性,降低编程难度,降低功耗,往往可选用低频的,例如实时时钟的32768晶振。

故  计算nT单片机的指令周期公式为:  T   =   1/晶振周期*n

例如: 使用12M晶振的1T单片机的指令周期为:  T = 1 / 12 * 1 = 1 / 12 us

 



一:下面是单片机的几个周期的介绍:

(1)时钟周期又名振荡周期:定义为时钟频率的倒数,可以理解为单片机外界晶振的倒数。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某个单片机来讲,若采用 了1MHZ的时钟频率,则时钟周期就是1us;若采用了4MHZ的时钟频率,则时钟周期就是250ns。由于时钟脉冲是CPU的基本工作脉冲,它控制着CPU的工作节奏。对于 同一种单片机,时钟频率越高,单片机的工作速度就越快。我们使用的STC89C系列单片机的时钟范围约在1——40MHZ。

(2)状态周期:状态周期是时钟周期的两倍。

(3)机器周期:单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读写等。它由12个时钟周期(6个状态周期)组成。

(4)指令周期:它是指CPU执行一条指令所需要的时间。一般一个指令周期含有1——4个机器周期。



 

二:1T和12T单片机的编程所需要注意的:

定1T单片机的计时器是兼容传统12T单片机的。也就是说只是执行一般的指令会快12倍,但是它的定时器却是先进行12分频,再计时的,与原来的一样。只是用软件延时的话,就要改。

 



三: 指令周期,时钟周期,机器周期这三者之间有什么联系:

(1)1T、6T、12T这个原本叫机械周期,现在更多人称为 指令周期;以前标准51单片机,是12T模式的。后来大量单片机厂家的介入,开始对单片机进行提速,于是就出现了 6T、1T模式的单片机。

(2)时钟周期:是指振荡源的周期,如 外部晶振 10MHz(假设有),那么它的时钟周期就是 1/10MHz=0.1us;

(3)机械周期:单片机执行一单位指令所需要的 时钟周期 个数,如 1T,就表示,需要 1个时钟周期;12T 即为 12个时钟周期。这些都只是 一单位指令的时间(如自增、自减 等),多单位指令时间进行倍乘(如赋值语句需要2个机械周期,即乘以2倍)

(4)指令周期:早期更多的是用来描述 某条指令执行 需要多少个机械周期,(如自增、自减为 1个机械周期赋值 2个机械周期判断 4个机械周期)。随着C语言的大量普 及,现在,更多的人用它来代替 机械周期 这个名词。


  • 33
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值