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

📄 adc0809.lst

📁 ADC0809是一款8通道复用的8位AD转换器
💻 LST
字号:
C51 COMPILER V8.08   ADC0809                                                               12/26/2008 21:53:34 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE ADC0809
OBJECT MODULE PLACED IN ADC0809.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ADC0809.C BROWSE DEBUG OBJECTEXTEND

line level    source

*** WARNING C500 IN LINE 1 OF ADC0809.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))

   1          #include <reg52.h>
   2          #include <ctype.h>
   3          #include <string.h>
   4          #include <stdlib.h>
   5          #include <stdio.h>
   6          #include <math.h>
   7          #include <absacc.h>
   8          
   9          #define uchar unsigned char
  10          #define uint unsigned int
  11          #define ulong unsigned long
  12          
  13          sbit sm1623_dout=P1^0;
  14          sbit sm1623_din=P1^1;
  15          sbit sm1623_clk=P1^2;
  16          sbit sm1623_stb=P1^3;
  17          sbit P3_5=P3^5;
  18          
  19          #define cs_0809 XBYTE[0XF000]
  20          
  21          void delaym(uchar delaym_temp);//短延时
  22          void disp(uchar dis);
  23          void display();
  24          
  25          uchar i;
  26          uchar code_dis[6];
  27          
  28          main(void)
  29          {
  30   1              code_dis[0]=11;
  31   1              code_dis[1]=12;
  32   1              code_dis[2]=13;
  33   1              code_dis[3]=0;
  34   1              code_dis[4]=0;
  35   1              code_dis[5]=0;
  36   1              display();//显示Ad-000
  37   1      start:  cs_0809=0;//启动A/D转换
  38   1              delaym(5);
  39   1              while(P3_5==1);
  40   1              i=cs_0809;//读数据
  41   1              code_dis[5]=i%10;
  42   1              i=i/10;
  43   1              code_dis[4]=i%10;
  44   1              i=i/10;
  45   1              code_dis[3]=i%10;
  46   1              display();//将A/D转换的结果送显示
  47   1              goto start;     
  48   1      }
  49          
  50          void delaym(uchar delaym_temp)//延时子程序
  51          {
  52   1              uchar data i;
  53   1              for(i=0;i<delaym_temp;i++);
  54   1      }
C51 COMPILER V8.08   ADC0809                                                               12/26/2008 21:53:34 PAGE 2   

  55          
  56          void disp(uchar dis)//送显示命令子程序
  57          {
  58   1              uchar dis_i,dis_temp;
  59   1              dis_temp=0x01;
  60   1              for(dis_i=0;dis_i<8;dis_i++)
  61   1              {
  62   2                      sm1623_clk=0;
  63   2                      delaym(1);
  64   2                      if((dis&dis_temp)==0){sm1623_din=0;}
  65   2                      else{sm1623_din=1;}
  66   2                      sm1623_clk=1;//上升沿输入数据
  67   2                      delaym(1);
  68   2                      dis_temp=dis_temp<<1;
  69   2              }
  70   1      }
  71          
  72          void display()//显示子程序
  73          {
  74   1              uchar code_dis_d[6];
  75   1              uchar i;
  76   1              for(i=0;i<6;i++)//计算显示码
  77   1              {
  78   2                      switch(code_dis[i])
  79   2                      {
  80   3                              case 1:
  81   3                                      code_dis_d[i]=0x06;
  82   3                                      break;
  83   3                              case 2:
  84   3                                      code_dis_d[i]=0x5b;
  85   3                                      break;
  86   3                              case 3:
  87   3                                      code_dis_d[i]=0x4f;
  88   3                                      break;
  89   3                              case 4:
  90   3                                      code_dis_d[i]=0x66;
  91   3                                      break;
  92   3                              case 5:
  93   3                                      code_dis_d[i]=0x6d;
  94   3                                      break;
  95   3                              case 6:
  96   3                                      code_dis_d[i]=0x7d;
  97   3                                      break;
  98   3                              case 7:
  99   3                                      code_dis_d[i]=0x07;
 100   3                                      break;
 101   3                              case 8:
 102   3                                      code_dis_d[i]=0x7f;
 103   3                                      break;
 104   3                              case 9:
 105   3                                      code_dis_d[i]=0x6f;
 106   3                                      break;
 107   3                              case 10://显示黑
 108   3                                      code_dis_d[i]=0x00;
 109   3                                      break;
 110   3                              case 11://显示A
 111   3                                      code_dis_d[i]=0x77;
 112   3                                      break;
 113   3                              case 12://显示d
 114   3                                      code_dis_d[i]=0x5e;
 115   3                                      break;
 116   3                              case 13://显示-
C51 COMPILER V8.08   ADC0809                                                               12/26/2008 21:53:34 PAGE 3   

 117   3                                      code_dis_d[i]=0x40;
 118   3                                      break;
 119   3                              case 14://显示8.
 120   3                                      code_dis_d[i]=0xff;
 121   3                                      break;
 122   3                              default://显示0
 123   3                                      code_dis_d[i]=0x3f;
 124   3                                      break;
 125   3                      }
 126   2              }
 127   1              sm1623_stb=0;
 128   1              disp(0x02);//显示模式6位12段
 129   1              sm1623_stb=1;
 130   1              delaym(1);
 131   1              sm1623_stb=0;
 132   1              disp(0x40);//设置数据
 133   1              sm1623_stb=1;
 134   1              delaym(1);
 135   1              sm1623_stb=0;
 136   1              disp(0xc0);//设置地址
 137   1              disp(code_dis_d[0]);//1
 138   1              disp(0x00);
 139   1              disp(code_dis_d[1]);//2
 140   1              disp(0x00);
 141   1              disp(code_dis_d[2]);//3
 142   1              disp(0x00);
 143   1              disp(code_dis_d[3]);//4
 144   1              disp(0x00);
 145   1              disp(code_dis_d[4]);//5
 146   1              disp(0x00);
 147   1              disp(code_dis_d[5]);//6
 148   1              disp(0x00);
 149   1              sm1623_stb=1;
 150   1              delaym(1);
 151   1              sm1623_stb=0;
 152   1              disp(0x8a);//控制显示
 153   1              sm1623_stb=1;
 154   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    405    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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