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

📄 hex_1.c

📁 12864液晶原程序.#include <reg52.h> #include <intrins.h> typedef unsigned char BYTE typede
💻 C
📖 第 1 页 / 共 3 页
字号:
 write_com(0x91);//第二行(如果是地址是:90H,即LCD的第二行的第一个位置显示)
 hzkdis("单片机学习网");
 
 write_com(0x88);//第三行(如果是地址是:88H,即LCD的第二行的第一个位置显示)
 hzkdis("LCD12864点阵液晶");
 
 write_com(0x9A);//第四行(如果是地址是:98H,即LCD的第二行的第一个位置显示)
 hzkdis("测试程序");
 

 
}
/*------------------显示图片------------------------2005.11.14.21:20修改---benladn911---*/
void Disp_Img(unsigned char code *img)
{  unsigned int j=0;
   unsigned char x,y,i;
       for(i=0;i<9;i+=8)
       for(y=0;y<32;y++)/*原来 为 y<26 ,上下两个半屏不能正常对接显示,导致显示的图片中间有空隙*/
         for(x=0;x<8;x++)
         {  write_com(0x36);//功能设置---8BIT控制界面,扩充指令集
            write_com(y+0x80);        //行地址
            write_com(x+0x80+i);     //列地址
            write_com(0x30);
            write_data(img[j++]);
            write_data(img[j++]);
         }   
           
}



/*------------------清整个GDRAM空间---------------------------- */
void clrgdram()												   
{ unsigned char x,y;
        for(y=0;y<64;y++)
         for(x=0;x<16;x++)
         {  write_com(0x34);
            write_com(y+0x80);        //行地址
            write_com(x+0x80);     //列地址
            write_com(0x30);
            write_data(0x00);
            write_data(0x00);
                               }
   } 
   
 
    
/*------------------整屏写入数据:全亮,或者竖条-----------------------------*/
void lcdfill(unsigned char disdata)
{ unsigned char x,y;
        for(y=0;y<32;y++)
         for(x=0;x<16;x++)
         {  write_com(0x36);
            write_com(y+0x80);        //行地址
            write_com(x+0x80);     //列地址
            write_com(0x30);
            write_data(disdata);
            write_data(disdata);
            }
   write_com(0x34);                            
   write_com(0x36);
   }



/*------------------显示横-----------------------------*/
void Disp_H_Line()
{  unsigned char x,y;
   unsigned char k=0x00;  
       for(y=0;y<32;y++)
         { k=~k;
           for(x=0;x<16;x++)
         {  write_com(0x36);
            write_com(y+0x80);      //行地址
            write_com(x+0x80);     //列地址
            write_com(0x30);
            write_data(k);
            write_data(k);
           };
         }
     write_com(0x34);                          
  write_com(0x36);
}



/*------------------显示边框-------------------------------
void Frame()
{unsigned char x,y;
          lcdfill(0x00);
        for(x=0;x<9;x+=8)
          for(y=0;y<32;y++)
           { write_com(0x36);
            write_com(y+0x80);      //行地址
            write_com(x+0x80);        //列地址
            write_com(0x30);
            write_data(0x80);
            write_data(0x00);
           
            write_com(0x36);
            write_com(y+0x80);      //行地址
            write_com(x+0x87);        //列地址
            write_com(0x30);
            write_data(0x00);
            write_data(0x01);
            
            }
      for(y=0;y<2;y++)
         for(x=0;x<8;x++)
           {write_com(0x36);
            write_com(y*31+0x80);      //行地址
            write_com(x+0x80+8*y);        //列地址
            write_com(0x30);
            write_data(0xff);
            write_data(0xff);
           }
         write_com(0x34);
         write_com(0x36);
   }
					
*/					
						 
 
         
/*------------------清屏命令--------------------------*/  
 void clrscreen()
 { 
   write_com(0x01);
   delay(10);
   }


   
/*------------------唐诗《静夜思》--------------------------*/
void gushi_display()
{  write_com(0x30);
   clrscreen();
   write_com(0x90);
   hzkdis("Welcome to here!");
   write_com(0x88);
   hzkdis("TELL:13602412565");
    delay(20000);


   clrscreen();
   write_com(0x80);
   hzkdis("成功的人--");
   write_com(0x92);
   hzkdis("失败找原因。");
   write_com(0x88);
   hzkdis("失败的人--");
   write_com(0x9a);
   hzkdis("失败找理由。");
      delay(20000);

}




main()
{ 
unsigned char i; 
  RES=0;
  delay(100);
  RES=1;

   while(1)
   { 
     RW=0;
      lcdreset();                    //初始化LCD屏
     delay(2000);
      ceshi();                      //显示测试字样
     delay(20000);


     clrgdram();
     clrscreen();                  //清屏
     Disp_Img(BMP);               //调入一幅图画
     delay(20000);


     clrgdram();
     clrscreen();                  //清屏
     Disp_Img(BMP1);               //调入一幅图画
     delay(20000);


      clrgdram();
     clrscreen();                  //清屏
     Disp_Img(BMP2);               //调入一幅图画
      delay(20000);


     clrgdram();
     clrscreen();                  //清屏
     Disp_Img(BMP3);               //调入一幅图画
      delay(20000);


     clrgdram();
     clrscreen();                  //清屏
     Disp_Img(BMP4);               //调入一幅图画
      delay(20000);


     clrgdram();
     clrscreen();                  //清屏
     Disp_Img(BMP5);               //调入一幅图画
      delay(20000);


 //    clrscreen();                  //清屏
  //   lcdfill(0xff);               //显示全开
   //   delay(20000); 
	             
     clrscreen();                  //清屏
     Disp_H_Line();                //显示横条
       delay(20000);
      
    clrscreen();                  //清屏
     lcdfill(0xaa);               //显示竖条 
      delay(20000);
     
//      Frame();                     //显示边框
 //     delay(20000);

           
//     write_com(0x87);          //调用自定义的CGRAM的代码
//     write_data(0x00);
//     write_data(0x00);
  //   delay(4000);
      
 
      clrscreen();                  //清屏
     gushi_display();             //显示唐诗
      delay(20000);
      for(i=0;i<8;i++)        //字符循环左移
    {write_com(0x18);  
       delay(10000);}
		
		 
      clrgdram();
     clrscreen();                  //清屏
       gushi_display(); 
      delay(20000);   
      write_com(0x36);        
      write_com(0x04);          //第一行反白显示
      delay(20000);
      write_com(0x04);          //第一行恢复正常
      delay(20000);
       write_com(0x05);          //第二行反白显示
     delay(20000);
      write_com(0x05);          //第二行恢复正常
      delay(20000);
      write_com(0x03);         //垂直滚动屏幕的内容
      write_com(0x60);
      delay(20000); 
      
   }
}


⌨️ 快捷键说明

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