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

QQ登錄

只需一步,快速開始

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

請(qǐng)教大佬,stc單片機(jī)io口怎么輸出幾毫安的電流

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
用的是stc8g1k08—sop16,想讓16、15、13腳輸出幾毫安的電流,剛開始我把它們?cè)O(shè)置成推挽模式,沒加上拉電阻,它的電流有56ma,我們總工說(shuō)太耗電了,然后我把它設(shè)置成準(zhǔn)雙向口,加了上拉電阻,它的電流只有ua,電流太小了不太靈敏,有時(shí)候會(huì)直接判斷成低電平,如果把它設(shè)置成開漏輸出,然后加個(gè)上拉電阻,變成跟準(zhǔn)雙向口一樣的,但是數(shù)據(jù)手冊(cè)沒寫有多少電流,還有沒有其它方法呀
#include "stc8g.h"


sbit KeyA = P3^3;         //按鍵A連接引腳12
sbit KeyB = P3^2;         //按鍵B連接引腳11
sbit button1 = P3^6;      //相位開關(guān)F連接引腳15
sbit button2 = P3^7;      //相位開關(guān)E連接引腳16
sbit BI = P1^1;           //電機(jī)后退輸入D連接引腳2
sbit FI = P1^0;           //電機(jī)前進(jìn)輸入C連接引腳1
sbit FAN = P5^4;          //風(fēng)扇G連接引腳引腳5
sbit lock = P3^5;         //鎖扣I連接引腳14
sbit S1 = P3^4;           //鎖扣開關(guān)S1連接引腳13

bit KeyAFlag = 0;         //按鍵A標(biāo)志位
bit KeyBFlag = 0;         //按鍵B標(biāo)志位
bit openFlag = 1;
bit button1Flag = 0;
bit button2Flag = 0;

#define MAIN_Fosc                22118400L        //定義主時(shí)鐘


void delay_ms(unsigned char ms)    //延時(shí)函數(shù)
{
        unsigned int i;
        do{
                i = MAIN_Fosc / 10000;
                while(--i);
        }while(--ms);
}

void main()
{
            P1M0 = 0x03; P1M1 = 0x00;//1 2為推挽輸出
      P3M0 = 0xd0; P3M1 = 0xdc; //11腳和12腳為高阻輸入,16 15 13為開漏輸出,其余為準(zhǔn)雙向口
      P5M0 = 0x10; P5M1 = 0x00;    //5為推挽輸出
          if(openFlag==1)
                {
                        openFlag = 0;
            BI = 0;
                        FI = 0;
                        FAN = 0;
                        lock = 0;
                        KeyA = 0;
                        KeyB = 0;
                        KeyAFlag = 1;
                        KeyBFlag = 1;
                }
        
                while(1)
                {
                        if(KeyA==1)
                        {
                                KeyBFlag = 1;
                                if(KeyAFlag==1)
                                {                                                                        
                                        button1Flag =1;
                                        KeyAFlag = 0;
                                        lock = 1;
                                        FI = 1;
                                        BI = 0;
                                        FAN = 0;
                                }
                        }
                        
                        if(KeyB==1)
                        {
                                KeyAFlag = 1;                                
                                if(KeyBFlag==1)
                                {
                                        button2Flag = 1;
                                        KeyBFlag = 0;
                                        FAN = 0;
                                        FI = 0;
                                        BI = 1;
                                }
                        }        

        if(button1==0)
        {               
                if(button1Flag==1)
                {
                        button1Flag = 0;
                        FI = 0;
                        BI = 0;
                        FAN = 1;
                }
        }
        
        if(button2==0)                                    
        {
                if(button2Flag==1)
                {
                        button2Flag = 0;
                        FI = 0;
                        BI = 0;
                        FAN = 0;
                }
        }
        
                if(S1==0)
                {
                        delay_ms(10);
                        if(S1==0)
                        {
                                lock = 0;
                        }
                }
                }
}




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

使用道具 舉報(bào)

沙發(fā)
ID:277550 發(fā)表于 2024-7-16 13:09 | 只看該作者
單片機(jī)是數(shù)字信號(hào),,,,用三極管唄
回復(fù)

使用道具 舉報(bào)

板凳
ID:136485 發(fā)表于 2024-7-16 14:42 | 只看該作者
加個(gè)限流電阻不就行了
回復(fù)

使用道具 舉報(bào)

地板
ID:1076567 發(fā)表于 2024-7-16 16:32 | 只看該作者
devcang 發(fā)表于 2024-7-16 13:09
單片機(jī)是數(shù)字信號(hào),,,,用三極管唄

