最初的改造计划(已经过去几年了)是利用计算器的原PCB有按键触点的那一面,把元件全部拆掉,只用键盘矩阵的线路。我另外设计一块STM32的板子做主控和显示部分,键盘则是要用飞线连接到原来的板子上面。
显示用的LCD买回来是这样的:
屏接口是40pin 0.5间距的软排线座,控制器是ST7529,封装在FPC上。ST7529支持串、并模式,但这个屏没有把模式引脚引到接口上,只支持16-bit 8080模式。从外观上容易发现FPC是分成了两片的,通过一排焊盘焊接在一起。如果拆掉后面的这一段弯的,是可以把前面的FPC焊在PCB上,屏就成了60 pin接口了,成这个样子(PCB验证过)
然而这个60pin接口因为缺少有关引脚,还是不能用串行模式。不过能够用8-bit 8080模式了,能省出来8个MCU的I/O,也是进步了。下图这是我几年前就验证了的灰度显示效果,使用8-bit 8080模式访问。
由于这个屏的显示面积比原版TI-82的屏要大,计算器原先面板是不能继续使用的了。为了美观,我重新设计了定制亚克力面板,适配显示区域大小,而保持尺寸一致:
壳体上的开口(纵向)也要扩大,就用美工刀简单搞了搞了,糙了点。
LCD的排线直接焊到新做的主控(STM32L471)所在PCB上。
线路图:
STM32L471分配了15个GPIO用于矩阵键盘扫描,13个GPIO口给LCD的控制,另外留了一组SPI给串行flash存储器,剩下一些引到排座给扩展备用。
这是初版的PCB效果图:
初步的组装测试:
飞线是因为画PCB遗漏了LCD控制器的XCS脚,以及调试中减少了电荷泵倍压级数(非必要)。
矩阵键盘尚未焊接飞线。
先用程序测试LCD的显示。 供电是一节磷酸铁锂电池。ST7529是为彩色STN液晶设计的32级灰度点阵驱动器,扫描行为160行,列方向最多255列。在8-bit 8080模式下写一个像素点就是一次写操作,数据只有5 bit有效(灰度数据),比16-bit模式软件要好处理一些。它的灰度显示是用PWM模式实现的,实际效果如果用来显示黑白照片的话并不太好,用在计算器是够用的。
初版PCB设计存在的最主要问题是:计算器的后盖盖不上了。后盖上有电池仓等内凹的结构,原设计是紧贴PCB的,和我加进来的主控PCB冲突。
所以得改PCB,不然要把后盖上内凹的部分削去一些,也不妥。