打印

ADuC834单片机使用内部XRAM后P2口的信号输入问题

[复制链接]
2634|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
frmngil|  楼主 | 2008-9-5 10:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用ADuC834单片机时,如果不是用内部自带的2K XRAM,那么P2口的输入正常,高电平幅值也在5V。 

如果使用内部自带的2K XRAM,那么其他部分都正常,但是P2口的输入信号就无法读出了,用示波器一打,高电平幅值只有1.5伏左右了。 

我找遍了使用手册,只有一个XRAM的使能控制位XRAMEN,再也没找到其他的设置了 

但是ADuC单片机手册上说,如果用内部XRAM时,P0口和P2口可以作为普通IO口使用。 

请问,有什么解决的办法吗?我问了很多老工程师,都没有同时使用过内部XRAM和P2口作输入。 

谢谢! 

相关帖子

沙发
dengm| | 2008-9-5 12:13 | 只看该作者

用 ASM TEST

    MOVX A, @DPTR
    MOVX @DPTR, A

    DPTR 不能大于片内XRAM

使用特权

评论回复
板凳
frmngil|  楼主 | 2008-9-5 13:50 | 只看该作者

其他功能都正确,就是P2口的数据进不来了

关键是,使用内部自带的2K XRAM,那么其他部分都正常,但是P2口的输入信号就无法读出了,用示波器一打,高电平幅值只有1.5伏左右了。不知道是什么原因。 

使用特权

评论回复
地板
农民讲习所| | 2008-9-5 14:19 | 只看该作者

信息不全

使用特权

评论回复
5
gjg191| | 2008-9-5 14:28 | 只看该作者

o

那你看看p2输出还正常马?

使用特权

评论回复
6
frmngil|  楼主 | 2008-9-5 16:41 | 只看该作者

p2用作输出是正常的


就是说单片机运行的时候,串口等一切都正常,就是P2口的输入数据进不来。

本来按照常理,51单片机的P2口复用地址线。但是ADUC单片机数据手册上说使用内部XRAM时,P2P0口可以用作普通IO口使用。

使用特权

评论回复
7
frmngil|  楼主 | 2008-9-6 08:26 | 只看该作者

有谁知道?

有谁知道?

使用特权

评论回复
8
5880527| | 2008-9-6 09:27 | 只看该作者

照2楼的做,写一简短程序,一个劲MOVX

然后用示波器观察

使用特权

评论回复
9
frmngil|  楼主 | 2008-9-6 09:48 | 只看该作者

问题解决

问题解决了,给大家说一下

ADuC834单片机使用内部XRAM后,P2口作为输入必须先向口线写入“1”

使用特权

评论回复
10
音乐乐乐| | 2008-9-6 10:02 | 只看该作者

晕,51都是这样啊

使用特权

评论回复
11
lyjian| | 2008-9-6 23:52 | 只看该作者

呵呵

这点是所有讲51基础的书中都特别强调的:51 IO口作为输入必须先向口线写入“1”。

使用特权

评论回复
12
5880527| | 2008-9-7 00:08 | 只看该作者

其实这个1很多时候不需要的

复位后它们的状态本来就是输入状态,楼主的情况特殊而已

使用特权

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

本版积分规则

1

主题

5

帖子

0

粉丝