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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

初學單片機,如何在主函數里面調用我在串口助手里面輸入的數字

[復制鏈接]
跳轉到指定樓層
樓主
初學單片機,哪位大哥幫我看下如何在主函數里面調用我在串口助手里面輸入的數字,我下面的不行啊幫忙看下哪里錯了

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

使用道具 舉報

沙發
ID:341289 發表于 2018-5-30 12:25 | 只看該作者
sbit led=P2^0;         //D1
sbit led1=P2^1;         //D1
sbit led2=P2^2;         //D1

void delay(u16 i)
{
        while(i--);       
}

void display()
{
        while(1)
        {
                led=0;
                delay(50000); //大約延時450ms
                led=1;
                delay(50000); //大約延時450ms       
        }               
}


void display1()
{
        while(1)
        {
                led1=0;
                delay(50000); //大約延時450ms
                led1=1;
                delay(50000); //大約延時450ms       
        }               
}

void display2()
{
        while(1)
        {
                led2=0;
                delay(50000); //大約延時450ms
                led2=1;
                delay(50000); //大約延時450ms       
        }               
}
void UsartInit()
{
        SCON=0X50;                        //設置為工作方式1
        TMOD=0X20;                        //設置計數器工作方式2
        PCON=0X80;                        //波特率加倍
        TH1=0XF3;                                //計數器初始值設置,注意波特率是4800的
        TL1=0XF3;
        ES=1;                                                //打開接收中斷
        EA=1;                                                //打開總中斷
        TR1=1;                                        //打開計數器
}


void main()
{
            UsartInit();
              switch(SBUF)
            {
                  case(1):
                      display() ;break;
              case(2):
                      display1() ;break;
                  case(3):
                      display2() ;break;
            }
        while(1);
}

void Usart() interrupt 4
{
        u8 receiveData;
        receiveData=SBUF;//出去接收到的數據
        RI = 0;//清除接收中斷標志位
        SBUF=receiveData;//將接收到的數據放入到發送寄存器
        while(!TI);                         //等待發送數據完成
        TI=0;                                                 //清除發送完成標志位
}
回復

使用道具 舉報

板凳
ID:333428 發表于 2018-6-3 18:29 來自觸屏版 | 只看該作者
你把switch放到中斷看看,感覺是sbuf的問題
回復

使用道具 舉報

地板
ID:174087 發表于 2018-6-3 20:09 | 只看該作者
串口助手輸入的“數字”其實是字符,并且有對應的ASCII碼值,你把case里的123當做字符用單引號括起來就可以了,或者使用ASCII值
回復

使用道具 舉報

5#
ID:317135 發表于 2018-6-4 10:25 | 只看該作者
你這里問題有;
第一:不能直接判斷SBUF寄存器里面的數據
第二:你得確定串口來的數據是1.2.3,或者是ASCII碼值


void main()
{
             u8  receiveData;
             receiveData=SBUF;
             UsartInit();
               switch(receiveData)
             {
                   case(1):                //可能是ASSCII碼0X31
                       display() ;break;
               case(2):                     //可能是ASSCII碼0X32
                       display1() ;break;
                   case(3):                  //可能是ASSCII碼0X33
                       display2() ;break;
             }
         while(1);
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费黄色的视频 | 久久久久久一区 | 一区二区三区视频播放 | 一级毛片色一级 | 美女视频网站久久 | av在线电影网站 | 国产精品亚洲一区 | 亚洲欧美激情国产综合久久久 | 色婷婷av777| 麻豆久久久久久久 | 视频一区二区在线观看 | 国产乱码精品1区2区3区 | 99精品免费久久久久久久久日本 | 中文字幕在线视频观看 | 亚洲精品免费视频 | 久久久国产一区二区三区 | 高清视频一区二区三区 | 成年人精品视频 | 久久这里只有 | aaaaaa大片免费看最大的 | 在线一区视频 | 97国产精品视频人人做人人爱 | 羞视频在线观看 | 老子午夜影院 | 四虎永久免费在线 | yiren22综合网成人 | 久草视频观看 | 欧美日韩国产精品一区二区 | 久久机热| 国产午夜精品一区二区三区嫩草 | 午夜在线视频 | 色网站在线 | 中文字幕亚洲一区二区三区 | 欧美日韩亚洲视频 | 久久久精品网站 | 免费观看一级毛片 | 一级a性色生活片久久毛片 一级特黄a大片 | 日韩精品一区二区三区中文在线 | 国产二区视频 | 欧美日韩在线免费 | 日本aa毛片a级毛片免费观看 |