0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

并行I/O口扩展的2种方式实例介绍

454398 来源:博客园 作者:hugh.dong 2020-09-23 17:09 次阅读

I/O口不能完全用于输入/输出操作,当需要扩展外部存储器时,P0、P2口用作地址总线和数据总线,此时能用的I/O口就只有P1和P3口,如果再使用串行通信,I/O口就不够使用了,需要扩展I/O口

两种方式:

① 采用普通锁存器、三态门等芯片来进行简单的扩展(如74LS373或74LS244等)

②采用可编程的I/O芯片来扩展(如8255或8155等)

要求:用4个开关控制4个LED的亮灭状态,其中采用74LS244控制开关的输入,采用74LS373控制LED输出

代码:

电路图:

过程分析:

#18 P0=0xff;通过拉高P0口置为1111 1111,即关闭LED灯;

#19 com=0;对CD4071 U2.A的1和CD4071 U2.B的5输入一个0;

#20 rd = 0;对CD4071 U2.A的2输入一个0;

由于CD4071的功能是执行逻辑或运算,1和2分别输入0,则3输出0给74LS244的OE口;

74LS244缓冲驱动器的OE为使能端,低电平是有效的,高电平时输出为三态,此时通过CD4071传给OE低电平,使开关的电平可以通过74LS244传入P0;

开关状态传入P0;

#21 temp = P0;通过定义的unsigned char temp来存放P0的状态

#22 rd = 1;对CD4071 U2.A的2输入一个1;

1=0;2=1;此时或门输出为1;

74LS244的OE端高电平时输出为三态,关闭74LS244

#23 wr = 1;对CD4071 U2.B的6输入一个1;

此时5=0;6=1;CD4071 U2.B的7输出一个1;

74LS343的OE为低电平时,用作地址锁存器;LE为高电平时,输出Q0-Q7状态与D0-D7状态相同;当LE发生负跳变(1->0)时,输入端的D0-D7锁入Q0-Q7

#24 P0 = temp;temp中的数据存入P0,传送到74LS343的D端;

#25 wr = 0;对CD4071 U2.B的6输入一个0;

此时5=0;6=0;CD4071 U2.B的7输出一个0;

LE的状态从1->0,发生负跳变,输出Q0-Q7

LED等接受到开关的情况,发生亮灭。

实验结果

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645873
  • 驱动器
    +关注

    关注

    51

    文章

    7308

    浏览量

    142942
  • 串行通信
    +关注

    关注

    4

    文章

    535

    浏览量

    35019
收藏 人收藏

    评论

    相关推荐

    应用方案:MCU通用I/O引脚扩展

    MCU通用I/O引脚扩展 低端MCU由于I/O数量不足导致部分功能无法实现,用户需要使用数字集
    发表于 01-08 09:35

    8255 I/O扩展

    我用8255扩展51单片机的I/O,A0、A1、CS分别接P2.0、P2.1、P2.7,虽然可以算出PA、PB、PC的地址,但需要对PA、PB、PC口中单独的
    发表于 03-12 11:26

    2I/O I2C 通信 4I/O SPI

    自行设计,所以对于后续开发 本店也会可与大力的支持与帮助。 目前小店只有6排针 (4i/o) 不过马上即将 4排针(2i/o
    发表于 11-04 19:37

    怎么用8255扩展I/0

    我自己试着用8255扩展I/O来构建一个4*4键盘,数码管显示部分还没完成,不清楚关于8255的一切。看书看了半天不知道它在说什么。⑴如果我赋值PA = 0xfe,那这个数据是不是会
    发表于 04-03 15:18

    I2C总线扩展I/O通用器件 AT8574兼容PCF8574!

    AT8574/8574A是芯景科技推出的低功耗I2C并行口扩展芯片。该器件采用低功耗CMOS工艺,包含8位准双向I/O
    发表于 05-12 13:40

    TMS320VC5410A I/O的多种扩展I2C接口模拟

    ],AIC23的配置有SPI和I2C两方式,这里介绍以通用I/O
    发表于 12-04 10:35

    扩展MCU控制I/O的方法分享

      74HC138译码器的一应用—扩展MCU的控制I/O  1、74HC138译码器的引脚功能说明    芯片实物图    引脚功能说明
    发表于 12-25 14:55

    一.(四). 直接单片机I/O驱动:多个I/O并行工作驱动喇叭:

    一.(四). 直接单片机I/O驱动:多个I/O并行
    发表于 04-28 14:47

    51单片机并行I/O的工作原理是什么

    51单片机并行I/O工作原理51单片机并行I/O
    发表于 11-18 06:17

    STM32 I/O 的配置

    第一:STM32 I/O 的配置1-.1:I/O可以配置成8中不同的模式,输入四:模拟输入,
    发表于 11-23 07:40

    8051单片机并行I/O结构

    1、8051单片机并行I/O8051的四个端口均是双向的,每个端口由一个锁存器(特殊功能寄存器P0-P3)、一个输出驱动器和一个输入缓冲器组成。8051的
    发表于 01-05 06:33

    并行I/O的相关资料推荐

    开篇MCS51单片机有4个8位的并行I/O端口,分别为P0、P1、P2、P3。每个端口都包括一个同名的特殊功能寄存器、一个输出驱动器和输入缓冲器。P1
    发表于 02-08 07:11

    串行的工作方式0介绍

    的工作方式0为移位寄存器I/O方式,可外接移位寄存器,一扩展I/
    发表于 02-17 06:16

    单片机的并行I/O与工作模式介绍

    目录2.5 单片机的并行I/O2.5.1 单片机的并行I/
    发表于 02-18 06:20

    介绍MM编程与I/O编程这两方式

    编程方式I/O和MM)一、MM编程1.MM编程实际是存储器映射编程,直接操作寄存器。这种编程是操作外部扩展RAM(随机存取存储器)的一
    发表于 02-24 07:32