发 帖  
[问答]

请问如何用8255a实现PA、PB、PC口都作为输出口,由单片机输入控制信号?

10462 单片机 8255A
2019-3-21 20:03:41   评论 分享淘帖 邀请回答 举报
4个回答
2019-3-21 20:03:42 1 评论

举报

1 条评论
  • 2019-3-22 11:27

    P0口连接D7~D0,P2.1、P2.0连接A1A0,P2.7连接cs,
    #define com XBYTE[0x7FFF]  //控制字
    #define PA XBYTE[0x7CFF]   //8255PA口
    #define PB XBYTE[0x7DFF]   //8255PB口
    #define PC XBYTE[0x7EFF]   //8255PC口
    com=0x80;(这个是写入控制字)
    不知道在C语言中这样定义又有没有错,是不是定义完在之后PA口、PB口、PC口就可以作为i/o口使用了

2019-3-22 14:31:55 3 评论

举报

3 条评论
  • 2019-3-22 15:08

    好的,我在看看资料,谢谢啦

  • 2019-5-18 17:11

    您好,我在做实物的时候遇到了一些问题,我怀疑可能是程序部分出了问题,所以我想问下,8255的寻址地址如何确定呢?
    比如我使用单片机与8255直接连接,P0口接D0~D7,P2^0接A0,P2^1接A1,P2^7接CS,这种接法的话,控制字的地址是【01xxxx11xxxxxxxx】PA口的地址是【01xxxx00xxxxxxx】,PB口地址是【01xxxx01xxxxxxx】,PC口地址是【01xxxx10xxxxxxx】,不知道我这个地址算对了没。
    再比如,如果我使用单片机74LS373以及8255,8255的A0,A1,CS接373的Q0、Q1、Q2,这个地址又应该如何确定。

    人中狼 回复 张敬国: 2019-5-18 19:39

    8255地址线直接连接单片机的地址应该和你考虑得一致,CS是低电平有效的话,如果地址线接373的话,就要看373和单片机的连接线路是怎样的了

2019-3-22 16:48:35 2 评论

举报

2 条评论
  • 2019-3-22 18:04

    嗯,现在就是不会用C语言写程序,书上和网上基本都是汇编的,看不太懂,我想将单片机里的某些值通过8255扩展的端口输出,可是端口那没有反应,不知道该怎么弄。是不是一定要接74LS373芯片啊。

  • 2019-3-22 18:09

    P0口连接D7~D0,P2.1、P2.0连接A1A0,P2.7连接cs,
    #define com XBYTE[0x7FFF]  //控制字
    #define PA XBYTE[0x7CFF]   //8255PA口
    #define PB XBYTE[0x7DFF]   //8255PB口
    #define PC XBYTE[0x7EFF]   //8255PC口
    com=0x80;(这个是写入控制字)
    按照网上看到的,说这样定义后就可以像单片机中的端口那样写程序了,比如我要将0x01通过PA口输出,用C语言就是PA=0x01;就可以了,但是仿真的时候8255的端口都是高电平,没有变化。

2019-3-24 10:32:19 1 评论

举报

1 条评论
  • 2019-3-24 18:24

    嗯嗯,谢谢啦,问题找到了,我之前直接将cs接地,所以这样使得片外地址是错的,因为现在在做毕业设计,C语言是两年前学习的,之后再也没有用过,学习单片机的时候用的是汇编,所以对c51不太熟悉。不过还是很感谢您的建议。

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@hauqiu.com
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表