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

📄 display.lst

📁 液晶屏的单片机demo程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.00  DISPLAY                                                                10/15/2005 18:45:27 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN E:\液晶程序\DISPLAY.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE E:\液晶程序\DISPLAY.C DB SB OE

stmt level    source

*** WARNING C500 IN LINE 1 OF E:\液晶程序\DISPLAY.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
   1          #include <reg52.h> // SFR declarations
   2          #include <head.h> // SFR declarations
   3          
   4          
   5          
   6          void delay(unsigned int num)
   7          {
   8   1              while(num--)
   9   1              {
  10   2                      ;
  11   2              }
  12   1      
  13   1      }
  14          
  15          void lw(unsigned char x,unsigned char y,unsigned char dd)
  16          {
  17   1              if (x<61)
  18   1                      {       e1=e2=1;
  19   2                              di=rw=0;P1=0xb8|y;e1=1;delay(2);e1=0;delay(2);
  20   2                              e1=e2=1;
  21   2                              di=rw=0;P1=0x00|x;e1=1;delay(2);e1=0;delay(2);
  22   2                              e1=e2=1;
  23   2                              di=1;rw=0;P1=dd;e1=1;delay(2);e1=0;delay(2);
  24   2                              e1=e2=1;
  25   2                      }
  26   1               else
  27   1                      {
  28   2                              x=x-61;e1=e2=1;
  29   2                              di=rw=0;P1=0xb8|y;e2=1;delay(2);e2=0;delay(2);
  30   2                              e1=e2=1;
  31   2                              di=rw=0;P1=0x00|x;e2=1;delay(2);e2=0;delay(2);
  32   2                              e1=e2=1;
  33   2                              di=1;rw=0;P1=dd;e2=1;delay(2);e2=0;delay(2);
  34   2                              e1=e2=1;
  35   2                      }
  36   1              P1=0xff;
  37   1      }
  38          
  39          void clear_screen(unsigned char Row)
  40          {
  41   1              unsigned char x,y;
  42   1              for (y=0;y<Row;y++)
  43   1              {
  44   2                      for (x=0;x<122;x++)
  45   2                             lw(x,y,0x00);
  46   2              }
  47   1      }
  48          void write_chinese(UCHAR x,UCHAR y,UCHAR width,UCHAR code*array)
  49          {
  50   1              unsigned char j,dd;
  51   1      /*
  52   1              for(j=0;j<32;j++)
  53   1              {
  54   1                      dd= array[j];
C51 COMPILER V7.00  DISPLAY                                                                10/15/2005 18:45:27 PAGE 2   

  55   1                      if(j<16) lw(x+j,y,dd);
  56   1                      else     lw(x+j-16,y+1,dd);
  57   1              }
  58   1      */
  59   1              switch(width)
  60   1              {
  61   2                      case 0x04:
  62   2                              for(j=0;j<width;j++)
  63   2                              {
  64   3                                      dd=array[j];
  65   3                                      lw(x+j,y,dd);
  66   3                              }
  67   2                              break;
  68   2                      case 0x08:
  69   2                              for(j=0;j<width*2;j++)
  70   2                              {
  71   3                                      dd=array[j];
  72   3                                      if(j<width) lw(x+j,y,dd);
  73   3                                      else     lw(x+j-width,y+1,dd);
  74   3                              }
  75   2                              break;
  76   2                      default:
  77   2                              for(j=0;j<0x20;j++)
  78   2                              {
  79   3                                      dd=array[j];
  80   3                                      if(j<0x10) lw(x+j,y,dd);
  81   3                                      else     lw(x+j-0x10,y+1,dd);
  82   3                              }
  83   2                              break;
  84   2              }
  85   1      }
  86          unsigned char code *number(unsigned char t)
  87          {
  88   1              unsigned char code*string;
  89   1              switch(t)
  90   1              {
  91   2                      case 0: string=num0;break;
  92   2                      case 1: string=num1;break;
  93   2                      case 2: string=num2;break;
  94   2                      case 3: string=num3;break;
  95   2                      case 4: string=num4;break;
  96   2                      case 5: string=num5;break;
  97   2                      case 6: string=num6;break;
  98   2                      case 7: string=num7;break;
  99   2                      case 8: string=num8;break;
 100   2                      case 9: string=num9;break;
 101   2                      default: string=num0;break;
 102   2              }
 103   1              return(string);
 104   1      }
 105          void send_command(unsigned char cmd)
 106          {
 107   1              e1=e2=1;
 108   1              delay(2);
 109   1              e1=e2=0;
 110   1              di=rw=0;
 111   1              P1=cmd;
 112   1              e1=e2=1;
 113   1              delay(2);
 114   1              e1=e2=0;
 115   1              delay(2);
 116   1              P1=0xff;
C51 COMPILER V7.00  DISPLAY                                                                10/15/2005 18:45:27 PAGE 3   

 117   1              e1=e2=1;
 118   1      }
 119          unsigned char read(void)
 120          {
 121   1              unsigned char status;
 122   1              e1=e2=1;
 123   1              delay(2);
 124   1              e1=e2=0;
 125   1              di=0;rw=1;
 126   1              delay(2);
 127   1              e1=e2=1;
 128   1              delay(2);
 129   1              e1=e2=0;
 130   1              status=P1;
 131   1              delay(2);
 132   1              e1=e2=1;
 133   1              return(status);
 134   1      }
 135          void lcd_init(void)
 136          {
 137   1              UCHAR   x,y;
 138   1              rst = 1;
 139   1              delay(2);
 140   1              rst = 0;

⌨️ 快捷键说明

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