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

📄 adc0832.lst

📁 单片机c语言 用于DY500或同类型的开发板
💻 LST
字号:
C51 COMPILER V7.06   ADC0832                                                               09/04/2008 09:36:16 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ADC0832
OBJECT MODULE PLACED IN ADC0832.OBJ
COMPILER INVOKED BY: d:\Keil2\C51\BIN\C51.EXE ADC0832.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>//包含相应的头文件
   2          
   3          #include<stdio.h>
   4          #include<intrins.h>
   5          
   6          
   7          sbit CS=P3^4;//定义数模转换器硬件对应引脚
   8          sbit CLK=P3^5;
   9          sbit DO=P3^6;
  10          sbit DI=P3^7;
  11          
  12          bit ADFlag;
  13          
  14          unsigned int ADtemp;//定义中间变量
  15          
  16          extern char data TimeNum[];
  17          unsigned char code DIS[]={0xfd,0xfb,0xf7};  //定义数码管位码
  18          unsigned char code Datatab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//7段数码管段码表
  19          data unsigned char  Display[3];//定义临时存放数码管数值
  20          
  21          void disp (void);
  22          void DelayMs(unsigned char ms);//delay Ms
  23          void InitLcd();
  24          
  25          void Init_Timer1(void)
  26          {
  27   1       TMOD |= 0x10;                       
  28   1       TH1=0xff;                      /* Init value */
  29   1       TL1=0x00;
  30   1       //PT1=1;                   /* 优先级    */
  31   1       EA=1;                      /* interupt enable */
  32   1       ET1=1;                     /* enable timer1 interrupt */
  33   1       TR1=1;  
  34   1      }
  35          
  36          unsigned char ReadADC(unsigned char channel)
  37          {
  38   1       unsigned char i,j;
  39   1       unsigned char Temp=0;
  40   1       channel <<=3;                
  41   1       channel |=3;
  42   1           CS =0;                  //按照资料进行时序操作
  43   1       for(i=0;i<3;i++)            //输入指令,包含通道选择
  44   1          {
  45   2           CLK=0;
  46   2               _nop_();
  47   2           DI=channel;
  48   2           channel>>=1;
  49   2           _nop_();
  50   2           CLK=1; 
  51   2           DI=0;
  52   2         }   
  53   1         CLK=0;
  54   1          _nop_();
  55   1         CLK=1;
C51 COMPILER V7.06   ADC0832                                                               09/04/2008 09:36:16 PAGE 2   

  56   1      for(j=0;j<8;j++)   //处理读入8位数据
  57   1         {
  58   2          CLK=0;
  59   2              _nop_();
  60   2          Temp=(Temp<<1)|DO;
  61   2         _nop_();
  62   2          CLK=1;
  63   2          }
  64   1        CS=1;
  65   1      return(Temp); //返回转换值
  66   1      
  67   1      }
  68          
  69          
  70          void Timer1_isr(void) interrupt 3 using 1//定时器1执行数码管动态扫描
  71          {
  72   1      
  73   1       static unsigned char j;
  74   1       TH1=0xfb;              /* Init value */
  75   1       TL1=0x00;
  76   1       j++;
  77   1       if(j==200) {j=0;ADFlag=1;}
  78   1      
  79   1      }
  80          
  81          main()
  82          {
  83   1      // unsigned char temp;
  84   1       Init_Timer1();
  85   1       InitLcd();//
  86   1       DelayMs(15);
  87   1      
  88   1      
  89   1                      while(1)
  90   1                      {
  91   2                       if(ADFlag)      //定时采集输入模拟量
  92   2                 {
  93   3         
  94   3                      ADFlag=0;
  95   3                      ADtemp=ReadADC(0);
  96   3                      ADtemp *=20;
  97   3                      //TimeNum[12]=Datatab[((ADtemp-5)/50)];//处理电压显示
  98   3                      //TimeNum[14]=Datatab[((ADtemp-5)%50)/10];
  99   3                      //TimeNum[15]=Datatab[((ADtemp-5)%50)%10];
 100   3              disp ();
 101   3                         }
 102   2                      }
 103   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    156    ----
   CONSTANT SIZE    =     13    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   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 + -