找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4093|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

STC15F104W控制邏輯器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:12312 發(fā)表于 2015-7-13 17:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
用此單片機(jī)控制兩個(gè)IO狀態(tài),有信號(hào)時(shí)變高電平,無(wú)信號(hào)時(shí)變低電平,有一個(gè)開關(guān)無(wú)論前面有沒有信號(hào)都取反控制。請(qǐng)問(wèn)哪位大俠有沒有這么方面的程序參考一下,或者說(shuō)有沒有邏輯方式

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:73833 發(fā)表于 2015-7-15 21:03 | 只看該作者
本人愚鈍,不明白樓主的意思:是誰(shuí)有無(wú)信號(hào)時(shí),是其中的一個(gè)I/O口變高變低嗎?,另一個(gè)開關(guān)又是哪位呢?是兩個(gè)I/O口始終取反嗎?哎,你的語(yǔ)言表達(dá)……

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:12312 發(fā)表于 2015-7-21 13:01 | 只看該作者
哦,本人表達(dá)可能有問(wèn)題,單片機(jī)的有兩個(gè)IO端作輸入,一個(gè)是按鍵一個(gè)是外部電平的高低變化,當(dāng)外部電平為高時(shí)關(guān)電機(jī),為低時(shí)開電機(jī),同時(shí)按按鍵的
回復(fù)

使用道具 舉報(bào)

地板
ID:12312 發(fā)表于 2015-7-21 13:09 | 只看該作者
又可以讓電機(jī)取反轉(zhuǎn)動(dòng),但同時(shí)輸入端會(huì)長(zhǎng)期會(huì)保持一個(gè)高電平或一個(gè)低電平。比如外部是低電平電機(jī)開啟正轉(zhuǎn),此時(shí)按按鍵電機(jī)反轉(zhuǎn)但松手后電機(jī)又正轉(zhuǎn),因?yàn)橥獠枯斎胧歉唠娖。同理外部高電平時(shí)按按鍵時(shí)也是這樣。所有這個(gè)邏輯要怎么處理。
回復(fù)

使用道具 舉報(bào)

5#
ID:80992 發(fā)表于 2015-7-21 20:18 | 只看該作者
很牛的邏輯看了都沒看出來(lái)電機(jī)轉(zhuǎn)究竟會(huì)朝那邊轉(zhuǎn)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:86421 發(fā)表于 2015-7-21 22:30 | 只看該作者
沒明白說(shuō)的是什么
回復(fù)

使用道具 舉報(bào)

7#
ID:12312 發(fā)表于 2015-7-22 23:43 | 只看該作者
首先要謝謝你的回復(fù)我會(huì)測(cè)試后回復(fù)于你,下面是本人寫的就是按住按鍵時(shí)電機(jī)有動(dòng),松手就是反轉(zhuǎn)。想請(qǐng)大俠順便看一下本人哪里的錯(cuò)了,可以好好向你們學(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;         
  }*/        
  }
  

}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

8#
ID:12312 發(fā)表于 2015-7-22 23:46 | 只看該作者
首先要謝謝你給我解答。本人也寫了個(gè)程序麻煩大俠們給我看看哪里出了問(wèn)題。
回復(fù)

使用道具 舉報(bào)

9#
ID:86626 發(fā)表于 2015-7-23 16:07 | 只看該作者
描述實(shí)在是看不明白,
回復(fù)

使用道具 舉報(bào)

10#
ID:86626 發(fā)表于 2015-7-23 16:07 | 只看該作者
不懂你按鍵用來(lái)控制什么。
回復(fù)

使用道具 舉報(bào)

11#
ID:12312 發(fā)表于 2015-7-23 21:00 | 只看該作者
按鍵做為測(cè)試之用,就是看一下電路有沒有問(wèn)題。簡(jiǎn)單點(diǎn)來(lái)說(shuō)的話就是,輸入的高電平控制馬達(dá)正轉(zhuǎn),輸入低電平時(shí)控制馬達(dá)反轉(zhuǎn)。按鍵就是在任意狀態(tài)時(shí)按下后馬達(dá)可以來(lái)回轉(zhuǎn)動(dòng)。不知道這樣說(shuō)能不能明白
回復(fù)

使用道具 舉報(bào)

12#
ID:12312 發(fā)表于 2015-7-24 11:43 | 只看該作者
現(xiàn)在主要的問(wèn)題是輸入端在任何都有一個(gè)狀態(tài)。要怎么個(gè)方式來(lái)取反控制電機(jī)轉(zhuǎn)動(dòng)。而不影響輸入控制
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表