準(zhǔn)雙向口模式的時(shí)候用三極管放大電流嗎,但是我們總工說(shuō)ua太小了,抗干擾能力差,手一碰它就會(huì)自己?jiǎn)?dòng),有沒有什么能直接讓單片機(jī)輸出ma嘞
回復(fù)

使用道具 舉報(bào)

5#
ID:227818 發(fā)表于 2024-7-16 16:46 | 只看該作者
對(duì)硬件不熟悉,但我還是本能的想到了,IO口設(shè)為推挽輸出,然后加限流電阻如何?
回復(fù)

使用道具 舉報(bào)

6#
ID:1109793 發(fā)表于 2024-7-16 18:21 | 只看該作者
newlined 發(fā)表于 2024-7-16 16:46
對(duì)硬件不熟悉,但我還是本能的想到了,IO口設(shè)為推挽輸出,然后加限流電阻如何?

對(duì)啊,推挽,加個(gè)電阻,想要多少都行。
回復(fù)

使用道具 舉報(bào)

7#
ID:106977 發(fā)表于 2024-7-16 22:07 | 只看該作者
你們的總工太水了!
回復(fù)

使用道具 舉報(bào)

8#
ID:1128898 發(fā)表于 2024-7-17 05:36 | 只看該作者
買個(gè)模擬輸出芯片,io是數(shù)字量
回復(fù)

使用道具 舉報(bào)

9#
ID:857072 發(fā)表于 2024-7-17 07:44 來(lái)自手機(jī) | 只看該作者
不是應(yīng)該調(diào)整上拉電阻的阻值 限制電流大小嗎
回復(fù)

使用道具 舉報(bào)

10#
ID:1076567 發(fā)表于 2024-7-17 09:08 | 只看該作者
a185980800 發(fā)表于 2024-7-17 07:44
不是應(yīng)該調(diào)整上拉電阻的阻值 限制電流大小嗎

他當(dāng)時(shí)調(diào)過上拉電阻的阻值,沒什么變化,而且串了一個(gè)1k的電阻,電壓才變了零點(diǎn)幾,后面并了一個(gè)電容和一個(gè)電阻才可以
回復(fù)

使用道具 舉報(bào)

11#
ID:1076567 發(fā)表于 2024-7-17 09:09 | 只看該作者
xiaobendan001 發(fā)表于 2024-7-16 18:21
對(duì)啊,推挽,加個(gè)電阻,想要多少都行。

加過電阻,但是沒什么變化,后面并了電容和一個(gè)電阻才行
回復(fù)

使用道具 舉報(bào)

12#
ID:1076567 發(fā)表于 2024-7-17 09:13 | 只看該作者
lgwd 發(fā)表于 2024-7-16 22:07
你們的總工太水了!

沒有,我們總工沒學(xué)過單片機(jī)和代碼,當(dāng)時(shí)加了限流電阻但是調(diào)不了,說(shuō)是脈沖電流,后面并了一個(gè)電容和電阻
回復(fù)

使用道具 舉報(bào)

13#
ID:401564 發(fā)表于 2024-7-17 10:00 | 只看該作者
STC單片機(jī)目前是沒有能調(diào)節(jié)IO電流的,要調(diào)節(jié)電流大小,就只能通過加限流電阻來(lái)調(diào)節(jié)
回復(fù)

使用道具 舉報(bào)

14#
ID:276663 發(fā)表于 2024-7-17 10:15 | 只看該作者
推挽模式加限流電阻,另外處理器不太建議做輸出,手冊(cè)上說(shuō)了整個(gè)MCU灌電流支持幾十mA
回復(fù)

使用道具 舉報(bào)

15#
ID:1076567 發(fā)表于 2024-7-17 10:27 | 只看該作者
Y_G_G 發(fā)表于 2024-7-17 10:00
STC單片機(jī)目前是沒有能調(diào)節(jié)IO電流的,要調(diào)節(jié)電流大小,就只能通過加限流電阻來(lái)調(diào)節(jié)

嗷嗷好的 感謝
回復(fù)

使用道具 舉報(bào)

16#
ID:1034262 發(fā)表于 2024-7-20 11:37 | 只看該作者
推挽輸出+串聯(lián)一個(gè)電阻
回復(fù)

使用道具 舉報(bào)

17#
ID:965189 發(fā)表于 2024-7-21 07:48 來(lái)自手機(jī) | 只看該作者
要輸出mA級(jí)的電流,推挽輸出就可以了。至少我是這樣用的。外行當(dāng)領(lǐng)導(dǎo),你又沒有說(shuō)服力。難辦。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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