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

📄 7290test.lst

📁 系统通过单片机控制主电路
💻 LST
字号:
C51 COMPILER V7.50   7290TEST                                                              07/24/2007 09:09:00 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 7290TEST
OBJECT MODULE PLACED IN 7290test.OBJ
COMPILER INVOKED BY: C:\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 <stdio.h>
  34          #include <intrins.h>
  35          #include <absacc.h>
  36          #include "VIIC_C51.h"
  37          #include "ZLG7290.h"
  38          #include "reg52.h"
  39          
  40          #define DAC0832 XBYTE[0x7FFF] 
  41          #define ADC0809 XBYTE[0xBFF8] 
  42          #define ulong unsigned long
  43          
  44          #define uint unsigned int 
  45          
  46          sbit KEY_INT=P3^3;
  47           
  48          
  49          /* 全局变量 */   
  50           
  51           
  52          unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
  53           unsigned char  rd[8]={0,0,0,0,0,8,8,8};
  54           unsigned char  ab,cd,a,c=0 ;
  55                           float b=0.0;
C51 COMPILER V7.50   7290TEST                                                              07/24/2007 09:09:00 PAGE 2   

  56          unsigned char  bdata sendbyte,receivebyte;//一定不要忘记加uchar 否则后果不堪设想!!!!!
  57           
  58          sbit sda=P1^0;
  59          sbit scl=P1^1;
  60          sbit sendbyte7=sendbyte^7 ;
  61          sbit receivebyte7=receivebyte^7;
  62          
  63          
  64          
  65          
  66          /*********************************************************************************************************
  67          ** 函数名称:    display
  68          ** 功能描述:    7298A led显示
  69          ** 输 入: *sd :        显示缓冲区的头地址
  70          **         
  71          ** 输 出: 0 :  OK;
  72          **         1 :  FAIL;
  73          ** 全局变量:    无
  74          ** 调用模块:    ZLG7289_SendBuf
  75          **
  76          ** 作 者: 叶皓贲
  77          ** 日 期: 2003-3-4
  78          **-------------------------------------------------------------------------------------------------------
  79          ** 修改人:
  80          ** 日 期:
  81          **------------------------------------------------------------------------------------------------------
  82          ********************************************************************************************************/
  83          unsigned char display(unsigned char  *sd)
  84          { 
  85   1              
  86   1          ZLG7290_SendBuf(rd,8);
  87   1              return 0;
  88   1      }
*** WARNING C280 IN LINE 83 OF 7290TEST.C: 'sd': unreferenced local variable
  89          
  90          /*********************************************************************************************************
  91          ** 函数名称:    DelayNS
  92          ** 功能描述:    长软件延时
  93          ** 输 入: no : 延时参数,值越大时延时越久
  94          **         
  95          ** 输 出: 0 :  OK;
  96          **         1 :  FAIL;
  97          ** 全局变量:    无
  98          ** 调用模块:    无
  99          **
 100          ** 作 者: 叶皓贲
 101          ** 日 期: 2003-3-4
 102          **-------------------------------------------------------------------------------------------------------
 103          ** 修改人:
 104          ** 日 期:
 105          **------------------------------------------------------------------------------------------------------
 106          ********************************************************************************************************/
 107          unsigned char DelayNS(unsigned char  no)
 108          { 
 109   1              unsigned char  i,j;                                     //延时参数
 110   1      
 111   1              for(; no>0; no--)
 112   1              { 
 113   2                      for(i=0; i<100; i++)
 114   2                      for(j=0; j<100; j++);
 115   2              }
 116   1              return 0; 
C51 COMPILER V7.50   7290TEST                                                              07/24/2007 09:09:00 PAGE 3   

 117   1      }
 118          
 119          /*********************************************************************************************************
 120          ** 函数名称:    delay
 121          ** 功能描述:    短软件延时
 122          ** 输 入: j :  延时参数,值越大时延时越久
 123          **         
 124          ** 输 出: 0 :  OK;
 125          **         1 :  FAIL;
 126          ** 全局变量:    无
 127          ** 调用模块:    无
 128          **
 129          ** 作 者: 叶皓贲
 130          ** 日 期: 2003-3-4
 131          **-------------------------------------------------------------------------------------------------------
 132          ** 修改人:
 133          ** 日 期:
 134          **------------------------------------------------------------------------------------------------------
 135          ********************************************************************************************************/
 136          unsigned char  delay(unsigned char  j)
 137          {
 138   1              unsigned char  k,l;
 139   1              for(l=0;l<=j;l++)
 140   1              for(k=0;k<=250;k++);
 141   1              return 0;
 142   1      }
 143          
 144            unsigned char VI( unsigned char ab,unsigned char cd )
 145                   {unsigned char z;      
 146   1               float vi;
 147   1               vi=(((float)ab+(float)cd/10)-15)/0.082;
 148   1               z=(unsigned char)vi;
 149   1               return(z+182);
 150   1      
 151   1               }       
 152           
 153                  
 154          
 155          /*
 156            void sendstr(unsigned char *p,unsigned char n)
 157          {
 158                   unsigned char i=0;
 159                   EA=0;
 160                   for(i=0;i<n;i++)
 161                   {  
 162                      SBUF=*(p+i);
 163                      while(TI==0);
 164                          TI=0;
 165                   }
 166                   EA=1;
 167          
 168          } */
 169          delay1(uint i)
 170          { 
 171   1       while(i--);
 172   1       }
 173          void init()
 174          {
 175   1        scl=1;
 176   1        delay1(2);
 177   1        sda=1;
 178   1        delay1(2);
C51 COMPILER V7.50   7290TEST                                                              07/24/2007 09:09:00 PAGE 4   

 179   1      
 180   1      }
 181          void start()//开始
 182          {
 183   1        sda=1;
 184   1        delay1(2);
 185   1        scl=1;
 186   1        delay1(2) ;
 187   1        sda=0;
 188   1        delay1(2);
 189   1        scl=0;
 190   1        delay1(2);
 191   1      }
 192          void stop()//结束
 193          {
 194   1       
 195   1        sda=0;        
 196   1        delay1(2);   
 197   1        scl=1;        
 198   1        delay1(2);
 199   1        sda=1;        
 200   1        delay1(2);
 201   1      }
 202          
 203          void write (unsigned char undata)//写入
 204          {
 205   1        unsigned char i;
 206   1        for(i=8;i>0;i--)
 207   1       {
 208   2          sda=(bit)(undata&0x80);
 209   2              undata<<=1;
 210   2          scl=1;
 211   2          delay1(2);
 212   2              scl=0;
 213   2              delay1(2);
 214   2          
 215   2        }
 216   1      } 
 217           bit check()//从机给单片机应答
 218          {
 219   1        unsigned char temp=4;
 220   1        scl=0;
 221   1        delay1(2);
 222   1        sda=1;
 223   1        delay1(2);
 224   1        scl=1;
 225   1        delay1(2);
 226   1        while(sda&&temp)
 227   1          temp--;
 228   1        scl=0;
 229   1        delay1(2);
 230   1        if(temp)
 231   1          return(0);
 232   1        else
 233   1          return(1);
 234   1      }
 235          void  putack(bit ack1)//单片机给从机应答
 236          {
 237   1        scl=0;
 238   1        delay1(2);
 239   1        sda=ack1;
 240   1        scl=1;
C51 COMPILER V7.50   7290TEST                                                              07/24/2007 09:09:00 PAGE 5   

 241   1        delay1(2);
 242   1        scl=0;
 243   1        delay1(2);
 244   1       }
 245          
 246          unsigned char  read(void)//读入
 247          {
 248   1         unsigned char dat;
 249   1         unsigned char i;
 250   1         sda=1;
 251   1         delay1(2);
 252   1         for(i=8;i>0;i--)
 253   1       {  
 254   2          scl=0;
 255   2          delay1(2);
 256   2          scl=1;
 257   2          delay1(2);
 258   2          dat<<=1;
 259   2              if(sda)
 260   2              dat++;
 261   2              scl=0;
 262   2              delay1(2);
 263   2       }
 264   1              return(dat);
 265   1      }
 266          void  writesque( unsigned char cadress,unsigned char dadress,unsigned char*dat,unsigned char n)//写一个数

⌨️ 快捷键说明

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