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

标准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_();

}

}

对比可见,相同的程序在不同时钟周期的单片机下延时是不同的,所以当我们在不同时钟周期的单片机中移植程序的时候要注意软件延时需要修改成适当的程序,否则会造成不必要的错误。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器
关闭
关闭