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

📄 picture.lst

📁 一个LCD菜单绘图程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.08   PICTURE                                                               10/31/2007 15:03:41 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE PICTURE
OBJECT MODULE PLACED IN picture.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE picture.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include <stdio.h>              /* standard I/O .h-file */
   3          #include <reg51f.h>
   4          #include <absacc.h>
   5          #include <x5045.h>
   6          sbit lcd_rs      = P1^5;
   7          sbit lcd_e       = P1^7;
   8          sbit lcd_rw      = P1^6;
   9          unsigned char code hz0[];
  10          unsigned char code hz1[];
  11          unsigned char code nBitmapDot[];
  12          unsigned char code zuobiao[];
  13          
  14          #define         LCD     XBYTE[0x7000]
  15          //**********
  16          //延时子程序
  17          //**********
  18          void Delay(void)
  19          {
  20   1              unsigned char i;        
  21   1              i = 8;
  22   1              while(--i);
  23   1      }
  24          //**********
  25          //写指令子程序
  26          //**********
  27          void LcdCommand(unsigned char tt)
  28          {
  29   1              Delay();
  30   1              lcd_rs = 0;
  31   1              lcd_rw = 0;
  32   1              lcd_e = 1;
  33   1              Delay();
  34   1              LCD = tt;
  35   1              Delay();
  36   1              lcd_e = 0;
  37   1              Delay();
  38   1      }
  39          //**************
  40          //写数据子程序
  41          //**************
  42          void  LcdData( unsigned char temp )
  43          {
  44   1              Delay();                                //以确保上一指令/数据模块已经接收处理完 
  45   1              lcd_rs = 1;
  46   1              lcd_rw = 0;
  47   1              lcd_e = 1;
  48   1              Delay();
  49   1              LCD = temp;
  50   1              Delay();
  51   1              lcd_e = 0;
  52   1              Delay();
  53   1      }
  54          //**********************
  55          //      清除图形显示
C51 COMPILER V7.08   PICTURE                                                               10/31/2007 15:03:41 PAGE 2   

  56          //***********************
  57          void ClearGraph(void)
  58          {
  59   1              unsigned char row,column,i,j;
  60   1              row = 0x80;                     //列
  61   1              column = 0x80;          //行
  62   1              for(j=0;j<=64;j++)
  63   1              {
  64   2                      for(i=0;i<=17;i++)
  65   2                      {
  66   3                              LcdCommand(0x34);                    //关闭绘图显示功能
  67   3                              LcdCommand(column+j);                            //起始行
  68   3                              LcdCommand(row+i);                                       //起始列
  69   3                              LcdCommand(0x30);                                        //基本指令集
  70   3                              LcdData(0);                                                      //输入显示数据(横向高8位数据)
  71   3                              LcdData(0);                                                      //输入显示数据(横向低8位数据)
  72   3                      }
  73   2              }
  74   1              LcdCommand(0x36);                           //打开绘图显示功能
  75   1              LcdCommand(0x30);
  76   1      }
  77          
  78          //***********************************
  79          //图形显示程序步骤:
  80          //1、写Y坐标
  81          //2、写X坐标
  82          //3、写D15-D8
  83          //4、写D7-D0
  84          //左半屏
  85          //************************************
  86          /*void pic_showL(p)//y,x,
  87          unsigned char *p;//y,x,
  88          {
  89                  unsigned char i,j;
  90                  LcdCommand(0x36);  
  91                  for(i=0x80;i<0xa0;i++)                  //写上半屏
  92                  {
  93                          for(j=0x80;j<0x84;j++)
  94                          {
  95                                  LcdCommand(i);
  96                                  LcdCommand(j);
  97                                  LcdData(*p);
  98                                  LcdData(*(p+1));
  99                                  p = p + 2;
 100                          }
 101                  }
 102                  for(i=0x80;i<0xa0;i++)          //写下半屏
 103                  {
 104                          for(j=0x88;j<0x8C;j++)
 105                          {
 106                                  LcdCommand(i);
 107                                  LcdCommand(j);
 108                                  LcdData(*p);
 109                                  LcdData(*(p+1));
 110                                  p = p + 2;
 111                          }
 112                  }
 113                  LcdCommand(0x36);
 114                  LcdCommand(0x30);
 115          }
 116          //***********************************
 117          //图形显示程序步骤:
C51 COMPILER V7.08   PICTURE                                                               10/31/2007 15:03:41 PAGE 3   

 118          //1、写Y坐标
 119          //2、写X坐标
 120          //3、写D15-D8
 121          //4、写D7-D0 
 122          //右半屏
 123          //************************************
 124          void pic_showR(p)//y,x,
 125          unsigned char *p;//y,x,
 126          {
 127                  unsigned char i,j;
 128                  LcdCommand(0x36);  
 129                  for(i=0x80;i<0xa0;i++)                  //写上半屏
 130                  {
 131                          for(j=0x84;j<0x88;j++)
 132                          {
 133                                  LcdCommand(i);
 134                                  LcdCommand(j);
 135                                  LcdData(*p);
 136                                  LcdData(*(p+1));
 137                                  p = p + 2;
 138                          }
 139                  }
 140                  for(i=0x80;i<0xa0;i++)          //写下半屏
 141                  {
 142                          for(j=0x8c;j<0x90;j++)
 143                          {
 144                                  LcdCommand(i);
 145                                  LcdCommand(j);
 146                                  LcdData(*p);
 147                                  LcdData(*(p+1));
 148                                  p = p + 2;
 149                          }
 150                  }
 151                  LcdCommand(0x36);
 152                  LcdCommand(0x30);
 153          }*/
 154          
 155          //***********************************
 156          //图形显示程序步骤:
 157          //1、写Y坐标
 158          //2、写X坐标
 159          //3、写D15-D8
 160          //4、写D7-D0 
 161          //全屏
 162          //************************************
 163          void pic_showF(p)//y,x,
 164          unsigned char *p;//y,x,
 165          {
 166   1              unsigned char i,j;
 167   1              LcdCommand(0x36);  
 168   1              for(i=0x80;i<0xa0;i++)                  //写上半屏
 169   1              {
 170   2                      for(j=0x80;j<0x88;j++)
 171   2                      {
 172   3                              LcdCommand(i);
 173   3                              LcdCommand(j);
 174   3                              LcdData(*p);

⌨️ 快捷键说明

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