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

📄 single.lst

📁 c8051单片机源程序
💻 LST
字号:
C51 COMPILER V6.14  SINGLE                                                                 01/04/2006 09:52:49 PAGE 1   


C51 COMPILER V6.14, COMPILATION OF MODULE SINGLE
OBJECT MODULE PLACED IN single.OBJ
COMPILER INVOKED BY: C:\Cygnal\IDEfiles\C51\BIN\C51.exe single.c DB OE

stmt level    source

   1          //////////单端输入,定时启动,由T2定时,选择AIN0.3为ADC0转化通道////////////////
   2          //////single.c///////////////////////////////////
   3          #include "lcd.h"//笔者所写的LCD显示头文件,具体见LCD章节
*** WARNING C258 IN LINE 29 OF LCD.H: 'num': mspace on parameter ignored
*** WARNING C258 IN LINE 29 OF LCD.H: 'line': mspace on parameter ignored
*** WARNING C258 IN LINE 30 OF LCD.H: 'num': mspace on parameter ignored
*** WARNING C258 IN LINE 30 OF LCD.H: 'str': mspace on parameter ignored
*** WARNING C258 IN LINE 31 OF LCD.H: 'inum': mspace on parameter ignored
*** WARNING C258 IN LINE 39 OF LCD.H: 'num': mspace on parameter ignored
*** WARNING C258 IN LINE 39 OF LCD.H: 'fbit': mspace on parameter ignored
*** WARNING C258 IN LINE 39 OF LCD.H: 'line': mspace on parameter ignored
*** WARNING C235 IN LINE 48 OF LCD.H: parameter 1: different types
*** WARNING C258 IN LINE 126 OF LCD.H: 'inum': mspace on parameter ignored
*** WARNING C258 IN LINE 207 OF LCD.H: 'num': mspace on parameter ignored
*** WARNING C258 IN LINE 207 OF LCD.H: 'fbit': mspace on parameter ignored
*** WARNING C258 IN LINE 207 OF LCD.H: 'line': mspace on parameter ignored
*** WARNING C258 IN LINE 212 OF LCD.H: 'num': mspace on parameter ignored
*** WARNING C258 IN LINE 212 OF LCD.H: 'line': mspace on parameter ignored
*** WARNING C258 IN LINE 216 OF LCD.H: 'inum': mspace on parameter ignored
*** WARNING C258 IN LINE 216 OF LCD.H: 'str': mspace on parameter ignored
*** WARNING C258 IN LINE 216 OF LCD.H: 'page': mspace on parameter ignored
*** WARNING C236 IN LINE 216 OF LCD.H: '_showintmes': different length of parameter lists
   4          /*
   5          若读者没有条件使用"lcd.h"的各显示和键盘函数,则可在lcd.h文件中如下定义:
   6          
   7          #include "c8051f040.h"
   8          void dispini();
   9          void showf();
  10          
  11          
  12          //则该调试文件能编译通过,用户也可调试,只是要通过设断点来观察数据
  13          */
  14          #define ADC0START temppage=SFRPAGE;SFRPAGE=0x00;AD0BUSY=1;SFRPAGE=temppage
  15          #define REAL_RATE 488L
  16          #define ADJRATEDIF 237L
  17          #define ADJRATESE 118L
  18          
  19          /*
  20          REAL_RATE为物理量转化系数,由具体对象而定
  21          ADJRATEDIF为差动模式下,增益为0.5时ADC0转化值与真实电压的转换系数
  22          ADJRATESE为单端输入模式下,增益为0.5时ADC0转化值与真实电压的转换系数
  23          */
  24          
  25          sfr16 RCAP2=0xca;
  26          sfr16 RCAP3=0xca;
  27          sfr16 RCAP4=0xca;
  28          sfr16 TMR4=0xcc;
  29          sfr16 TMR3=0xcc;
  30          sfr16 TMR2=0xcc;
  31          sfr16 PCA0CP0=0xfb;
  32          sfr16 PCA0CP1=0xfd;
  33          sfr16 PCA0CP2=0xe9;
  34          sfr16 PCA0CP3=0xeb;
  35          sfr16 PCA0CP4=0xed;
  36          sfr16 PCA0CP5=0xe1;
