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

📄 lcd1602.lst

📁 1602液晶驱动程序,有两个
💻 LST
字号:
C51 COMPILER V6.12  LCD1602                                                                04/08/2008 12:55:02 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN .\lcd1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\lcd1602.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          
   4          sbit RS=P2^0;
   5          sbit RW=P2^1;
   6          sbit E=P2^2;
   7          
   8          void delay(uchar t)
   9          {
  10   1      	uchar i;
  11   1      	for(;t>0;t--)
  12   1      		for(i=164;i>0;i--);
  13   1      }
  14          
  15          uchar read(bit cmd_dat,bit rd_wr)
  16          {
  17   1      	uchar rd_dat;
  18   1      	E=0;
  19   1      	RS=cmd_dat;
  20   1      	RW=rd_wr;
  21   1      	E=1;
  22   1      	rd_dat=P0;
  23   1      	return rd_dat;
  24   1      }	
  25          
  26          void lcd_write(bit cmd_dat,bit rd_wr,uchar str)
  27          {
  28   1      	uchar rd_dat;
  29   1      	E=0;
  30   1      	rd_dat=0x80;
  31   1      	while(rd_dat & 0x80)
  32   1      		rd_dat=read(0,1);	//检测忙标志
  33   1      	E=0;
  34   1      	RS=cmd_dat;
  35   1      	RW=rd_wr;
  36   1      	P0=str;
  37   1      	E=1;
  38   1      }
  39          
  40          void main()
  41          {
  42   1      	uchar i,str[8]={0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00};
  43   1      	delay(10);	//lcd和mcu上电复位	
  44   1      	lcd_write(0,0,0x38);	//功能设置,8位,2行
  45   1      	lcd_write(0,0,0x0c);	//开显示
  46   1      
  47   1      	lcd_write(0,0,0x40);
  48   1      	for(i=0;i<8;i++)
  49   1      		lcd_write(1,0,str[i]);
  50   1      
  51   1      	lcd_write(0,0,0x80);
  52   1      /*	while(1)
  53   1      	{
  54   1      
  55   1      		lcd_write(1,0,0x00);
C51 COMPILER V6.12  LCD1602                                                                04/08/2008 12:55:02 PAGE 2   

  56   1      		lcd_write(1,0,0x00);
  57   1      		lcd_write(0,0,0x02);
  58   1      	}*/
  59   1      //	lcd_write(0,0,0x18);	//移位
  60   1      	i=0;
  61   1      	while(i!=0x0a)
  62   1      	{
  63   2      		lcd_write(1,0,i+0x30);	//显示数据
  64   2      		i++;
  65   2      	}
  66   1      	lcd_write(0,0,0x80|0x40);
  67   1      	i=0x61;
  68   1      	while(i!=0x71)
  69   1      	{
  70   2      		lcd_write(1,0,i);
  71   2      		i++;
  72   2      	}
  73   1      }


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


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

⌨️ 快捷键说明

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