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

📄 1602.lst

📁 红外解码1602液晶显示(C源代码)
💻 LST
字号:
C51 COMPILER V8.02   1602                                                                  12/27/2010 10:15:50 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN .\obj\1602.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1602.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\1602.lst) OBJECT(.\obj\1602.ob
                    -j)

line level    source

   1          
   2          #include "1602.h"
   3          #include "delay.h"
   4          
   5          #define CHECK_BUSY
   6          
   7          sbit RS = P2^7;   //定义端口 
   8          sbit RW = P2^6;
   9          sbit EN = P2^5;
  10          
  11          #define RS_CLR RS=0 
  12          #define RS_SET RS=1
  13          
  14          #define RW_CLR RW=0 
  15          #define RW_SET RW=1 
  16          
  17          #define EN_CLR EN=0
  18          #define EN_SET EN=1
  19          
  20          #define DataPort P0
  21          
  22          /*------------------------------------------------
  23                        判忙函数
  24          ------------------------------------------------*/
  25           bit LCD_Check_Busy(void) 
  26           { 
  27   1      #ifdef CHECK_BUSY
  28   1       DataPort= 0xFF; 
  29   1       RS_CLR; 
  30   1       RW_SET; 
  31   1       EN_CLR; 
  32   1       _nop_(); 
  33   1       EN_SET;
  34   1       return (bit)(DataPort & 0x80);
  35   1      #else
               return 0;
              #endif
  38   1       }
  39          /*------------------------------------------------
  40                        写入命令函数
  41          -----------------   ----------------------------*/
  42           void LCD_Write_Com(unsigned char com) 
  43           {  
  44   1       while(LCD_Check_Busy()); //忙则等待
  45   1       RS_CLR; 
  46   1       RW_CLR; 
  47   1       EN_SET; 
  48   1       DataPort= com; 
  49   1       _nop_(); 
  50   1       EN_CLR;
  51   1       }
  52          /*------------------------------------------------
  53                        写入数据函数
  54          ------------------------------------------------*/
C51 COMPILER V8.02   1602                                                                  12/27/2010 10:15:50 PAGE 2   

  55           void LCD_Write_Data(unsigned char Data) 
  56           { 
  57   1       while(LCD_Check_Busy()); //忙则等待
  58   1       RS_SET; 
  59   1       RW_CLR; 
  60   1       EN_SET; 
  61   1       DataPort= Data; 
  62   1       _nop_();
  63   1       EN_CLR;
  64   1       }
  65          
  66          /*------------------------------------------------
  67                          清屏函数
  68          ------------------------------------------------*/
  69           void LCD_Clear(void) 
  70           { 
  71   1       LCD_Write_Com(0x01); 
  72   1       DelayMs(5);
  73   1       }
  74          /*------------------------------------------------
  75                        写入字符串函数
  76          ------------------------------------------------*/
  77           void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) 
  78           {     
  79   1       if (y == 0) 
  80   1              {     
  81   2               LCD_Write_Com(0x80 + x);     //表示第一行
  82   2              }
  83   1       else 
  84   1              {      
  85   2              LCD_Write_Com(0xC0 + x);      //表示第二行
  86   2              }        
  87   1       while (*s) 
  88   1              {     
  89   2       LCD_Write_Data( *s);     
  90   2       s ++;     
  91   2              }
  92   1       }
  93          /*------------------------------------------------
  94                        写入字符函数
  95          ------------------------------------------------*/
  96          /* void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) 
  97           {     
  98           if (y == 0) 
  99                  {     
 100                  LCD_Write_Com(0x80 + x);     
 101                  }    
 102           else 
 103                  {     
 104                  LCD_Write_Com(0xC0 + x);     
 105                  }        
 106           LCD_Write_Data( Data);  
 107           }*/
 108          /*------------------------------------------------
 109                        初始化函数
 110          ------------------------------------------------*/
 111           void LCD_Init(void) 
 112           {
 113   1         LCD_Write_Com(0x38);    /*显示模式设置*/ 
 114   1         DelayMs(5); 
 115   1         LCD_Write_Com(0x38); 
 116   1         DelayMs(5); 
C51 COMPILER V8.02   1602                                                                  12/27/2010 10:15:50 PAGE 3   

 117   1         LCD_Write_Com(0x38); 
 118   1         DelayMs(5); 
 119   1         LCD_Write_Com(0x38);  
 120   1         LCD_Write_Com(0x08);    /*显示关闭*/ 
 121   1         LCD_Write_Com(0x01);    /*显示清屏*/ 
 122   1         LCD_Write_Com(0x06);    /*显示光标移动设置*/ 
 123   1         DelayMs(5); 
 124   1         LCD_Write_Com(0x0C);    /*显示开及光标设置*/
 125   1         }
 126          


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