AVR128驱动2.4寸TFT(主控芯片ILI9325)_第1页
AVR128驱动2.4寸TFT(主控芯片ILI9325)_第2页
AVR128驱动2.4寸TFT(主控芯片ILI9325)_第3页
AVR128驱动2.4寸TFT(主控芯片ILI9325)_第4页
AVR128驱动2.4寸TFT(主控芯片ILI9325)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、avr128驱动2.4寸tft(主控芯片ili9325)单片机 2010-08-29 03:46:53 阅读255 评论0 字号:大中小订阅 1、原理图:avr128与tft最小系统原理图。 2、程序/*/*lcd.c*/#include lcd.hint main(void)initio();/*io口初始化*/ili9325_initial();/*lcd初始化*/clearscreen(0xffff);/*清屏*/lcd_setpos(0,0,239,319);while(1)pant(0xf800,0,240,0,40); /红色pant(0x07e0,0,240,40,80); /绿

2、色pant(0x001f,0,240,80,120); /蓝色pant(0xf800,0,240,120,160); /红色pant(0x07e0,0,240,160,200); /绿色pant(0x001f,0,240,200,240); /蓝色pant(0xf800,0,240,240,280); /红色pant(0x07e0,0,240,280,320); /绿色delayms(1000);delayms(1000);clearscreen(0xffff);pant(0xf800,0,240,0,320); /红色delayms(1000);delayms(1000);clearscre

3、en(0xffff);pant(0x07e0,0,240,0,320); /绿色delayms(1000);delayms(1000);clearscreen(0xffff);pant(0x001f,0,240,0,320); /蓝色delayms(1000);delayms(1000);clearscreen(0xffff); return 1;/*/*lcd.h*/*包含文件*/#include #include#include/*类型定义*/typedef unsigned char uint8;typedef unsigned int uint16;typedef unsigned l

4、ong uint32;#define window_xaddr_start0x0050 / horizontal start address set#define window_xaddr_end0x0051 / horizontal end address set#define window_yaddr_start0x0052 / vertical start address set#define window_yaddr_end0x0053 / vertical end address set#define gram_xaddr 0x0020 / gram horizontal addre

5、ss set#define gram_yaddr 0x0021 / gram vertical address set#define gramwr 0x0022 / memory write#define _nop_() asm(nop)#define lcd_rs_ddr ddrg /数据/命令切换#define lcd_rs_port portg#define lcd_rs_bit 2#define lcd_cs_ddr ddrg/片选#define lcd_cs_port portg#define lcd_cs_bit3#define lcd_wr_ddrddrg/写控制#define

6、lcd_wr_port portg#define lcd_wr_bit0#define lcd_rd_ddrddrg/读控制#define lcd_rd_portportg#define lcd_rd_bit1#define lcd_rst_ddr ddrg/复位 #define lcd_rst_port portg#define lcd_rst_bit 4#define lcd_cs_h lcd_cs_port |= 1lcd_cs_bit#define lcd_cs_l lcd_cs_port &= (1lcd_cs_bit) /sce#define lcd_rs_h lcd_rs_por

7、t |= 1lcd_rs_bit#define lcd_rs_l lcd_rs_port &= (1lcd_rs_bit) /a0#define lcd_rst_h lcd_rst_port |= 1lcd_rst_bit#define lcd_rst_l lcd_rst_port &= (1lcd_rst_bit) /rst#define lcd_wr_h lcd_wr_port |= 1lcd_wr_bit#define lcd_wr_l lcd_wr_port &= (1lcd_wr_bit)#define lcd_rd_h lcd_rd_port |= 1lcd_rd_bit#defi

8、ne lcd_rd_l lcd_rd_port &= (1lcd_rd_bit)#define comctrl portg#define comctrlddr ddrg#define datah portc#define datal porta#define dataddrh ddrc#define dataddrl ddra /*作 者:jundg函数名:void initio(void)函数功能:io口初始化函数参数:无返回值:无*/void initio(void)comctrlddr=0x1f;dataddrh=0xff;dataddrl=0xff;datah=0xff;datal=0

