历史上的今天
今天是:2024年11月20日(星期三)
2018年11月20日 | 1T和12T单片机的区别
2018-11-20 来源:eefocus
标准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分频,再计时的,与原来的一样。只是用软件延时的话,就要改。
![]()
/****************************************************************/
/**************1T和12T单片机软件延时程序实例对比*******/
/*****************************************************************/
1.对于使用12M晶振的12T单片机,如:STC90C52RC
延时n个10us的程序:
[objc] view plain copy print?
void DelayXus(unsigned char n) {while( n-- ){_nop_();_nop_();}}
2.而对于使用12M晶振的1T单片机,如:STC12C5206AD
延时n个1us的程序
[objc] view plain copy print?
void DelayXus(unsigned char n)
{
while( n-- )
{
_nop_();
_nop_();
}
}
对比可见,相同的程序在不同时钟周期的单片机下延时是不同的,所以当我们在不同时钟周期的单片机中移植程序的时候要注意软件延时需要修改成适当的程序,否则会造成不必要的错误。
上一篇:单片机调试常见问题解决
下一篇:关于单片机代码架构分层
史海拾趣
|
基于分时四驱的这个问题,工程师开发出不用进行两驱四驱切换的四驱系统,这就是全时四驱。它解决的根本就是在前后转动轴之间加装了中央差速器。开放式差速器最主要的作用就是能够消除车轮之间的转速差,这个在汽车诞生后不久就有了的部件,在全时四 ...… 查看全部问答> |
|
公交车自动报站系统是我的论文,主要是以硬件为主,但软件编程也要写一些,由于我们学校当年单片机是选修,我没学过,而且论文课题又是学校定的,所以我现在在编程这儿卡住了,急死了,我的论文基本已经搞好了,现在就剩软件编程了,希望各位高手们可以帮我编 ...… 查看全部问答> |
|
系统移植时如何把nand flash 芯片加入到NAND FLASH驱动? 如题,目标板 s3c2410, 64M nand flash, 在建立NAND FLASH分区、建立nand flash芯片支持后,如何把这个芯片加入到内核的nand flash 驱动中?… 查看全部问答> |
|
我有个USB的蓝牙设备,要在wince下使用。在Platform Builder里选择了: Bluetooth HID Device Support -Bluetooth HID - keyboard -Bluetooth HID - Mouse Bluetooth Profiles Support -Bluetooth DUN Gateway -Bluetooth HS/HF and Audio Ga ...… 查看全部问答> |
|
在注重节能环保的今天,变频概念对一般大众已经不陌生。各种变频家电包括空调、冰箱、洗衣机等等已经大量上市,今天要向大家介绍一个来自WPG友尚的变频洗衣机解决方案。何为变频?传统的交流电机使用简单,应用广泛,但是有一个缺点是只能实现恒定 ...… 查看全部问答> |
|
我想自己设计一个以TMS570LS0432为核心的控制器,不知哪位大神有它的最小系统原理图,包括供电模块和程序下载模块。主要是程序下载模块,如果不用LaunchPad上的仿真器该怎么来设计?需要其他什么芯片?望各位指点,非常感谢! … 查看全部问答> |




