久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5395|回復(fù): 5
收起左側(cè)

簡(jiǎn)易單片機(jī)數(shù)控直流穩(wěn)壓電壓源設(shè)計(jì)

[復(fù)制鏈接]
ID:510122 發(fā)表于 2019-4-12 00:06 | 顯示全部樓層 |閱讀模式
本系統(tǒng)以直流電壓源為核心,ATC89S52 單片機(jī)為主控制器,通過鍵盤來設(shè)置直流電源的輸出電壓,設(shè)置步進(jìn)等級(jí)可達(dá)0.1V,輸出電壓范圍為0—9.9V,輸出電流為500mA,并 由數(shù)碼管顯示輸出電壓值。由“+”、“-”兩鍵分別控制輸出電壓步進(jìn)增減,并且輸出電 壓可預(yù)置在0~9.9V 之間的任意一個(gè)值。擴(kuò)展輸出電壓種類后可輸出三角波、梯形波、鋸齒波、方波等波形。本系統(tǒng)由單片機(jī)程控輸出數(shù)字信號(hào),經(jīng)過D/A 轉(zhuǎn)換器(DA0832)輸出模擬電流量,再經(jīng)過運(yùn)算放大器隔離放大輸出模擬電壓量,控制穩(wěn)壓芯片LM7805 電壓的變化而輸出不同的電壓。實(shí)際測(cè)試結(jié)果表明本系統(tǒng)輸出電壓值精確度較高。本系統(tǒng)實(shí)際應(yīng)用于需要高穩(wěn)定度小功率恒壓源的領(lǐng)域。
1.png

. 基本功能實(shí)現(xiàn):
(1) 可輸出電壓:范圍0~+9.9V,步進(jìn)0.1V,紋波不大于10mV;
(2) 可輸出電壓值由數(shù)碼管顯示;
(3) 由“+”、“-”兩鍵分別控制輸出電壓步進(jìn)增減;
(4) 為實(shí)現(xiàn)上述幾部件工作,自制一穩(wěn)壓直流電源,輸出輸出± 15v,+5v;

2.?dāng)U展功能與創(chuàng)新:
(1)輸出電壓可預(yù)置在0~9.9V之間的任意一個(gè)值;
   (2)擴(kuò)展輸出電壓種類(比如三角波等);
(3)最大輸出電流可達(dá)1.5A;
(4)負(fù)載電流在0~1.5A間變化時(shí)輸出電壓的變化量不超過0.1V;      
(5)設(shè)計(jì)并制作一個(gè)電子負(fù)載,用于測(cè)試上述電源的負(fù)載調(diào)整率,電子負(fù)載恒定電流的可調(diào)范圍為0.1A~1.5A。

0.png 0.png
單片機(jī)源程序如下:
#include<reg52.h>
#define uint unsigned int      //無符號(hào)字符  8位
#define uchar unsigned char    //無符號(hào)整數(shù)  16位
sbit dula=P2^6;        //鎖存器段選
sbit wela=P2^7;        //鎖存器位選
sbit lcdrs=P3^1;        //1602數(shù)據(jù)命令選擇
sbit lcden=P3^0;       //1602使能信號(hào)端
sbit key1=P2^3;        //+鍵
sbit key2=P2^2;        //-鍵
sbit key3=P2^1;        //波產(chǎn)生鍵
sbit key0=P2^0;        //功能鍵
sbit wr_da=P2^5;        //DAC選通
uchar num,num0,num1,zsys,xsys,bxsz;
uchar code table_x[]={    //編碼表  無點(diǎn)數(shù)碼管顯示      
0x3f,0x0c,0x76,0x5e,0x4d,0x5b,0x7b,0x0f,0x7f,0x5f};
uchar code table_z[]={    //編碼表 帶點(diǎn)數(shù)碼管顯示
0xbf,0x8c,0xf6,0xde,0xcd,0xdb,0xfb,0x8f,0xff,0xdf};

void delay(uint z);  

