|
發布時間: 2018-11-6 10:48
正文摘要:這個設置輸出模式的單片機代碼怎么寫呢 繼電器不動作 #include<reg52.h> sbit P_out=P3^6; void main() { P_out=1; ... |
a超人 發表于 2018-11-6 19:43 如使用STC12C5A60S2.H頭文件需要去掉#include<reg52.h> |
|
如果你確認使用的是STC12C5A32S2芯片和所示電路,按下面程序保準能行。 #include<reg52.h> //#include "STC12C5A60S2.H"//如用此頭文件,以下兩行去掉。 sfr P3M0 = 0xB2;//定義寄存器地址 sfr P3M1 = 0xB1;//定義寄存器地址 sbit P_out=P3^6; void main() { P3M0 = 0x40;//端口設置推挽 P3M1 = 0x00;//端口設置推挽 P_out=1; while(1); } |
lanshi08 發表于 2018-11-6 13:24 我知道是要設置為推挽輸出 但是不知道用代碼怎么實現啊 謝謝 |
|
去掉R6和D3。 代碼如下: #include<reg52.h> sbit P_out=P3^6; void main(void) { while(1) { P_out=1; } } |
yzwzfyz 發表于 2018-11-6 12:28 我就是想寫個一個代碼讓P_OUT輸出一個高電平 控制繼電器動作 幫我看看這個代碼還有哪里需要改的 |
楊雪飛 發表于 2018-11-6 11:59 我都試過了 還是不正確啊
|
cuihaodianzi 發表于 2018-11-6 11:29 1:24伏 2:24伏 謝謝 |
楊雪飛 發表于 2018-11-6 11:59 都試過了 還是沒有輸出電壓
|
| 設置為推完輸出,驅動能力要是不夠就加上拉 |
楊雪飛 發表于 2018-11-6 11:59
單片機本身輸出的電壓 |
楊雪飛 發表于 2018-11-6 11:54
|
|
R6 820歐再與繼電器串聯,電流夠不夠? 從P_out至VCC之間接一只3K的電阻試試。 |
|
12C5A60S2需要在循環語句前加端口模式設置, 比如 P1M1=0X00; P1M0=0XFF; 上邊兩句是把P1口八個IO口設置推挽輸出,如果單獨使用一個口,把P1M0= 這個后邊的改成所需引腳就可以了 |
| 換個單片機型號,比如89C52試下 |
|
1,電源 VCC 電壓是多少 2,繼電器工作電壓多少 3,繼電器線圈電阻多少 4,三極管放大倍數多少 |