[讨论] 求助:51与8155连接问题,模拟端口方式

moon30000   2009-10-12 16:43 楼主
如题,因为8155只需要低八位地址,P2想留做他用,故想采用普通IO模拟地址总线、ALE、WR等端口方式实现。按照时序图写出程序,但实验失败,在此求助,先谢过啦。代码如下:
#include
#include
sbit AL = P2^0;    //ALE
sbit W = P2^2;    //WR
//xdata char XPP _at_ 0xff00;
//xdata char XPC _at_ 0xff03;
void main(void)
{
        while( 1 )
        {
                W = 1;
                AL = 1;
                P0 = 0x00;   //8155命令字设置入口地址
                AL = 0;
                W = 0;
                P0 = 0x0C;  //写入数据设置PC口输出
                W = 1;
                _nop_();
                _nop_();

                W = 1;
                AL = 1;
                P0 = 0x03;    //PC口入口地址
                AL = 0;
                W = 0;
                P0 = 0x00;    //写入数据PC口输出0x00
                W = 1;
                _nop_();
                _nop_();
        }
}

[ 本帖最后由 moon30000 于 2009-10-12 16:45 编辑 ]

回复评论 (4)

8155很贵 你为何不用其他的IO扩展方式呢?使用HC373或者245都是可以的啊 建议你换芯片
南京璞晓电子   www.cpx0.com需要 msn:njlianjian@hotmail.com
点赞  2009-10-13 09:18
谢谢,这种扩展确实更好一些,不过刚来到这个公司,硬件已经做好了,只能这样了。
点赞  2009-10-13 10:06
这个我做过,看看资料没有问题的
点赞  2009-10-14 08:34
引用: 原帖由 makechinawei 于 2009-10-14 08:34 发表
这个我做过,看看资料没有问题的

谢谢楼上的,不过也看了一些资料,上面的程序也是按照时序图写的,也试了很多次,可还是不成功。
点赞  2009-10-14 10:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复