本文研究了一种简易智能码盘,只需占用系统CPU一个串行接口或2个普通输入/输出口(用虚拟串行口技术)就可实现16位BCD码或者64位二进制码输入,不仅简化了硬件电路,而且解决了当输入数据位数过多时系统CPU接口不足的难题。
1 设计原理
该智能码盘用8位拨码开关实现数据输入,其中高4位用于选择输入码(BCD码)的位数,低4位用于设置BCD码的大小。如设置第8位码为7,则拨码开关高4位设置为1000,低4位为0111,然后按一次采集按钮即完成输入。码盘CPU将采集到的BCD码存入相应的内存,并转存片内E2PROM或FLASH内,然后再从串行口输出供用户设备使用(用户CPU串口采样)。智能码盘系统框图如图1所示。
为了进一步降低成本,当用户系统不大的情况下,也可选择用户CPU替代码盘CPU。即利用用户CPU的一个普通8位输入/输出口和一个外部中断即可完成输入控制参数设置功能。系统框图如图2所示。输入完毕,所有拨码开关处于断开状态,该口即可恢复其他输入或输出口功能,即不占用用户系统接口,提高了接口使用效率。
2 系统硬件设计
系统硬件结构主要由数据输入电路、数据采集电路(码盘CPU)、显示电路、数据输出电路(码盘CPU串口输出通信)等部分组成。
2.1 数据输入电路
数据输入部分由8位拨码开关和上拉电阻组成。电路如图3所示。
通过拨码开关的接通、断开,实现逻辑“0”和逻辑“1”的输出,供码盘CPU采样,其采样的数据含义为高4位代表输入数据位数,低4位代表数据大小。其数据大小和数码含义由用户定义,可以是BCD码、格林码、二进制码或其他码。最常用的为BCD码或二进制码。表1为拨码开关位码和数码参数表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)