手中有一块新唐出品的NuTiny-EVB-M058SSAN-LQFP64 V2.1开发板,一直也没有怎么使用。后来又买了一块M0516旗舰开发板,它使得自己突发奇想要参考M0516的数码相框程序把它移到M058上来实现。 我们知道 M0516与M058S均属于M051系列,两种的主要区别如下: 芯片型号 | Flash Memory for program code | | | | | | | |
在实现数码相框方面,这两者的差别是无足轻重的,完全可以忽略不计。 其次要考虑的问题就是TFT液晶屏的差异,本人所以的是2.4寸的TFT液晶屏,且采用8位数据传输模式,而M0516旗舰板所用的是3.2寸屏,并采用16位数据传输模式,这样使得它的处理速度要相对快一些,而8位数据传输模式也有它的好处,那就是它有利于节省GPIO口,并能减少连线工作量。 液晶屏的接口电路如图1所示。 图1 液晶屏接口电路 液晶屏与M058S的连接关系如下: DATAPORT_H P2 LCD_RS _P35 LCD_WR _P36 LCD_RD _P37 LCD_CS _P10 LCD_RST _P12 HC573_LE _P00 SD卡与M058S的连接关系为: SPI0MISO _P16 SPI0CLK) _P17 SPI0MOSI _P15 SD_CS _P14/13 经过对程序LCD.C中LcdWriteBus( ) 并行数据写入函数的修改,其内容如下: VOID LcdWriteBus(UINT8 VH,UINT8 VL) //并行数据写入函数 { // HC573_LE(1); LCD_DATAPORT_H=VH; //先将低8位数据送出 LCD_WR(0); LCD_WR(1); LCD_DATAPORT_H=VL; //再送高8位数据 LCD_WR(0); LCD_WR(1); } 由于采用的是2.4寸屏,应将main( )主函数中的液晶显示器类型由3.2寸改为2.4寸,即 LcdTypeSet(LCD_TYPE_24); 修改程序后,在进行编译时将芯片类型改为M058SSAN即可。 将程序下载到芯片内,在连线正确的情况下即可观察到正常的显示效果,具体效果如下图所示。 此外,在M0516转换板损坏时,还用先前买的YBDZ转换板替代次Smart M05X转换板,起初怎么也不能正常显示。后来才发现是缺少复位处理,将YBDZ上的RST与旗舰板上P3.5连接,然后通过按K4键来复位处理就可执行显示功能了。 图2 图像显示效果 |