基于ATmega16的TFTLCD显示系统设计
摘要介绍320×240的点阵式液晶作为屏显输出的系统设计以ATmega16单片机为控制核心HX8347D作为LCD驱动芯片的硬件连接以及显示方法的设计与软件的编写。关键词ATmega16TFTLCDHX8347D0引言LCDLiquidCrystalDisplay也就是我们俗称的液晶显示器近年来由于TFTLCD显示的图像清晰度高彩色纯正艳丽无闪烁及动态拖尾等众多优点使其得到了迅猛的发展。从可视电话、门铃、各种监视器便携式彩电、随身看到摄像机、彩投、笔记本电脑等等无所不用。很快便成为彩色液晶图像显示的主流。1TFTLCD驱动芯片常用的带图形显存TFTLCD驱动芯片有ILI9320、ILI9325、HX8347、SSD1289等不带图形显存的如LQ043等。本系统采用的是SHENZHENDISPLAYSUNOPTECHTECHNOLOGYCOLTD公司的DST1072A320×240TFTLCD内部集成驱动芯片HX8347D。HX8347D是一款非常好用的驱动芯片通过对内部寄存器的配置可以实现很多的显示功能比如设置显示区域、显示反转、显示镜像对称等。由于在HX8347D的Datasheet有详细的介绍这里就不再详细介绍。2TFTLCD与ATmega16的硬件接口TFTLCD的接口有数据接口、控制借口、背光控制接口以及电源端口。本系统使用的TFTLCD有16个数据口DB015我们把DB015分别接到ATmega16的PA、PC口上对与控制接口我们把他们接到PB口上PB04依次接LCD控制端口的复位端口LCD_RESET、读端口RD、写端口WR、命令数据控制端口RS、LCD片选端口CS。对于本光控制端口我们直接把他接到5V电源上。3软件设计31底层读写函数设计对TFTLCD的寄存器、显存的写数据是整个系统最底层的。若底层的程序没有调试成功像是程序的编写又从何谈起下面是本系统最重要的两个底层函数下面对其详细解释寄存器配置函数
fvoidLCD_SetRegu
sig
edi
tCmd_Regu
sig
edi
tCmd_DataCmd_Reg为寄存器地址Cmd_Data为写入该寄存器的数据LCD_DATACmd_Reg8取指令的底八位PORTC18取指令数据的低八位PORTC1LCD_HLEPORTC1LCD_HLE写入低八位锁存器LCD_DATACmd_Data取指令的高八位PORTC1LCD_LLEPORTC1LCD_LLE写入高八位锁存器PORTC1LCD_DATA_OE同时从锁存器输出PORTC1LCD_WR向TFTLCD写指令数据PORTC1LCD_WR拉高为下一次写准备PORTC1LCD_DATA_OE禁止锁存器PORTC1LCD_CS禁止TFTLCD32显示区域设置函数设计HX8347D有一组很好用的寄存器那就是区域设置寄存器水平起始寄存器0x0002、0x0003水平结束寄存器0x0004、0x0005垂直起始寄存器0x0006、0x0007垂直结束寄存器0x0008、0x0009。可以通过这些就存起的设置很方r