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

📄 1602_c.lst

📁 基于51单片机的1602液晶显示c语言及汇编程序
💻 LST
字号:
C51 COMPILER V7.50   1602_C                                                                08/12/2007 23:14:37 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 1602_C
OBJECT MODULE PLACED IN 1602_C.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1602_C.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          ///////////////////////////////////////////////////
   3          //P2接1602的数据位
   4          //1602第1行显示 " guangxi beihai"
   5          //     第2行显示"    subingen   "
   6          ////////////////////////////////////////////////////
   7          
   8          
   9          #include<reg51.h> 
  10          #include<intrins.h>//当需用_nop_()时,使用它
  11          #define uchar unsigned char
  12          
  13          
  14                                                                
  15          uchar display1[16]={" guangxi beihai "};//要显示的数据
  16          uchar display2[16]={"    subingen    "};
  17          
  18          
  19          
  20          
  21          /******************************************************************
  22            1602程序部分      
  23            数据总线接到p2口   用到1ms延时程序   <intrins.h>函数
  24          *******************************************************************/
  25          
  26          uchar  command[]={0x38,0x38,0x38,0x38,0x08,0x01,0x06,0x0c}; /* P2=0x01;//清屏并光标复位
  27                                                          P2=00111000;//显示模式设置,8位总线,2行,5*7
  28                                                          P2=0x0c;//开显示。光标和闪烁
  29                                                          P2=0x06;//文字不动,光标自动右移
  30                                                          P2=0x80;//写入的起始位置,第1行第1列*/
  31          
  32          sbit e=P3^7;
  33          sbit rw=P3^6;
  34          sbit rs=P3^0;
  35          sbit busy=P2^7;
  36          
  37          //init();//1602初始化
  38          //dataw();//数据写入
  39          //comw();//指令写入
  40          
  41          //--------------------------延时程序-------------------------------
  42          void delay(uchar i)
  43          {  uchar a;
  44   1         while(i--)
  45   1            {for(a=0;a<=125;a++)
  46   2               {;}
  47   2             }
  48   1      }  
  49          //--------------------查LCD是否忙程序-----------------------
  50           void wait(void)
  51          {   do
  52   1          { P2=0xff;
  53   2            rs=0;//
  54   2                rw=1;//
  55   2                e=0;
C51 COMPILER V7.50   1602_C                                                                08/12/2007 23:14:37 PAGE 2   

  56   2                _nop_();
  57   2                _nop_();
  58   2            e=1; }
  59   1          while(busy==1);
  60   1      }
  61          
  62          
  63          //-------------------数据写入函数-------------------------
  64          void dataw(uchar da)
  65          {  wait();
  66   1         rs=1;
  67   1         rw=0;
  68   1         e=1;
  69   1         P2=da;
  70   1         e=0;
  71   1      }
  72          
  73          
  74          //-------------------指令和显示地址写入子函数------------
  75          
  76          void comw(uchar da)
  77          {  wait();
  78   1         rs=0; 
  79   1         rw=0;
  80   1         e=1;
  81   1         P2=da;
  82   1         e=0;
  83   1      }
  84          
  85          
  86          //--------------------------初始化--------------------------------
  87          void init(void)
  88          {  uchar i; 
  89   1         delay(20);
  90   1          e=1; 
  91   1          for(i=0;i<8;i++)
  92   1           {comw(command[i]);
  93   2            delay(5);
  94   2           }
  95   1        
  96   1      }
  97          
  98          
  99          /****************************************************************************
 100            主函数部分
 101          
 102          *****************************************************************************/
 103          main()
 104            {    uchar i=0;
 105   1        
 106   1             init();//初始化
 107   1        
 108   1             comw(0x80);//写入第一行
 109   1             for(i=0;i<16;i++)
 110   1                    dataw(display1[i]);//数据写入
 111   1      
 112   1                 comw(0xc0);//写第二行
 113   1             for(i=0;i<16;i++)
 114   1                        dataw(display2[i]);//数据写入
 115   1      
 116   1                while(1);  
 117   1         }
C51 COMPILER V7.50   1602_C                                                                08/12/2007 23:14:37 PAGE 3   

 118          
 119          /*******************************************************************************/
 120          
 121          
 122          


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