C51 COMPILER V6.14  SINGLE                                                                 01/04/2006 09:52:49 PAGE 2   

  37          sfr16 ADC0VAL=0xbe;//将ADC0H-ADC0L通过sfr16实现
  38          sfr16 ADC0GT=0xc4;
  39          sfr16 ADC0LT=0xc6;
  40          sfr16 DPTR=0x82;
  41          uchar temppage;
  42          bit isnewdata;
  43          int kk;
  44          long target_val;//工程量转化值
  45          long realvol;//真实测量电压值
  46          float temp;
  47          
  48          	uint current;
  49          	uint voltage;
  50          	uint force; //寻址变量
  51          	uint cooldata;
  52          	uint highdata;
  53          	uint lowdata; 
  54          	uchar i;
  55          	uchar j;
  56          	uchar n;//设置焊接段数
  57          	uint PerCur;
  58              uint PerVol;
  59          	uint PerFor;
  60          	xdata uint PerCur[192];
*** ERROR C231 IN LINE 60 OF SINGLE.C: 'PerCur': redefinition
  61          	xdata uint PerVol[192];
*** ERROR C231 IN LINE 61 OF SINGLE.C: 'PerVol': redefinition
  62          	xdata uint PerFor[192];
*** ERROR C231 IN LINE 62 OF SINGLE.C: 'PerFor': redefinition
  63          void adc0_mux(uchar type,uchar source);
  64          void adc0_source(uchar source);
  65          void p3anolog_ini(uchar port);
  66          void HVDA_ini(uchar gaind);
  67          void adc0_ini();
  68          void config();
  69          void t2_ini();
  70          void t2_baud(uint t2reload);
  71          void t2_ini(){
  72   1      	SFRPAGE = 0x00;
  73   1      	TMR2CF = 0x08;  // T2时钟为系统时钟,计数方向为增值计数
  74   1      	TMR2CN = 0x04;  // T2为16bit定时器模式,并启动定时器运行
  75   1      }
  76          void t2_baud(uint t2reload){//每隔t2reload个T2时钟,产生一次定时溢出
  77   1      	SFRPAGE = 0x00;
  78   1      	RCAP2=~t2reload+1;//相当于65536-t2reload
  79   1      	TMR2=RCAP2;
  80   1      }
  81          void adc0_mux(uchar type,uchar source){//type 配置测量方式为差动还是单端输入
  82   1      //source 为ADC0通道选择(共有9个通道)
  83   1      	SFRPAGE=0x00;
  84   1      	AMX0CF=type;
  85   1      	AMX0SL=source;
  86   1      }
  87          void adc0_source(uchar source){//ADC0通道选择,为adc0_mux()的简化函数
  88   1      	SFRPAGE=0x00;
  89   1      	AMX0SL=source;
  90   1      }
  91          void p3anolog_ini(uchar port){//配置p3口模拟输入管脚
  92   1      	SFRPAGE=0x00;
  93   1      	AMX0PRT=port;
  94   1      	SFRPAGE=0x0f;
  95   1      	P3MDIN&=~port;//将相应管脚配置成模拟输入口
C51 COMPILER V6.14  SINGLE                                                                 01/04/2006 09:52:49 PAGE 3   

  96   1      }
  97          void HVDA_ini(uchar gaind){
  98   1      /*高压差动放大器配置,调的只是第二级的增益,整体增益还需再乘以0.05;*/
  99   1      //HVDA禁止时,HCAP+上检测到的是HVAIN+的电压
 100   1      	SFRPAGE=0x00;
 101   1      	HVA0CN=gaind;
 102   1      }
 103          void adc0_ini(){
 104   1      	SFRPAGE=0x00;
 105   1      	ADC0CF=0x0f;//ADC0时钟为系统时钟2分频,PGA增益为0.5
 106   1      	ADC0CN=0x8c;//AD0TM=0,ADC0为连续跟踪模式,由T2溢出率启动ADC0
 107   1      	//AD0LJST=0,数据存储格式右对齐,即ADC0H存放12bit高四位
 108   1      	REF0CN&=0x0f;//AD0VRS=0,ADC0参考电压为VREFA
 109   1      	REF0CN|=0x07;//TEMPE=1,内部温度传感器工作
 110   1      	//BIASE=1,偏移产生器工作
 111   1      	
 112   1      	/*REFBE=1,内部参考电平工作,电路部分须将VREF参考输出(C8051F40的第12管脚)与	VREF0(C8051F040的16管脚相连,

⌨️ 快捷键说明

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