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

📄 lcd.lst

📁 显示128*64LCD,并显示 模数时间和日期
💻 LST
字号:
C51 COMPILER V8.02   LCD                                                                   03/23/2007 17:55:12 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: d:\program files\Keil\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <absacc.h>
   2          #include <intrins.h>
   3          #include <reg51.h>
   4          #include "library.h"
   5          #define uchar unsigned char
   6          #define DataPort P1
   7          sbit    CS1=P2^7;
*** ERROR C141 IN LINE 7 OF LCD.C: syntax error near 'sbit'
*** ERROR C247 IN LINE 7 OF LCD.C: non-address/-constant initializer
   8          sbit   CS2=P2^6;
   9          sbit   DI=P2^5;
  10          sbit   R_W=P2^4;
  11          sbit   E=P2^3;
  12          //写显示数据
  13          void write_data(uchar dat)                                                   
  14          {   
  15   1        DI=1;
  16   1        R_W=0;
  17   1        DataPort=dat;
  18   1        E=1;
  19   1        E=0;
  20   1      }
  21          
  22          //发送指令
  23          void send_data(uchar dat)
  24          {  
  25   1        DI=0;
  26   1        R_W=0;
  27   1        DataPort=dat;
  28   1        E=1;
  29   1        E=0;
  30   1      }
  31          //显示开关
  32          void display_onoff(uchar onoff)
  33          {
  34   1        onoff&=0x3f;
  35   1        onoff|=0x3e;
  36   1        send_data(onoff);
  37   1      }
  38          //设置行地址(0-7)
  39          void set_line(uchar line)
  40          {
  41   1        line&=0xbf;
  42   1        line|=0xb7;
  43   1        send_data(line);
  44   1      }
  45          //设置列地址(0-63)
  46          void set_column(uchar column)
  47          {
  48   1        column&=0x7f;
  49   1        column|=0x40;
  50   1        send_data(column);
  51   1      }
  52          //选择半屏
  53          void select_screem(uchar screem)
C51 COMPILER V8.02   LCD                                                                   03/23/2007 17:55:12 PAGE 2   

  54          {
  55   1        switch(screem)
  56   1          { case 0:
  57   2                       CS1=0;
*** ERROR C183 IN LINE 57 OF LCD.C: unmodifiable lvalue
  58   2                       CS2=0;
  59   2                       break;
  60   2           case 1:
  61   2                   CS1=0;
*** ERROR C183 IN LINE 61 OF LCD.C: unmodifiable lvalue
  62   2                       CS2=1;
  63   2                       break;
  64   2              case 2:
  65   2                   CS1=1;
*** ERROR C183 IN LINE 65 OF LCD.C: unmodifiable lvalue
  66   2                       CS2=0;
  67   2                       break;
  68   2          case 3:
  69   2                   CS1=1;
*** ERROR C183 IN LINE 69 OF LCD.C: unmodifiable lvalue
  70   2                       CS2=1;
  71   2                       break;
  72   2              default:
  73   2                   break;
  74   2              }
  75   1      }
  76          //clear screem
  77          void clear_screem(uchar screem)
  78          { uchar i,j;
  79   1        select_screem(screem);
  80   1        for(i=0;i<8;i++)
  81   1        {
  82   2           set_line(i);
  83   2               for(j=0;j<64;j++)
  84   2                 {
  85   3                   write_data(0x00);
  86   3                 } 
  87   2        }
  88   1      
  89   1      }
  90          //显示8*8点阵单元
  91          void show_unit(uchar line,uchar column,uchar * address)
  92          {
  93   1        uchar i,j;
  94   1        if(column<64)
  95   1        {
  96   2          select_screem(1);
  97   2          set_line(line);
  98   2              set_column(column);
  99   2              for(i=0;i<8;i++)
 100   2                 {
 101   3                   if(column+i>63)
 102   3                          {
 103   4                               select_screem(2);
 104   4                               set_column(column-64+i);
 105   4                               write_data(*(address+i));
 106   4                              }
 107   3                        else
 108   3                          { write_data(*(address+i));}
 109   3                 }
 110   2        }
 111   1      
C51 COMPILER V8.02   LCD                                                                   03/23/2007 17:55:12 PAGE 3   

 112   1       else
 113   1       { 
 114   2        select_screem(2);
 115   2        set_line(line);
 116   2        set_column(column);
 117   2              for(i=0;i<8;i++)
 118   2                 {
 119   3                   if(column+i>63)
 120   3                          {
 121   4                               select_screem(1);
 122   4                               set_column(column-64+i);
 123   4                               write_data(*(address+i));
 124   4                              }
 125   3                        else
 126   3                          { write_data(*(address+i)); }
 127   3                 } 
 128   2       }
 129   1      }
 130          //显示16*8点阵字符
 131          void show_number(uchar line     ,uchar column,uchar num)
 132          {  uchar * address;
 133   1         address=&number[num][0];
 134   1         show_unit(line,column,address);
 135   1         show_unit(line+1,column,*(address+8));
 136   1      }
 137          //显示16*16点阵汉字
 138          void show_china(uchar line      ,uchar column,uchar num)
 139          {  
 140   1         uchar * address;
 141   1         address=&number[num][0];
 142   1         show_unit(line,column,address);
 143   1         show_unit(line,column+8,*(address+8));
 144   1         show_unit(line+1,column,*(address+16));
 145   1         show_unit(line+1,column+8,*(address+24));
 146   1      }
 147          void Init_LCD(void)
 148          {
 149   1        display_onoff(1);
 150   1        clear_screem(1);
 151   1        clear_screem(2);
 152   1        show_number(0,0,0);
 153   1      }

C51 COMPILATION COMPLETE.  0 WARNING(S),  6 ERROR(S)

⌨️ 快捷键说明

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