在工业应用中常遇到单片机直接驱动彩色液晶模块显示的情况,如水表仪器显示、广播控制设备信息显示等。较为高级的显示设备还可以兼备触摸功能。结合项目的实际开发,本文简单描述ARM7单片机通过串口输出实现液晶显示的一种方法,希望对大家有所帮助。
首先需要正确连接硬件模块。结合液晶模块的使用说明将硬件设备进行正确连接。串口一般用于接收显示指令、下载图片及发送触摸坐标等功能。硬件设备连接完毕后,首先进行串口的初始化配置。在实际应用中采用串口PDC传输通道进行数据的传输,这样可减少数据传输所需时钟周期,使得处理器更加高效。初始化配置如下:
AT91F_PMC_EnablePeriphClock();
AT91F_PIO_CfgPeriph();
AT91F_US_Configure();
AT91F_US_EnableTx();
AT91F_US_EnableRx();
串口初始化配置主要完成时钟使能、引脚配置、通信参数配置及PDC初始化。正确的参数配置是程序正常工作的前提,对于传输速率等的使用应参考显示终端的使用说明。
串口配置成功后即可驱动液晶模块进行显示。首先将需要显示的数据信息以十六进制形式存放在数组内,然后通过开启PDC传输将数据发往液晶模块进行显示。代码如下:
while(!(AT91C_BASE_US1->US_CSR &AT91C_US_ENDTX)); //等待上次传输完成
for(i=0; i<256; i++)
COM1TxBuffer[i]= Test_Data[i]; //Test_Data数组存放显示数据
AT91F_PDC_DisableTx(COM1_PDC);
COM1_PDC->PDC_TPR