标题: 请教!关于8255A的端口地址怎么来的 [打印本页]
作者: CJSH1997 时间: 2018-6-13 17:30
标题: 请教!关于8255A的端口地址怎么来的
目前就学了个51单片机基本功能,还没学过微机原理,这几天做课设,用到8255A不太了解,希望大家指教
作者: lostviews 时间: 2018-6-13 18:03
8255A有两个地址引脚A1和A0进行片内地址译码,A1A0应该接系统地址总线(也就是CPU的地址总线)的最低两位。
以8086CPU为例,假设前级系统板A9-A5这5根地址线确定的片选8255A地址范围是060H-07FH,它的含义是地址总线上出现这个地址范围内的地址则8255A被选中可以进行读写操作,这里的地址重叠(指的是多个地址可以选中同一芯片)是因为A4-A0没有接线造成的,实际上8086有16根地址总线,高位地址总线会造成更多的地址重叠,此处不再考虑。
在以上的连线方式上,A1A0进行片内译码,对应关系如下:
A1A0为11,此时地址确定为063H,写方式控制字
A1A0为00,此时地址确定为060H,读写A口
A1A0为01,此时地址确定为061H,读写B口
A1A0为10,此时地址确定为062H,读写C口
作者: yzwzfyz 时间: 2018-6-14 05:18
现看你把芯片放在哪里?(接在CUP哪里),放某条街,它的地址前面就冠以天津;放在五亭桥,它的地址前面就冠以扬州。
接下来,哪条街、哪个门牌号,才由芯片自己的地址定。
作者: ahshmj 时间: 2018-6-14 11:08
这个不是太难,和其他的外部扩展器件一样,由有关的接口、指令、时序。看看该器件的说明。
沙发说的对,但由于这里面的详细的内容你还是需要看看说明书。
作者: ahshmj 时间: 2018-6-14 11:20
本帖最后由 ahshmj 于 2018-6-14 11:21 编辑
8255的具体的接口地址是和8255的“A1”脚、“A0”脚和单片机的IO相对应。如果接P0.1和P0.0,
P0.1和P0.0为0和0,地址为00H,读写A口
P0.1和P0.0为0和1,地址为01H,读写B口
P0.1和P0.0为1和0,地址为02H,读写C口
P0.1和P0.0为1和1,地址为03H,写方式控制字。
接其他的IO道理是一样的,单片机的输出脚使8255的“A1”脚、“A0”脚分别得到的电平为0和0、0和1、1和0、1和1即可。
作者: CJSH1997 时间: 2018-6-14 12:29
好的,谢谢大家,我在仔细研究研究,我超喜欢这里,有这么多大神为我解答
作者: CJSH1997 时间: 2018-6-14 13:08
ahshmj 发表于 2018-6-14 11:20
8255的具体的接口地址是和8255的“A1”脚、“A0”脚和单片机的IO相对应。如果接P0.1和P0.0,
P0.1和P0.0 ...
你好,能帮我看下嘛,初始化端口定义哪儿,为什么是
0x7f00哪儿
-
2016-01-09_124019.jpg
(54.95 KB, 下载次数: 99)
-
Screenshot_2018-06-14-13-01-24-971_cn.wps.moffice_eng.png
(44.33 KB, 下载次数: 92)
作者: ahshmj 时间: 2018-6-14 17:43
图中什么都看不清,芯片名也看不清。管脚就更看不清了。
作者: 斐子曰 时间: 2018-6-14 17:59
路过学习一下
作者: CJSH1997 时间: 2018-6-15 11:40
ahshmj 发表于 2018-6-14 17:43
图中什么都看不清,芯片名也看不清。管脚就更看不清了。
不好意思啊,发帖少不太懂,系统把我照片的分辨率降了,不知道怎么发原图
作者: 大胡子123 时间: 2018-6-15 15:20
一般用CPU引脚的地址管脚中的A0-A9来确定8255A的地址,由于8255A有四个端口,因此用A0。A1选择内部端口,A1-A9则通过编码电路当且仅当A1-A9为特定值时输出一个低电平连接到8255A的芯片选择管教CS,CS在收到低电平时就知道CPU在找自己,于是就接受CPU指令,此时8255A就和CPU连接上了。因为8255A的编码电路只有当CPU地址管教为特定值时才连通,因此这个特定值皆可以作为8255A的地址
作者: admin 时间: 2018-6-15 17:28
有代码的,你用电脑发帖,不要用手机,反正编程的时候必须得用电脑的,教程:http://www.51hei.com/bbs/dpj-49501-1.html
作者: CJSH1997 时间: 2018-6-16 20:55
admin 发表于 2018-6-15 17:28
有代码的,你用电脑发帖,不要用手机,反正编程的时候必须得用电脑的,教程:http://www.51hei.com/bbs/dpj ...
好的好的,谢谢指导,希望网站越办越好哦
作者: cyyz2005 时间: 2018-6-16 23:54
别学51了,现在51已经没啥市场了,可以学stm32,IO,外设,资源丰富不用扩展
作者: songfengyi 时间: 2018-6-17 15:53
这个是看你的地址总线与8255A是如何联的
作者: zl2168 时间: 2018-6-18 11:22
本帖最后由 zl2168 于 2018-6-18 11:26 编辑
实例36 并行扩展8255
⒈ 8255A简介
⑴ 引脚与功能
⑵ .工作方式
⒉ 电路设计
⒊ 程序设计
⒋ Keil调试
⒌ Proteus仿真
先Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学,可从零基础c语言开始学习。
作者: CJSH1997 时间: 2018-6-18 16:39
cyyz2005 发表于 2018-6-16 23:54
别学51了,现在51已经没啥市场了,可以学stm32,IO,外设,资源丰富不用扩展
谢谢,基础学好了都一样
作者: r0bby 时间: 2018-6-18 21:24
内部寄存器的地址。我的哥
作者: 猹大毛 时间: 2018-6-19 20:12
由有关的接口、指令、时序。看看该器件的说明。
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |