历史上的今天

今天是:2024年11月19日(星期二)

2019年11月19日 | 89c52单片机仿真ILI9341液晶屏驱动程序

发布者:JoyfulLife 来源: 51hei关键字:89c52  单片机仿真  ILI9341  液晶屏驱动 手机看文章 扫描二维码
随时随地手机看文章

ILI9341的单片机仿真原理图如下
il9341.jpg

给各位做了参考.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;                                                

[1] [2]
关键字:89c52  单片机仿真  ILI9341  液晶屏驱动 引用地址:89c52单片机仿真ILI9341液晶屏驱动程序

上一篇:51单片机60s倒计时动态显示仿真图和程序
下一篇:51单片机实现三相六拍的步进电机控制

推荐阅读

英特尔CPU供货短缺为PC产业带来冲击,业界普遍预估至明年年中前缺货的情况都难以缓解,不过,英特尔内部针对供货进行排序,除高阶产品、品牌市占外,部分取得官方单位或教育机构标案之业者,也有机会列入供货优先名单中,业界预期, 将带动PC业者加码参与标案的积极度,以争取更稳定的出货。依目前PC业者获得的CPU供货顺序信息来看,英特尔将服务器、数据...
近日第三方市场调研机构Counterpoint发布了全球第三季度真无线蓝牙耳机市场的报告。 在2019年第三季度,全球真无线蓝牙耳机的市场规模达到3300万台(41亿美元),同比增长22%。 在地区位置方面,美国市场占全球真无线蓝牙耳机市场的31%,在一个季度内首次超过1000万台,中国的真无...
Palo Alto Networks(纽交所代码:PANW)(派拓网络)日前宣布推出业界首款5G原生安全产品,将其在保护网络、云和设备安全方面的专业知识带入5G领域。这一新产品让服务提供商和企业能够实现高度安全的5G网络。 5G的承诺远不止提高手机的上网速度。如果操作得当,5G可以带来巨大...
近日,据外媒报道,加拿大初创公司Cobionix宣布,他们研制出了全球首款能注射疫苗的机器人Cobi,其能以自主、无痛且无针头方式注射疫苗。据了解,Cobi是一款能够进行肌肉注射的机器人,由一个带有药瓶储存区的机械臂和一个与患者互动的屏幕组成。人们可以通过触摸屏在系统中登记,摄像头会录入登记者的身份证或是证明其已经预约接种疫苗或接收药物的证件。...

史海拾趣

问答坊 | AI 解惑

IM3、IIP3、OIP3等的计算

Pin:Input powerPout:Output powerIM3:3rd order intermodulation productIIP3:Input 3rd order intercept pointOIP3:Output 3rd order intercept pointG:GainP1dB:1dB&n ...…

查看全部问答∨

AT89c2051 中文资料

AT89c2051 中文资料…

查看全部问答∨

高频PCB学习资料

高频PCB学习资料…

查看全部问答∨

想找本已s3c44b0为例子的书入门,请推荐。

弄了块三星原厂的s3c44b0开发板,想找本书看下入门。…

查看全部问答∨

编译器的工作问题

问个基本问题:以S3C44B0X为例,在ADS编译环境下,编译器编译程序后自动将程序的代码和数据分开。代码和数据都放在FLASH里,。在启动程序44BINIT.S里,将数据段从FLASH拷贝SDRAM里,代码仍然留在FLASH里。 请问是这样的不? …

查看全部问答∨

触摸屏技术

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 “伸出手臂,触摸世界”。即使是对工程师来讲,如此简单的模拟通话也因此马上变得去繁变简。但是,有时电话交流还是不够,在这种情况下,一图胜千言,所以有了界面友好的触摸屏。   想象一 ...…

查看全部问答∨

试用报告4-关于人脸检测的具体操作步骤

前些帖子介绍了人脸检测的一些相关的资料,下面这个帖子就具体步骤进行介绍: 要实现人脸检测必须从硬件和软件入手: 硬件方面: 1、在开始菜单中启动xilinx platform studio 11.1(因为本实验板附带的edk就是11版本的,大家可以到xilinx官网中 ...…

查看全部问答∨

我的定时器启动后先进一次中断

大家好 我用的stm32单片机,我已经做了其他可能的排除,最好确定 定时器使能后先进入一次中断。 我感觉应该是有些标志位没有清除,希望各位大侠帮我看看。 void TIM_Configuration(void) { TIM_TimeBaseInitTypeDef  TIM_TimeB ...…

查看全部问答∨

为什么要删我的帖子的!!!!!!!!

                                 我看见网上有公司能破解STM8了,我也正在用STM8,所以想在这问一下,今天发现帖子被删除了…

查看全部问答∨

matlab与ModelSim联合仿真

这篇文章自己感觉对仿真很有用,再次感谢原作者的分享!   1. Matlab产生数据用作Modelsim仿真     在FPGA进行算法验证的时候,经常需要输入仿真数据,这些数据可以用FPGA产生,但是如果数据产生过程很复杂的 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved