找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4612|回复: 6
打印 上一主题 下一主题
收起左侧

单片机寄存器和引脚是什么关系?

[复制链接]
跳转到指定楼层
楼主
ID:527492 发表于 2020-3-3 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、P0=一个寄存器  P0^1=一个寄存器的一位

2、P0=一个寄存器的一位

请问下寄存器和单片机引脚是以上哪种关系啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-3-3 16:50 | 只看该作者
第1种关系
寄存器是指能够存储数据的触发器,可以是1位,也可以是多位,51单片机一般寄存器能存放8位二进制数
P0是寄存器名,实指寄存器的地址,因有8位,如果只用1位,在C语言中就用P^0到P^7表示各位
回复

使用道具 举报

板凳
ID:235200 发表于 2020-3-3 16:52 | 只看该作者
每1位对应1个引脚,所以P0口的8位对应8个引脚,数据用电平表示,0.8V以下是0,2.4V以上是1
回复

使用道具 举报

地板
ID:94031 发表于 2020-3-3 19:36 | 只看该作者
1、P0=一个寄存器  P0^1=一个寄存器的一位    这个是对的
回复

使用道具 举报

5#
ID:155507 发表于 2020-3-3 19:46 | 只看该作者
对于CPU来说引脚其实也可以看做一种特殊寄存器,你可以在reg52.h这个头文件找中找到P0~P3各个引脚的地址。总体而言CPU的读操作目的都是一样的——不管是读引脚还是寄存器基本都是为了获取数据或者是控制信号。

由于单片机引脚一般和外设相连,所以有可能独处的数据会变化(取决于你是否有采样保持电路或者程序中的读取方式等等因素)。所以体现在程序中就有一个读引脚的时间问题。这个情况太多,只能具体问题具体分析。
最后,如果你用的是C语言编程,读引脚和读寄存器的指令是一样的。如果你用的是汇编,读引脚是有专门的指令的,这点要注意。

回复

使用道具 举报

6#
ID:401564 发表于 2020-3-4 09:33 | 只看该作者
寄存器就是寄存器,端口就是端口,寄存器和端口没有绝对的联系
但在8051系统中,端口的电平状态是通过映射某个寄存器的数据状态去显示出来的
比如P0端口,它是通过映射了080H这个寄存器的状态来显示的,你往080H写入什么,端口就会有对应的高低电平出来
但读取又不一样,它是直接读取端口的状态,而不是读取080H寄存器的状态,所以,你会看到先是P0^1=1,然后再有读取P^1状态的语句,这并不矛盾
回复

使用道具 举报

7#
ID:679425 发表于 2020-3-4 15:03 | 只看该作者
寄存器就是寄存器,端口就是端口,寄存器和端口没有绝对的联系
但在8051系统中,端口的电平状态是通过映射某个寄存器的数据状态去显示出来的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表