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

📄 lcd.lst

📁 使用51单片机进行超声波测距
💻 LST
字号:
C51 COMPILER V8.08   LCD                                                                   07/24/2007 14:44:22 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\obj\lcd.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sourse\lcd.c BROWSE INCDIR(.\head) DEBUG OBJECTEXTEND PRINT(.\list\lcd.lst)
                    - OBJECT(.\obj\lcd.obj)

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          
   4          #define  uchar  unsigned char
   5          #define  uint   unsigned int
   6          
   7          sbit  CS = P2^5 ;
   8          sbit  SID = P2^6 ;
   9          sbit  CLK = P2^7;
  10          
  11           
  12          
  13          
  14          /*****************************延时子程序***************************/
  15          void delay( uint t )
  16          {
  17   1              while( t-- );      
  18   1      }
  19          
  20          /*****************************写液晶子程序******************************/
  21          /************************************************************************
  22          说明:word:要写的内容 dat:1为数据 0为指令
  23          *************************************************************************/
  24          void Writelcd(uchar word,uchar dat)
  25          {
  26   1              uchar lcddat[3];
  27   1              uchar i,j,k;
  28   1              lcddat[0] = ( 0xf8+(dat<<1) );//第一个字节
  29   1              lcddat[1] = ( word&0xf0 ) ;     //第二个字节 内容的高四位+0000
  30   1              lcddat[2] = ( (word<<4)&0xf0 ) ;//第三个字节 内容的第四位+0000
  31   1              CS = 0;
  32   1              CS = 1;
  33   1              CLK = 0;
  34   1              for(i=0;i<3;i++)
  35   1              {
  36   2                      j = lcddat[i];
  37   2                      for(k=0;k<8;k++)
  38   2                      {
  39   3                              if( (j<<k)&0x80 )
  40   3                                      SID = 1;                
  41   3                      else                    
  42   3                                      SID = 0;                        
  43   3                              CLK = 1;                  //时钟下降沿写入数据
  44   3                              CLK = 0; 
  45   3                      }
  46   2              }       
  47   1      }
  48          
  49          
  50          /*****************************初始化子程序******************************/
  51          void Serial_int(void)
  52          {       
  53   1              CS = 1;
  54   1              SID = 0;
C51 COMPILER V8.08   LCD                                                                   07/24/2007 14:44:22 PAGE 2   

  55   1          CLK = 0; 
  56   1          Writelcd( 0x30,0 );//功能设置,一次送8位数据,基本指令集
  57   1          delay( 1 );
  58   1              Writelcd( 0x30,0 );//功能设置,一次送8位数据,基本指令集
  59   1          delay( 1 );
  60   1          Writelcd( 0x0c,0 );//0000,1100  整体显示,游标off,游标位置off
  61   1          delay( 1 );
  62   1          Writelcd( 0x01,0 );//0000,0001 清DDRAM
  63   1          delay( 1 );
  64   1          Writelcd( 0x02,0 );//0000,0010 DDRAM地址归位
  65   1              delay( 1 );
  66   1      
  67   1          delay( 1 );
  68   1          Writelcd( 0x80,0 );//1000,0000 设定DDRAM 7位地址000,0000到地址计数器AC//            
  69   1          delay( 1 );
  70   1              Writelcd( 0x06,0 );     
  71   1      }
  72          
  73          void DispNum ( uchar Add1,uint Data1,uint Data2 ,uchar Add2)
  74          { 
  75   1              uchar DisN ;
  76   1       
  77   1              Writelcd( Add1,0 );
  78   1                      DisN = Data1/10000%10 ; 
  79   1                      Writelcd( 0x30+DisN  ,1 );
  80   1                      DisN = Data1/1000%10 ;  
  81   1                      Writelcd( 0x30+DisN  ,1 );
  82   1                      DisN = Data1/100%10 ;   
  83   1                      Writelcd( 0x30+DisN  ,1 );
  84   1                      DisN = Data1/10%10 ;    
  85   1                      Writelcd( 0x30+DisN  ,1 );
  86   1                      DisN = Data1%10 ;       
  87   1                      Writelcd( 0x30+DisN  ,1 );
  88   1       
  89   1              Writelcd( Add2,0 );
  90   1                      DisN = Data2/10000%10 ; 
  91   1                      Writelcd( 0x30+DisN  ,1 );
  92   1                      DisN = Data2/1000%10 ;  
  93   1                      Writelcd( 0x30+DisN  ,1 );
  94   1                      DisN = Data2/100%10 ;   
  95   1                      Writelcd( 0x30+DisN  ,1 );
  96   1                      DisN = Data2/10%10 ;    
  97   1                      Writelcd( 0x30+DisN  ,1 );
  98   1                      DisN = Data2%10 ;       
  99   1                      Writelcd( 0x30+DisN  ,1 );       
 100   1      }
 101          
 102          
 103          
 104          
 105          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    302    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V8.08   LCD                                                                   07/24/2007 14:44:22 PAGE 3   


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -