清理杂物,找出一个16X96的单色LED条屏,很小,是13年在深圳赛格华300块买的,回来后试用了一下后就一直闲置,到最后上位机软件也弄丢了,就扔杂物箱了。
扔了又觉得可展,不知是那根神经错乱,想自已写驱动把这个屏利用起来,因为我的创客实验桌上好像差个显示“瑞康创客实验”的小条屏。
说动就动,先是拆开条屏,主板是这个样子的。
主控芯片用的AVR单片机ATMEGA32A。
要想自已写驱动显示,就必须要明白硬件连接情况,自已用万用表测量绘制电路图,因为有LED驱动电路相关经验,所以不是太难。
行扫电路
行扫相关引脚:PC4:SH_CP【时钟】 PA3:ST_CP_H【锁存】 PA2:HData【行数据】
与一般LED驱动电路不同的是,行译码没有用138,也是用的595,用了2片595软件16行的控制信号,行驱动还是4953驱动,行扫电路同2片595级联使用,因为16列是连在一起的,所以只能做成1/16扫,也就是同一时刻只有一路导通供电。
列扫电路
列扫相关引脚:PC4:SH_CP【时钟】 PA5:ST_CP【锁存】 PB2 PA0 PB4 PB3 PA1 PC3:D1-D6【显示数据】 PA4:OE【显示允许】
列驱动共用了12片(8X12=96)595芯片驱动,可能是考虑到单片机速度问题,同时输出了6路(6字)列数据信号(也就是6个字是同步显示)。这样比传统的一线驱动速度提高了6倍。
整机电路
CPU引脚功能
另外还有USB转232电路(FT232),DS1302时钟电路,25AA080 8M SPI FLASH电路,24C512 EEPROM电路等,这些不需要祥细了解,只要知道行列驱动接线,就可以写出显示驱动程序。
说明:CPU的PA6(31#)和PA7(30#),是采样电源电压,通过两个10K电阻串联分压取中点电压测量,在图中没有画出。
电路图画好了,知道工作原理了,进入实战状态了。
第一步:写驱动程序。
包含文件
宏定义
定义变量及数据
初始化端口
写595
产生锁存信号
显示程序
主程序
第二步:取下原来的CPU,换上一块新的空白CPU,然后将主板上SPI总线连接到KT500编程器,下载程序到主板。
关闭JTAG
选择内部时钟8M
下载程序到主板
第三步:显示正常,将主板装回。