找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3207|回复: 0
打印 上一主题 下一主题
收起左侧

IO端口不够用?TinyHMI助你以一当十

[复制链接]
跳转到指定楼层
楼主
ID:113517 发表于 2016-4-13 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你是否在设计电路时也曾因为单片机的IO端口不够用而烦恼过?更换引脚多的型号会增加成本,不更换又完成不了需求?今天就和大家分享一个ZLGTinyHMI,看它是怎么巧妙地将IO口以一当十。



        TinyHMI是一个简易人机界面板,它提供了8位显示数码管和8个输入按键,虽然仅仅使用简单的串行接口控制,但足能满足较复杂的系统对人机界面的需求。其实TinyHMI之所能如此神奇,其中的奥秘就它的两片74HC595。74HC595具有8位移位寄存器和一个存储器,三态输出功能,移位寄存器和存储器有相互独立的时钟。移位寄存器有一个串行移位输入(DS),一个串行输出(Q7’),一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时,存储寄存器的数据输出到总线。

        如图2所示,常规的方式来控制8位显示数码管和8个输入按键需要用到24个IO端口;但如图3所示,使用两片74HC595芯片作为驱动的TinyHMI,仅仅只需要用到4个IO即可完成同样的需求。TinyHMI的工作原理是通过DS和SH-CP,先将要显示的位码(即要显示数码管哪一位)发送,再将要显示的段码(即要显示什么符号)发送,然后再由ST-CP让所有输出一统翻转,完成一个完美的“串转并”。因为数码管是逐位显示,所以可以在8根位数据线上分别连接按键,检测所有按键公共端,根据公共端状态和数码管位数据线的状态,就可以得出每个按键的状态啦。

图2  使用常规方法控制数码管和按键

3  使用74HC595控制数码管和按键

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表