標題: 自動增益放大電路,直流,交流,0~3檔 proteus仿真 [打印本頁]

作者: 51黑ff    時間: 2016-9-28 13:16
標題: 自動增益放大電路,直流,交流,0~3檔 proteus仿真
純模數(shù)電電路,這電路可比用單片機控制難多了,其實隨便改改也可以變成單片機電路,與門譯碼器都去掉,然后根據(jù)電壓比較結(jié)果給模擬開關(guān)對應口導通就行了,反而不用想那些數(shù)電的邏輯變化.

1,純模數(shù)電電路
0~1v放大5倍,1~2V放大2倍,2~3v放大1倍,3V以上放大0.1倍,當然,放大倍數(shù)隨你定,只要改一下反饋電阻,實際電路要注意正負供電,有些模擬開關(guān)是雙電源才能正常工作。電路中想換交流的自己動手連一下,把直流輸入換成整流鑒幅電路的輸出端,而原來連到741的線去掉連到交流信號,這是燦佳一個活動做的,初步驗證還行,就是電路里忘了加濾波電容,小信號會影響較大(<0.3v).



2,單片機控制
今天把它改成單片機控制的了,上面那個已經(jīng)明確說明是純模電數(shù)電的電路,沒有用到單片機,所以沒有坑爹,單片機電路反而電路更加簡單,注意電路是運放的,只顯示檔位,不顯示大小,因為我以前做的題目沒有要求,當然,換成測電壓電路就可以顯示電壓結(jié)果了,用自帶A/D轉(zhuǎn)換的電路或者用A/D轉(zhuǎn)換芯片都可以,我這里沒有,因為做這個沒用處,又不比賽,也不好玩


因為沒啥功能所以程序很短

  1. #include<REG52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. uchar code dofly[]={0x3f,0x06,0x5b,0x4f};

  5. void deal()
  6. {
  7. uchar temp,AB;
  8. temp=(P2&0x07);

  9. switch(temp)
  10.   {
  11.     case 0x00:{P0=dofly[0];AB=0X00;break;}
  12.     case 0 x01:{P0=dofly[1];AB=0X01;break;}
  13.     case 0x03:{P0=dofly[2];AB=0X02;break;}
  14.     case 0x07:{P0=dofly[3];AB=0X03;break;}
  15.    
  16.   }

  17.   P1=AB;

  18. }
  19. void main(void)
  20. {
  21.   while(1)
  22.   {
  23.     deal();
  24.   }
  25. }
復制代碼



夢想起航2.zip

29.37 KB, 下載次數(shù): 40, 下載積分: 黑幣 -5

用單片機的protues仿真.zip

27.73 KB, 下載次數(shù): 41, 下載積分: 黑幣 -5


作者: kjdh    時間: 2018-3-27 20:10
可以給詳細講解一下么?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1