显示动态LCD屏幕讲稿1.0

动态显示LCD屏幕讲稿
要想实现动态显示LCD低压有源滤波屏幕,我们就得将上节课老师上课所讲的内容和老师所给的代码进行回顾一下讲一讲老师所给的代码所讲的内容,从而我们在课堂又实现了正方形的或长方形的显示LCD屏幕。基于我们对老师所给代码的了解,我们可以初步的设想一下,如何使自己的LCD屏幕动态出现呢?要分为那几个步骤呢?我想应分为:
将中心点坐标要移到某个角落————>设计自己的运行轨道————>选出几个特殊的点出x或y的关系—————>设计代码。
比如将圆从右下角经过屏幕上方中心点在移动到左下角模型代码如下:
#include "2440addr.h"
#include "option.h"
//#define yValue 136  // yValue将原代码的常量改成了变量;
//#define xValue 240  // xValue将原代码的常量改成了变量;
int yValue=36;//确定圆的中心点位置即yValue起始值
蒸压加气块
int xValue=40;// 确定圆的中心点位置即xValue起始值
#define N 20
#define U32 unsigned int
#define M5D(n)        ((n) & 0x1fffff)
#define LCD_WIDTH  480
#define LCD_HEIGHT 272
//垂直同步信号的脉宽、后肩和前肩
#define VSPW    (3-1)
#define VBPD        (15-1)
#define VFPD        (12-1)
//水平同步信号的脉宽、后肩和前肩
#define HSPW    (30-1)
#define HBPD    (18-1)
#define HFPD    (20-1)
//显示尺寸
#define LINEVAL    (LCD_HEIGHT-1)
#define HOZVAL    (LCD_WIDTH-1)
//for lcdcon1
#define CLKVAL_TFT 6
#define MVAL_USED  0
#define PNRMODE_TFT    3
#define BPPMODE_TFT    13
//for LCDCON5
#define BPP24BL        0    //32位数据表示24位颜值时,低位数据有效,高8位无效
#define INVVCLK        0    //像素值在VCLK下降沿有效
#define INVVLINE    1    //翻转HSYNC信号
#define INVVFRAME    1    //翻转VSYNC信号
#define INVVD        0    //正常VD信号极性
#define INVVDEN        0    //正常VDEN信号极性
#define PWREN        1    //使能PWREN信号
#define BSWP            0    //颜数据字节不交换
大数据日志分析#define HWSWP        0    //颜数据半字不交换
//定义显示缓存区
volatile U32 LCD_BUFFER[LCD_HEIGHT][LCD_WIDTH];
线圈电磁铁//延时程序
void delay(int a)
{
    int k;
    for(k=0;k<a;k++)
        ;
}
/
/绘制屏幕背景颜,颜为c
void Brush_Background( U32 c)
{
    int x,y ;
       
    for( x = 0 ; x < LCD_HEIGHT ; x++ )
    {
        for( y = 0 ; y < LCD_WIDTH ; y++ )
洗水        {
            LCD_BUFFER[x][y] = c ;
        }
    }
}
//画实心圆,颜为c。圆心在屏幕中心,半径为20个像素
void Draw_Circular(U32 c)
{
    int x,y;
    int tempX,tempY;
    int radius = 20;
    int SquareOfR = radius*radius;
        for( y = 0 ; y < LCD_HEIGHT ; y++ )
        {
            for( x = 0 ; x < LCD_WIDTH ; x++ )
            {
                if(y<=yValue && x<=xValue)
                {
                    tempY=yValue-y;
                    tempX=xValue-x;           
                }
                else if(y<=yValue&& x>=xValue)
                {
                    tempY=yValue-y;
                    tempX=x-xValue;                                 
金折网
                }
                else if(y>=yValue&& x<=xValue)
                {
                    tempY=y-yValue;
                    tempX=xValue-x;               
                }
                else
                {
                    tempY = y-yValue;
                    tempX = x-xValue;
                }
                if ((tempY*tempY+tempX*tempX)<=SquareOfR)
                        LCD_BUFFER[y][x] = c ;   
            }
        }
}
int main(void)
{
  int i=0;
  rCLKDIVN = 0x5;
  while(i<10000)
  i++;
//set the system function
rUPLLCON = (0x48<<12)+(0x3<<4)+0x02;
i = 0;
while(i<10)
i++;
rMPLLCON = (0x7f<<12)+(0x2<<4)+0x1;
    //配置LCD相关引脚
rGPCUP  = 0x00000000;
    rGPCCON = 0xaaaa02a9;
    rGPDUP  = 0x00000000;
    rGPDCON=0xaaaaaaaa;    rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(PNRMODE_TFT<<5)|(BPPMODE_TFT<<1)|0;
    rLCDCON2=(VBPD<<24)|(LINEVAL<<14)|(VFPD<<6)|(VSPW);
    rLCDCON3=(HBPD<<19)|(HOZVAL<<8)|(HFPD);
    rLCDCON4=(HSPW);

本文发布于:2024-09-22 23:33:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/166620.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:颜色   信号   代码   屏幕   数据   中心点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议