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

📄 1602.lst

📁 本系统的控制部分是以89C51为核心
💻 LST
字号:
C51 COMPILER V8.02   1602                                                                  11/29/2006 19:54:12 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN E:\03440136\资料会总9.7\程序9.7\程序调试完成\液晶\1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\03440136\资料会总9.7\程序9.7\程序调试完成\液晶\1602.C DB SB OE

line level    source

   1          #include<reg51.h>
   2          #include<stdio.h>
   3          #define uchar unsigned char
   4          uchar q;/*判忙*/
   5          uchar data i;
   6          uchar data wbyte;
   7          sbit R_D=P3^7;
   8          sbit E=P1^7;/*读写使能信号,1有效*/
   9          sbit R_W=P1^6;/*读写选择信号;1为读选通,0为写选通*/
  10          sbit D_I=P1^5;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
  11          /**************************************************/
  12          void WCOM(uchar);/*写指令*/
  13          void Clearlcd();/*清屏*/
  14          void IMIM();/*初始化*/
  15          void DAT(uchar);/*送数据*/
  16          void DELAY(unsigned char t);/*延时*/
  17          void CHK_BUSY();/*测忙*/
  18          void DISP();/*LCD显示初始化*/
  19          void HZXS(unsigned char code *s);/*显示字符串*/
  20          void SZXS(unsigned long e100);
  21          void Disp_Img(unsigned char code *img);
  22          unsigned long fd;
  23          /********************主程序********************/
  24          void MAIN()
  25          {
  26   1      //  PSB=1;//闭幕式串行接口选择:H-并行,L-串行
  27   1        //RST=0;复位,低电平
  28   1        //e245=0;
  29   1        DELAY(3);/*延时*/
  30   1        IMIM();/*初始化*/
  31   1         DISP();
  32   1         WCOM(0x85);
  33   1         fd=21327;
  34   1         SZXS(fd);
  35   1         WCOM(0x95);
  36   1         SZXS(5451);
  37   1         //Disp_Img(BMP);
  38   1        for(;;);
  39   1       }
  40           /********************LCD显示初始化********************/
  41          void DISP()
  42          { WCOM(0x80);/*第一行首地址设定*/
  43   1       HZXS("即时功率:");
  44   1       WCOM(0X90);
  45   1       HZXS("用电度数:");
  46   1       WCOM(0X88);
  47   1       HZXS("峰电单价:0.23元");
  48   1       WCOM(0X98);
  49   1       HZXS("谷电单价:54.2元");
  50   1       }
  51          
  52          /********************写指令子程序********************/
  53          void WCOM(uchar d)    /*写指令程序*/
  54          {
  55   1       DELAY(5);
C51 COMPILER V8.02   1602                                                                  11/29/2006 19:54:12 PAGE 2   

  56   1       R_W=0;
  57   1       D_I=0;/*写数据指令*/
  58   1      // DIR_RD=1;
  59   1       P0=d;/*将数据送入p1口*/
  60   1       //DIR_WR=1;
  61   1       E=1;/*使能信号开*/
  62   1       E=0;/*使能信号关*/
  63   1      }
  64          /********************送数据子程序********************/
  65          void DAT(uchar d)
  66          {
  67   1       DELAY(5);
  68   1       D_I=1;/*送数据指令*/
  69   1       R_W=0;
  70   1      // DIR_RD=1;
  71   1       P0=d;
  72   1       //DIR_WR=1;
  73   1       E=1;/*使能信号开*/
  74   1       E=0;/*使能信号关*/
  75   1      }
  76          /********************初始化子程序********************/
  77          void IMIM()
  78          {//RST=0;
  79   1       //DELAY(3);
  80   1       //RST=1;
  81   1      //  PSB=1; //闭幕式串行接口选择:H-并行,L-串行
  82   1       DELAY(0);
  83   1       WCOM(0x30);/*功能设定*/
  84   1       DELAY(0);
  85   1       WCOM(0x01);/*清屏指令*/
  86   1       DELAY(3);
  87   1       WCOM(0x06);/*游标右移*/
  88   1       DELAY(0);
  89   1       WCOM(0X0F);/*开显示,关光标,关闪烁*/
  90   1       DELAY(0);
  91   1      }
  92          /********************延时子程序********************/
  93          void DELAY(unsigned char t)
  94          {
  95   1      unsigned char i,j;
  96   1       for(i=t;i>0;i--)
  97   1        for(j=255;j>0;j--);
  98   1      }
  99          /********************基本指令集清屏子程序********************/
 100          void Clearlcd()
 101          {
 102   1       D_I=0;
 103   1       R_W=0;
 104   1       WCOM(0x01);/*清除显示*/
 105   1      }
 106          /*================================================
 107          ===测忙碌子程序
 108          ===RS=0,RW=1,E=H,D0-D7=状态字
 109          
 110          
 111          /*------------------显示字符串--------------------------*/
 112          void HZXS(unsigned char code *s)
 113          {  while(*s>0)
 114   1         {  DAT(*s);
 115   2            s++;
 116   2            DELAY(0);
 117   2         }
C51 COMPILER V8.02   1602                                                                  11/29/2006 19:54:12 PAGE 3   

 118   1      }
 119          /*------------------显示5位数字543.21--------------------------*/
 120          void SZXS(unsigned long e100)
 121          { unsigned char d,d1;
 122   1             d=e100/10000;
 123   1             e100=e100%10000;
 124   1             d1=d+48;
 125   1             DAT(d1);
 126   1             d=e100/1000;
 127   1             e100=e100%1000;
 128   1             d1=d+48;
 129   1             DAT(d1);
 130   1             d=e100/100;
 131   1             e100=e100%100;
 132   1             d1=d+48;
 133   1             DAT(d1);
 134   1             DAT(0X2E);
 135   1             d=e100/10;
 136   1             e100=e100%10;
 137   1             d1=d+48;
 138   1             DAT(d1);
 139   1             d1=e100+48;
 140   1             DAT(d1);
 141   1      }
 142          
 143          /*------------------显示图片------------------------2005.11.14.21:20修改---benladn911--- */
 144          void Disp_Img(unsigned char code *img)
 145          {  unsigned int j=0;
 146   1         unsigned char x,y,i;
 147   1             for(i=0;i<9;i+=8)
 148   1             for(y=0;y<32;y++)/*原来 为 y<26 ,上下两个半屏不能正常对接显示,导致显示的图片中间有空隙*/
 149   1               for(x=0;x<8;x++)
 150   1               {  WCOM(0x36);//功能设置---8BIT控制界面,扩充指令集
 151   2                  WCOM(y+0x80);        //行地址
 152   2                  WCOM(x+0x80+i);     //列地址
 153   2                  WCOM(0x30);
 154   2                  DAT(img[j++]);
 155   2                  DAT(img[j++]);
 156   2               }
 157   1      
 158   1      }
C51 COMPILER V8.02   1602                                                                  11/29/2006 19:54:12 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
R_W. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
_WCOM. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  d. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
Clearlcd . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
MAIN . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
IMIM . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_HZXS. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  s. . . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  2
wbyte. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
DISP . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_SZXS. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  e100 . . . . . . . . . . . . . . . .  AUTO     DATA   U_LONG   0000H  4
  d. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  d1 . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
_DAT . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0024H  -----
  d. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
E. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
fd . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_LONG   0001H  4
_DELAY . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  t. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  j. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
i. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0005H  1
D_I. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
_Disp_Img. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  img. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  2
  j. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0002H  2
  x. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  y. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0006H  1
q. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0006H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    547    ----
   CONSTANT SIZE    =     56    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7      16
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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