void display_bjys(uchar zsys,uchar xsys);
void display_bxsz(uchar bxsz);
void trigle();
void trap();
void saw();
void square();
void keycan_bjys();
void keycan_bxsz();
void write_com(uchar com);
void write_date(uchar date);
void init_kjhm();
void init_bjhm();
void init_yshm();
void init_bxxzhm();
void init_trigle();
void init_trap();
void init_saw();
void init_square();
void init();
void main()
{  init_kjhm();
  init();          //初始化子程序
  while(1)
    {     dula=1;
      P1=0x3f;
      dula=0;
      wela=1;
      P1=0xf0;
      wela=0;
      if(key1==0||key2==0)
        {    if(key0==0)
            init_bjhm();
          if(key0!=0)
            init_yshm();
          while(1)
            {  keycan_bjys();
              if(key3==0)
                {  dula=1;
                  P1=0xff;
                  dula=0;
                  wela=1;
                  P1=0xff;
                  wela=0;}
              if(key3==0)
                break;
            }
        }      
         if(key3==0)
        {  init_bxxzhm();
          while(1)
            {  keycan_bxsz();
              if(key1==0||key2==0)
                {  dula=1;
                  P1=0xff;
                  dula=0;
                  wela=1;
                  P1=0xff;
                  wela=0;
                }
              if(key1==0||key2==0)
                break;
            }
        }     
    }   
}
void delay(uint z)      //延時(shí)函數(shù)
{  uint x,y;
  for(x=z;x>0;x--)
    for(y=110;y>0;y--);
}
void display_bjys(uchar zsys,uchar xsys)  //預(yù)設(shè)&步進(jìn)  數(shù)
{    dula=1;
    P1=table_z[zsys];
    dula=0;
    P1=0xff;
    wela=1;
    P1=0xfe;
    wela=0;
    delay(1);
    dula=1;
    P1=table_x[xsys];
    dula=0;
    P1=0xff;
    wela=1;
    P1=0xfd;
    wela=0;
    delay(1);

}
void display_bxsz(uchar bxsz)  //波形設(shè)置   數(shù)碼管掃描子函數(shù)
{    dula=1;
    P1=table_x[bxsz];
    dula=0;
    P1=0xff;
    wela=1;
    P1=0xf0;
    wela=0;
    delay(1);
}

void keycan_bjys()          //預(yù)設(shè)&步進(jìn)   按鍵掃描
{  if(key1==0)           //按key1鍵加數(shù)
    {
      delay(5);
      if(key1==0)
        {  num++;
          if(num==100)
            num=0;
        }
      while(!key1);
      delay(5);
      while(!key1);
    }
    if(key2==0)         //按key2鍵減數(shù)
    {  delay(5);
      if(key2==0)
        {  num--;
          if(num==-1)
            num=99;
        }
      while(!key2);
      delay(5);
      while(!key2);
    }
    zsys=num/10;
    xsys=num%10;
    display_bjys(zsys,xsys);     
     
  if(key0==0)         //預(yù)設(shè)功能
        {  P0=num;   
      wr_da=0;
      delay(1);
    }
}
void keycan_bxsz()          //波形  按鍵掃描
{
  if(key3==0)         

    {  delay(5);
      if(key3==0)
        {  num1++;//num1自加   選擇波形
          if(num1==5)
          num1=1;   
          bxsz=num1;
          display_bxsz(bxsz);   
          while(!key3);
          delay(5);
          while(!key3);
        }     
      if(key0==0)//功能鍵按下  確定波形輸出
        {  if(num1==1)
            {  init_trigle();
              while(1)
                {  trigle();
                  if(key0!=0)
                    break;
   
                }
              }
          if(num1==2)
            {  init_trap();
              while(1)
                {  trap();   
                  if(key0!=0)
                    break;
   
                }      
            }
          if(num1==3)
            {  init_saw();
              while(1)
                {  saw();
                  if(key0!=0)
                    break;
   
                }     
            }
          if(num1==4)
            {  init_square();
              while(1)
                {  square();
                  if(key0!=0)
                    break;
   
                }     
            }
        }
    }
}

void init_kjhm()                  //初始化 1   開機(jī)顯示畫面函數(shù)
{     dula=0;
wela=0;
        lcden=0;
        write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);

  
  write_com(0x80+0x40);

  }

