前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发寄存器

C51 单片机开发寄存器

作者头像
码农UP2U
发布2024-05-20 16:32:15
1350
发布2024-05-20 16:32:15
举报
文章被收录于专栏:码农UP2U码农UP2U

上篇文章中整理了晶振频率、时钟周期、机器周期的关系,以及得出了一个机器周期是 1.085 微秒。那么,当我们让单片机数数时,它会在哪里进行累加呢?就是寄存器!

0x01:寄存器

寄存器这个概念应该时每个程序员都听说过的概念,尤其是了解计算机底层的程序员。

计算机的存储分为多级存储,由快到慢(有贵到贱)的顺序是,寄存器、多级缓存、内部存储器(内存)和外部存储器(硬盘)。寄存器的速度是最快的,也是加个最贵的。

对于汇编程序员来说,寄存器可能是每行代码都离不了的吧,比如 x64 架构的通用寄存器有 RAX、RBX、RCX 等,x86 架构的通用寄存器有 EAX、EBX、ECX 等之类的吧。

当然了,对于芯片中的寄存器有多种,比如通用寄存器、基址寄存器、状态寄存器、浮点寄存器、调试寄存器等。

0x02:C51 单片机

对于 C51 单片机也不例外,有很多的寄存器。在之前我们也操作过寄存器。

比如,我们定义的如下代码:

代码语言:javascript
复制
sbit led = P3 ^ 7;

P3.7 是 P3 口的第 7 个引脚,P3 就是寄存器,P3 的地址是 0xB0,定义如下:

代码语言:javascript
复制
sfr P3 = 0xB0;

还记得 sfr 是什么吗?sfr 是特殊功能寄存器!不记得可以回看前面的文章(C51 单片机开发 SFR 及 SBIT 的作用)。

把那篇文章的截图贴过来,如下图:

图中的 TCON、TMOD、TL0、TL1、TH0 和 TH1 都是定时器相关的寄存器,对应的在寄存器的头文件中也有相应的定义。

代码语言:javascript
复制
sfr TCON  = 0x88;
sfr TMOD  = 0x89;
sfr TL0   = 0x8A;
sfr TL1   = 0x8B;
sfr TH0   = 0x8C;
sfr TH1   = 0x8D;

单片机要处理各种操作控制,都是离不开寄存器的。

0x03:定时器/计数器控制寄存器 TCON

前几篇文章一直在说定时器/计数器,本篇就一定要介绍关于它们的寄存器。这里介绍以下 TCON 这个寄存器。

为了省事,直接把手册截图,如下图所示(该图在手册的 P186)。

在手册中给出了 TCON 的地址,可以看出该寄存器是单字节的,每个位都有其具体的名称和功能。在使用时,每一位的具体功能可以查阅手册。

本篇内容还是很枯燥,当然了,喜欢就不会觉得枯燥,面对枯燥的又想学习的知识,只有一个字,熬!希望各位,学习是为了喜欢和追求,而不是煎熬!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01:寄存器
  • 0x02:C51 单片机
  • 0x03:定时器/计数器控制寄存器 TCON
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档