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

📄 main.lst

📁 AD7705驱动程序
💻 LST
字号:
C51 COMPILER V8.12   MAIN                                                                  11/24/2008 10:34:37 PAGE 1   


C51 COMPILER V8.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "p89v51.h"
   2          #include "AD7705.h"
   3          
   4          sbit X5645CS = P1^6;
   5          
   6          unsigned char Send_flag;        //1未发送完  0发送完成1帧
   7          unsigned char send_buf[10];             //发送数组
   8          /*********************************************** 
   9          功能:       串口中断            
  10          ************************************************/
  11          void ser_interrupt() interrupt 4 using 2 /*串口中断*/
  12                  {    
  13   1              static unsigned char send_byte=0;
  14   1              
  15   1              if(TI)
  16   1                      {
  17   2              TI=0;
  18   2                      send_byte++;
  19   2                      if(send_byte>7)
  20   2                      {
  21   3                      send_byte=0;
  22   3                      Send_flag=0;
  23   3                      }
  24   2                      else SBUF=send_buf[send_byte];
  25   2                      }
  26   1                          
  27   1              }
  28          /************************************************
  29          功能:延时 NUM*200uS         
  30          ************************************************/
  31          void delay(unsigned int NUM)                    
  32                  {
  33   1              unsigned int i;
  34   1              unsigned char j;
  35   1              for(i=NUM;i>0;i--)
  36   1                      for(j=200;j>0;j--);              
  37   1              }
  38          /************************************************
  39          功能:主函数          
  40          ************************************************/
  41          void main()
  42          {
  43   1      unsigned char i,stat=0x03;
  44   1      unsigned int temp,ADcode1,ADcode2;
  45   1      
  46   1              delay(5);
  47   1              PCON=0x80;// 波特率翻倍
  48   1              TMOD=0x21;// 定时器0 16位模式 定时器1 为波特率发生器
  49   1              TCON=0x55;// 开启定时器
  50   1              TH1 =0xFF;// 定时器1波特率为57600  0xFF (11.0592)
  51   1              TL1 =0xFF;
  52   1              SCON=0x50;// 串行口模式1
  53   1              IEN0=0x90;
  54   1              X5645CS = 1;
  55   1              delay(1000);
C51 COMPILER V8.12   MAIN                                                                  11/24/2008 10:34:37 PAGE 2   

  56   1      
  57   1              adc_rest();
  58   1              adc1_init(ADC_SELF,ADC_GAIN_128,ADC_BIPOLAR,ADC_50);
  59   1              adc2_init(ADC_SELF,ADC_GAIN_128,ADC_BIPOLAR,ADC_50);
  60   1                      
  61   1              while(1)
  62   1              {
  63   2                      temp = adc1_read_value(1);
  64   2                      if(temp)
  65   2                      {
  66   3                              ADcode1 = temp;
  67   3                              stat&=0x0e;     
  68   3                      }
  69   2                      temp = adc2_read_value(1);
  70   2                      if(temp)
  71   2                      {
  72   3                              ADcode2 = temp;
  73   3                              stat&=0x0d;     
  74   3                      }
  75   2                      if(Send_flag==0)                //如果串口发送空闲
  76   2                      {
  77   3                              if(stat==0)
  78   3                              {
  79   4                                      send_buf[6]=0xaa;
  80   4                                      send_buf[5]=ADcode2;
  81   4                                      send_buf[4]=ADcode2>>8;                         
  82   4                                      send_buf[3]=ADcode1;
  83   4                                      send_buf[2]=ADcode1>>8;                         
  84   4                                      send_buf[1]=0x7f;
  85   4                                      send_buf[0]=0xfe;
  86   4      
  87   4                                      send_buf[7]=0;
  88   4                                      for(i=0;i<7;i++)send_buf[7] += send_buf[i];     
  89   4                                              
  90   4                                      SBUF=send_buf[0];       //开始发送
  91   4                                      Send_flag=1;
  92   4                              stat=0x03;
  93   4                              }
  94   3                      }
  95   2              }       
  96   1      }


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