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

📄 lcd_driver.lst

📁 用C8051F芯片完成的温度远程采集程序,发送,接受两个模块通信完成,内嵌CRC算法.
💻 LST
字号:
C51 COMPILER V8.02   LCD_DRIVER                                                            07/13/2007 17:09:25 PAGE 1   


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

line level    source

   1          #include <c8051f020.h>
   2          #include "lcd_driver.h"
   3          #include "delay.h"
   4          //#include <intrins.h>
   5          //---------------------------------
   6          #define uchar  unsigned char
   7          #define uint   unsigned int
   8          //--------------------------------
   9          
  10          //-----------------------------------
  11          uchar    a=0x80;
  12          //检查忙信号 -------------------------
  13          check_busy(void)
  14          {
  15   1          uchar  i,bf,temp;
  16   1          P5=0xff;
  17   1          temp=P5;
  18   1          temp=temp&0x80;
  19   1          bf=0x80&&temp;
  20   1          for(i=0;i<5;i++)  
  21   1          {
  22   2           if(bf==0)
  23   2             {
  24   3              P4 &=~0x04;
  25   3              break;
  26   3             }
  27   2           delay(1,10);
  28   2          }   
  29   1          P4 &=~0x04;
  30   1      }
  31          
  32          
  33          void LCD_data(uchar y)
  34          { 
  35   1        check_busy();
  36   1        delay(100,100);     
  37   1        P4=0x01;           /*RS=1,RW=0*/  
  38   1        P5=y;    
  39   1        delay(1,1);
  40   1        P4 |=0x04;         /*EN=1*/
  41   1        delay(1,1);
  42   1        P4 &=~0x04;        /*EN=0*/
  43   1        a++;
  44   1        dispmove(); 
  45   1      }
  46          void LCD_string(uchar row,uchar column,uchar *dis_buffer)     //发送一串字符
  47          {
  48   1         uchar i=0;
  49   1         a=(row+1)*0x40+column-0x01;
  50   1         LCD_cmd(a);
  51   1         while(dis_buffer[i]!='\0')
  52   1          {
  53   2             LCD_data(dis_buffer[i]);
  54   2             i++;
  55   2          }
C51 COMPILER V8.02   LCD_DRIVER                                                            07/13/2007 17:09:25 PAGE 2   

  56   1      }
  57          
  58          void LCD_clear_line(uchar line)
  59          {
  60   1         uchar i;
  61   1         a=(line+1)*0x40;
  62   1         LCD_cmd(a);
  63   1         for(i=0;i<16;i++)
  64   1           LCD_data(0x20);
  65   1      }
  66          //写控制命令-----------------------------
  67          void LCD_cmd(uchar z) 
  68          {  
  69   1         check_busy();
  70   1         delay(100,100);
  71   1         P4=0x00;           //RS=0,RW=0
  72   1         P5=z;
  73   1         delay(10,1);
  74   1         P4 |=0x04;         //EN=1
  75   1         delay(1,1);
  76   1         P4 &=~0x04;        //EN=0
  77   1          
  78   1      }
  79          //换行函数----------------------------
  80          
  81          void dispmove()
  82          {  
  83   1        if(a==0x90)     //换到下行
  84   1          {
  85   2           a=0x0C0;
  86   2           LCD_cmd(0xC0);   
  87   2          }
  88   1        if(a==0xd1)    //回首行
  89   1          {  
  90   2           a=0x080;
  91   2           LCD_cmd(0x01);
  92   2           LCD_cmd(0x80);  //写首地址
  93   2          }
  94   1      }
  95          //lcd的初始化---------------------------
  96          void LCD_Init()
  97          { 
  98   1         LCD_cmd(0x01);
  99   1         LCD_cmd(0x38);
 100   1         LCD_cmd(0x0c); //显示光标并闪烁
 101   1         LCD_cmd(0x01);
 102   1         LCD_cmd(0x06);
 103   1         LCD_cmd(0x80);
 104   1         LCD_cmd(0x02);
 105   1      
 106   1         
 107   1      }
 108          //////////////////////////////////////


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    279    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       9
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.02   LCD_DRIVER                                                            07/13/2007 17:09:25 PAGE 3   

   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 + -