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

📄 1602.lst

📁 51单片机示例程序
💻 LST
字号:
C51 COMPILER V7.20   1602                                                                  03/15/2007 14:54:36 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN 1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1602.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************
   2                                                                                          
   3                             1602字符型液晶显示实验
   4                           网址:http://www.kaifaban.com  
   5                                                    
   6                           功能:在第一行显示  welcome to!!!!!!    
   7                                在第二行显示  www.kaifaban.com
   8                                                               
   9          ********************************************************************/
  10          #include <reg51.h>
  11          #include <intrins.h>
  12          #define  uchar unsigned char
  13          sbit DI=P2^0;//指令数据选择信号
  14          sbit RW=P2^1;//读写信号
  15          sbit E=P2^2;//使能信号
  16          uchar code dis1[] = {"welcome to!!!!!!"};
  17          uchar code dis2[] = {"www.kaifaban.com"};
  18          //延时子程序
  19          delay(uchar ms){
  20   1          uchar i;
  21   1          while(ms--){
  22   2          for(i=0; i<125;i++);
  23   2          }
  24   1      }
  25          // 测试LCD忙碌状态
  26          bit LcdBusy(){
  27   1              bit result;
  28   1              DI=0;
  29   1              RW=1;
  30   1              E=1;
  31   1              _nop_();
  32   1              _nop_();
  33   1              _nop_();
  34   1              _nop_();
  35   1              result=(bit)(P0&0x80);
  36   1              E=0;
  37   1              return result;
  38   1      }
  39          // 写入指令数据到LCD
  40          WriteCommand(uchar Command){
  41   1              while(LcdBusy());
  42   1              DI=0;
  43   1              RW=0;
  44   1              E=0;
  45   1              _nop_();
  46   1              _nop_();
  47   1              P0=Command;
  48   1              _nop_();
  49   1              _nop_();
  50   1              _nop_();
  51   1              _nop_();
  52   1              E=1;
  53   1              _nop_();
  54   1              _nop_();
  55   1              _nop_();
C51 COMPILER V7.20   1602                                                                  03/15/2007 14:54:36 PAGE 2   

  56   1              _nop_();
  57   1              E=0;
  58   1      }
  59          //设定显示位置
  60          LcdPosition(uchar Position){
  61   1          WriteCommand(Position|0x80);
  62   1      }
  63          //写入字符显示数据到LCD
  64          WriteData(uchar Data){
  65   1              while(LcdBusy());
  66   1              DI=1;
  67   1              RW=0;
  68   1              E=0;
  69   1              P0=Data;
  70   1              _nop_();
  71   1              _nop_();
  72   1              _nop_();
  73   1              _nop_();
  74   1              E=1;
  75   1              _nop_();
  76   1              _nop_();
  77   1              _nop_();
  78   1              _nop_();
  79   1              E=0;
  80   1      }
  81          //LCD初始化设定
  82          LcdInit(){
  83   1              WriteCommand(0x38);
  84   1              delay(1);
  85   1              WriteCommand(0x0c);
  86   1              delay(1);
  87   1              WriteCommand(0x06);
  88   1              delay(1);
  89   1              WriteCommand(0x01);//清除LCD的显示内容
  90   1              delay(1);
  91   1      }
  92          //主程序
  93          main(){
  94   1              uchar i;
  95   1              LcdInit();// 初始化LCD
  96   1              delay(10);
  97   1              LcdPosition(0x00);//设置显示位置为第一行的第1个字符
  98   1              i=0;
  99   1              while(dis1[i]!='\0'){
 100   2                      WriteData(dis1[i]);
 101   2                      i++;
 102   2              }
 103   1              LcdPosition(0x10);//设置显示位置为第二行第1个字符
 104   1              i=0;
 105   1              while(dis2[i]!='\0'){
 106   2                      WriteData(dis2[i]);
 107   2                      i++;
 108   2              }
 109   1              while(1);
 110   1      }
 111          
 112          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    189    ----
   CONSTANT SIZE    =     34    ----
C51 COMPILER V7.20   1602                                                                  03/15/2007 14:54:36 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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