单片机寄存器其实就相当于一个变量,只不过这个变量在固定的地址,有一个特殊的名称(当然也不强制)。
初学者对寄存器的操作比较困难的原因不是汇编语言或C语言使用得不熟,而是对寄存器的陌生。
单片机中存储器的资源是非常有限和宝贵的,所以要尽可能充分地使用这些存储资源,有多充分呢?就是把每一bit都用上。这就是为什么数据手册上全是第几位表示什么含义,对一个字节的操作就要看半天手册,因为一个字节有8bit,每一bit可能都对应着不同的功能模式,而且可能前后bit的功能又互相约束,而手册中一bit一bit的描述又十分抽象,不容易理解,这才是硬件开发难的地方。
语言层面上都是对变量赋值,a=500,和 TMOD=0x89 其实是一样的,只不过0x89怎么来的,为什么是0x89,就需要从手册中获取了,而不像 a=500,b=600,c=a+b这么简单直观了。
任何产品都有使用说明书,要想最好的使用一款产品也是去阅读说明书。单片机或者芯片的说明书就是数据手册。数据手册中往往都是对寄存器如何操作的描述,只不过要耐下心来一点一点的去理解去消化手册所介绍的功能,这样才能用好。
单片机寄存器
最新推荐文章于 2024-09-12 22:54:05 发布