標(biāo)題:
STC15F104W控制邏輯器
[打印本頁]
作者:
hua7718534
時間:
2015-7-13 17:06
標(biāo)題:
STC15F104W控制邏輯器
用此單片機(jī)控制兩個IO狀態(tài),有信號時變高電平,無信號時變低電平,有一個開關(guān)無論前面有沒有信號都取反控制。請問哪位大俠有沒有這么方面的程序參考一下,或者說有沒有邏輯方式
作者:
dingmingzhou
時間:
2015-7-15 21:03
本人愚鈍,不明白樓主的意思:是誰有無信號時,是其中的一個I/O口變高變低嗎?,另一個開關(guān)又是哪位呢?是兩個I/O口始終取反嗎?哎,你的語言表達(dá)……
作者:
hua7718534
時間:
2015-7-21 13:01
哦,本人表達(dá)可能有問題,單片機(jī)的有兩個IO端作輸入,一個是按鍵一個是外部電平的高低變化,當(dāng)外部電平為高時關(guān)電機(jī),為低時開電機(jī),同時按按鍵的
作者:
hua7718534
時間:
2015-7-21 13:09
又可以讓電機(jī)取反轉(zhuǎn)動,但同時輸入端會長期會保持一個高電平或一個低電平。比如外部是低電平電機(jī)開啟正轉(zhuǎn),此時按按鍵電機(jī)反轉(zhuǎn)但松手后電機(jī)又正轉(zhuǎn),因為外部輸入是高電平。同理外部高電平時按按鍵時也是這樣。所有這個邏輯要怎么處理。
作者:
xtitxjg
時間:
2015-7-21 20:18
很牛的邏輯看
了都沒看出來電機(jī)轉(zhuǎn)究竟會朝那邊轉(zhuǎn)
作者:
1qaz2wsx77
時間:
2015-7-21 22:30
沒明白說的是什么
作者:
hua7718534
時間:
2015-7-22 23:43
首先要謝謝你的回復(fù)我會測試后回復(fù)于你,下面是本人寫的就是按住按鍵時電機(jī)有動,松手就是反轉(zhuǎn)。想請大俠順便看一下本人哪里的錯了,可以好好向你們學(xué)習(xí)學(xué)習(xí)。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,b;
sfr P3M0 = 0xB2;
sfr P3M1 = 0xB1;
sbit MA = P3^2;
sbit MB = P3^3;
sbit LED1 = P3^0;
sbit LED2 = P3^1;
sbit KEY1 = P3^4;
sbit KEY2 = P3^5;
void delayms(uchar x)
{
uchar i,j;
do
{
for(i=12;i>0;i-- )
for(j=169;j>0;j-- );
}
while(--x);
}
void sw_12()
{
if(KEY1==0)//正轉(zhuǎn)
{
delayms(10);
if(KEY1==0)
{
MA=~MA;MB=~MB;LED1=~LED1;LED2=~LED2;
}
while(KEY1==0);
}
}
void sw_13()
{
if(KEY2==1)//正轉(zhuǎn)
{
delayms(10);
if(KEY2==1)
{
MA=1;MB=0;LED1=1;LED2=0;
}
// while(KEY2==1);
}
}
void sw_14()
{
if(KEY2==0)//正轉(zhuǎn)
{
delayms(10);
if(KEY2==0)
{
MA=0;MB=1;LED1=0;LED2=1;
}
while(KEY2==0);
}
}
void main()
{
P3M0 = 0x0C;
P3M1 = 0x00;
//P3=0xff;
MA=1;MB=1;LED1=1;LED2=1;
while(1)
{
sw_12();
sw_13();
sw_14();
/*switch(b)
{
case 1:MA=0;MB=1;LED1=0;LED2=1;break;
case 2:MA=1;MB=0;LED1=1;LED2=0;b=0;break;
}*/
}
}
作者:
hua7718534
時間:
2015-7-22 23:46
首先要謝謝你給我解答。本人也寫了個程序麻煩大俠們給我看看哪里出了問題。
作者:
reuben
時間:
2015-7-23 16:07
描述實在是看不明白,
作者:
reuben
時間:
2015-7-23 16:07
不懂你按鍵用來控制什么。
作者:
hua7718534
時間:
2015-7-23 21:00
按鍵做為測試之用,就是看一下電路有沒有問題。簡單點來說的話就是,輸入的高電平控制馬達(dá)正轉(zhuǎn),輸入低電平時控制馬達(dá)反轉(zhuǎn)。按鍵就是在任意狀態(tài)時按下后馬達(dá)可以來回轉(zhuǎn)動。不知道這樣說能不能明白
作者:
hua7718534
時間:
2015-7-24 11:43
現(xiàn)在主要的問題是輸入端在任何都有一個狀態(tài)。要怎么個方式來取反控制電機(jī)轉(zhuǎn)動。而不影響輸入控制
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1