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

📄 液晶lcd1602.lst

📁 LCD液晶显示
💻 LST
字号:
C51 COMPILER V7.08   襙晶LCD1602                                                           03/25/2009 16:12:08 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE 襙晶LCD1602
OBJECT MODULE PLACED IN 液晶lcd1602.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE 液晶lcd1602.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          /*1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E
   3           *7-14 DB0-DB7 15-BLA 16-BLK
   4           */
   5          
   6          /*copyright 2007,ShangHai  HaoTun Electronic Technology co.,Ltd
   7           *
   8           *This sample is used for lcm1602 .
   9           *
  10           *write by Shifang 2007-8-11
  11           *
  12           *V1.1
  13           */
  14          #include<reg52.h>
  15          #include<stdio.h>
  16          #include<intrins.h>
  17          
  18          
  19          unsigned int hour,minute,second,count;
  20          
  21          sbit RS = P2^7;//Pin4
  22          sbit RW = P2^6; //Pin5
  23          sbit E  = P2^5;//Pin6
  24          
  25          #define Data  P0    //数据端口
  26          
  27          char data TimeNum[]="                ";
  28          char data Test1[]="                  ";
  29          /******************************************************************/
  30          /*                    函数声明                                    */
  31          /******************************************************************//*************************************
             -**************************/
  32          void DelayUs(unsigned char us)//delay us
  33          {
  34   1       unsigned char uscnt;
  35   1       uscnt=us>>1;/* Crystal frequency in 12MHz*/
  36   1       while(--uscnt);
  37   1      }
  38          /******************************************************************/
  39          void DelayMs(unsigned char ms)//delay Ms
  40          {
  41   1       while(--ms)
  42   1         {
  43   2           DelayUs(250);
  44   2           DelayUs(250);
  45   2               DelayUs(250);
  46   2               DelayUs(250);
  47   2         }
  48   1      }
  49          void WriteCommand(unsigned char c)
  50          {
  51   1       DelayMs(5);//short delay before operation
  52   1       E=0;
  53   1       RS=0;
  54   1       RW=0;
C51 COMPILER V7.08   襙晶LCD1602                                                           03/25/2009 16:12:08 PAGE 2   

  55   1       _nop_();
  56   1       E=1;
  57   1       Data=c;
  58   1       E=0;
  59   1      }
  60          /****************************************************************/
  61          void WriteData(unsigned char c)
  62          {
  63   1       DelayMs(5);   //short delay before operation
  64   1       E=0;
  65   1       RS=1;
  66   1       RW=0;
  67   1       _nop_();
  68   1       E=1;
  69   1       Data=c;
  70   1       E=0;
  71   1       RS=0;
  72   1      }
  73          /*********************************************************************/
  74          void ShowChar(unsigned char pos,unsigned char c)
  75          {
  76   1       unsigned char p;
  77   1       if (pos>=0x10)
  78   1          p=pos+0xb0; //是第二行则命令代码高4位为0xc
  79   1       else 
  80   1          p=pos+0x80; //是第二行则命令代码高4位为0x8
  81   1       WriteCommand (p);//write command
  82   1       WriteData (c);   //write data
  83   1      
  84   1      }
  85          /*************************************************************************/
  86          void ShowString (unsigned char line,char *ptr)
  87          {
  88   1       unsigned char l,i;
  89   1       l=line<<4;
  90   1       for (i=0;i<16;i++)
  91   1        ShowChar (l++,*(ptr+i));//循环显示16个字符
  92   1      }
  93          /*********************************************************************/
  94          void InitLcd()
  95          {
  96   1       DelayMs(15);
  97   1       WriteCommand(0x38); //display mode
  98   1       WriteCommand(0x38); //display mode
  99   1       WriteCommand(0x38); //display mode
 100   1       WriteCommand(0x06); //显示光标移动位置
 101   1       WriteCommand(0x0c); //显示开及光标设置
 102   1       WriteCommand(0x01); //显示清屏
 103   1      
 104   1      }
 105          
 106          
 107          /////////////////////////////////////////////////////////////////
 108          void main(void)
 109          
 110          {
 111   1      //P1=0x80;
 112   1      InitLcd();//
 113   1      DelayMs(15);
 114   1      
 115   1      sprintf(Test1," www.nanshi.com ");//the first line
 116   1      ShowString(0,Test1);
C51 COMPILER V7.08   襙晶LCD1602                                                           03/25/2009 16:12:08 PAGE 3   

 117   1      
 118   1      sprintf(TimeNum,"NAN SHI JIAOYI");//the first line
 119   1      ShowString(1,TimeNum);
 120   1      
 121   1      while(1);
 122   1      
 123   1      }
 124          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    253    ----
   CONSTANT SIZE    =     32    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     44       5
   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 + -