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

📄 104-1602ʦ

📁 104-1602液晶显示DS1302时钟 含定时
💻
字号:
C51 COMPILER V9.01   1602                                                                  05/13/2012 00:36:49 PAGE 1   


C51 COMPILER V9.01, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN 1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 1602.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*-----------------------------------------------
   2            名称:LCD1602
   3            论坛:www.proteus.net.cn
   4            编写:华科教育
   5            日期:2010.5
   6            修改:无
   7            内容:
   8            引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
   9          ------------------------------------------------*/
  10          #include "1602.h"
  11          #include "delay.h"
  12          
  13          sbit RS = P2^6;   //定义端口 
  14          sbit RW = P2^5;
  15          sbit EN = P2^4;
  16          
  17          #define RS_CLR RS=0 
  18          #define RS_SET RS=1
  19          
  20          #define RW_CLR RW=0 
  21          #define RW_SET RW=1 
  22          
  23          #define EN_CLR EN=0
  24          #define EN_SET EN=1
  25          
  26          #define DataPort P1
  27          
  28          /*------------------------------------------------
  29                        判忙函数
  30          ------------------------------------------------*/
  31           /*
  32           bit LCD_Check_Busy(void) 
  33           { 
  34           DataPort= 0xFF; 
  35           RS_CLR; 
  36           RW_SET; 
  37           EN_CLR; 
  38           _nop_(); 
  39           EN_SET;
  40           return (bit)(DataPort & 0x80);
  41           }
  42          */
  43          /*------------------------------------------------
  44                        写入命令函数
  45          ------------------------------------------------*/
  46           void LCD_Write_Com(unsigned char com) 
  47           {  
  48   1      // while(LCD_Check_Busy()); //忙则等待
  49   1       RS_CLR; 
  50   1       RW_CLR; 
  51   1       EN_SET; 
  52   1       DataPort= com; 
  53   1       _nop_(); 
  54   1        ///////////////
  55   1       DelayMs(5);
C51 COMPILER V9.01   1602                                                                  05/13/2012 00:36:49 PAGE 2   

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

 118          /*------------------------------------------------
 119                        初始化函数
 120          ------------------------------------------------*/
 121           void LCD_Init(void) 
 122           {
 123   1         LCD_Write_Com(0x38);    /*显示模式设置*/ 
 124   1         DelayMs(5); 
 125   1         LCD_Write_Com(0x38); 
 126   1         DelayMs(5); 
 127   1         LCD_Write_Com(0x38); 
 128   1         DelayMs(5); 
 129   1         LCD_Write_Com(0x38);  
 130   1         LCD_Write_Com(0x08);    /*显示关闭*/ 
 131   1         LCD_Write_Com(0x01);    /*显示清屏*/ 
 132   1         LCD_Write_Com(0x06);    /*显示光标移动设置*/ 
 133   1         DelayMs(5); 
 134   1         LCD_Write_Com(0x0C);    /*显示开及光标设置*/
 135   1         }
 136             
 137          


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