51單片機~運放控制聲控電路
(一)駐極體話筒:


(二)運算放大器:
說明:在使用時V+和V-之間沒有壓差不進行電路放大,但是一旦有了壓差,就成為運算放大器,
(1)單電源:V+ > V-時,輸出1(輸出電壓是1所代表的VCC(VCC是多少伏就輸出多少伏)),V+ < V-時,輸出0,就是輸出0V,
(2)雙電源時:輸出所接正電壓和伏電壓(正負分別代表1和0)


(3)負反饋:

(4)運算放大器乘法運算~同向比例放大器:

解釋:1. 當負反饋電路接上時,Vout的輸出電壓(就是Vout到接地的電路電壓)Vout==VRF+VR1,由于負反饋接在V-,所以可以使用電流求電壓,
2. 由于運放使用時有虛短和續斷,所以V+和V-無電流流入,且V+電壓 = V-電壓 =VIn(自己設的,把V+電壓賦值過來),這個電壓就是R1上的結點電壓,下面是GND,所以R1的電壓就是VIn
3. 綜上,Vout=VIn/VR1VR1+VIn/VR1VRF
AV=1+RF/R1(化簡上式得到放大倍數–>相比V+放大了多少倍)
所以通過調整R1和RF的電阻可以調整放大倍數

反向比例放大器:
1. 同樣遵循續斷和虛短的道理:V+接GND為0V,所以V-如果輸入正電壓則Vout輸出為負,
2. 原理,負反饋同樣接V-,由于V+=V-,所以R1后面接的GND(如下圖),所以Vout=VRF,由于V-流過R1時電壓變為0,所以I=V-/R1=VIn/R1(同樣VIn還是自己設的)
由于電流不能流入運放,所以RF的電流和R1電流相同(相當于通過Vout流出),
3. 綜上:Vout=-VIn/R1*RF(輸出為負)
AV=-RF/R1

(5)電壓跟隨器:(就是不放大也不減小,跟隨輸入電壓)
根據續斷和虛短原理:
VIn=V+=V-=Vout

(6)運放實作加法運算:
注意前提:
R2=R3;
RF=R1;

由于Vin2電位低,所以我們的V+=低+R2的電壓和,最終為(Vin1+Vin2)/2;

(7)反向加法運算電路:
注意前提R2=R3=RF

電流流向:


(8)減法運算電路:
注意前提:
R2=R4;
RF=R3;
解釋:由于前提可知,V+就是R4的電壓=V-;
再者R3=RF,所以V-=(Vin2+Vout)/2;也就=V+=Vin1/2;
最終得到Vout=Vin1-Vin2;

(9)運放實作微分運算:
不懂記住就行:Vout=-RC[d(Vin)/dt] ;*

(10)積分運算電路:
同樣,記住結果就行:
Vout=-(1/RC) * ∫ Vin dt ;

(三)運放引數詳解:
軌對軌:
1.輸出軌對軌:
2.輸入軌對軌(又名共模電壓范圍):意思是Vin的偏值必須在VSS-1.5V之內,不能大于此值,

輸出電流:
source是拉電流,Sink灌電流,后面紅圈是輸出的(拉)灌電流的范圍:VID 是V+和V-的電壓差



壓擺率(重點引數,必須掌握,對信號處理非常重要):

噪聲(有效值,峰峰值):

通道隔離度(CS,串擾衰減):

共模抑制比(越大越好)·:

電源電壓抑制比:

增益帶寬積(對于選型極為重要):


輸入失調電壓溫漂:

輸入失調電流溫漂:

(四)RS觸發器:


(五)NE555時基電路芯片說明:

注意紅字,電容抗干擾用,RST復位電路要接高電平,不能讓其為0,,引腳5如果不需要用來調節V-電壓的話就要接地加電容抗干擾,

三極管導通時,6,7兩個引腳會變成0V,截至時是5V(接下圖解釋),


自己要學會分析:

話筒傳感器驅動電路分析:
對于芯片來說:
首先,話筒內部震動電容檢測到聲音信號后將電路接通到NE555的第一個運放的V-上,然后Vout輸出和第一個V-連接并將第一個運放的Vout聯通在第二個運放上Vin2-,之后同樣對第二個運放進行相同處理,最后匯出電路到KSIN(口哨)和HTZS(掌聲)進行輸出,
之后由于兩個運放的電路都放大RF/R1=10倍,所以疊加起來就是100倍,
注意:V+為什么要VCC和GND中間還帶兩個電阻,導致兩個運放V+輸出結為2.5V:
是因為如果低的話輸出0就達不到雙電源的效果,所以將X軸提升到2.5V的位置,這樣就可相等于兩個電源供電了,


聲控傳感器代碼:
#include"reg52.h"
typedef signed char int8;
typedef signed int int16;
typedef signed long int32;
typedef unsigned char uint8; //字符型
typedef unsigned int uint16;
typedef unsigned long uint32;
sbit GK = P1 ^ 7; //光控模塊
sbit SK = P1 ^ 6; //聲控模塊
bit SK_flag; //聲控觸發標志位
sbit JDQ = P2 ^ 0;
sbit SHIFT_CLOCK_595 = P1 ^ 4; //74HC595
sbit data_A_595 = P1 ^ 0;
sbit LATCH_CLOCK_595 = P2 ^ 3;
void delay(uint16 x_ms) //延時毫秒
{
uint16 i, j;
for (i = x_ms; i > 0; i--)
for (j = 114; j > 0; j--);
}
void xp74HC595(uint16 dat)
{
uint16 i;
for (i = 0; i < 8; i++)
{
data_A_595 = (dat << i) & 0X80;
SHIFT_CLOCK_595 = 0; //時鐘上升沿
SHIFT_CLOCK_595 = 1;
}
LATCH_CLOCK_595 = 0; //給鎖存器脈沖,上升沿
LATCH_CLOCK_595 = 1;
}
void main(void)
{
P1=0XFF;
xp74HC595(0X40);
xp74HC595(0X00); //關電器
GK =1;
SK =1;
SK_flag = 0; //初始化
while(1)
{
if(SK==1)
{
delay(10);
if(SK==1)
{
SK_flag = ~ SK_flag; //取反
if(SK_flag==1)
xp74HC595(0X08);
else
{
xp74HC595(0X00);
delay(300);
}
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277120.html
標籤:其他
