導航:首頁 > 操作系統 > 單片機正反

單片機正反

發布時間:2022-05-05 15:09:15

『壹』 單片機控制電機的正反轉 程序及電路圖

這個很簡單,我教你怎麼玩,下面是思路和方式
思路:有三個輸入,分別是一個按鈕、兩個霍爾感測器(也就是接近開關),我用p0.0到p0.2來代替;輸出2個或以上(這看你接什麼顯示器,如果是pc的話,就不用數字量輸出,直接串口就可以了)控制正反轉的繼電器管腳用p1.0、p1.1;
ps:顯示那塊我不知道你怎麼處理,但是需要與一個全局變數轉動次數k連接起來,另外兩個輸入接近開關選用npn感測器或用光電隔離,總之有效信號能把管腳電壓拉低就可以了,具體硬體要注意什麼,有需要就問我
現在我們來寫程序:
#include
//選用晶振11.0592mhz
unsigned
char
k=0;
//k表示正反轉次數
sbit
x0=p3^2;
//調節按鈕
sbit
x1=p1^1;
//上限位接近開關信號
sbit
x2=p1^2;
//下限位接近開關信號
sbit
y1=p0^0;
//電機上升(注意:我使用的是管腳輸出為0時候,電機運動,這樣可以避免啟動時候,單片機自復位對電機點動的影響)
sbit
y2=p0^1;
//電機下降
void
delay50ms(unsigned
int
i)
{
unsigned
int
j;
for
(i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
it0=1;
//下降沿觸發
ex0=1;
//開p3.2外部中斷
ea=1;
//總中斷開
while(1)
while(k)
{
y1=0;
//正轉
while(x1==1);
//等待正轉接近開關反應
y1=1;
//正轉停
delay50ms(1);
//停止時間50ms
y2=0;
//反轉
while(x2==1);
//等待反轉接近開關反應
y2=1;
//反轉停
k--;
//圈數減一
}
}
void
counter0(void)
interrupt
0
{
k++;
//外部中斷控制圈數加一
//這個位置可以加你顯示程序
}
程序已經通過測試,放上去就能用,很好玩喲,呵呵

『貳』 如何分辨單片機方向

絲印正對自己,從左往右第一腳為第一引腳,或者看缺口,缺口在左邊,第一隻腳為第一引腳!

『叄』 單片機如何判斷4個按鍵正反依次按下後狀態

計數啊。如果是先按1或是4 就進入去。中間注意循環等待時間。
if(key1 == 0x00)
{
if(key2 == 0x00)
{
順向。

}
else
{
不是順向,單獨動作。
}
}

『肆』 單片機控制交流電機正反轉的C語言程序

這個很簡單,我教你怎麼玩,下面是思路和方式
思路:有三個輸入,分別是一個按鈕、兩個霍爾感測器(也就是接近開關),我用P0.0到P0.2來代替;輸出2個或以上(這看你接什麼顯示器,如果是PC的話,就不用數字量輸出,直接串口就可以了)控制正反轉的繼電器管腳用P1.0、P1.1;
PS:顯示那塊我不知道你怎麼處理,但是需要與一個全局變數轉動次數k連接起來,另外兩個輸入接近開關選用NPN感測器或用光電隔離,總之有效信號能把管腳電壓拉低就可以了,具體硬體要注意什麼,有需要就問我
現在我們來寫程序:
#include <reg51.h> //選用晶振11.0592MHz
unsigned char k=0; //k表示正反轉次數
sbit X0=P3^2; //調節按鈕
sbit X1=P1^1; //上限位接近開關信號
sbit X2=P1^2; //下限位接近開關信號
sbit Y1=P0^0; //電機上升(注意:我使用的是管腳輸出為0時候,電機運動,這樣可以避免啟動時候,單片機自復位對電機點動的影響)
sbit Y2=P0^1; //電機下降
void delay50ms(unsigned int i)
{
unsigned int j;
for (i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
IT0=1; //下降沿觸發
EX0=1; //開P3.2外部中斷
EA=1; //總中斷開
while(1)
while(k)
{
Y1=0; //正轉
while(X1==1); //等待正轉接近開關反應
Y1=1; //正轉停
delay50ms(1); //停止時間50ms
Y2=0; //反轉
while(X2==1); //等待反轉接近開關反應
Y2=1; //反轉停
k--; //圈數減一
}
}
void counter0(void) interrupt 0
{
k++; //外部中斷控制圈數加一
//這個位置可以加你顯示程序
}
程序已經通過測試,放上去就能用,很好玩喲,呵呵

『伍』 51單片機電機正反轉控製程序

正轉:PWM1高電平,PWM2低電平;

反轉:PWM1低電平,PWM2高電平;

『陸』 用單片機怎樣實現電機的正反轉控制

方案一:使用開關直接控制電動機的正反轉,此種設計非常簡便易懂,便於修理與使用。

缺點:該方案直接控制易產生火花電弧,會危害操作者生命安全。 如圖1所示:

圖1中的開關為單刀雙擲開關,所以開關有左,中,右三個位置。 方案一開關控制過程如下:

將單刀雙擲開關置向左邊電動機開始正轉,將開關置向右端電動機開始反轉,將開關置向中間位置電動機停止轉動。

方案二:使用電磁繼電器進行控制電動機的正反轉。此種設計使用了電磁繼電器為了是能讓控制過程更安全可靠,順利解決了方案一的不足。

缺點:該方案不能夠滿足現代生活對自動化智能化的基本要求。

『柒』 單片機電機正反轉

單片機不能直接驅動直流電機的,要加驅動晶元,因為要驅動直流電機並不是只要達到驅動電壓就行,一定要達到驅動電流,不信你試一下,當直接接上電機後用電壓表測電壓一定小於5V,這是在電路中很重要的一點,設計電路時並不是只考慮電壓和電流的一定要達到額定功率,單片機連一個簡單的二極體都驅動不了(當然這只是在單片機提供高電壓情況下,即源電流狀態),另外幾乎所有的數字電路都驅動不了大功率器件,因為數字電路追求的是低功耗,所以要加驅動晶元或電路。就解釋這么多吧,想了解更多的話可以qq1069512711

『捌』 51單片機步進電機正反轉程序

單片機控制步進電機,我想你說的是兩相步進電機,一般是控制其相序分配的順逆從而控制正反轉,一般而言,步進電機相序分配你可以做成一個數組比如step[]={0x03,0x06,0x0c,0x09},這樣來說可以假設P0口是步進電機控制口,那麼可以按如下方式來控制: while(1) { for(i=0;i<4;i++) { if(fx==1)P0=step[i]; //正向 else P0=step[3-i]; //反向 delay(x); //x大小決定電機速度。
根據電機相數買個驅動器。然後用單片機產生脈沖來控制電機的轉動以及正反轉。單片機產生脈沖的方法和單片機控制流水燈是一樣的。ULN2003D 是驅動步進電機的驅動晶元,主要是匹配電機所需的電流。 由於是四相電機,步進電機之所以可以轉動就需要給相繞組提供連續的脈沖,所以需要4個埠來控制四相繞組的工作狀態(P15應該是不需要的),具體的編碼要看電機的拍數; 一旦明白這些,你就可以很容易編寫代碼來控制電機的轉動了,還有在脈沖間你可以設置不同的延時時間來調節電機的轉速。

『玖』 用單片機怎麼使直流電機正反轉

單片機控制直流電機正反轉,最簡單的方法是 兩個I/O口 控制兩個繼電器(一組常開、常閉)的就可以,電機 兩個極 接 兩個繼電器 的 動觸點,兩個繼電器 的 常開點接+(電機電源),兩個常閉點接-,就可以了。
單片機控制接通一個繼電器 是正轉,控制接通另一個繼電器 是反轉,兩個繼電器都不接通(或者都接通)電機不轉。

『拾』 單片機焊接有正負極嗎

你的板子上是先焊20腳IC座,焊接時有方向(不叫正負極),IC座右端的凹槽與板子上絲印的凹槽對應,如下圖所示。在插單片機時,千萬要注意方向(也不叫正負極),單片機一端的凹槽在左邊,就是看單片機上的型號字母是正的,千萬別看成倒立的型號。

閱讀全文

與單片機正反相關的資料

熱點內容
蘋果平板如何開啟隱私單個app 瀏覽:704
空調壓縮機一開就停止 瀏覽:528
如何下載虎牙app 瀏覽:847
日語年號的演算法 瀏覽:955
dev裡面的編譯日誌咋調出來 瀏覽:298
php函數引用返回 瀏覽:816
文件夾和文件夾的創建 瀏覽:259
香港加密貨幣牌照 瀏覽:838
程序員鼓勵自己的代碼 瀏覽:393
計算機網路原理pdf 瀏覽:752
吃雞國際體驗服為什麼伺服器繁忙 瀏覽:94
php中sleep 瀏覽:490
vr怎麼看視頻演算法 瀏覽:86
手機app如何申報個人所得稅零申報 瀏覽:694
如何截獲手機app連接的ip 瀏覽:331
冰箱壓縮機是否需要電容 瀏覽:346
python列表每一行數據求和 瀏覽:275
自己有一台伺服器可以玩什麼 瀏覽:657
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:759