1.c

来自「c8051f020模块.rar」· C语言 代码 · 共 493 行

C
493
字号
#include <c8051f020.h>
#include<intrins.h>

#define uint unsigned int
#define uchar unsigned char


#define x1 0x80
#define x2 0x88
#define y  0x80
#define comm 0
#define dat 1

sbit  cs  = P3^3;
sbit std  = P3^6;
sbit sclk = P3^2;  
sbit rst=P3^5;


void delay(uchar time)
{
  while(time--);
}



void wr_lcd (uchar dat_comm,uchar content)
{
  uchar a,i,j;
  delay (50);
  a=content;
  cs=1;
  sclk=0;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();
  _nop_();
  _nop_();	//17
  	_nop_();
 	_nop_(); //19
 	_nop_();
	_nop_();  // 21
 	_nop_(); //22
 	_nop_();
	_nop_();//24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
//	_nop_();//36
  std=1;
  for(i=0;i<5;i++)
  {
    sclk=1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
   _nop_();
   _nop_();
   _nop_();	  //8
     _nop_(); //9
 	 _nop_();
	//_nop_();
	//_nop_();//12
	 //_nop_();
	 //_nop_();//14
    sclk=0;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();//17
  	_nop_();
 	_nop_();//19
 	_nop_();
	_nop_(); //	21
 	_nop_(); //22
 	_nop_();
	_nop_(); //	24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
//	_nop_();//36
	//_nop_();
  }
  std=0;
  sclk=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();   //8
 	 _nop_(); //9
	 _nop_();
 //	/_nop_();
	//_nop_();//12
   //_nop_();
   //_nop_();//14
  sclk=0;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_(); //17
  	_nop_();
 	_nop_();//19
 	_nop_();
	_nop_();  //21
 	_nop_();  //22
 	_nop_();
	_nop_(); //24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
//	_nop_();//36
 // _nop_();
  if(dat_comm)
    std=1;   //data
  else
    std=0;   //command
  sclk=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();  //8
 	_nop_();//	9
 	 _nop_();
	//_nop_();
//	_nop_();//12
   //_nop_();
   //_nop_();	 //14
  sclk=0;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
 	_nop_(); //17
  	_nop_();
 	_nop_(); //19
 	_nop_();
	_nop_();// 21
 	_nop_();//22
 	_nop_();
	_nop_();//	24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	//_nop_();//36
 // _nop_();
  std=0;
  sclk=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();  //8
  	_nop_(); //9
 	 _nop_();
	//_nop_();
	//_nop_();  //12
   //_nop_();
   //_nop_();	//14
  sclk=0;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_(); //17
  	_nop_();
  	_nop_(); //19
 	_nop_();
 	_nop_(); //21
 	_nop_();//22
 	_nop_();
	_nop_();// 24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	//_nop_();//36
  //_nop_();
  for(j=0;j<2;j++)
  {
    for(i=0;i<4;i++)
    {
      a=a<<1;
      std=CY;
      sclk=1;
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	_nop_();
	_nop_();
	_nop_();  //8
 	_nop_();// 9
 	 _nop_();
	//_nop_();
	//_nop_();  //12
	//_nop_();
	  // _nop_();	//14
      sclk=0;
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();//17
  	_nop_();
  	_nop_();//19
 	_nop_();
 	_nop_();//21
 	_nop_(); //22
 	_nop_();
	_nop_();// 24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	//_nop_();//36
	  //_nop_();
    }
    std=0;
    for(i=0;i<4;i++)
    {
      sclk=1;
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	_nop_();
	_nop_();
	_nop_();  //8
 	_nop_(); //9 
 	 _nop_();
	//_nop_();
//	_nop_();   //12
	//_nop_();
	//_nop_();  //14
      sclk=0;
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_(); //17
  	_nop_();
 	_nop_();//19
 	_nop_();
 	_nop_();//21
 	_nop_();//22
 	_nop_();
	_nop_();// 24
	_nop_();
	_nop_();
	_nop_();
	_nop_();//28
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	//_nop_();//36
	  //_nop_();
    }
  }
}

void clrram (void)
{
  wr_lcd (comm,0x30);
  wr_lcd (comm,0x01);
  delay (180);
}



void Init_lcd(void)//液晶初始化
{
 wr_lcd (comm,0x30);  /*30---基本指令动作*/   
  wr_lcd (comm,0x01);  /*清屏,地址指针指向00H*/
  delay (100);
  wr_lcd (comm,0x06);  /*光标的移动方向*/
  wr_lcd (comm,0x0b);  /*开显示,关游标*/
}


void shuzi(uchar m)
{ 
 uchar i,j;
 wr_lcd(comm,0x30);
 wr_lcd(comm,0x80);
 j=0;
 for(i=1;i<2;i++)
 {
  wr_lcd(dat,0x30|m);

  //wr_lcd(dat,0x30|n);
  //wr_lcd(dat,0x2e);
  //wr_lcd(dat,0x30|g);
  //wr_lcd(dat,0x30|h);
 
 }
 }


void Init_SYSCLK(void)
{ 
  uint i;
  OSCXCN = 0X67;//开始外部22.1184M晶振
  //OSCXCN=0X75;
  for(i = 0;i < 256;i++); //等待外部起振
  while(!(OSCXCN & 0X80));	//查询标志位
  OSCICN = 0X88;//用外部晶振,并使能始终丢
  //OSCICN=0x0c;
 // OSCICN=0X15;
 /*
  int n = 0;
	OSCXCN = 0x67;
   for (n = 0; n < 255; n++) ;
   while ( (OSCXCN & 0x80) == 0 );
	OSCICN = 0x0c; */
}



void Init_PORT(void)
{
   XBR2=0X40;
   P3MDOUT=0XFF;

}


void main(void)
{
 Init_SYSCLK();
  Init_PORT();
  Init_lcd();

  while(1)
  {
  	shuzi(1);
	wr_lcd(comm,0x30);
	wr_lcd(comm,0x80);
	wr_lcd(dat,0x31);

  
  }
}

⌨️ 快捷键说明

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