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

📄 lm016.lst

📁 单片机与LCD1602
💻 LST
字号:
C51 COMPILER V8.02   LM016                                                                 02/21/2009 23:41:44 PAGE 1   


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

line level    source

   1           #include <reg51.h>
   2           #include <stdio.h>
   3           #include <math.h>
   4          #define unchar unsigned char
   5          #define Busy    0x80 //用于检测LCM状态字中的Busy标识 
   6          sbit e=P2^0;     //LM0162的e引脚
   7          sbit rw=P2^1;    //LM0162的rw引脚
   8          sbit rs=P2^2;    //LM0162的rs引脚
   9          void readstatus(void);
  10          void delay(void)
  11          {
  12   1       int i;
  13   1       for(i=0;i<1000;i++);
  14   1      }
  15          /*延时5ms*/
  16          void delay5ms(void)    
  17          {    
  18   1       unsigned int TempCyc = 5552;    
  19   1       while(TempCyc--);    
  20   1      } 
  21          /*向LM1602写命令字*/
  22          void write_c(unchar command)
  23          {
  24   1       readstatus();
  25   1       rs=0;
  26   1       rw=0;
  27   1       P1=command;
  28   1       e=0;
  29   1       e=0;
  30   1       e=0;
  31   1       e=1;
  32   1       delay();
  33   1      }
  34          /*向LM1602写数据*/
  35          void write_d(unchar dat)
  36          {
  37   1       readstatus();
  38   1       rs=1;
  39   1       rw=0;
  40   1       P1=dat;
  41   1       e=0;
  42   1       e=0;
  43   1       e=0;
  44   1       e=1;
  45   1       delay();
  46   1      }
  47          /**读状态**/     
  48          void readstatus(void)    
  49          {    
  50   1       P1 = 0xFF;     
  51   1       rs = 0;    
  52   1       rw = 1;    
  53   1       e  = 0;    
  54   1       e  = 0;    
  55   1       e  = 1;    
C51 COMPILER V8.02   LM016                                                                 02/21/2009 23:41:44 PAGE 2   

  56   1       while (P1 & Busy); //检测忙信号     
  57   1      }    
  58          main()
  59          {
  60   1       write_c(0x38);//设置为8总线16*2 5*7点阵
  61   1       delay5ms();
  62   1       write_c(0x38);//设置为8总线16*2 5*7点阵
  63   1       delay5ms();
  64   1       write_c(0x38);//设置为8总线16*2 5*7点阵
  65   1       delay5ms();
  66   1       write_c(0x0c);//开显示,光标闪烁
  67   1       write_c(0x01);//清屏幕
  68   1       while(1)
  69   1       { 
  70   2       //write_c(0x01);//清屏幕
  71   2       write_c(0x80);  
  72   2        write_d(0x35);//5
  73   2       write_d(0x37);//7
  74   2       write_d(0x30);//0
  75   2       write_d(0x31);//1
  76   2       write_d(0x20);//空格
  77   2       write_d(0x46);//f
  78   2       write_d(0x61);//a
  79   2       write_d(0x63);//c
  80   2       write_d(0x74);//t
  81   2       write_d(0x6F);//o
  82   2       write_d(0x72);//r
  83   2       write_d(0x79);//y
  84   2       write_d(0x20);//空格
  85   2       write_d(0x6f);//O
  86   2       write_d(0x66);//f
  87   2       write_c(0xc6);//从第二行第三列开始显示
  88   2       write_d(0x50);//P
  89   2       write_d(0x4c);//L
  90   2       write_d(0x41);//A
  91   2       write_d(0x2c);//,
  92   2       write_d(0x33);//3
  93   2       write_d(0x41);//A
  94   2       }
  95   1      }


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