微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机的引脚是如何被控制的

单片机的引脚是如何被控制的

时间:11-22 来源:互联网 点击:
表2-1是在芯片手册里截取出来的,比如SCON这个寄存器它的地址是98h,那么可以从reg52.h头文件中找到“sfr SCON =0x98;”,用一个SCON的符号与0x98这个地址挂钩,在51单片机的源代码中直接操作SCON,就等于操作0x98这个地址,再对应一下手册,0x98就是98h这个地址,也就是单片机内部真正的SCON寄存器的地址。

表2-1 STC89C51RC/RD+ 系列 8051单片机 串行口特殊功能寄存器 Serial I/O Port SRFs


所以说,98h、99h、B9h、A9h等都是单片机的内部地址,而“Reset Value”这一列都是该寄存器复位后的默认值,比如98h的复位后默认值是0000 0000。

还有更多的关联和挂钩的。截取reg52.h文件中的部分代码如下:






可以看到代码中对P0、P1、P2、P3都有定义,例如“sfr P0=0x80;”可以与下表2-2的对应上。

表 2-2 8051单片机特殊功能寄存器


那么如果要访问P0.0和P0.1这两个引脚该怎么处理呢?只需要使用sbit关键词和符号“^”就可以,例如:

Sbit aa = P0^0;

Sbit bb = P0^1;

可以使得aa代表P0.0引脚,而bb代表P0.1管脚,并且可以看到通过这个sbit的定义,访问到80h这个寄存器P0里的任何一位,如表2-3所列。

表 2-3 访问P0口寄存器


51单片机就是这样,可以用代码控制所有的寄存器。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top