有源濾波器實際上是一種具有特定頻率響應的放大器。它是在運算放大器的基礎上增加一些R、C等無源元件而構成的。 通常有源濾波器分為: 低通濾波器(LPF) 高通濾波器(HPF) 帶通濾波器(BPF) 帶阻濾波器(BEF) 它們的幅度頻率特性曲線如圖13.01所示。
上傳時間: 2013-06-25
上傳用戶:hxy200501
定點乘法器設計(中文) 運算符: + 對其兩邊的數據作加法操作; A + B - 從左邊的數據中減去右邊的數據; A - B - 對跟在其后的數據作取補操作,即用0減去跟在其后的數據; - B * 對其兩邊的數據作乘法操作; A * B & 對其兩邊的數據按位作與操作; A & B # 對其兩邊的數據按位作或操作; A # B @ 對其兩邊的數據按位作異或操作; A @ B ~ 對跟在其后的數據作按位取反操作; ~ B << 以右邊的數據為移位量將左邊的數據左移; A << B $ 將其兩邊的數據按從左至右順序拼接; A $ B
上傳時間: 2013-12-17
上傳用戶:trepb001
使用時鐘PLL的源同步系統時序分析一)回顧源同步時序計算Setup Margin = Min Clock Etch Delay – Max Data Etch Delay – Max Delay Skew – Setup TimeHold Margin = Min Data Etch Delay – Max Clock Etch Delay + Min Delay Skew + Data Rate – Hold Time下面解釋以上公式中各參數的意義:Etch Delay:與常說的飛行時間(Flight Time)意義相同,其值并不是從仿真直接得到,而是通過仿真結果的后處理得來。請看下面圖示:圖一為實際電路,激勵源從輸出端,經過互連到達接收端,傳輸延時如圖示Rmin,Rmax,Fmin,Fmax。圖二為對應輸出端的測試負載電路,測試負載延時如圖示Rising,Falling。通過這兩組值就可以計算得到Etch Delay 的最大和最小值。
上傳時間: 2013-11-05
上傳用戶:VRMMO
電壓源電流源名字上僅差一個字…HE HE.有一些朋友對此不太明白.所以特此說明下…并以軟件仿真…詳細介紹工作原理…以及注意事項….下面就是電壓源和電流的符號…左邊是電流源,右邊是電壓源. 電壓源…電壓源其實就是我們普通經常用的一種電源.比如說電池呀電瓶或自己做的穩壓電路.一般屬于電壓源… 電壓源的特性是: 輸出端,可以開路,但不能短路…總而言之電壓源的輸出電壓是恒定的…比如5V 電壓源輸出的電壓就是5V.隨不同的負載會改變電流…比如在5V 的電壓源上加一個1 歐的負載… 流過的電流就是5/1=5A 電流… 如果接的電阻為2 歐.流過電流就等于5/2=2.5A….這個簡單的計算相信誰都會…電流源電流源和電壓源區別比較大…電流源輸出端不能開路,但可以短路…為什么不能開路呢…HE HE…是因為開路了…電流源輸出的電壓就為無限高了…(實際上電壓也是有一定值的)總而言之電流源的輸出電流是恒定的.不管你負載的大小…就是你短路了.他的電流還是保持不變.改變的是電壓…比如一個1A的恒流源…你接上一個1歐的負載…他輸出的電壓是.1x1=1V 電壓…當你接上一個10 歐電阻的時候…他就是1x10=10V電壓輸出…
上傳時間: 2013-10-08
上傳用戶:kaixinxin196
運放電路中的恒流源電路分析方法 普通鏡像恒流源、多集電極恒流源、高精度鏡像恒流源、高內阻恒流源和鏡像微恒流源電路,以及恒流源電路輸出電阻的計算等。 分析恒流源電路的方法是: (1)確定恒流源電路中的基準晶體管或場效應管; (2) 計算或確定基準電流; &nbbsp; (4)繪制恒流部分的交流通路,確定恒流源的內阻。 由于恒流源的內阻較大,計算恒流源內阻時不能忽略三極管集電極與發射極之間,或場效應管漏極與源極之間的動態電阻
上傳時間: 2013-10-09
上傳用戶:gxmm
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時間: 2013-11-19
上傳用戶:shen1230
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函數轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數據{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數據{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環讀,直到讀出與寫入的數相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數指針,讓主程序可以調用上面的函數{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
這個應用筆記說明如何利用可以作為電流/電壓源并測量電流和電壓的單一儀器來配置生產測試系統。2400系列數字源表就可以提供這種能力,它包括2400型數字源表、2410型高壓數字源表以及2420型大電流數字源表。本文還對二極管三個主要參數測試進行了說明,并對測試系統和IEEE-488總線操作進行了介紹。
上傳時間: 2013-11-24
上傳用戶:eastimage
nut/OS的源碼,含有tcp/ip協議棧源碼
上傳時間: 2014-11-28
上傳用戶:gengxiaochao
C++實踐源碼,含有大量學習C++的源碼
上傳時間: 2013-12-17
上傳用戶:gundan