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

📄 lcd_drv.lst

📁 天然气报警器 采用51控制 可以控制2路开关
💻 LST
字号:
C51 COMPILER V8.08   LCD_DRV                                                               11/05/2007 16:50:32 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE LCD_DRV
OBJECT MODULE PLACED IN lcd_drv.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE lcd_drv.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*========================================================================================
   2          project    : PCF8576CT驱动4背极段码液晶显示器
   3          Developer  : Laputa
   4          Date       : 07.4.12
   5          
   6          ===========================================================================================*/
   7          
   8          #include "STC89C51RC_RD_PLUS.H" 
   9          #include "VI2C_C51.h" 
  10          #include "LCD_DRV.h "
  11          
  12          
  13          //===================================================================================
  14          //               定义真值表
  15          uint8 code asc[] ={0x7B,0x60,0X5E,0X7C,0X65,0X3D,0X3F,0X70,0X7F,0X7D};
  16          /*======================================================================================
  17          /////////////////////////       延时  /////////////////////////////////////////////////////
  18          ======================================================================================*/
  19          void Delay(unsigned int Delx)                       
  20           {                                                     
  21   1         unsigned int i=0;                                            
  22   1         while(i<Delx)                                          
  23   1           i++;                                                 
  24   1       } 
  25          
  26          /*======================================================================================
  27          //////////////////////  设定模式  /////////////////////////////////////////////////////
  28          ======================================================================================*/
  29          void SetMode(uint8 device,uint8 work_mode)
  30          {
  31   1         device=(device&DEVICE_LIMIT)|DEVICE_SELECT|COMMAND;
  32   1         ISendByte(PCF8576,device);                //选择器件
  33   1      
  34   1         work_mode=work_mode|MODE;
  35   1         ISendByte(PCF8576,work_mode);                       //设定模式
  36   1      }
  37          /*======================================================================================
  38          //////////////////////  闪烁设定 /////////////////////////////////////////////////////
  39          ======================================================================================*/
  40          
  41          void SetBlink(uint8 device,uint8  blink_mode)
  42          {
  43   1         device=(device&DEVICE_LIMIT)|DEVICE_SELECT|COMMAND;
  44   1         ISendByte(PCF8576,device);                //选择器件
  45   1         blink_mode=blink_mode|BLINK;
  46   1         ISendByte(PCF8576,blink_mode);                //设定模式
  47   1      }
  48          
  49          /*======================================================================================
  50          //////////////////////   显示数据 /////////////////////////////////////////////////////
  51          ======================================================================================*/
  52          void Display(uint8 device,uint8 address,uint8 Data)
  53          {
  54   1        device=(device&DEVICE_LIMIT)|DEVICE_SELECT|DATA;
  55   1        ISendByte(PCF8576,device);
C51 COMPILER V8.08   LCD_DRV                                                               11/05/2007 16:50:32 PAGE 2   

  56   1        ISendStr(PCF8576,address,&Data,1); 
  57   1      } 
  58          /*======================================================================================
  59          //////////////////////   清屏 /////////////////////////////////////////////////////
  60          ======================================================================================*/
  61          void ClearLCD(void)
  62          {
  63   1       uint8 i;
  64   1       for (i=0;i<29;i+=2)
  65   1        Display(0x00,i,0x00);
  66   1      }
  67          /*======================================================================================
  68          /////////////////////PCF8576 初始化/////////////////////////////////////////////////////
  69          ======================================================================================*/
  70          void PCF8576Init(void)
  71          {
  72   1       Delay(800);                                 //1/3 偏压,4 背极,禁止闪烁
  73   1       SetMode(0X00, 0X08);
  74   1       SetBlink(0X00,0X00);
  75   1       ClearLCD();
  76   1      }
  77          
  78          /*======================================================================================
  79          //////////////////////   显示0~9 /////////////////////////////////////////////////////
  80          ======================================================================================*/
  81          void PutChar(uint8 ascii_code,uint8 address,uint8 col)
  82          {
  83   1        if(col==0)Display(0x00,address,asc[(ascii_code-0x30)]);
  84   1        else  Display(0x00,address,asc[(ascii_code-0x30)]|COLON);
  85   1       }
  86          /*====================================================================================================
  87          
  88           ---- |----------| ----                                                  真值表
  89           |  | |    3     | |  |
  90           |7 | |----------| | 1|
  91           |  |              |  |
  92           |  |              |  |
  93           |  |              |  |
  94           |--| |----------| |--|
  95                    |    5     |
  96                    |----------|
  97           |--|              |--|
  98           |  |              |  |
  99           |  |              |  |
 100           |6 |              | 2|
 101           |  |              |  |
 102           |--| |----------| |--|
 103                |    4     |
 104                    |----------|         .== 0
 105          
 106          ----------------------------------------------------------------------------------------------------
 107            1       2       3       4       5       6       7       8       9               0
 108          
 109            0x03   0x5e    0x7c     0x65    0x3d    0x3f    0x70    0x7f    0x7d   0x7b
 110          ----------------------------------------------------------------------------------------------------
 111          
 112          
 113          ------------------------------------------------------------
 114                _     _     _         上上月反总尖峰平谷                 |
 115                   |_|   |_|   |_|                        5                                                  |
 116                   |_|   |_|       |_|                                                                       |
 117                    1     2     3                                                                            |                    显示顺序
C51 COMPILER V8.08   LCD_DRV                                                               11/05/2007 16:50:32 PAGE 3   

 118                                                                                                                             |
 119                    _         _     _     _     _     _     _     _              |
 120               |_|   |_|   |_|   |_|   |_|   |_|   |_|   |_|                 |
 121                   |_|   |_|   |_|   |_|   |_|   |_|   |_|   |_|             |
 122                                                                                                                             |
 123                    0             13        12    11        9         8     7             6              |
 124                                                                                                                             |
 125                                                                                                                             |
 126                    123 @ ==                                  KWH            |
 127                          10                                                                               4                 |
 128          ------------------------------------------------------------
 129          
 130          
 131          -------------------------------------------------------------------------------------------------------*/
 132          
 133          
 134          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    175    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
   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 + -