打印

关于C8051F*的IO口

[复制链接]
4440|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
因特网用户|  楼主 | 2009-11-6 11:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用C8051F120的P6口外接75LVCH245 B端
发现
1.P6口设置为输入,P6端口赋值0XFF,并且245使能端为低电平,DIR为A-->B时,在读P6引脚时,能够读入245引脚A端的数值

2.P6口设置为输入,P6端口赋值0XFF,并且245使能端为高电平,即B端为高阻时,在读P6引脚时,依然能够读出一个数值来,此数值与一情况读入的数值一样!!

3.1.P6口设置为输入,P6端口赋值0X00,并且245使能端为低电平,DIR为A-->B时,在读P6引脚时,仍然能够读入245引脚A端的数值!!!!!

4.P6口设置为输入,P6端口赋值0X00,并且245使能端为高电平,即B端为高阻时,在读P6时,读入的数值为0X00

我的问题是:
1..在设置P6为输入时,不能要向端置1截止一个MOS管的么? 实际测试发现写1 写0 ,都能正确的读入引脚电平,只是用万用表测试 的时候发现,写1时,引脚电平是3.3V左右,写0时是2.7V左右
2..怎么在赋P6端口0XFF,在245 B端为高祖态的情况下,读P6却能读到A端的值啊?在赋P6端口0X00,在245 B端为高祖态的情况下,读P6是0X00??

我看了C8051F的文挡,发现设置成输入时,是要向端口赋值0XFF的啊  

哪里出了问题呢?

相关帖子

沙发
因特网用户|  楼主 | 2009-11-7 16:34 | 只看该作者
呀  没人关注啊

使用特权

评论回复
板凳
xlsbz| | 2009-11-7 18:04 | 只看该作者
:lol

使用特权

评论回复
地板
uconny1105| | 2009-11-7 18:26 | 只看该作者
不清楚,你可以到这个论坛问问

http://bbs.kaifaban.cn/

使用特权

评论回复
5
阿多| | 2009-11-8 13:59 | 只看该作者
用C8051F单片机IO口做输入时。我一直都向端口写0xff的,LZ可以问一下他们的技术支持

使用特权

评论回复
6
zifeiyuuuu| | 2009-11-8 16:41 | 只看该作者
呵呵, 这个单片机是很奇怪, 我以前用它里面的AD时, 开始老是测得误差比较大,后来给为配置为AD的 IO口赋值0xFF,读出来的AD 值误差就小很多,非常的奇怪,费解

使用特权

评论回复
7
草履虫| | 2009-11-9 22:48 | 只看该作者
1. 单片机的I/O做AD时尽量把状态先设定为输入状态,这是个习惯,不管什么单片机(虽说有些单片机没有要求)。
2. 设置P6为输入时,只有向P6写0xff,才是正解。其他的做法都是不对的。如果写了0一般情况是有问题的。这个问题要仔细的看一下datasheet中的框图,框图的电路描述的原理很清晰。一看就清楚为什么写1而不是写0.

你用c8051有sfr页设置吗?如果有是否设置正确了?

使用特权

评论回复
8
jt4117| | 2009-11-9 22:53 | 只看该作者
C8051的中文datasheet写的很不好理解。要仔细阅读。尤其那个AD,有个ref脚,好像那个ref负端必须接地。 具体我也记不太清楚。 反正用起来,不太顺手。

使用特权

评论回复
9
pk.kong| | 2009-11-9 22:57 | 只看该作者
还有可以在关键地方在英文手册相应部分看看。

使用特权

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

本版积分规则

161

主题

1040

帖子

0

粉丝