关于8255初始化,端口地址赋值

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:51:08
8255片选地址A15A14A13A12=0010选中8255的cs。单片机P0.0,P0.1通过74HC573锁存器连接8255的A0A1。单片机P0.0~7同8255的D0~D7以及74HC573D1~D8相连。
那么8255A口C口还有控制口地址是0x2FFC,0x2FFD,0x2FFE,0x2FFF还是0x2000,0x2001,0x2002,0x2003,还是别的。
当我#define IOCTRL XBYTE [0x2FFF] #define IOADD XBYTE [0x2FFC]后,写控制字是不是直接 IOCTRL=0x89就等于方式0,PA输出PB输出PC输入了?以后要对PA操作是不是直接IOAADD=0x某某就行了?
希望大人帮忙,同时也有硬件连接图以及我所编的程序,有需要可以发送到您的邮箱里面
最好是关于C语言的。其实网上很多案例我也看过,但是照着编写还是不能驱动8255,所以想各位大大能否指导一下我这种情况。

1、地址确定
因为A10A9A8A7A6A5A4A3=01010011,A2A1=11为控制字端口,A2A1=10为C口,A2A1=01为B口,A2A1=00为A口,A0为0,所以8255A地址范围为24CH~24FH。
2、控制字确定
因为A口为方式0输出,B口为方式0输入,所以控制字为10000010B=82H
3、初始化程序
MOV AL,82H
MOV DX,24FH
OUT DX,AL
http://zhidao.baidu.com/question/43029502.html?fr=qrl