#申请原创# 闲来无事逛某宝,赫然发现同尺寸的TFT小屏竟然比单色点阵屏还便宜,顿时萌发了尝试一下的念头,根据现有产品要求选定一款2.4''彩屏,驱动ILI9341分辨率200*320,典型的烂大街规格不愁断货,立刻下单!不过考虑到通常TFT驱动对MCU的需求还是比较高的,如果套用现成方案例程搞个STM32(现在是奢侈品了)做驱动到也四平八稳,但是成本就不忍直视了,补充一下F1系列只有100脚以上的带FSMC接口,所以价格肯定感人。
用高射**打蚊子不算本事,用弹弓同样打蚊子才是水平,立刻着手查资料算时序,我就不信51搞不定TFT(是指基本流畅播放全屏动画,而不是慢吞吞刷出几个字来),一算才发现这玩意要求还挺高,平时常用的中颖系列主频最多20冒头,这速度来刷屏怕是要看着图片一条线往下跑了,虽然有些STM32开发板例程也是这个水平但咱自己对觉悟还是有要求的!^_^
搞到这里有点头痛,想着不行就换MCU吧,无意间忽然想到电机控制MCU不是对速度要求挺高的嘛,于是就发现了这头怪兽— SH79F3213。32KB的FLASH、1.5KB的RAM、关键是有16KB的程序RAM,只要把前16K的CODE拷贝到里面就能以84M的主频的跑程序,芯片其它外围也挺丰富但我暂时用不到就不去管它了,没有硬件支持下刷屏幕MIPS才是王道!
芯片选定开始电路方案设计,彩色图片的数据量对51来说非常可观的,一幅全屏的RGB565数据就是153KB,与用单色屏习惯把字库和小图片防在CODE区不同,这种应用必须外扩存储器了。你没猜错,我又选了烂大街的W25Q系列,便宜才是王道嘛,手头有现成的W25Q16先顶上用吧。这里要吐槽一下硬件SPI口,最快只能8分频,都什么年代了还这么慢,现在SPI口的FLASH都支持100M以上了。好在内核跑得快,我用软件模拟还不行嘛,最终软件模拟的SPI口做到20个指令周期取一字节并放到总线,同样时间你硬件SPI三位还没有传完,在此帮中颖汗颜一下。
言归正传, 选P0、P4口做16位数据总线,因为这俩口排列规整方便布线,P2口给W25Q用(实际只用了6个PIN,为啥这样用可以想想),留了一个串口做图象文件下载和显示控制,其他控制IO就随便就近分配了。正好某配有免费打样券,PCB图画好就去做了。
板子回来焊接器件没啥好说的,参照卖家的例程做个驱动初始化,自己写了画点和字库显示文字的程序,文字显示很快是预料中,因为前景、背景色是相对固定两色刷就完了,有些卖家例程以单色刷屏速度吹嘘就更是糊弄人民群众了,这个总线数据都不用变拼命刷RD就行了。
|
自己更正一下两处笔误,一是屏幕分辨率是240*320,二是拼命刷WR不是刷RD,因为正在做透明背景字体的程序,需要读-修改-写,所以心里就习惯性RD了。