void init_bjhm()          //初始化2   步進(jìn)電壓畫面顯示函數(shù)
{     dula=0;
  wela=0;
         lcden=0;
         write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);

  write_com(0x80+0x40);

}
void init_yshm()          //初始化3   預(yù)設(shè)電壓畫面顯示函數(shù)
{      dula=0;
  wela=0;
     lcden=0;
     write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);

  write_com(0x80+0x40);

}
void init_bxxzhm()    //初始化4   波形設(shè)置畫面顯示函數(shù)
{     dula=0;
  wela=0;
     lcden=0;
     write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);

  write_com(0x80+0x40);
  write_date(':');
      delay(50);
}
void init_trigle()       //初始化5  三角波輸出顯示畫面函數(shù)
{     dula=0;
  wela=0;
     lcden=0;
     write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);

  write_com(0x80+0x40);

}
void init_trap()      //初始化6   梯形波輸出顯示畫面函數(shù)
{     dula=0;
  wela=0;
     lcden=0;
     write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);


  write_date(':');
  write_com(0x80+0x40);
  
      delay(50);
    }

void init_saw()          //初始化7  鋸齒波輸出顯示畫面函數(shù)
{     dula=0;
  wela=0;
     lcden=0;
     write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);

  write_com(0x80+0x40);

}
void init_square()       //初始化8  方波輸出顯示畫面函數(shù)
{     dula=0;
  wela=0;
     lcden=0;
     write_com(0x38);
  write_com(0x0e);
  write_com(0x06);
  write_com(0x01);
  write_com(0x80);
  
  write_com(0x80+0x40);

}
void init()     //初始化子函數(shù)
{  wela=0;
  dula=0;
  num=0;
  num1=0;
  P0=0;
  wr_da=0;
  delay(1);
  wr_da=1;
  delay(1);
  key0=1;
}


全部資料51hei下載地址:
簡(jiǎn)易數(shù)控穩(wěn)壓電源.zip (2.36 MB, 下載次數(shù): 71)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:156220 發(fā)表于 2019-4-12 08:43 | 顯示全部樓層
電路圖有沒有
回復(fù)

使用道具 舉報(bào)

ID:582891 發(fā)表于 2019-7-14 18:46 | 顯示全部樓層
太贊了
回復(fù)

使用道具 舉報(bào)

ID:282095 發(fā)表于 2019-7-15 09:21 | 顯示全部樓層
電源設(shè)計(jì)是個(gè)好東西
回復(fù)

使用道具 舉報(bào)

ID:56665 發(fā)表于 2019-7-15 18:49 | 顯示全部樓層
這個(gè)電源用的什么芯片,是開關(guān)電源還是線性電源。
回復(fù)

使用道具 舉報(bào)

ID:729886 發(fā)表于 2020-5-7 07:56 | 顯示全部樓層
數(shù)控電源有電路圖就更好了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 不卡一区二区三区四区 | 日韩在线观看 | 久久99国产精品久久99果冻传媒 | 久久青草av | 精品久久亚洲 | 日韩一级二级片 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 亚洲精品www | 青青草综合网 | 成人亚洲视频 | 国产欧美日韩一区 | 亚洲视频在线观看免费 | 在线观看免费福利 | 国产高清一区二区三区 | 欧美 日韩 在线播放 | 狼人伊人影院 | 性网址| 天天射中文 | 五月婷婷在线播放 | 国产欧美性成人精品午夜 | 亚洲成av人片在线观看无码 | 欧美性久久久 | www.黄色片视频 | 九九热在线免费视频 | 欧美亚洲第一区 | 怡红院成人在线视频 | 成人在线免费av | 东京av男人的天堂 | 成人影院在线观看 | 久久精品视频在线观看 | 一区欧美 | 欧美一区二区三区视频 | 成年免费大片黄在线观看一级 | 欧美精品久久久久 | 欧美专区在线观看 | 黄色国产在线播放 | 精品无码久久久久久国产 | 又黄又爽的网站 | 亚洲欧美一区二区三区视频 | 精品久久久久久久久久久 | 日韩av.com|