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

📄 存储器通信lcd显示.lst

📁 实现51与计算机的通信测试 通过1602LCD显示通信的数据
💻 LST
字号:
C51 COMPILER V8.02   存储芲通信LCD显蔩                                                     05/05/2008 17:49:25 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 存储芲通信LCD显蔩
OBJECT MODULE PLACED IN 存储器通信LCD显示.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 存储器通信LCD显示.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include <intrins.h>
   3          #define uint unsigned int
   4          #define uchar unsigned char
   5          
   6          sbit e  = P3^7;
   7          sbit rs = P3^6;
   8          uchar  receive_index;
   9          
  10          
  11          uchar code xs_data1[16]="send:";//-----------显示的字符串
  12          uchar code xs_data2[16]="receiv:";
  13          uchar code hex_ascii[16]="0123456789ABCDEF";
  14          
  15          void isend(uchar adr);
  16          void dsend(uchar asc);
  17          
  18          void display_Dec(uchar dec_data);
  19          
  20          //-------显示所在的行,列,内容,长度
  21          void xianshi(uchar hang,uchar lie,uchar *p,uchar first,uchar num);
  22          
  23          //----显示数据(数据)------//
  24          void display_Data(uchar hang,uchar lie); 
  25          
  26          void delay5ms();
  27          void delay_n_ms(int n_ms);
  28          
  29          
  30          void init();                  //串口初始化子程序 工作方式2
  31          
  32          uchar receive_byte();             //串口接收一个字节子函数 返回接收数据
  33          void  send_byte(uchar send_data ); //串口发送数据程序
  34          void  receive_messages();
  35          
  36          
  37          
  38          uchar idata receive_data[6];
  39          //----- --------------------------------------
  40          
  41          void main()
  42          {       
  43   1           uchar i;
  44   1           isend(1);//清屏指令         
  45   1           xianshi(1,0,xs_data1,0,5);
  46   1               xianshi(2,0,xs_data2,0,7);
  47   1               init(); //串口初始化子程序 工作方式2 
  48   1           
  49   1               do
  50   1               {      
  51   2                  receive_messages();
  52   2                      display_Data(2,8);              
  53   2               } while (1);
  54   1              
  55   1                   
C51 COMPILER V8.02   存储芲通信LCD显蔩                                                     05/05/2008 17:49:25 PAGE 2   

  56   1       } 
*** WARNING C280 IN LINE 43 OF 存储器通信LCD显示.C: 'i': unreferenced local variable
  57           //----------------------------------------------
  58          void init()               //串口初始化子程序 工作方式2
  59          {
  60   1              TMOD=0X20;
  61   1              TH1=0XFD;        //设置波特率9600 bit/s (0XFD)   波特率4800 bit/s(0XFA) 波特率2400 bit/s (0XF4) 波特率120
             -0 bit/s(0XE8)
  62   1              TL1=0XFD;
  63   1              PCON=0X00;
  64   1              TR1=1;
  65   1              SCON=0X50;
  66   1      }
  67          //-------------------------------------------
  68          void send_byte (uchar send_data  ) //串口发送数据程序
  69          {
  70   1          SBUF=send_data;
  71   1          while(TI==0);
  72   1              TI=0; 
  73   1      }
  74          //-------------------------------------------
  75          uchar receive_byte()                    //串口接收一个字节子函数 返回接收数据
  76          {       
  77   1              while(RI==0);
  78   1              RI=0;
  79   1              return SBUF;
  80   1      }
  81          //-------------------------------------------
  82          void  receive_messages()
  83          {
  84   1        do
  85   1        {
  86   2          receive_data[receive_index]=receive_byte();
  87   2          receive_index++;  
  88   2        } while(receive_index>5);
  89   1        receive_index=0;
  90   1      }
  91          //-------------------------------------------
  92          void isend(uchar adr)       //显示屏写指令子程序
  93          {   
  94   1               P1=255;
  95   1           rs=0;
  96   1           e=1;
  97   1           P1=adr;
  98   1           e=0;
  99   1           delay5ms();
 100   1      }
 101          //-------------------------------------------
 102          void dsend(uchar asc)        //显示屏写字符子程序
 103          {
 104   1              P1=255;
 105   1              rs=1;
 106   1              e=1;
 107   1              P1=asc;
 108   1              e=0;
 109   1              delay5ms();
 110   1      } 
 111          //--------------------------------------------
 112          void delay5ms()                       //显示延时5ms子程序
 113          {
 114   1              uint j;
 115   1              for (j=0;j<1100;j++)
C51 COMPILER V8.02   存储芲通信LCD显蔩                                                     05/05/2008 17:49:25 PAGE 3   

 116   1              {;}
 117   1      }
 118          //--------------------------------------------
 119          void delay_n_ms(int n_ms)
 120          {
 121   1          uchar n_us; 
 122   1          while(n_ms--)
 123   1          {
 124   2              n_us=200;
 125   2              while(n_us--);
 126   2          }
 127   1      } 
 128          //------------------------------------------ 
 129          void xianshi(uchar hang,uchar lie,uchar *p,uchar first,uchar num)
 130          {
 131   1        int i,*xs;
 132   1        xs=p;  
*** WARNING C182 IN LINE 132 OF 存储器通信LCD显示.C: pointer to different objects
 133   1        isend(56);          //设置显示器
 134   1        isend(12);          //开显示,无光标 
 135   1      
 136   1        if(hang==1)isend(128+lie); //设置数据指针第1行
 137   1        else       isend(192+lie); //第2行
 138   1      
 139   1        for(i=first;i<num;i++)
 140   1           {        
 141   2              dsend(p[i]);     
 142   2           }
 143   1      }
 144          //------------------------------------------ 
 145          void display_Dec(uchar dec_data)
 146          {
 147   1         uchar a,b,c;
 148   1      
 149   1         a=dec_data/100;
 150   1         b=(dec_data-a*100)/10;
 151   1         c=(dec_data-a*100-b*10);
 152   1      
 153   1         dsend(hex_ascii[a]);
 154   1         dsend(hex_ascii[b]);
 155   1         dsend(hex_ascii[c]);
 156   1      }
 157          //------------------------------------------ 
 158          void display_Data(uchar hang,uchar lie)
 159          {
 160   1              isend(56);          //设置显示器
 161   1          isend(12);          //开显示,无光标 
 162   1      
 163   1          if(hang==1)isend(128+lie); //设置数据指针第1行
 164   1          else       isend(192+lie); //第2行
 165   1      
 166   1              dsend(receive_data[0]);
 167   1              dsend(receive_data[1]);
 168   1              dsend(receive_data[2]);
 169   1              dsend(receive_data[3]);
 170   1              dsend(receive_data[4]);
 171   1              dsend(receive_data[5]);
 172   1      
 173   1      
 174   1      
 175   1      
 176   1      }
C51 COMPILER V8.02   存储芲通信LCD显蔩                                                     05/05/2008 17:49:25 PAGE 4   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    408    ----
   CONSTANT SIZE    =     48    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      17
   IDATA SIZE       =      6    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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