|
零、前言
逛某宝,看到一种带液晶屏的财务小键盘,成色很新,才卖8.8元,应该是倒闭公司的产品,还没上市就夭折了。
由从卖家的拆解图可以得知是USB串口,有改造潜力,故入手2个。
一、外观
东莞市极制电子GS-KB22数字键盘
背面标签有型号,搜索不到这家公司和产品型号。保修贴显示为2019年12月生产。
不出所料,插入电脑显示为串口。LCD全点亮,电流小于10mA。
手感和一般市面上一般的薄膜键盘一样,中规中矩,反正比同价位的计算器要好。
按下和松开按键时,串口能收到数据,但试过常用波特率均不像正常,特殊波特率?这不是重点。
二、拆解
背面标签和下面2个橡胶垫底下有螺丝,拧掉后撬开三边卡扣(这是友好的卡扣,小心一点就可以无损)
按键是胶碗薄膜,用斑马条(不确定是不是这么称呼)连接主板,不是焊接的,是用铁条+橡胶条+螺丝压住。
拆下键盘后可以取下主板。主板和液晶的连接用的导电橡胶。
三、测绘分析
接下来逆向分析主板。下面2图是卖家提供的。
主控WT56F216为台湾伟诠增强型8051。MCU内置LCD控制器,串口通过CH340E连接到电脑,扫描键盘用GPIO。预留了蜂鸣器以及标号为LD1的元件(应该是液晶背光灯),也是GPIO控制。
背面没有元件。
测绘得到引脚定义
矩阵键盘定义(列线已有上拉电阻,所以行线要配置成开漏输出,列线是浮空输入)
四、ISP接口
WT56F216的ISP接口称为SWUT,本质上是115200bps的单线半双工串口,用名为WLINK的下载器实现ISP烧录。
WLINK中串口输出是开漏+分压电阻,输入是施密特触发器。
电脑发送数据时,输出1.5V表示0,3.3V表示1。(WT56F216认为低于1.8V为0,高于2.8V为1)
电脑接收数据时,低于0.8V识别为0,高于1.5V识别为1。
这样一来,电脑发送数据时,WT56F216可以识别,但因为电压不够低,不会回环到接收。
WT56F216发送数据时变为推挽输出,电脑可以识别。
因为买不到原装WLINK下载器,只好根据这个原理自己做一个。原理图在下面。
原版是纯数字电路,我改用一片STC51(需要3V低压版或15系列宽电压版)。电位器用2.2K~10K即可。
程序很简单,一个死循环,把P3.0转移到P1.3,把P1.1转移到P3.1。太简单以至于可以在STC ISP中直接写机器码。
这里必须用STC51中转一下,是因为8051的输出是开漏+弱上拉,输入是施密特触发器,符合基本要求。
连好线,用SWUT-ISP软件(http://www.weltrend.com.tw/zh-cn/support/detail/49/123/72)尝试连接。
调整电位器(调到下方约1/3处)直到ISP能建立通信。
五、编程
WT56F216的设计思路很特别,除8051标准外设,其余都挂在外部总线上,寄存器用MOVX指令访问。
因为这块属于传统8051的范畴,这里就不再展开了。
六、结语
虽然只有8位,也足够做个计算器了。
自制计算器的文章:https://www.mydigit.cn/thread-323123-1-1.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|