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

📄 dianyabiao.lst

📁 KEIL 51上的数字电压表实验程序 用C编写 已经调试过
💻 LST
字号:
C51 COMPILER V7.09   DIANYABIAO                                                            09/17/2004 11:44:20 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE DIANYABIAO
OBJECT MODULE PLACED IN Dianyabiao.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Dianyabiao.c WARNINGLEVEL(1) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*电压表程序设计*/
   2          #include <REG51.h>
   3          #include <intrins.h>
   4          #include <absacc.h>
   5          #include "VIIC_C51.h"
   6          #include "ZLG7290.h"
   7          
   8          #define uchar   unsigned char
   9          #define uint    unsigned int
  10          #define ulong   unsigned long
  11          #define ZLG7290 0x70    //定义器件地址
  12          //定义TLC549串行总线操作端口
  13          sbit    CLK=P1^0;
  14          sbit    DAT=P1^1;
  15          sbit    CS=P1^2;
  16          //定义I2C总线控制端口
  17          sbit    SDA=P1^7;
  18          sbit    SCL=P1^6;
  19          //显示缓冲区初始化:DP-51PRO
  20          uchar disp_buf[8]={0x15,0x18,0x16,0x01,0x05,0x1f,0x16,0x0d};
  21          uchar   bdata ADCdata;
  22          sbit    ADbit=ADCdata^0;
  23          
  24          /***************************************************
  25          **函数名称:     TLC549ADC()
  26          **函数功能:     读取上一次A/D转换的数据,启动下一次A/D转换
  27          ****************************************************/
  28          uchar   TLC549ADC(void)
  29          {
  30   1              uchar   i;
  31   1              CLK=0;  
  32   1              DAT=1;
  33   1              CS=0;
  34   1              for(i=0;i<8;i++)
  35   1              {
  36   2                      CLK=1;
  37   2                      _nop_();
  38   2                      _nop_();
  39   2                      ADCdata<<=1;
  40   2                      ADbit=DAT;
  41   2                      CLK=0;
  42   2                      _nop_();                
  43   2              }
  44   1              return (ADCdata);
  45   1      }
  46          /****************************************
  47          **函数名称:     delay()
  48          **函数功能:     硬件延时50MS程序
  49          **入口参数:     i
  50          ****************************************/
  51          void delay(uchar i)
  52          { uchar j;
  53   1        for(j=0;j<i;j++)
  54   1          {
  55   2                  TMOD=0x01;
C51 COMPILER V7.09   DIANYABIAO                                                            09/17/2004 11:44:20 PAGE 2   

  56   2                  TH0=0X3C;
  57   2                  TL0=0XB0;
  58   2                  TF0=0;ET0=0;
  59   2                  TR0=1;
  60   2                  while(!TF0);
  61   2                  TR0=0;TF0=0;
  62   2          }
  63   1      }
  64          /*A/D数据转换处理和输出显示功能函数*/
  65          /*******************************************
  66          **函数名称:     display()
  67          **函数功能:     处理A/D转换后的数据并输出显示
  68          ********************************************/
  69          void display(uchar advalue)
  70          { 
  71   1              ulong   ad_disp;
  72   1              ad_disp=((ulong)advalue)*500/255;       
  73   1          disp_buf[2] =(uchar)(ad_disp/100%10)+0x80;
  74   1          disp_buf[1] =(uchar)(ad_disp/10%10);
  75   1          disp_buf[0] =(uchar)(ad_disp/1%10);
  76   1          ZLG7290_SendBuf(disp_buf,8);
  77   1      }
  78          /*****************************
  79          **主程序函数
  80          *****************************/
  81          void main()
  82          {
  83   1              uchar ad_sample;
  84   1              ZLG7290_SendBuf(disp_buf,8);
  85   1              ZLG7290_SendData(0X15,0X02);
  86   1              disp_buf[7] =0x1f;                      
  87   1          disp_buf[6] =0x1f;          
  88   1          disp_buf[5] =0x1f;
  89   1          disp_buf[4] =0x1f;
  90   1          disp_buf[3] =0x1f;
  91   1              delay(50);
  92   1              while(1)
  93   1              {
  94   2                      ad_sample=TLC549ADC();
  95   2                      display(ad_sample);
  96   2                      delay(6);
  97   2              }
  98   1      }
  99          
 100          
 101          
 102          
 103          


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