① 高中物理橋式電路
(1)關於基爾霍夫定律,其實是節點定律和另外一個關於電勢降的定律,暫且稱為環路定律吧。
節點定律,即電路中,任意一點(如A點),流進的電流要等於流出的電流。這很好理解,可以理解為電荷不會在這一點堆積。
環路定律,即從某一點出發,經任一迴路回到原點,電勢降要為零。其中,經過電源時的電勢升降大小即為電動勢(這很好判斷),經過電阻的話則用所設電流、歐姆定律表示,逆流為電勢上升。
在運用時,關鍵就是你問的那個,電流方向問題。具體操作:任意設每一條支路中的某一電流方向為正(當然,如果你能盡量憑感覺設得合理一些,會比較好解好想),列足夠的方程組(看你設了幾個電流)求解,解出後,其中負的結果表示實際電流與你所設的電流方向相反。
其實,基爾霍夫定律並不太實用,因為方程組太多。建議你學習下等效電壓源和等小電流源的原理,會方便很多
(2)關於電橋
從字面即可理解,圖中跨接在AB之間的線路即成為橋路,它既不是串聯也不是並聯。
處理的時候,可以先想像把這一支路取下,看原本電路(是個並聯)中,A,B兩個點哪個點的電勢高。這應該很好算吧,如設電流從左向右的話,通過比較R1與R2上的電勢降即可得出。
判斷出橋路兩端點的電勢大小關系以後,電流方向還用說嗎~
判斷出方向以後,用基爾霍夫慢慢算吧。。。
② 30分求助:國家標准——關於電氣櫃接線
1、零線顏色要採用藍色。埋好山
2、照明及插座迴路一般採用2.5mm2導線,每根導線所串連空開數量不得大於3個。空調迴路一般採用2.5mm2或4.0mm2導線,一根導線配一個空開。
3、不同相之間零線不得共用,如由A相配出的第一根黃色導線連接了二個16A的照明開空,那麼A相所配空開零線也只能配這兩個空開,配完後直接邊接到零線接線端子上。
4、箱體內總空開與各分空開之間配線一般走左邊,配電箱出線一般走右則。
5、箱內配線要順直不得有紋接現象,導線要用塑料扎帶綁扎,扎帶大小要合適,間距要均勻。
配電櫃操作要求
一、配電櫃為船舶配電中樞八產和設備的正常運轉,任何無關人員不得扳動板彎中上的開關。
二、發電機組啟襪槐動後,應利用動力屏升速開關手動緩慢加速,直到發電機進入正常工作狀態,電壓與頻率達到規定值,方可合閘送電。
三、配電板進入配電狀態後,不得隨意拔動動力屏升速開關,空氣斷路器的閉鎖開關非緊急情況不得使用。
四、發電機並聯運行要嚴格按照並車條件要求與規定進行操作,要注意出現逆功率(逆流)和並車失敗等現象。
五、停機時應先切斷發電機負荷,然後空載停車,不得帶負荷直接停機。
六、交插岸電時,應先切斷岸電屏各動力開關,然後檢查接線與相序的正確性,確認正確後,方可實施船岸電的轉換,嚴禁帶負荷操作。
七、配電櫃應定期進行清潔和維護保養工作,以便使設備始終處於良好的工作狀態。
八、發電機工作,輪機人員進行配電板操作時,應集中思想,謹慎操作,防止意外事故發生,否則將追究個人事故責任。
③ 斷路器採用了「逆流原理」,什麼是「逆流原理」
逆流原理:
在化工生產中,相互作用的物料,往往採用逆流的方法。
在SO3的吸收時,液體和氣體的流向相反(逆流),98.3%的濃硫酸由上淋下,氣體由下往上,這樣使作用更完全。
在熱交換中,冷的和熱的氣體(或液體),都是採用逆流的方法進行熱量的交換。
④ 求16個流水燈程序,有模式還可以調節快慢的,急求,謝謝。
《基於8051+Proteus模擬》案例
第01 篇基礎程序設計
01 閃爍的LED
/* 名稱:閃爍的LED
說明:LED按設定的時間間隔閃爍
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
//延時
void DelayMS(uint x)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
while(1)
{
LED=~LED;
DelayMS(150);
}
}
02 從左到右的流水燈
/* 名稱:從左到右的流水燈
說明:接在P0口的8個LED從左到右循環依次點亮,產生走馬燈效果
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延時
void DelayMS(uint x)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
P0=0xfe;
while(1)
{
P0=_crol_(P0,1);//P0的值向左循環移動
DelayMS(150);
}
}
03 8隻LED左右來回點亮
/* 名稱:8隻LED左右來回點亮
說明:程序利用循環移位函數_crol_和_cror_形成來回滾動的效果
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延時
void DelayMS(uint x)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uchari;
P2=0x01;
while(1)
{
for(i=0;i<7;i++)
{
P2=_crol_(P2,1);//P2的值向左循環移動
DelayMS(150);
}
for(i=0;i<7;i++)
{
P2=_cror_(P2,1);//P2的值向右循環移動
DelayMS(150);
}
}
}
04 花樣流水燈
/* 名稱:花樣流水燈
說明:16隻LED分兩組按預設的多種花樣變換顯示
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code Pattern_P0[]=
{
0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff
};
uchar code Pattern_P2[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,
0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff
};
//延時
void DelayMS(uint x)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uchari;
while(1)
{ //從數組中讀取數據送至P0和P2口顯示
for(i=0;i<136;i++)
{
P0=Pattern_P0[i];
P2=Pattern_P2[i];
DelayMS(100);
}
}
}
05 LED模擬交通燈
/* 名稱:LED模擬交通燈
說明:東西向綠燈亮若干秒,黃燈閃爍5次後紅燈亮, 紅燈亮後,南北向由紅燈變為綠燈,若干秒後南北向黃燈閃爍5此後變紅燈,東西向變綠燈,如此重復。
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0; //東西向燈
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P0^3; //南北向燈
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;
uchar Flash_Count=0,Operation_Type=1; //閃爍次數,操作類型變數
//延時
void DelayMS(uint x)
{
uchari;
while(x--)for(i=0;i<120;i++);
}
//交通燈切換
void Traffic_Light()
{
switch(Operation_Type)
{
case1: //東西向綠燈與南北向紅燈亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case2: //東西向黃燈閃爍,綠燈關閉
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10)return; //閃爍5次
Flash_Count=0;
Operation_Type=3;
break;
case3: //東西向紅燈,南北向綠燈亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;
break;
case4: //南北向黃燈閃爍5次
DelayMS(300);
YELLOW_B=~YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10)return;
Flash_Count=0;
Operation_Type=1;
}
}
//主程序
void main()
{
while(1)Traffic_Light();
}
06 單只數碼管循環顯示0~9
/* 名稱:單只數碼管循環顯示0~9
說明:主程序中的循環語句反復將0~9的段碼送至P0口,使數字0~9循環顯示
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
//延時
void DelayMS(uint x)
{
uchart;
while(x--)for(t=0;t<120;t++);
}
//主程序
void main()
{
uchari=0;
P0=0x00;
while(1)
{/* for(;i<11;i++){ P0=~DSY_CODE[i]; DelayMS(300);} //注:另一方案 */
P0=~DSY_CODE[i];
i=(i+1)%10;
DelayMS(300);
}
}
07 8隻數碼管滾動顯示單個數字
/* 名稱:8隻數碼管滾動顯示單個數字
說明:數碼管從左到右依次滾動顯示0~7,程序通過每次僅循環選通一隻數碼管
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//延時
void DelayMS(uint x)
{
uchart;
while(x--)for(t=0;t<120;t++);
}
//主程序
void main()
{
uchari,wei=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P2=0xff; //關閉顯示
wei=_crol_(wei,1);
P0=DSY_CODE[i]; //發送數欄位碼
P2=wei; //發送位碼
DelayMS(300);
}
}
}
08 8隻數碼管動態顯示多個不同字元
電路如上圖
/* 名稱:8隻數碼管動態顯示多個不同字元
說明:數碼管動態掃描顯示0~7。
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//延時
void DelayMS(uint x)
{
uchart;
while(x--)for(t=0;t<120;t++);
}
//主程序
void main()
{
uchari,wei=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P2=0xff;
P0=DSY_CODE[i]; //發送段碼
wei=_crol_(wei,1);
P2=wei; //發送位碼
DelayMS(2);
}
}
}
09 8隻數碼管閃爍顯示數字串
電路如上圖
/* 名稱:8隻數碼管閃爍顯示數字串
說明:數碼管閃爍顯示由0~7構成的一串數字
本例用動態刷新法顯示一串數字,在停止刷新時所有數字顯示消失。
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//段碼表
uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//位碼表
uchar codeDSY_IDX[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//延時
void DelayMS(uint x)
{
uchart;
while(x--)for(t=0;t<120;t++);
}
//主程序
void main()
{
uchari,j;
while(1)
{
for(i=0;i<30;i++)
{
for(j=0;j<8;j++)
{
P0=0xff;
P0=DSY_CODE[j]; //發送段碼
P2=DSY_IDX[j]; //發送位碼
DelayMS(2);
}
}
P2=0x00; //關閉所有數碼管並延時
DelayMS(1000);
}
}
10 8隻數碼管滾動顯示數字串
電路如上圖
/* 名稱:8隻數碼管滾動顯示數字串
說明:數碼管向左滾動顯示3個字元構成的數字串
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//段碼表
uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
//下面數組看作環形隊列,顯示從某個數開始的8個數(10表示黑屏)
uchar Num[]={10,10,10,10,10,10,10,10,2,9,8};
//延時
void DelayMS(uint x)
{
uchart;
while(x--)for(t=0;t<120;t++);
}
//主程序
void main()
{
uchari,j,k=0,m=0x80;
while(1)
{ //刷新若干次,保持一段時間的穩定顯示
for(i=0;i<15;i++)
{
for(j=0;j<8;j++)
{ //發送段碼,採用環形取法,從第k個開始取第j個
P0=0xff;
P0=DSY_CODE[Num[(k+j)%11]];
m=_crol_(m,1);
P2=m; //發送位碼
DelayMS(2);
}
}
k=(k+1)%11; //環形隊列首支針k遞增,Num下標范圍0~10,故對11取余
}
}
11 K1-K4 控制LED移位
/* 名稱:K1-K4 控制LED移位
說明:按下K1時,P0口LED上移一位;
按下K2時,P0口LED下移一位;
按下K3時,P2口LED上移一位;
按下K4時,P2口LED下移一位;
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延時
void DelayMS(uint x)
{
uchari;
while(x--)for(i=0;i<120;i++);
}
//根據P1口的按鍵移動LED
void Move_LED()
{
if ((P1&0x10)==0) P0=_cror_(P0,1); //K1
elseif((P1&0x20)==0) P0=_crol_(P0,1); //K2
elseif((P1&0x40)==0) P2=_cror_(P2,1);//K3
elseif((P1&0x80)==0) P2=_crol_(P2,1); //K4
}
//主程序
void main()
{
ucharRecent_Key; //最近按鍵
P0=0xfe;
P2=0xfe;
P1=0xff;
Recent_Key=0xff;
while(1)
{
if(Recent_Key!=P1)
{
Recent_Key=P1; //保存最近按鍵
Move_LED();
DelayMS(10);
}
}
}