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

📄 lcd1602.lst

📁 温度的动态显示
💻 LST
字号:
C51 COMPILER V7.07   LCD1602                                                               07/17/2007 23:36:11 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN lcd1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE lcd1602.c BROWSE DEBUG OBJECTEXTEND TABS(8)

stmt level    source

   1          #include "..\dp8051.h"
   2          #include "lcd.h"
   3          
   4          
   5          unsigned char code welcome1[]={"welcome.to.shnu!"};
   6          unsigned char code welcome2[]={"enter.the.menu"};
   7          
   8          void main(void)
   9          {
  10   1          delay20ms();
  11   1          init_lcd();
  12   1          display_signal(0xf,1,0x30);                     //第一个数表示某行第几个,第二个数表示第几行,第三个表
             -示要显示的内容
  13   1          display_list(0,0,welcome1);
  14   1          //display_list(0,1,welcome2);
  15   1          while(1);
  16   1      }
  17          
  18          
  19          void init_lcd(void)
  20          {   
  21   1          output=0;
  22   1          write_command_1602(clear);
  23   1          delay5ms();
  24   1          write_command_1602(function);
  25   1          delay5ms();
  26   1          write_command_1602(part_open);
  27   1          delay5ms();
  28   1          write_command_1602(gb_right);
  29   1          delay5ms();
  30   1      }
  31          
  32          
  33          void write_command_1602(unsigned char address_buf)
  34          {
  35   1           output=address_buf;
  36   1           rs_lcd=0;
  37   1           rw_lcd=0;
  38   1           e_lcd=0;
  39   1           e_lcd=1;   
  40   1      }
  41          
  42          unsigned char read_command_1602()
  43          {
  44   1               rs_lcd=1;
  45   1               rw_lcd=1;
  46   1               e_lcd=0;
  47   1               e_lcd=0;
  48   1               e_lcd=1;
  49   1               return(output);
  50   1      }
  51          
  52          void write_data_1602(unsigned char data_buf)
  53          {
  54   1              read_data_1602();
C51 COMPILER V7.07   LCD1602                                                               07/17/2007 23:36:11 PAGE 2   

  55   1              output=data_buf;
  56   1              rs_lcd=1;
  57   1              rw_lcd=0;
  58   1              e_lcd=0;
  59   1              e_lcd=0;
  60   1              e_lcd=1;
  61   1      
  62   1      }
  63          
  64          unsigned char read_data_1602()
  65          {
  66   1              rs_lcd=1;
  67   1              rw_lcd=1;
  68   1              e_lcd=0;
  69   1              e_lcd=0;
  70   1              e_lcd=1;
  71   1              return(output);
  72   1      }
  73          
  74          void display_signal(unsigned char x, unsigned char y, unsigned char data1)
  75          {
  76   1              y&=0x1;                            //和1相与,若为零表示在第一行,若为1表示在第二行
  77   1              x&=0xf;                            //和f(15)相与,确保一行显示不超过16个字
  78   1              if(y==1) 
  79   1                 x|=0x40;                         //等于把x(80h---8fh)+40h=c0h---cfh
  80   1      //也可以这样写:if(y==0)
  81   1      //             {
  82   1      //              x=0x80+x;
  83   1      //              else x=0xc0+x;
  84   1      //              }
  85   1              x|=0x80;
  86   1              write_command_1602(x);
  87   1              write_data_1602(data1);
  88   1              bg_lcd=0;
  89   1      }
  90          
  91          void display_list(unsigned char x,unsigned char y,unsigned char code *list_data1)      //这种定义常用于字

⌨️ 快捷键说明

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