单片机用8255A扩展I口.doc_第1页
单片机用8255A扩展I口.doc_第2页
单片机用8255A扩展I口.doc_第3页
单片机用8255A扩展I口.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机用8255A扩展I/O口图中,P0口为地址/数据复用口,数据通过P0口直接传送,地址的低8位通过74LS373锁存,系统的读/写控制及复位信号与8255A的读/写及控制端对应相连,系统地址总线的A1、A0(P0.1、P0.0)直接与8255A的地址线A1、A0对应相连,利用高8位地址线的P2.7作为选通信号,直接与8255A的片选端相连,A口接8个发光二极管作为输出,B口接1只8位拨码开关作为输入,C口空置。8255A地址设置表单片机引脚P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P008255A引脚CSA1A0A口0111111111111100B口01111111111111O1控制口0111111111111111十六进制值7FFX8255A各端口的地址如下:A口地址:7FFCH;B口地址:7FFDH;C口地址:7FFEH;控制口地址:7FFFH。控制字设置数据位D7D6D5D4D3D2D1D0数值10000010十六进制82功能方式设置方式0A口输出B口输入D7=1,方式控制,D6、D5决定控制方式,D4决定A口,D1决定B口。8255A控制字:82H。用C语言编写的控制程序如下:#include#include /扩展地址解析头文件#define PAC XBYTE0x7FFF /控制地址定义#define PA XBYTE0x7FFC /A口地址定义#define PB XBYTE0x7FFD /B口地址定义void delay(void) /延时子程序unsigned int m,n;for(m=0;m500;m+)for(n=0;n500;n+);void main(void)unsigned char n; /数据存储变量PAC=0x82; /设控制字while(1)n=PB; /从B口读数据delay();PA=n; /在A口输出数据delay();控制功能:B口上预置的拨码开关状态会由A口上发光二极管的显示反映出来。也可以不用74HC373锁存器,电路如下:图中,数据通过P0口传送,系统的读/写控制及复位信号与8255A的读/写及控制端对应相连, 8255A的地址线A1、A0对应相连系统高8位地址线的P2.1、P2.0,利用高8位地址线的P2.7作为选通信号,直接与8255A的片选端相连,A口接8个发光二极管作为输出,B口接8位拨码开关作为输入,C口空置(图中时钟和复位电路未画)。8255A地址设置表单片机引脚P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P008255A引脚CSA1A0A口0111110011111111B口0111110111111111控制口0111111111111111十六进制值7XFF此时,8255A各端口的地址如下:A口地址:7CFFH;B口地址:7DFFH;C口地址:7EFFH;控制口地址:7FFFH。控制字设置同上8255A控制字:82H。控制程序中,只要把控制地址定义、A口地址定义和B口地址定义改成以下三句,其他不变:#define PAC XBYTE0x7FFF #define PA XBYTE0x7CFF #define PB XBYTE0x7DFF 控制功能同上:B口上预

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论