【STC15】单片机中常说的 1T 和 12T 的意思

news/2024/10/5 13:56:14/文章来源:https://www.cnblogs.com/FBsharl/p/18447798

标准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语言的大量普 及,现在,更多的人用它来代替 机械周期 这个名词。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/808454.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

织梦php数据库配置文件

织梦CMS(DedeCMS)的数据库配置文件通常位于安装目录下的 include 文件夹中,具体文件名为 config.inc.php。这个文件包含了数据库连接的所有必要信息。下面详细说明如何配置这个文件。 步骤 1: 备份现有配置文件 在修改任何配置文件之前,最好先备份现有的配置文件,以防万一…

连接到数据库,你可以查看织梦CMS的相关表结构和数据

一旦连接到数据库,你可以查看织梦CMS的相关表结构和数据。 使用phpMyAdmin查看数据库表在phpMyAdmin中,选择你的织梦CMS数据库。 点击左侧的数据库名称,可以看到所有的表列表。 点击每个表,可以查看表结构和数据。使用MySQL命令行查看数据库表进入数据库后,运行以下命令查…

【嘉立创】SMT过程PCB载具和夹具有什么用?

SMT焊接时为什么会用到“载具、夹具” 2022-04-13 17:37 31437 4SMT焊接时为什么会用到“载具、夹具”一、 载具与夹具的使用场景载具: 主要是在印刷及贴片机贴装时,辅助生产使用。0.8mm以上的如拼板不合理会断板也需要使用。使用场景 1.PCB板薄: PCB板厚在0.4mm、 0.6mm、…

找到织梦CMS的数据库配置文件,以便了解数据库的具体连接信息

首先,找到织梦CMS的数据库配置文件,以便了解数据库的具体连接信息。 数据库配置文件路径织梦CMS安装目录假设织梦CMS安装在 /var/www/html 目录下。 数据库配置文件位于 include/config.inc.php。打开配置文件使用FTP工具或服务器上的文件管理器,打开织梦CMS安装目录下的 in…

织梦的数据库在哪,告诉我路径

织梦CMS(DedeCMS)的数据库并不是直接存储在文件系统中的某个特定路径下,而是存储在MySQL数据库服务器中。不过,织梦CMS的数据库配置文件和一些相关文件还是有固定的路径。以下是一些关键路径及其说明: 织梦CMS安装目录 假设你的织梦CMS安装在 /var/www/html 目录下,那么以…

vs code如何配置C/C++环境,实现完美运行.c/.cpp文件,以及终端乱码问题

环境配置 在 Visual Studio Code (VS Code) 中安装了 C/C++ Extension Pack 后,你可以通过以下步骤来运行 C++ 文件:安装编译器配置编译任务:在 VS Code 中,你可以创建一个编译任务来编译你的 C++ 文件。这通常通过创建一个 tasks.json 文件来完成。你可以通过以下步骤创建…

blender拖动视角到一定程度很慢

配置 win11 - blender3.6点击 编辑 - 偏好设置视图切换 - 旋转&平移 - 自动 - 深度(勾选)后期可根据需要进行勾选和取消勾选

查看织梦CMS源码中的数据库相关文件

如果你想查看织梦CMS源码中的数据库相关文件,可以参考以下路径:织梦CMS安装目录/var/www/html 这里包含织梦CMS的所有文件。核心文件/var/www/html/inc 包含一些核心配置文件。 /var/www/html/include 包含数据库配置文件 config.inc.php 和其他核心文件。数据库表前缀默认表…

uv --- replacement of conda + pip (python version + package version install) python版本和包管理集大成者

uv https://docs.astral.sh/uv/An extremely fast Python package and project manager, written in Rust. Installing Trios dependencies with a warm cache. Highlights🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, virtualenv, and more. ⚡️ 10…

织梦怎么进数据库,织梦网站源码在哪里看数据库

假设你的织梦CMS安装在 /var/www/html 目录下,且数据库配置如下:织梦CMS安装目录:/var/www/html数据库配置文件:/var/www/html/include/config.inc.php数据库配置:$cfg_dbhost = localhost; $cfg_dbname = mydatabase; $cfg_dbuser = myusername; $cfg_dbpw = mypassword;…

blender贴图丢失,贴图显示紫色

闲言 一般在模型复制粘贴或转移过程中, 发生贴图加载失败, 导致模型贴图位置显示紫色. 如果是上述相关情况, 那么本文章应能为你提供相关帮助. 本人配置: win11 - blender3.6(本案例演示版本) - blender4.2 打开丢失材质模型(.blend).fbx导入也是一样的, 这里不赘述.打开材质预…

R3CTF2024 WP

一、PWN1.Nullullullllu在直接给 libc_base 的情况下,一次任意地址写 \x00 。直接修改 IO_2_1_stdin 的 _IO_buf_base 末尾为 \x00 ,那么 _IO_buf_base 就会指向 IO_2_1_stdin 的 _IO_write_base,接下来就是利用 getchar 函数触发写操作修改 IO_buf_base 为 IO_2_1_stdout ,…