打印
[疑难问答]

8051能通过外设改变I/O的电平吗?

[复制链接]
3790|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
麻辣鸭脖子|  楼主 | 2010-3-8 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我给P0.1口一个低电平:P0^1=0;
单片机上电后,我在P0.1口接上一个9V电源,此时P0.1口变成了1,一旦移去电源,P0.1立即恢复0.
我希望P0.1一直保持1,即从外部改变I/O口的值。


有没有方法可以允许外部外边I/O口的电平高低???
沙发
David_ming| | 2010-3-8 11:24 | 只看该作者
加个9V电源,IC的VCC不被拉高了吗

使用特权

评论回复
板凳
xcs_1211| | 2010-3-8 16:20 | 只看该作者
你已经给了一个低电平了,为什么还要拉高呢?

使用特权

评论回复
地板
suoma| | 2010-3-9 19:13 | 只看该作者
一个方法是,程序控制CPU一直检测I/O口电平,并用CPU设置其值得:
if(P1.1==1)
P0.1=1;
else
P0.1=0;

使用特权

评论回复
5
suoma| | 2010-3-9 19:16 | 只看该作者
if(P0.1==1)
P0.1=1;
else
P0.1=0;
错了,修改下

使用特权

评论回复
6
Karlshen| | 2010-3-9 20:11 | 只看该作者
那就要实时对P1口进行采样,但是9V不能直接接触P0口会烧毁芯片

使用特权

评论回复
7
wangwo| | 2010-3-9 20:41 | 只看该作者
建议用触发器,在其有电平变化时,可以保持上一时刻的电平。

使用特权

评论回复
8
wangwo| | 2010-3-9 20:47 | 只看该作者
另外。如果P1.1需要检测外部的电位,一定要保证电平幅度及电流大小。

使用特权

评论回复
9
xiaomifan| | 2010-3-9 20:54 | 只看该作者
9V电源给P0.1提供的电流太大,P0.1内部的三极管饱和导通后也不足以拉低此电平。时间一长你这个端口就会坏掉的。

使用特权

评论回复
10
贾君鹏子| | 2010-3-9 22:49 | 只看该作者
看到楼主的名字我饿了

使用特权

评论回复
11
wangoo1| | 2010-3-10 11:07 | 只看该作者
建议用触发器,在其有电平变化时,可以保持上一时刻的电平。

使用特权

评论回复
12
McuPlayer| | 2010-3-10 11:48 | 只看该作者
建议:不要妄图拉高到220V

使用特权

评论回复
13
ershisi| | 2010-3-10 22:58 | 只看该作者
12# McuPlayer
捣乱的?

使用特权

评论回复
14
麻辣鸭脖子|  楼主 | 2010-3-10 23:16 | 只看该作者
3# xcs_1211
只是举个例子,想说不管内部程序如何,外部的一直为高可以做到不?

使用特权

评论回复
15
麻辣鸭脖子|  楼主 | 2010-3-10 23:16 | 只看该作者
10# 贾君鹏子
呵呵,我喜欢吃的

使用特权

评论回复
16
麻辣鸭脖子|  楼主 | 2010-3-10 23:17 | 只看该作者
4# suoma
这个方法有点太占CPU了吧,还有别的没?

使用特权

评论回复
17
麻辣鸭脖子|  楼主 | 2010-3-10 23:18 | 只看该作者
2# David_ming
你想说啥?

使用特权

评论回复
18
liliang9554| | 2010-3-10 23:30 | 只看该作者
进来学习

使用特权

评论回复
19
David_ming| | 2010-3-11 00:04 | 只看该作者
17# 麻辣鸭脖子 我想说,如果你的片片是五伏供电,外接九伏到io的话一般都会烧片的,芯片的IO对内部晶圆的VCC一般都有个反向二极管。刚才我看到你的回复说直接接到VCC执行P0=0会如何,这个有烧IO的可能,不过如果很短暂也没事

使用特权

评论回复
20
David_ming| | 2010-3-11 00:06 | 只看该作者
不好意思,手机不好切换输入法,少打数字和字母

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

454

帖子

1

粉丝