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

📄 7290test.lst

📁 学习51单片机得一些例程原码,学习交流,欢迎大家和我探讨,jjzhang166@163.com
💻 LST
字号:
C51 COMPILER V7.10   7290TEST                                                              07/23/2004 18:36:40 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE 7290TEST
OBJECT MODULE PLACED IN 7290test.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE 7290test.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND

line 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          #define         PCF8563 0XA2
  40          #define  WRADDR   0x00
  41          #define  RDADDR   0x02
  42          
  43          sbit KEY_INT=P3^2;
  44          
  45          /* 全局变量 */
  46          
  47          unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
  48          
  49          /*********************************************************************************************************
  50          ** 函数名称:    display
  51          ** 功能描述:    7298A led显示
  52          ** 输 入: *sd :        显示缓冲区的头地址
  53          **         
  54          ** 输 出: 0 :  OK;
  55          **         1 :  FAIL;
C51 COMPILER V7.10   7290TEST                                                              07/23/2004 18:36:40 PAGE 2   

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

 118          **
 119          ** 作 者: 叶皓贲
 120          ** 日 期: 2003-3-4
 121          **-------------------------------------------------------------------------------------------------------
 122          ** 修改人:
 123          ** 日 期:
 124          **------------------------------------------------------------------------------------------------------
 125          ********************************************************************************************************/
 126          unsigned char  delay(unsigned char  j)
 127          {
 128   1              unsigned char  k,l;
 129   1              for(l=0;l<=j;l++)
 130   1              for(k=0;k<=250;k++);
 131   1              return 0;
 132   1      }
 133          
 134          void  main()
 135          {       
 136   1              /*定义发送缓冲区*/
 137   1              unsigned char  td[5]={0x00,0x12,0x48,0x30,0x12};
 138   1              unsigned char  rd[5]={0x00,0x01,0x02,0x03,0x04};                
 139   1              unsigned char  key,flash,i,k;   
 140   1      
 141   1              ISendStr(PCF8563,WRADDR,td,0x5);
 142   1              flash=1;
 143   1              //ZLG7290_Rest();               // 复位ZLG7289
 144   1          DelayNS(10);
 145   1              while(1)
 146   1              {
 147   2                      IRcvStr(PCF8563,RDADDR,rd,0x3);
 148   2                      if(rd[2]>0x30)
 149   2                              rd[2]=rd[2]-0x40;
 150   2                      delay(100); 
 151   2                      display(rd);
 152   2                      delay(100);
 153   2                      if(KEY_INT==0)
 154   2                      {
 155   3                              key=ZLG7290_GetKey();
 156   3                              switch(key)
 157   3                              {
 158   4                                      case 1 ://确定
 159   4                                              for(k=0;k<8;k++)
 160   4                                              {
 161   5                                                      disp_buf[k] = disp_buf[k]&0xbf;//去除闪烁
 162   5                                              }                        
 163   4                                              break;
 164   4                                      case 2 :                        //光标左移
 165   4                                              disp_buf[flash]= disp_buf[flash]&0xbf;
 166   4                                              flash=flash+1;
 167   4                                              if(flash==8)
 168   4                                                      flash=0;
 169   4                                              disp_buf[flash]= disp_buf[flash]|0x40;
 170   4                                              //ZLG7290_SendData(0x88, flash);
 171   4                                              break;
 172   4                                      case 3 :                        //光标右移
 173   4                                              disp_buf[flash]= disp_buf[flash]&0xbf;
 174   4                                              flash=flash-1;
 175   4                                              if(flash==0)
 176   4                                                      flash=8;
 177   4                                              disp_buf[flash]= disp_buf[flash]|0x40;
 178   4                                              break;
 179   4                                      case 4 :                        //光标值加一
C51 COMPILER V7.10   7290TEST                                                              07/23/2004 18:36:40 PAGE 4   

 180   4                                              if(flash==2||flash==5)  break;
 181   4                                              IRcvStr(PCF8563,RDADDR,rd,0x3);
 182   4                                              if((flash%3)==0) 
 183   4                                              {
 184   5                                                              i=flash;
 185   5                                                              i=(i/3);
 186   5                                                              rd[i]=rd[i]+1;
 187   5                                                      }
 188   4                                              else if((flash%3)!=0)
 189   4                                                      {
 190   5                                                              i=flash;
 191   5                                                              i=(i/3);
 192   5                                                              rd[i]=rd[i]+16; 
 193   5                                                      }
 194   4                                                      delay(50);
 195   4                                                      ISendStr(PCF8563,RDADDR,rd,0x3);
 196   4                                                      delay(50);
 197   4                                              break;
 198   4                                      case 5 :                            //光标值减一
 199   4                                              if(flash==2||flash==5)  break;
 200   4                                              IRcvStr(PCF8563,RDADDR,rd,0x3);
 201   4                                              //key=flash;
 202   4                                              if((flash%3)==0) 
 203   4                                              {
 204   5                                                              i=flash;
 205   5                                                              i=(i/3);
 206   5                                                              rd[i]=rd[i]-1;
 207   5                                                      }
 208   4                                              else if((flash%3)!=0)
 209   4                                                      {
 210   5                                                              i=flash;
 211   5                                                              i=(i/3);
 212   5                                                              rd[i]=rd[i]-16; 
 213   5                                                      }
 214   4                                                      delay(50);
 215   4                                                      ISendStr(PCF8563,RDADDR,rd,0x3);
 216   4                                                      delay(50);
 217   4                                              break;
 218   4                                      case 6 :
 219   4                                              
 220   4                                              break;
 221   4                                      case 7 :
 222   4                                      
 223   4                                              break;
 224   4                                      case 8 :
 225   4                                              break;
 226   4                                      default :
 227   4                                              break;
 228   4                              }
 229   3                              while(KEY_INT==0);
 230   3                      }
 231   2              }
 232   1      }
 233          
 234          
 235          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    551    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V7.10   7290TEST                                                              07/23/2004 18:36:40 PAGE 5   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8      12
   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 + -