找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機如何激活一個I/O口,讓單片機輸出固定的串口信號

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1062090 發(fā)表于 2023-2-3 18:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機如何激活一個I/O口,讓單片機輸出固定的串口信號,如激活P0^1  輸出串口信號:123456  
還有就是輸入串口信號123456  激活P0^1

請大神幫忙寫兩個代碼,謝謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:213173 發(fā)表于 2023-2-3 20:44 | 只看該作者
激活一個I/O口?固定的串口信號?都是你自定義的表述。叫別人怎么理解?
回復(fù)

使用道具 舉報

板凳
ID:1059375 發(fā)表于 2023-2-3 23:40 來自手機 | 只看該作者
用串口中斷,判斷SBUF收到的是不是123456,用if就行
回復(fù)

使用道具 舉報

地板
ID:1034262 發(fā)表于 2023-2-4 10:04 | 只看該作者
沒法理解樓主的描述。51單片機的IO庫不需要“激活”,直接使用。串口一般固定在某兩個IO,或可以在某幾組IO切換。但C8051有交叉開關(guān),是否可以任意切換不知道,我沒用過,這是貴族產(chǎn)品用的MCU。
回復(fù)

使用道具 舉報

5#
ID:1062090 發(fā)表于 2023-2-4 12:20 | 只看該作者
kkk09 發(fā)表于 2023-2-3 23:40
用串口中斷,判斷SBUF收到的是不是123456,用if就行

回復(fù)

使用道具 舉報

6#
ID:161164 發(fā)表于 2023-2-4 21:05 | 只看該作者
這樣?






回復(fù)

使用道具 舉報

7#
ID:1062090 發(fā)表于 2023-2-5 11:50 | 只看該作者

大神,你太厲害了,就是這樣
回復(fù)

使用道具 舉報

8#
ID:1062090 發(fā)表于 2023-2-5 11:50 | 只看該作者
wulin 發(fā)表于 2023-2-3 20:44
激活一個I/O口?固定的串口信號?都是你自定義的表述。叫別人怎么理解?

你如果理解不了的話,請看6樓大神回復(fù)
回復(fù)

使用道具 舉報

9#
ID:1062090 發(fā)表于 2023-2-5 11:54 | 只看該作者

你太厲害了,能發(fā)個代碼嗎?感謝感謝
回復(fù)

使用道具 舉報

10#
ID:645225 發(fā)表于 2023-2-5 13:31 | 只看該作者
#include <reg52.h>  sbit P0_1 = P0^1;  // Define P0.1 as sbit type  void main() {     P0_1 = 0;   // Activate P0.1 and set its value to low      // Output "123456" via serial port     printf("123456");      while(1)     {         // Do nothing, wait for input signal     } }
回復(fù)

使用道具 舉報

11#
ID:645225 發(fā)表于 2023-2-5 13:32 | 只看該作者
1單片機激活一個I/O口,讓單片機輸出固定的串口信號的代碼示例如下:
#include <reg52.h>

sbit P0_1 = P0^1;  // Define P0.1 as sbit type

void main()
{
    P0_1 = 0;   // Activate P0.1 and set its value to low

    // Output "123456" via serial port
    printf("123456");

    while(1)
    {
        // Do nothing, wait for input signal
    }
}

51單片機輸入串口信號123456并激活P0^1的代碼示例如下:
#include <reg52.h>
#include <stdio.h>

sbit P0_1 = P0^1;  // Define P0.1 as sbit type
char input[7];

void main()
{
    while(1)
    {
        scanf("%s", input);
        if (strcmp(input, "123456") == 0)
        {
            P0_1 = 1;   // Activate P0.1 and set its value to high
        }
    }
}
注意:需要包含"stdio.h"頭文件并初始化串口。
回復(fù)

使用道具 舉報

12#
ID:313517 發(fā)表于 2023-2-5 19:55 | 只看該作者
用串口來實現(xiàn)
回復(fù)

使用道具 舉報

13#
ID:1062090 發(fā)表于 2023-2-5 22:59 | 只看該作者
lztopic 發(fā)表于 2023-2-5 13:31
#include   sbit P0_1 = P0^1;  // Define P0.1 as sbit type  void main() {     P0_1 = 0;   // Activate ...

感謝,感謝
回復(fù)

使用道具 舉報

14#
ID:1062090 發(fā)表于 2023-2-5 22:59 | 只看該作者
lztopic 發(fā)表于 2023-2-5 13:32
1單片機激活一個I/O口,讓單片機輸出固定的串口信號的代碼示例如下:
#include

感謝。感謝
回復(fù)

使用道具 舉報

15#
ID:1062090 發(fā)表于 2023-2-5 22:59 | 只看該作者
回復(fù)

使用道具 舉報

16#
ID:1062090 發(fā)表于 2023-2-5 23:00 | 只看該作者
coody_sz 發(fā)表于 2023-2-4 10:04
沒法理解樓主的描述。51單片機的IO庫不需要“激活”,直接使用。串口一般固定在某兩個IO,或可以在某幾組IO ...

回復(fù)

使用道具 舉報

17#
ID:1061331 發(fā)表于 2023-2-6 00:42 | 只看該作者
用串口中斷4,打開SSCOM判斷SBUF收到的是不是123456這串字符,用if語句判斷就行
回復(fù)

使用道具 舉報

18#
ID:1042619 發(fā)表于 2023-2-6 11:42 | 只看該作者

   樓主從 STC-ISP V6.91J 以上版本的 ISP燒錄/輔助開發(fā)工具包一體化軟件  直接調(diào)用USB-CDC串口助手、HID助手、IO配置工具等工具窗口,相信您用的到
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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