• 大小: 61KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: 电子负载  

资源简介

C51简易直流电子负载程序,初学者,写的不好。但可以借鉴一下

资源截图

代码片段和文件信息

#include“stc12c5a.h“
#include“intrins.h“
#include“adc.h“
#include“lcd1602.h“
#include“pwm.h“


int w=100;
unsigned char i;
unsigned char numtempnum1;
unsigned int   i2 i1 q;
unsigned int Valei7V2V4;
int  adval0;
 float V0V1; //1通道出来的变量为adval1、V1、Vin1
unsigned char code table[]={02550
75100125150175200225250};//0--250平均分配

int code jizhun[]={151490004400038800 //1A--100mA对应10等份输出电压
348002900023500190001470095004900};

void delay(unsigned int z)

  unsigned int xy;
    for (x=z;x>0;x--)
     for(y=110;y>0;y--);
}
unsigned char keyscan();
void bijiao();
void display(unsigned char xunsigned char yunsigned int Vin)
{
dis1[ y ] = Vin/10000+‘0‘;
dis1[y+1] = ‘.‘;
dis1[y+2] = Vin%10000/1000+‘0‘;
dis1[y+3] = Vin%1000/100+‘0‘;
dis1[y+4] = Vin%100/10+‘0‘;
dis1[y+5] = Vin%10+‘0‘;
lcd_pos(xy);
for(i=y;i     {
     lcd_wdat(dis1[i]);
     delay1(1);
    } 
}
void PWM0_set (unsigned char a)
{
CCAP0L= a; //设置值直接写入CCAP0L
  CCAP0H= a; //设置值直接写入CCAP0H


}
void PWM1_set (unsigned char b)
{
CCAP1L= b; //设置值直接写入CCAP1L
  CCAP1H= b; //设置值直接写入CCAP1H
}
unsigned int GetADCResult(unsigned char ch)
{
// unsigned int Valei7V2;
unsigned int VinV3i6;
// V2=0;
    // for(i7=0;i7<15;)
    { ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;//设置ADC控制寄存器,开AD电源,设置ADC速度,设置通道,启动ADC
    
//  while (!(ADC_CONTR & ADC_FLAG));//等待转换标志位FLAG为1
   delay2(1);
    ADC_CONTR &= ~ADC_FLAG;         //软件flag清0
Vale = ADC_RES*4 + ADC_RESL; 
   if (ch==0)
  {
  V2=V2+Vale ;
  i7++;
}
   if(ch==1)
   {
    V3=V3+Vale;
  i6++;  
}
}    
// adval0 =V3/15; //0路AD(P1.0) ; 
if(ch==0)
    {   V0  = (V4*49.5)/102.4;   //转换为模拟电压量
     // Vin  = (unsigned int)(V0); //强制类型转换,而后取出各位的值。
Vin0=(unsigned int)(V0)*5; //返回ADC的结果
return Vin0;
}                
if(ch==1&&i6>15)
{    V3=V3/i6; i6=0;
//   V0 = (V3*4950.0)/1024.0;   //转换为模拟电压量
Vin  = (unsigned int)((V3*5000.0)/1024.0); //强制类型转换,而后取出各位的值。
  V3=0;
   Vin1=Vin*10;     //返回ADC的结果
return Vin1;
}                 
}

void main()
{
rw=0;
PWM_init(); //PWM初始化
lcd_init();
i2=0;
lcd_pos(16);
     lcd_wdat(‘m‘);
lcd_pos(16);
     lcd_wdat(‘m‘);
lcd_pos(26);
     lcd_wdat(‘V‘);
lcd_pos(215);
     lcd_wdat(‘Q‘);
while(1)
{  
InitADC();

while(i2<150)
{
GetADCResult(0);
GetADCResult(1);
   bijiao(); 
//     delay(8);
 keyscan(); 
 i2++; 
}

    display(11Vin0);
display(21Vin1);
display(19(jizhun[num]/5));

i2=0;
}
if(num==11)
{
q=(50000-Vin1)*10000/50000;
display(29q);
}
}
}
unsigned char keyscan()
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
// delay(1);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xee:num=1;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-07-02 20:26  简易直流电子负载程序2\
     文件        1947  2012-08-09 14:55  简易直流电子负载程序2\ADC.h
     文件          46  2012-08-06 09:58  简易直流电子负载程序2\dingyi.h
     文件        2820  2012-08-07 06:57  简易直流电子负载程序2\lcd1602.h
     文件        2057  2012-08-07 19:13  简易直流电子负载程序2\pwm.h
     文件       46221  2012-04-24 19:07  简易直流电子负载程序2\STC12C5A.h
     文件       25680  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载
     文件        4699  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载.c
     文件        7793  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载.hex
     文件          64  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载.lnp
     文件       14885  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载.LST
     文件       24119  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载.M51
     文件       27556  2014-07-02 20:25  简易直流电子负载程序2\简易直流电子负载.OBJ
     文件        1417  2012-09-20 20:37  简易直流电子负载程序2\简易直流电子负载.opt.bak
     文件         862  2014-07-02 20:26  简易直流电子负载程序2\简易直流电子负载.plg
     文件        2158  2012-09-20 20:37  简易直流电子负载程序2\简易直流电子负载.Uv2.bak
     文件       61511  2014-07-02 20:26  简易直流电子负载程序2\简易直流电子负载.uvopt
     文件       13286  2014-07-01 22:37  简易直流电子负载程序2\简易直流电子负载.uvproj
     文件        3138  2012-08-12 18:10  简易直流电子负载程序2\简易直流电子负载_Opt.Bak
     文件        2163  2012-08-06 11:56  简易直流电子负载程序2\简易直流电子负载_Uv2.Bak
     文件       57943  2014-07-01 22:37  简易直流电子负载程序2\简易直流电子负载_uvopt.bak
     文件       13286  2014-07-01 22:37  简易直流电子负载程序2\简易直流电子负载_uvproj.bak

评论

共有 条评论