久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1830|回復: 4
打印 上一主題 下一主題
收起左側

請問一下,我這個需要如何修改可以一直發送單片機引腳口的狀態啊!

[復制鏈接]
跳轉到指定樓層
樓主
ID:320022 發表于 2018-5-23 14:40 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
這個需要發送一次返回一個數據,我想不發送或者發送一次就可以一直發送數據
#include <reg51.h>
sbit c=P2^1;
void SendOneByte(unsigned char c)
{
    SBUF =0x30+c;
    while(!TI);
    TI = 0;
}
void main(void)
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xFD;
    TL1 = TH1;
    PCON = 0x00;
    EA = 1;
    ES = 1;
    TR1 = 1;
while(1);
}
void UARTInterrupt(void) interrupt 4
{
    if(RI)
    {
        RI = 0;
        SendOneByte((unsigned char)c);
    }
    else
        TI = 0;
}

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

使用道具 舉報

5#
ID:47286 發表于 2018-5-23 22:36 | 只看該作者
補充

SendOneByte((c);

應該是

SendOneByte(c);
回復

使用道具 舉報

地板
ID:47286 發表于 2018-5-23 22:25 | 只看該作者
掃了一下 幫你改了一下結構 具體語句沒改 你試試 不一定能執行 因為不知道你語句是否有寫錯的地方

不過你這么寫 如果程序沒錯誤應該是上電就不間斷快速發送P2.1端口的狀態 而且端口狀態不會變化 你收到的是一直持續不變的0或1 沒什么實際用啊

#include <reg51.h>

sbit c=P2^1;

void SendOneByte(unsigned char c)
{
    SBUF =0x30+c;
    while(!TI);
    TI = 0;
}

void UARTInterrupt(void) interrupt 4
{
    if(RI)
    {
        RI = 0;
    }
    else
        {
        TI = 0;
        }
}

void InitUART()
{
        TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xFD;
    TL1 = TH1;
    PCON = 0x00;
    EA = 1;
    ES = 1;
    TR1 = 1;
}

void main(void)
{
        InitUART;
       
        while(1);
        {
                SendOneByte((c);
        }
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:18297 發表于 2018-5-23 22:21 | 只看該作者
#include <reg51.h>
sbit c=P2^1;
#define AUTO_send 1   //自動發送
#define ONE_send 0     //發送1次
unsigned char send_state=0;     //狀態標志,=1,自動發送。
void SendOneByte(unsigned char c)
{
    SBUF =0x30+c;
    while(!TI);
    TI = 0;
}
void delay_ms(unsigned int n)
{         unsigned int i=0,j=0;
    for(i=0;i<n;i++)
    for(j=0;j<123;j++);
}
void main(void)
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xFD;
    TL1 = TH1;
    PCON = 0x00;
    EA = 1;
    ES = 1;
    TR1 = 1;
        while(1)
          {
                         if(send_state==AUTO_send)    //發送狀態=1,自動發送
                         {
                                  SendOneByte((unsigned char)c);      //自動發送
                                  delay_ms(100);        //延時
                         }
                }          
}
void UARTInterrupt(void) interrupt 4
{
    if(RI)
    {
        RI = 0;
                          if(SBUF==ONE_send)     //接收命令=0(發送一次)
                                {
                                                SendOneByte((unsigned char)c);   //發送一次
                                          send_state=ONE_send;                      //當前狀態為單次發送
                                }
                                else if(SBUF==AUTO_send)                           //接收的命令=1(自動送)
                                {
                                          send_state=AUTO_send;                    //當前狀態為自動發送。主程序自動發送
                                }
    }
    else if( TI)
                {
               
        TI = 0;
                }
}
功能:
1、給單片機發送0,單片機發送一次
2、給單片機發送1,單片機自動發送,再次收到0后,變為手動發送并發送一次。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

沙發
ID:320022 發表于 2018-5-23 21:43 | 只看該作者
有沒有老哥幫忙看一下啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区久久 | 欧美一级片在线观看 | 久久99国产精品久久99果冻传媒 | 热99精品视频 | 日本免费在线观看视频 | 免费一级黄 | 激情国产| 国产乱精品一区二区三区 | 91在线视频一区 | 亚洲免费在线观看 | 国产在线一级片 | 亚洲综合在线视频 | 国产精品久久久久免费 | 一区二区三区在线免费观看 | 亚洲一区二区网站 | 欧美日高清 | 国产欧美一区二区精品久导航 | 久久久精品久 | 黄色一级特级片 | 亚洲 日本 欧美 中文幕 | 国产一区| 久久福利网站 | 亚洲国产成人av好男人在线观看 | 精品国产99| 欧美日韩亚 | 免费日韩av网站 | 在线观看毛片网站 | 欧美精品一区二区三区在线播放 | 亚洲免费一区二区 | www视频在线观看 | 亚洲乱码一区二区三区在线观看 | 欧美中文字幕一区二区三区 | 国产你懂的在线观看 | 天天操天天摸天天爽 | 亚洲综合免费 | 国产精品99久久久久久宅男 | www.狠狠干 | 欧美久久久 | 久久国产区 | 6996成人影院网在线播放 | 欧美一区二区三区在线观看视频 |