80C51 读引脚与读端口

l888888h 2010-04-18 11:29:34
说明一下两者的区别,
如何操作以实现相应功能,最好带例子,谢谢
...全文
780 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
空影 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 l888888h 的回复:]
读引脚,即读引脚处的电平
读端口,即读取与引脚相连的寄存器内的值
书上说读引脚数据前要先写“1”,不是很懂,请举例。读端口的情况呢?谢谢
[/Quote]同意
galle 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 l888888h 的回复:]
读引脚,即读引脚处的电平
读端口,即读取与引脚相连的寄存器内的值
书上说读引脚数据前要先写“1”,不是很懂,请举例。读端口的情况呢?谢谢
[/Quote]
看具体应用了!外部没有上拉电阻的需要先写1,如果有的话就不用了!
Great_Bug 2010-04-19
  • 打赏
  • 举报
回复
一般认为,"读端口"有"读引脚"和"读寄存器"两类操作.

汇编语言的"mov A,P0"或C的"if (P0==0x55)..."这样的代码将会读引脚,
而"ANL P0,#0FEH"或C的"P0 &= 0xfe"这样的代码会是读寄存器.
前者通常是直接引用端口的值,后者引用端口值并会将修改了的值写回去.
lin0119 2010-04-18
  • 打赏
  • 举报
回复
请看datasheet
lkncjy 2010-04-18
  • 打赏
  • 举报
回复
51是准双向IO口,所以读之前要先写1。
l888888h 2010-04-18
  • 打赏
  • 举报
回复
读引脚,即读引脚处的电平
读端口,即读取与引脚相连的寄存器内的值
书上说读引脚数据前要先写“1”,不是很懂,请举例。读端口的情况呢?谢谢
JunKingZheng 2010-04-18
  • 打赏
  • 举报
回复

不知道你问的是不是,IC pin 的状态, 对应的H or L

如用8051 的P1.1 为input i/o sensor, P1.2 为output LED ON/ OFF,
if(p1.1) //sensor H
{
P1.2 =1; //LEDOn =1;
}
else
{
P1.2 =0; //LEDOn =0;
}
yongbbk 2010-04-18
  • 打赏
  • 举报
回复
不知道你说的端口和引脚是不是这个意思?

在80C51单片机中,会把P0,P1,P2当做端口, 每一个端口里面都对应了一些位,这些位最终就体现在一个一个的引脚上面了。对他们的操作其实也就是对端口和引脚的操作。

P0,P1等端口寄存器就当作一个变量可以了,随便操作,当然如果是其类型的单片机,可能包含方向寄存器之类的限制,这个跟具体的IC有关。

引脚其实对应的就是PO,P1等端口寄存器的位,有的寄存器可以位操作,有的不行,这个跟芯片关系很大,但是如果是51的话就没有什么问题。

当然读进来的数也就是0或者1。

如果要找例子的话,网上大把的是。
lan120576664 2010-04-18
  • 打赏
  • 举报
回复
读引脚和读端口,什么意思?
lan120576664 2010-04-18
  • 打赏
  • 举报
回复
读引脚和读端口,什么意思?

27,521

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