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

📄 text1.c

📁 单片机方面的程序
💻 C
字号:
#include <REGX52.H>


    
#define uchar unsigned char
idata char flag0 ;
idata char flag1 ;
idata char flag2 ;
idata char flag3 ;
idata char flag4 ;
idata char flag5 ;
idata char flag6 ;
idata char flag7 ;

sbit RS=P2^3;
sbit RW=P2^4;
sbit LCDE=P2^5;
sbit big=P3^2;
sbit fd=P3^3;

unsigned char line1[16],line2[16];
unsigned char code cgram1[64]={0x00,0x1f,0x12,0x09,0x1f,0x11,0x01,0x0f,
0x1e,0x04,0x04,0x08,0x1f,0x01,0x00,0x1e,
0x02,0x03,0x06,0x05,0x04,0x09,0x09,0x12,
0x00,0x1c,0x04,0x08,0x10,0x18,0x04,0x07,
0x00,0x0f,0x09,0x09,0x0f,0x09,0x09,0x0f,0x00,0x1c,0x04,0x04,0x1c,0x04,0x04,0x1c,
0x00,0x04,0x14,0x14,0x14,0x04,0x04,0x03,0x00,0x12,0x13,0x11,0x01,0x04,0x04,0x1c};


void delay5ms()
{
 register int i;
 for (i=0;i<1000;i++)
 ;
}

void delay50us()
{
 register int i;
 for (i=0;i<20;i++)
 ;
}

wr_com(unsigned char comm)
{
  LCDE=0;
  RS=0;
  RW=0;
  LCDE=1;
  P0=comm;
  RS=0;
  RW=0;
  LCDE=0;
}

wr_data(unsigned char dat)
{
  LCDE=0;
  RS=0;
  RW=0;
  RS=1;
  RW=0;
  LCDE=1;
  P0=dat;
    LCDE=0;
  RS=0;
  RW=0;
}


unsigned char rd_bf()
{
  unsigned char i;
  P0=0xff;
  LCDE=0;
  RS=0;
  RW=0;
  RS=0;
  RW=1;
  LCDE=1;
  i=P0;
    LCDE=0;
  return(i);
}
 
void init()
{
 unsigned char in,i;
 wr_com(0x30);
 delay5ms();
 wr_com(0x30);
 delay5ms();
 wr_com(0x30);
 delay5ms();
 in=rd_bf();
 delay5ms();
 wr_com(0x01);
 delay5ms();
 in=rd_bf();
 delay5ms();
 wr_com(0x06);
 delay5ms();
 in=rd_bf();
 delay50us();
 wr_com(0x38);
 delay50us();
 in=rd_bf();
 delay50us();
 wr_com(0x0c);
 delay50us();
 in=rd_bf();
 delay50us();
 
 wr_com(0x40);  //set cgram address
 delay50us();
 in=rd_bf();
 delay50us();
 for(i=0;i<64;i++)
 {
  wr_data(cgram1[i]);  //display "0"
  delay50us();
  in=rd_bf();
 }
 
 


}


display_162()
{
   unsigned char in,i;
  wr_com(0x80);  //set ram address
  delay50us();
  in=rd_bf();
  delay50us();
  for(i=0;i<16;i++)
  {
   wr_data(line1[i]);  //display "0"
   delay50us();
   in=rd_bf();
  }
  in=rd_bf();
  delay50us();
  wr_com(0xc0);
  delay50us();
  in=rd_bf();
  delay50us();
  for(i=0;i<16;i++)
  {
   wr_data(line2[i]);  //display "0"
   delay50us();
   in=rd_bf();
  }
}
main()
{
 unsigned char in,i,da;
 delay5ms();
 delay5ms();
 delay5ms();
 delay5ms();
    
  
 init(); 

 while(1)
 {
  if(fd==1)
  {
    line1[0]=0x20;
    line1[1]=0;  //display "爱思"
    line1[2]=1;
    line1[3]=4;
    line1[4]=5;
    line1[5]=0x20;
    line1[6]=0;  //display "爱思"
    line1[7]=1;
    line1[8]=4;
    line1[9]=5;
    line1[10]=0x20;
    line1[11]=0;  //display "爱思"
    line1[12]=1;
    line1[13]=4;
    line1[14]=5;
    line1[15]=0x20;
    
    line2[0]=0x20;
    line2[1]=2;  //display "爱思"
    line2[2]=3;
    line2[3]=6;
    line2[4]=7;
    line2[5]=0x20;
    line2[6]=2;  //display "爱思"
    line2[7]=3;
    line2[8]=6;
    line2[9]=7;
    line2[10]=0x20;
    line2[11]=2;  //display "爱思"
    line2[12]=3;
    line2[13]=6;
    line2[14]=7;
    line2[15]=0x20;
   
  } 
 else if(big==1){
  da=0x41;
  for(i=0;i<16;i++)
  {
   line1[i]=da;
   da++; 
  }
  
  
  da=0x51;
  for(i=0;i<16;i++)
  {
   line2[i]=da;
   da++; 
  }
 }
 else
 {
  da=0x61;
  for(i=0;i<16;i++)
  {
   line1[i]=da;
   da++; 
  }
  
  
  da=0x71;
  for(i=0;i<16;i++)
  {
   line2[i]=da;
   da++; 
  }
 }
 display_162(); 
 }
}

//---------------------

⌨️ 快捷键说明

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