⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 63400.c

📁 R63400 C51 test program
💻 C
字号:
/*
Model:for 128e01
Driver IC:HD66773
Test mode:8 bit paraller interface 8080 MCU
Program by Fuwei
Date:2005-12-02*/
#include<stdio.h>
#include<reg51.h>
#include<intrins.h>
#define X_add 176
#define Y_add 220
#define data_port P1
typedef unsigned char uchar;
typedef unsigned int uint;
sbit CS1=P3^1;
sbit RS=P3^4;
sbit WRB=P3^0;
sbit RDB=P3^5;
sbit RST=P3^2;
sbit KEY=P3^3;
//uchar code djn[];
void delay(uint time);
void write8(uchar indata);
void write_data(uint indata,bit dc);
//void write_com(uint command);
void initial(void);
void init_data(uint index,uint cdata);
void waite_key(void);
void display_griphic(uchar *griphic);
void test_patten(uint patten,col,row);
//void test_grayscal(uchar color);
//void address_set(uchar addX1,addX2,addY1,addY2);
//void display_char();
/*------------------------------------------------------------------*/
void main(void)
     {
     RST=0;
     delay(100);
     RST=1;
     delay(100);
     initial();
     while(1)
          {
          //display_griphic(djn);waite_key();
          test_patten(0xf800,320,240);waite_key(); //
          test_patten(0x07e0,176,220);waite_key(); //
          test_patten(0x001f,176,220);waite_key();//
          test_patten(0xffff,176,220);waite_key(); //
          test_patten(0x0000,176,220);waite_key(); //
          //test_patten(0x0000);waite_key(); //
          }
/*---------------------------------------------------*/
     }
void delay(uint time)
     {
     uint i;
     while(time--)
     for(i=0;i<100;i++){;}
     }
/*----------------------------------------------------*/
void waite_key(void)
     {
     KEY=1;
     while(KEY);
     delay(10);
     while(!KEY);
     delay(10);
    }
/*-----------------------------------------------------*/
void write8(uchar indata)
     {
     //CS1=0;
     data_port=indata;
     WRB=0;
     //delay(10);
     WRB=1;
    // CS1=1;
     }
/*-----------------------------------------------------
void display_griphic(uchar *griphic)
     {
      uint i,j,k;
      init_data(0x0044,0x8300);
      init_data(0x0045,0xaf00);
      init_data(0x0021,0x0000);
      write_data(0x0022,0);
      //address_set(0,127,0,127);
      CS1=0;RS=1;
      //init_data(0x0021,0x0000);
      //init_data(0x0044,0x0000);
      //init_data(0x0045,0x0000);
      for(i=0;i<132;i++)
          for(j=0;j<176;j++)
              for(k=0;k<2;k++)
                  write8(*griphic++);
     }
-----------------------------------------------------*/
void write_data(uint indata,bit dc)
     {
      uchar tmp;
      CS1=0;
      RS=dc;
      tmp=indata;
      write8(indata>>8);
      //tmp=indata;
      write8(tmp);
      //RS=~dc;
     }
/*-----------------------------------------------------*/
void init_data(uint index,uint cdata)
     {
     write_data(index,0);
     write_data(cdata,1);
     }
/*-----------------------------------------------------*/
void initial(void)
     {
      //WRB=1;
      //init_data(0x0000,0x0001);//R00,OSC on

      init_data(0x0001,0x011b);//R01,Drive output control

      init_data(0x0002,0x0700);//R02,AC driveing control

      init_data(0x0003,0x7030);//R03,Entry mode

      init_data(0x000b,0x0400);//R0B,Frame cycle adjustment control

      init_data(0x000c,0x0000);//R0C,EXT interface
/*------------------------r control-----------------------
      init_data(0x0030,0x0303);

      init_data(0x0031,0x0303);

      init_data(0x0032,0x0303);

      init_data(0x0033,0x0303);

      init_data(0x0034,0x0303);

      init_data(0x0035,0x0303);

      init_data(0x0036,0x0303);

      init_data(0x0037,0x0303);

      init_data(0x0038,0x1303);

      init_data(0x0039,0x1303);
=======================coordination control============================*/
      init_data(0x0040,0x0000);//

      init_data(0x0041,0x00ef);//

      init_data(0x0042,0xdb00);//
/*================================Power control============================*/

      init_data(0x0010,0x2520);//
      delay(5);
      init_data(0x0011,0x0001);//
       delay(5);
      init_data(0x0012,0x001b);//
       delay(5);
      init_data(0x0013,0x2915);//
       delay(5);

/*================================Display control============================*/
//      init_data(0x0008,0x0001);//R08

     //  init_data(0x0009,0x0000);//R09  display control3

       init_data(0x0007,0x0022);//R07  display control1
      delay(5);
        init_data(0x0030,0x0005);
       init_data(0x0007,0x0023);//R07  display control1
      delay(5);

       init_data(0x0007,0x0823);//R07  display control1
      delay(5);

       init_data(0x0007,0x0923);//R07  display control1
      delay(5);

     }

void test_patten(uint patten,col,row)
     {
     uchar i,j;
      init_data(0x0044,0xaf00);
      init_data(0x0045,0xdb00);
      init_data(0x0021,0x0000);
      write_data(0x0022,0);
      for(i=0;i<col;i++)
          for(j=0;j<row;j++)
              write_data(patten,1);
     }




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -