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

📄 lcd1602.lst

📁 51单片机及其C语言程序开发实例光盘资料.rar
💻 LST
字号:
C51 COMPILER V8.02   LCD1602                                                               03/29/2010 10:44:00 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN LCD1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD1602.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include "LCD1602.h"
   3          //短延时函数:ShortDelay()
   4          void ShortDelay(uchar i)
   5          {
   6   1              for(;i>0;i--) ;
   7   1              }       
   8          //长延时函数:LongDelay()
   9          void LongDelay(uint i)
  10          {
  11   1              uint j;
  12   1              for(;i>0;i--)
  13   1                      { for(j=1000;j>0;j--);}
  14   1              }       
  15          
  16                          
  17          //写指令函数:WriteInstruc()
  18          void WriteInstruc(uint Instruc)
  19          {
  20   1              while(StatusCheck());
  21   1              RS=0;
  22   1              RW=0;
  23   1              ShortDelay(1);
  24   1              E=0;
  25   1              P0 = Instruc;
  26   1              ShortDelay(1);
  27   1              E=1;
  28   1              ShortDelay(10);
  29   1              E=0;
  30   1              ShortDelay(1);
  31   1              }
  32                  
  33          //读BF以及AC的值函数:Read_BF_AC()
  34          uint Read_BF_AC()
  35          {
  36   1              uint temp;
  37   1              P0=0xff;
  38   1              RS=0;
  39   1              RW=1;
  40   1              ShortDelay(1);
  41   1              E=0;
  42   1              ShortDelay(1);
  43   1              E=1;
  44   1              ShortDelay(1);
  45   1              temp = P0;
  46   1              ShortDelay(10);
  47   1              E=0;
  48   1              ShortDelay(1);
  49   1              return(temp);
  50   1              }
  51                  
  52          //写数据到RAM函数:WriteData()
  53          void WriteData(uint data1)
  54          {
  55   1              RS=1;
C51 COMPILER V8.02   LCD1602                                                               03/29/2010 10:44:00 PAGE 2   

  56   1              RW=0;
  57   1              //ShortDelay(1);
  58   1              E=0;
  59   1              P0 = data1;
  60   1              //ShortDelay(1);
  61   1              E=1;
  62   1              ShortDelay(10);
  63   1              E=0;
  64   1              }
  65                  
  66          //从RAM读数据函数:ReadData()
  67          uint ReadData(void)
  68          {
  69   1              uint temp;
  70   1              P0=0xff;
  71   1              RS=1;
  72   1              RW=1;
  73   1              ShortDelay(1);
  74   1              E=0;
  75   1              ShortDelay(1);
  76   1              E=1;
  77   1              ShortDelay(1);
  78   1              temp = P0;
  79   1              ShortDelay(10);
  80   1              E=0;
  81   1              ShortDelay(1);
  82   1              RW=0;
  83   1              RS=0;
  84   1              return(temp);
  85   1              }
  86          
  87          //检测LCD控制器状态函数:StatusCheck()
  88          //返回一bit数:1 —— 忙;0 —— 闲
  89          bit StatusCheck()
  90          {
  91   1              return((bit)(Read_BF_AC() & 0x80));
  92   1              }
  93          
  94          //在指定位置显示字符函数: DispCharacter()
  95          //  x为行号,y为列号,        
  96          //  data为显示字符的码字数据   
  97          void DispCharacter(uint x, uint y, uint data1)
  98          {
  99   1              uint temp;       
 100   1              while(StatusCheck());  //若LCD控制器忙,则等待
 101   1              
 102   1              temp = y & 0x0f;
 103   1              x &= 0x01;
 104   1              if(x) temp |= 0x40;
 105   1              SetDDRAM_Add(temp);       //设置显示位置
 106   1              
 107   1              WriteData(data1);       
 108   1      }
 109          
 110          //LCD复位函数:LCDReset()
 111          void LCDReset()
 112          {
 113   1              ClearScreen();
 114   1              CursorReturn();
 115   1              }


C51 COMPILER V8.02   LCD1602                                                               03/29/2010 10:44:00 PAGE 3   

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