历史上的今天
今天是:2024年11月19日(星期二)
2019年11月19日 | 89c52单片机仿真ILI9341液晶屏驱动程序
2019-11-19 来源:51hei
ILI9341的单片机仿真原理图如下
给各位做了参考.ILI9341 8位模式,16位色
ILI9341单片机源程序如下:
//#include #include #include #include "map.h" //#define RED 0XF800 //红色 //#define GREEN 0X07E0 //绿色 //#define BLUE 0X001F //蓝色 //#define WHITE 0XF785 //白色 #define DATA_H P2 #define DATA_L P1 sbit LCD_CS = P3^1; sbit LCD_RS = P3^2; sbit LCD_WR = P3^3; sbit LCD_RD = P3^4; sbit LCD_RESET = P3^0; void Delay1ms() //@12.000MHz { unsigned char i, j; i = 12; j = 169; do { while (--j); } while (--i); } void delay_ms(unsigned int ms) { while(ms--) { Delay1ms(); } } void LCD_WR_DATA(unsigned char val) { LCD_RS=1; //RS=1; LCD_CS=0; //CS=0; DATA_L=val; LCD_WR=0; //WR=0; LCD_WR=1; //WR=1; LCD_CS=1; //CS=1; } void LCD_WR_REG(unsigned char reg) { LCD_RS=0; //RS=0; LCD_CS=0; //CS=0; DATA_L=reg; LCD_WR=0; //WR=0; LCD_WR=1; //WR=1; LCD_CS=1; //CS=1; } void LCD_Init() { LCD_RESET=0; delay_ms(10); LCD_RESET=1; delay_ms(120); LCD_WR_REG(0xCF); LCD_WR_DATA(0x00); LCD_WR_DATA(0xC1); LCD_WR_DATA(0X30); LCD_WR_REG(0xED); LCD_WR_DATA(0x64); LCD_WR_DATA(0x03); LCD_WR_DATA(0X12); LCD_WR_DATA(0X81); LCD_WR_REG(0xE8); LCD_WR_DATA(0x85); LCD_WR_DATA(0x10); LCD_WR_DATA(0x7A); LCD_WR_REG(0xCB); LCD_WR_DATA(0x39); LCD_WR_DATA(0x2C); LCD_WR_DATA(0x00); LCD_WR_DATA(0x34); LCD_WR_DATA(0x02); LCD_WR_REG(0xF7); LCD_WR_DATA(0x20); LCD_WR_REG(0xEA); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_REG(0xC0); //Power control //电源控制 LCD_WR_DATA(0x1B); //VRH[5:0] LCD_WR_REG(0xC1); //Power control LCD_WR_DATA(0x01); //SAP[2:0];BT[3:0] LCD_WR_REG(0xC5); //VCM control LCD_WR_DATA(0x30); //3F LCD_WR_DATA(0x30); //3C LCD_WR_REG(0xC7); //VCM control2 LCD_WR_DATA(0XB7); LCD_WR_REG(0x36); // Memory Access Control (存储器访问控制) LCD_WR_DATA(0x48); LCD_WR_REG(0x3A); //像素格式设置 LCD_WR_DATA(0x55); LCD_WR_REG(0xB1); LCD_WR_DATA(0x00); LCD_WR_DATA(0x1A); LCD_WR_REG(0xB6); // Display Function Control LCD_WR_DATA(0x0A); LCD_WR_DATA(0xA2); LCD_WR_REG(0xF2); // 3Gamma Function Disable LCD_WR_DATA(0x00); LCD_WR_REG(0x26); //Gamma curve selected LCD_WR_DATA(0x01); LCD_WR_REG(0xE0); //Set Gamma LCD_WR_DATA(0x0F); LCD_WR_DATA(0x2A); LCD_WR_DATA(0x28); LCD_WR_DATA(0x08); LCD_WR_DATA(0x0E); LCD_WR_DATA(0x08); LCD_WR_DATA(0x54); LCD_WR_DATA(0XA9); LCD_WR_DATA(0x43); LCD_WR_DATA(0x0A); LCD_WR_DATA(0x0F); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_REG(0XE1); //Set Gamma LCD_WR_DATA(0x00); LCD_WR_DATA(0x15); LCD_WR_DATA(0x17); LCD_WR_DATA(0x07); LCD_WR_DATA(0x11); LCD_WR_DATA(0x06); LCD_WR_DATA(0x2B); LCD_WR_DATA(0x56); LCD_WR_DATA(0x3C); LCD_WR_DATA(0x05); LCD_WR_DATA(0x10); LCD_WR_DATA(0x0F); LCD_WR_DATA(0x3F); LCD_WR_DATA(0x3F); LCD_WR_DATA(0x0F); LCD_WR_REG(0x2B); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x01); LCD_WR_DATA(0x3f); LCD_WR_REG(0x2A); //列地址设定 LCD_WR_DATA(0x00); //第一个参数 LCD_WR_DATA(0x00); //第二参数 LCD_WR_DATA(0x00); //第三参数 LCD_WR_DATA(0xef); //第四参数 LCD_WR_REG(0x11); //Exit Sleep delay_ms(120); LCD_WR_REG(0x29); //display on } void LCD_SetArea(unsigned int stx,unsigned int sty,unsigned int endx,unsigned int endy) {//分别四个参数来设置起使X,起使Y,结整X,结束Y LCD_WR_REG(0x2A); //列地址 LCD_WR_DATA(stx>>8); LCD_WR_DATA(stx&0xff); LCD_WR_DATA(endx>>8); LCD_WR_DATA(endx&0xff); LCD_WR_REG(0x2B); //页地址 LCD_WR_DATA(sty>>8); LCD_WR_DATA(sty&0xff); LCD_WR_DATA(endy>>8); LCD_WR_DATA(endy&0xff); } void LcdWirteColorData(unsigned int color) { // LCD_RS=1; //RS=1; // LCD_CS=0; //CS=0; // DATA_H=color>>8; // DATA_L=color; // LCD_WR=0; //WR=0; // LCD_WR=1; //WR=1; // LCD_CS=1; //CS=1; LCD_RS=1; //RS=1; LCD_CS=0; //CS=0; DATA_L=color>>8;
史海拾趣
|
首先我们要温习下:51单片机内有R0-R7,8个通用寄存器。 1秒=1000毫妙 1S=1000ms 1毫妙=1000微妙 1ms=1000u ...… 查看全部问答> |
|
有人需要CC250芯片吗?有人需要NRF2402G模块的吗? CC2500 有几百个吧 价格暂定5元!~原装 NRF2402G模块价格9元一个!~ 有需要的朋友请联系QQ1625345502 … 查看全部问答> |
|
由于编辑觉得前言内容过于简单,也不够吸引人。希望大家看过之后,多提出一些意见。前言——拟稿 从大二开始接触电路,到研究生毕业,硬件设计对我而言就是电路图和电路板两个阶段。感谢狄工给我这个机会进入了汽车电子的行业 ...… 查看全部问答> |
|
在我给客户做技术的工作当中,经常遇到客户问到这样的问题,\"目前市场上气压传感器都各有什么优势?\"\"我们应该如何去选型?\" 本文就目前市场上的几款气压传感器性能做次比较,仅供大家选型时参考!目前市场上的气压传感器有:VTI的SCP1000,Bosc ...… 查看全部问答> |
|
作为一个低端的arm芯片,cortex-m3内核在上次上海培训的时候有说会达到1G的主频,有没有以后出支持LIUNX芯片的计划。芯片未来前景怎样,就目前的情况来说STM32利用目前的策略,市场反应应该还是不错的。 我只是想知道 ...… 查看全部问答> |
|
大家好! 在MAP文件中,可以看到 6 926 bytes of readonly code memory 582 bytes of readonly data memory 1 348 bytes of readwrite data memory 的内容。 我知道“6 926 bytes of ...… 查看全部问答> |
|
1\dsp为TMS320VC5510,用两片4M,16-bit的SDRAM芯片构造32-bit的SDRAM空间. 我不解的地方是:根据datasheet,4M32-bit的SDRAM占据了所有四个EMIF空间.那么要使用这四兆32位空间,是不是把所有四个CE控制寄存器都设置成SDRAM模式,而硬件上只连接CE0? ...… 查看全部问答> |




