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

📄 lcd.c

📁 自己写的小程序
💻 C
字号:
#include "Fs7805.h"
#include "Fs7805Regs.h"
#include "lcd.h"

unsigned char gx,gy;

void delay100us(int us)
{
 unsigned char i,j;
  for(i=0;i<us;i++)
    for(j=0;j<100;j++);
 }
void delay1ms(int ms)
 {
 int i,j;
  for(i=0;i<ms;i++)
    for (j=0;j<1000;j++);
 }
void delay10ms(int a)
{
 int i,j,k;
  for (i=0;i<a;i++)
    for(j=0;j<10;j++)
	  for (k=0;k<1000;k++);
 }


 /*------------------初始化-----------------*/
void clear_GLCD()
{
     int   i,j;
     GLCD_CS1=1;//选择全屏
     GLCD_CS2=1;
     wr_lcd(0,GLCD_ON);//GLCD_ON=63=00111111(开显示器)
     wr_lcd(0,GLCD_START_LINE_0);//GLCD_START_LINE_0=192=11000000(设定绘图型LCD左半边的起始行)
     for(i=0;i<8;i++)
     {
         wr_lcd(0,SET_PAGE+i);//选择页数0-7
         wr_lcd(0,SET_Y_ADDRESS_0);//重新选择行数0-63
         for(j=0;j<64;j++)
             wr_lcd(1,0);//逐行清0
     }
}
void show_pattern(unsigned char page,unsigned char y,
                  unsigned char *pattern,unsigned char len)//显示函数
{
     int i;
     wr_lcd(0,SET_PAGE+page);//选择第几页写内容(page=0-7)
     wr_lcd(0,SET_Y_ADDRESS_0+y);//选择第几行
     for(i=0;i<len;i++)
     {
         wr_lcd(1,*pattern);//显示数组内的内容
         pattern++;//从第一个开始逐个显示
     }
}

void display_GLCD_data(unsigned char *p)//显示数据
{
     if (gx<64) {
         GLCD_CS1=1;//选择左半
         GLCD_CS2=0;
         show_pattern(gy,gx,p,8);
         show_pattern(gy,gx+8,p+8,8);
         show_pattern(gy+1,gx,p+16,8);
         show_pattern(gy+1,gx+8,p+24,8);
     } else
     {
       GLCD_CS1=0; //选择右半
       GLCD_CS2=1;
       show_pattern(gy,gx-64,p,8);
       show_pattern(gy,gx-56,p+8,8);
       show_pattern(gy+1,gx-64,p+16,8);
       show_pattern(gy+1,gx-56,p+24,8);
     }
     gx=gx+16;
}

void display_number(unsigned char *p)//显示数字
{
     if (gx<64) {
         GLCD_CS1=1;//选择左半
         GLCD_CS2=0;
         show_pattern(gy,gx,p,8);
         show_pattern(gy+1,gx,p+8,8);
     } else
     {
       GLCD_CS1=0; //选择右半
       GLCD_CS2=1;
       show_pattern(gy,gx-64,p,8);
       show_pattern(gy+1,gx-64,p+8,8);
     }
     gx=gx+8;
}

void display_GLCD_string(unsigned char *p,int len)//显示字符串
{
     int i;
     for(i=0;i<len;i++)
         {display_GLCD_data(p+32*i);}
}

void gotoxy(unsigned x,unsigned y)
{
     gy=y;
     gx=x;
}

/*--------------显示图片----------------*/
void display_photo (unsigned char code *img)
{
  unsigned char i,j;
  for(j=0;j<8;j++)
  {
    GLCD_CS1=1;GLCD_CS2=0;
    wr_lcd (0,GLCD_ON);
    wr_lcd (0,disp_x+j);
    wr_lcd (0,disp_z);
    wr_lcd (0,disp_y);
    for(i=0;i<64;i++)
      wr_lcd (1,img[j*128+i]);
    GLCD_CS1=0;GLCD_CS2=1;
    wr_lcd (0,GLCD_ON);
    wr_lcd (0,disp_x+j);
    wr_lcd (0,disp_z);
    wr_lcd (0,disp_y);
    for(i=64;i<128;i++)
      wr_lcd (1,img[j*128+i]);
  }
}

⌨️ 快捷键说明

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