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

📄 rs485.lst

📁 ZLG7290例程*ZLG7290汇编例程*读EEPROM并显示例程* 16×2LCD模块例程*128×64点阵LCD模块例程* 直连KEY和LED例程 直连LED例程* lin模块的原码及例程。LI
💻 LST
字号:
C51 COMPILER V7.06   RS485                                                                 07/04/2003 09:48:45 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE RS485
OBJECT MODULE PLACED IN rs485.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE rs485.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************Copyright (c)**************************************************
   2          **                               广州周立功单片机发展有限公司
   3          **                                     研    究    所
   4          **                                        产品一部 
   5          **
   6          **                                 http://www.zlgmcu.com
   7          **
   8          **--------------文件信息--------------------------------------------------------------------------------
   9          **文   件   名: PCF8563.C
  10          **创   建   人: 叶皓贲
  11          **最后修改日期:  2003-3-4
  12          **描        述: DP-1581的8563T及7289a键盘LED演示程序
  13          **
  14          **--------------历史版本信息----------------------------------------------------------------------------
  15          ** 创建人: 叶皓贲
  16          ** 版  本: 1.0
  17          ** 日 期: 2003-3-4
  18          ** 描 述: DP-1581演示程序
  19          **
  20          **------------------------------------------------------------------------------------------------------
  21          ** 修改人:
  22          ** 版  本:
  23          ** 日 期:
  24          ** 描 述:
  25          **
  26          **--------------当前版本修订------------------------------------------------------------------------------
  27          ** 修改人: 
  28          ** 日 期:
  29          ** 描 述:
  30          **
  31          **------------------------------------------------------------------------------------------------------
  32          ********************************************************************************************************/
  33          #include "REG52.h"
  34          #include <intrins.h>
  35          #include <absacc.h>
  36          #include "VIIC_C51.h"
  37          #include "ZLG7290.h"
  38          
  39          sbit KEY_INT=P3^2;
  40          sbit RS485_RE=P1^5;
  41          
  42          bit rec_data;
  43          
  44          unsigned char rec_temp=1;
  45          
  46          /* 全局变量 */
  47          
  48          unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
  49          
  50          /*********************************************************************************************************
  51          ** 函数名称:    display
  52          ** 功能描述:    7298A led显示
  53          ** 输 入: *sd :        显示缓冲区的头地址
  54          **         
  55          ** 输 出: 0 :  OK;
C51 COMPILER V7.06   RS485                                                                 07/04/2003 09:48:45 PAGE 2   

  56          **         1 :  FAIL;
  57          ** 全局变量:    无
  58          ** 调用模块:    ZLG7289_SendBuf
  59          **
  60          ** 作 者: 叶皓贲
  61          ** 日 期: 2003-3-4
  62          **-------------------------------------------------------------------------------------------------------
  63          ** 修改人:
  64          ** 日 期:
  65          **------------------------------------------------------------------------------------------------------
  66          ********************************************************************************************************/
  67          unsigned char display_send(unsigned char  sd)
  68          { 
  69   1              disp_buf[0] = sd;                       // 装载" dp-932"
  70   1          disp_buf[1] = 31;           
  71   1          disp_buf[2] = 0x1E;
  72   1          disp_buf[3] = 0x0e;
  73   1          disp_buf[4] = 0x05;
  74   1          disp_buf[5] = 31;
  75   1          disp_buf[6] = 31;   
  76   1          disp_buf[7] = 31;
  77   1          ZLG7290_SendBuf(disp_buf,8);
  78   1              return 0;
  79   1      }
  80          unsigned char display_rec(unsigned char  sd)
  81          { 
  82   1              disp_buf[0] = sd;                       // 装载" dp-932"
  83   1          disp_buf[1] = 31;           
  84   1          disp_buf[2] = 0x0c;
  85   1          disp_buf[3] = 0x0e;
  86   1          disp_buf[4] = 0x18;
  87   1          disp_buf[5] = 31;
  88   1          disp_buf[6] = 31;   
  89   1          disp_buf[7] = 31;
  90   1          ZLG7290_SendBuf(disp_buf,8);
  91   1              return 0;
  92   1      }
  93          /*********************************************************************************************************
  94          ** 函数名称:    DelayNS
  95          ** 功能描述:    长软件延时
  96          ** 输 入: no : 延时参数,值越大时延时越久
  97          **         
  98          ** 输 出: 0 :  OK;
  99          **         1 :  FAIL;
 100          ** 全局变量:    无
 101          ** 调用模块:    无
 102          **
 103          ** 作 者: 叶皓贲
 104          ** 日 期: 2003-3-4
 105          **-------------------------------------------------------------------------------------------------------
 106          ** 修改人:
 107          ** 日 期:
 108          **------------------------------------------------------------------------------------------------------
 109          ********************************************************************************************************/
 110          unsigned char DelayNS(unsigned char  no)
 111          { 
 112   1              unsigned char  i,j;                                     //延时参数
 113   1      
 114   1              for(; no>0; no--)
 115   1              { 
 116   2                      for(i=0; i<100; i++)
 117   2                      for(j=0; j<100; j++);
C51 COMPILER V7.06   RS485                                                                 07/04/2003 09:48:45 PAGE 3   

 118   2              }
 119   1              return 0; 
 120   1      }
 121          
 122          /*********************************************************************************************************
 123          ** 函数名称:    delay
 124          ** 功能描述:    短软件延时
 125          ** 输 入: j :  延时参数,值越大时延时越久
 126          **         
 127          ** 输 出: 0 :  OK;
 128          **         1 :  FAIL;
 129          ** 全局变量:    无
 130          ** 调用模块:    无
 131          **
 132          ** 作 者: 叶皓贲
 133          ** 日 期: 2003-3-4
 134          **-------------------------------------------------------------------------------------------------------
 135          ** 修改人:
 136          ** 日 期:
 137          **------------------------------------------------------------------------------------------------------
 138          ********************************************************************************************************/
 139          unsigned char  delay(unsigned char  j)
 140          {
 141   1              unsigned char  k,l;
 142   1              for(l=0;l<=j;l++)
 143   1              for(k=0;k<=250;k++);
 144   1              return 0;
 145   1      }
 146          
 147          
 148          void main()
 149          {
 150   1              unsigned char key;
 151   1              rec_data=0;
 152   1              
 153   1              //====设置波特率===================
 154   1              delay(100); 
 155   1              TMOD = 0X20;
 156   1              SCON=0X50;
 157   1              TH1=0XFA;
 158   1              TL1=0XFA;
 159   1              PCON=0X80;
 160   1              TR1=1;
 161   1              EA=1;
 162   1              ES=1;
 163   1      
 164   1              RS485_RE=0;
 165   1      
 166   1              while(1)
 167   1              {
 168   2                      if(KEY_INT==0)
 169   2                      {
 170   3                              key=ZLG7290_GetKey();
 171   3                              delay(20);
 172   3                          display_send(key);
 173   3                              RS485_RE=1;
 174   3                              SBUF=key;
 175   3                              delay(30);
 176   3                      }
 177   2                      if(rec_data)
 178   2                      {
 179   3                              rec_data=0;
C51 COMPILER V7.06   RS485                                                                 07/04/2003 09:48:45 PAGE 4   

 180   3                              display_rec(rec_temp);
 181   3                              delay(20);
 182   3                      }
 183   2      
 184   2              }
 185   1      }
 186          
 187          void Serial_ISR() interrupt 4
 188          {
 189   1              if(TI)
 190   1              {
 191   2                      TI=0;
 192   2                      RS485_RE=0;
 193   2              }
 194   1              else
 195   1              {
 196   2                      RI=0;
 197   2                      rec_data=1;
 198   2                      rec_temp=SBUF;
 199   2              }
 200   1      }


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


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

⌨️ 快捷键说明

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