9、xff;comctrl=0x1f;/*作 者:jundg函数名:void delayms(unsigned int count)函数功能:延时函数函数参数:时间值返回值:无*/void delayms(unsigned int count) int i,j; for(i=0;icount;i+) for(j=0;j8;n=y;write_cmd(0x00,x);write_data(m,n);/*作 者:jundg函数名:static void lcd_setpos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1)

10、函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无*/static void lcd_setpos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1) write_cmd_data(window_xaddr_start,x0); write_cmd_data(window_xaddr_end,x1); write_cmd_data(window_yaddr_start,y0); write_cmd_data(window_yaddr_end,y1); write_cmd_

11、data(gram_xaddr,x0); write_cmd_data(gram_yaddr,y0); write_cmd (0x00,0x22);/lcd_writecmd(gramwr);/*作 者:jundg函数名:void pant(int dcolor,unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无*/void pant(int dcolor,unsigned int x0,un

12、signed int x1,unsigned int y0,unsigned int y1)int i,j;lcd_setpos(x0,x1,y0,y1); for(i=0;i320;i+) for (j=0;j8,dcolor); /*作 者:jundg函数名:void clearscreen(unsigned int bcolor)函数功能:清屏函数参数:bcolor=0xffff清屏返回值:无*/void clearscreen(unsigned int bcolor)unsigned int i,j;lcd_setpos(0,240,0,320);/320x240for (i=0;i3

13、22;i+) for (j=0;j8,bcolor);/*作 者:jundg函数名:void ili9325_initial(void)函数功能:lcd初始化函数参数:无返回值:无*/void ili9325_initial(void) lcd_cs_h;delayms(5);lcd_rst_l;delayms(5);lcd_rst_h;delayms(5);delayms(50);write_cmd_data(0x0001,0x0100); write_cmd_data(0x0002,0x0700); write_cmd_data(0x0003,0x1030); write_cmd_data

14、(0x0004,0x0000); write_cmd_data(0x0008,0x0207); write_cmd_data(0x0009,0x0000);write_cmd_data(0x000a,0x0000); write_cmd_data(0x000c,0x0000); write_cmd_data(0x000d,0x0000);write_cmd_data(0x000f,0x0000);/power on sequence vghvglwrite_cmd_data(0x0010,0x0000); write_cmd_data(0x0011,0x0007); write_cmd_dat

15、a(0x0012,0x0000); write_cmd_data(0x0013,0x0000); /vgh write_cmd_data(0x0010,0x1290); write_cmd_data(0x0011,0x0227);/delayms(100);/vregiout write_cmd_data(0x0012,0x001d); /0x001b/delayms(100); /vom amplitudewrite_cmd_data(0x0013,0x1500);/delayms(100); /vom hwrite_cmd_data(0x0029,0x0018); write_cmd_da

16、ta(0x002b,0x000d); /gammawrite_cmd_data(0x0030,0x0004);write_cmd_data(0x0031,0x0307);write_cmd_data(0x0032,0x0002);/ 0006write_cmd_data(0x0035,0x0206);write_cmd_data(0x0036,0x0408);write_cmd_data(0x0037,0x0507); write_cmd_data(0x0038,0x0204);/0200write_cmd_data(0x0039,0x0707); write_cmd_data(0x003c,

17、0x0405);/ 0504write_cmd_data(0x003d,0x0f02); /ramwrite_cmd_data(0x0050,0x0000); write_cmd_data(0x0051,0x00ef);write_cmd_data(0x0052,0x0000); write_cmd_data(0x0053,0x013f); write_cmd_data(0x0060,0xa700); write_cmd_data(0x0061,0x0001); write_cmd_data(0x006a,0x0000); /write_cmd_data(0x0080,0x0000); write_cmd_data(0x0081,0x0000); write_cmd_data(0x0082,0x0000); write_cmd_data(0x0083,0x0000); write_cmd_data(0x0084,0x0000)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论