找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机读取状态问题

[复制链接]
跳转到指定楼层
楼主
ID:223571 发表于 2017-12-13 11:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
sbit key=P0^0;   //独立按键与P0.0相连
      P0^0=1;     //程序赋值
我然后按下按键key;

问题:第二行赋值语句执行完后,P0^0的端口状态是什么样?       P0^0对应的寄存器状态是什么样?   接着我按下独立按键(一端接地),P0^0的端口状态又是什么样?  P0^0对应的寄存器状态又是什么样?,按键能改变寄存器的值吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:261052 发表于 2017-12-13 13:30 | 只看该作者
第二行执行完后,P0^0 状态为1, 按下按键后,接地 P0^0 为0,  P0^0 的值为改接口的实时状态,有些单片机的输入输出寄存器对应的是两个不同的寄存器。
回复

使用道具 举报

板凳
ID:213173 发表于 2017-12-13 14:08 | 只看该作者
sbit key=P0^0;   //是自定义端口名称的声明
P0^0=1;     //语法错误,不是赋值语句
key=1;      //赋值操作语句
按键按下只可能改变端口电平,不可能改变其寄存器状态,按键抬起端口电平即恢复。
回复

使用道具 举报

地板
ID:7485 发表于 2017-12-13 20:38 | 只看该作者
按键按下后P0.0=0(低电平),其余端口不能确定。如果上电或复位后没有做任何操作,其余等于1.(二进制表示1111 1110)
回复

使用道具 举报

5#
ID:157238 发表于 2017-12-13 21:41 | 只看该作者
既然上面位定义key=P0^0了,那么第二句就该是key=1;这样P0^0位高电平,当按键按下时P0^0口变成低电平(按键另外一端接地,高低相连为低)并不能改变端口寄存器的配置
回复

使用道具 举报

6#
ID:261376 发表于 2017-12-14 08:19 | 只看该作者
赋值后引脚为1  按键按下后引脚为0
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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