51单片机I/O口的扩展问题:使用 锁存器74LS273连接后还是只有8个端口,为什么说是扩展呢?

另外求使用8255扩展51单片机I/O口的C语言程序... 另外求使用8255扩展51单片机I/O口的C语言程序 展开
 我来答
百度网友719eb7e
2011-03-14 · TA获得超过455个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:236万
展开全部
用8255扩展之后就是PA,PB,PC了,怎么还会只有8个端口呢?
用8255扩展51单片机 I/O口的程序,需要结合电路图才能确定,不同的连线,PA,PB,PC的地址是不同的,不过我也忘记怎么写程序了= =!
8255中的A0.A1,CS非,与单片机的连线决定了,8255中,PA,PB,PC的各端口地址。单片机中P0,是低8位地址线,P2,是高8位地址线。
例如 CS非连接P2.7 A0,A1通过锁存器连接到单片机中的P0.0,P0.1的话。那么PA口地址就是 7FFCH。
因为 CS非要低电平,8255才工作,因为 要选择PA口,则A0=0,A1=0。
这样,CS,A0,A1对应单片机中的 P2.7,P0.0,P0.1就是低电平。
所以单片机中低8位地址加上高8位地址用2进制表示就是 0111111111111100,
对应的16进制就是 7FFCH
同理,PB口对应的就是 7FFDH
PC口对应的就是 7FFEH
还有个控制端。对应的就是 7FFFH
如果你要用8255的扩展口的话,就要先打通控制端,看你要用什么工作方式了。
有个工作方式控制字的,可以让你选择使用啥工作方式。但是不管怎样,都要先打通控制端 ,用汇编来写就是 MOV DPTR,#7FFFH
然后就是选择工作方式了,比方说用 A口——方式0输入,B口——方式0输出,C口高半字节——输入,C口低半字节——输出,则她的工作方式控制字就为 10011000B,就是 98H。
程序就是 MOV DPTR,#7FFFH 这个就是 打通控制端
MOV A,#98H 选择方式控制字
MOVX @DPTR,A 把控制字弄到8255的控制口去
这些在单片机的书中都有,多看看吧。写的这么详细了,给我最佳吧。呵呵
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式