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

📄 0832.lst

📁 4X4矩阵键盘+LCD1602显示源码及编程文件
💻 LST
字号:
C51 COMPILER V6.12  0832                                                                   09/16/2008 09:21:36 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE 0832
OBJECT MODULE PLACED IN .\0832.OBJ
COMPILER INVOKED BY: D:\keil c51\C51\BIN\C51.EXE .\0832.C DEBUG OBJECTEXTEND

stmt level    source

   1          #include<absacc.h>
   2          #include<reg51.h>
   3          #include<intrins.h>
   4          #define uchar unsigned char
   5          #define uint unsigned int
   6          unsigned char T,DA;
   7          sbit AD_CS=P2^3;
   8          sbit SCK=P2^1;
   9          sbit DI=P2^2;
  10          sbit DO=P2^0;
  11          sbit date=P2^4;
  12          uchar adc0832(uchar channel);
  13          void main (void)
  14          {
  15   1         date=0;
  16   1         while(1)
  17   1      	{
  18   2             DA=adc0832(1);       
  19   2      	   if(DA>=0x4f)	   
  20   2                 date=1;
  21   2      	   else
  22   2      	       date=0;
  23   2      
  24   2      	}
  25   1      }
  26          uchar adc0832(uchar channel)   //读ADC0832函数,采集并返回
  27          {
  28   1      uchar i=0;
  29   1      uchar j;
  30   1      uint dat2=0;
  31   1      uchar ndat=0;
  32   1      
  33   1      if(channel==0)channel=2;
  34   1      if(channel==1)channel=3;
  35   1      
  36   1      AD_CS=0;_nop_();  //拉低CS端,AD片选
  37   1      
  38   1      DI=1;_nop_();    //在第一个脉冲下降之前 DI 必须是高电平,表示启始信号 
  39   1      SCK=1;_nop_();   
  40   1      SCK=0;_nop_();
  41   1      
  42   1      SCK=1;                   
  43   1      DI=channel&0x1;_nop_();//在第二和第三个脉冲下降之前 DI 输入两位表示通道
  44   1      SCK=0;_nop_();   
  45   1      SCK=1;                   
  46   1      DI=(channel>>1)&0x1;_nop_(); 
  47   1      SCK=0;                     //写命令完成,DI失去输入作用
  48   1      DI=1;_nop_();    
  49   1      
  50   1      dat2=0;
  51   1      for(i=0;i<8;i++)        //读出8字节数据
  52   1      {
  53   2      dat2|=DO;
  54   2      SCK=1;_nop_();
  55   2      SCK=0;_nop_();
C51 COMPILER V6.12  0832                                                                   09/16/2008 09:21:36 PAGE 2   

  56   2      dat2<<=1;
  57   2      if(i==7)dat2|=DO;
  58   2      }
  59   1        
  60   1      for(i=0;i<8;i++)
  61   1      {
  62   2      j=0;
  63   2      j=j|DO;
  64   2      SCK=1;_nop_();
  65   2      SCK=0;_nop_(); 
  66   2      j=j<<7;
  67   2      ndat=ndat|j;
  68   2      if(i<7)ndat>>=1;
  69   2      }
  70   1      
  71   1      AD_CS=1;
  72   1      SCK=0;
  73   1      DO=1;
  74   1      dat2<<=8;
  75   1      dat2|=ndat;
  76   1      return(dat2);              //返回数据
  77   1      }
  78          


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