欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機如何接收16位數據呢 [打印本頁]

作者: w322405    時間: 2017-10-10 10:11
標題: 51單片機如何接收16位數據呢
學到串口通信了,現在需要從上位機發送一個16位的數據在數碼管上顯示出來,接收部分該怎么寫呢?(我的思路是建一個數組緩存接收到的數據等16位數據接收完成了后在讀取出來,然后數碼管顯示,但不知道該怎么寫緩存數組啊,求大神給個例程)
作者: egang    時間: 2017-10-10 11:07
//′®¿úéèÖà 11.05920M 2¨ìØÂê9600        T11¤×÷·½ê½Îa1 ×÷Îa2¨ìØÂê·¢éúÆ÷
void uart_init_com()          
{
  TMOD=0x20;
  PCON=0x00;
  SCON=0x50;
  TH1=0xfd;
  TH1=0xfd;
  TR1=1;
}
main函數:
unsigned char com_buf[6] ;
while(1)
      {
              com_buf[x] = USART_Receive();
            if(com_buf[x]=='\r')//接收以回車結束
           break;      
       。。。顯示函數
        x++;   
      }


作者: w322405    時間: 2017-10-10 12:29
egang 發表于 2017-10-10 11:07
//′úéè 11.05920M 2¨ìê9600        T11¤×÷·ê ...

謝謝大神

作者: zl2168    時間: 2017-10-10 14:51
USART_Receive()?????謝什么?
作者: zl2168    時間: 2017-10-10 14:54
收就收!收好后就存!存好后就顯示!看樣子你一點基礎都沒有,建議先學點基礎再說。
作者: wdz    時間: 2017-10-10 15:33
接受的時候考慮包頭
作者: w322405    時間: 2017-10-10 17:35
zl2168 發表于 2017-10-10 14:54
收就收!收好后就存!存好后就顯示!看樣子你一點基礎都沒有,建議先學點基礎再說。

請老師指點,謝謝
作者: w322405    時間: 2017-10-10 17:36
wdz 發表于 2017-10-10 15:33
接受的時候考慮包頭

能否給個例程,我參考下?謝謝
作者: 小魔獸哈登    時間: 2017-10-10 19:19

//′®¿úéèÖà 11.05920M 2¨ìØÂê9600        T11¤×÷·½ê½Îa1 ×÷Îa2¨ìØÂê·¢éúÆ÷
void uart_init_com()         
{
  TMOD=0x20;
  PCON=0x00;
  SCON=0x50;
  TH1=0xfd;
  TH1=0xfd;
  TR1=1;
}
main函數:
unsigned char com_buf[6] ;
while(1)
      {
              com_buf[x] = USART_Receive();
            if(com_buf[x]=='\r')//接收以回車結束
           break;      
       。。。顯示函數
        x++;   
      }
作者: egang    時間: 2017-10-10 22:37
unsigned char USART_Receive( void )
{
    uchar buf =0;
        while(!RI);
          RI=0;
        buf=SBUF;
        return buf ;
}

void uart_init_com()         
{
  TMOD=0x20;
  PCON=0x00;
  SCON=0x50;
  TH1=0xfd;
  TH1=0xfd;
  TR1=1;
}
#define N 20
main函數:
...
unsigned char x=0;
unsigned char com_buf[N] ;
...
while(1)
      {
              com_buf[x] = USART_Receive();
            if(com_buf[x]=='\r')//接收以回車結束
           break;
        x++;   
      }
      
       。。。加顯示函數


作者: B435761040    時間: 2017-10-11 00:59
把接收的數據 轉存到數組,顯示的時候調出來不就行了

作者: zl2168    時間: 2017-10-11 11:05
w322405 發表于 2017-10-10 17:35
請老師指點,謝謝

80C51串行通信
實例77  雙機串行通信方式1
實例77 雙機通信方式1.rar (40.4 KB, 下載次數: 13)


實例78  雙機串行通信方式2 實例78 雙機通信方式2.rar (46.57 KB, 下載次數: 5)
實例79  雙機串行通信方式3 實例79 雙機通信方式3.rar (45.3 KB, 下載次數: 4)
實例16  單片機與PC機虛擬串行通信 實驗16 與PC機虛擬串行通信.rar (151.41 KB, 下載次數: 7)

Proteus仿真一下,確認有效。以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。


作者: yzwzfyz    時間: 2017-10-11 23:04
收兩個字節后拼裝一下,不就是16位了嗎?
作者: w322405    時間: 2017-10-11 23:57
yzwzfyz 發表于 2017-10-11 23:04
收兩個字節后拼裝一下,不就是16位了嗎?

給個例程好嗎?我搞了好久還是沒搞明白,高手們給的例程我都看的云里霧里
作者: w322405    時間: 2017-10-12 08:35
yzwzfyz 發表于 2017-10-11 23:04
收兩個字節后拼裝一下,不就是16位了嗎?

我想用串口接收0~65536但是收到的數合并起來后是亂碼

作者: zjjhtony    時間: 2017-10-12 11:16
1.如附件。
2、功能發送16進制字符,高位在前,低位在后。
3、如發送01 FF,接收后顯示01 FF。

仿真說明.jpg (128.17 KB, 下載次數: 96)

仿真說明

仿真說明

aking.rar

155.12 KB, 下載次數: 62


作者: qq937176129    時間: 2017-10-12 11:47
循環就收兩個
作者: annysky    時間: 2017-10-12 13:54
分段接收
作者: HUZHONGQI    時間: 2017-10-12 14:55
接受的時候考慮包頭
作者: w20100231211    時間: 2017-10-12 17:12
感謝分享!
作者: w20100231211    時間: 2017-10-12 17:12
感謝樓主的分享!
作者: 3334444    時間: 2017-10-12 20:19
謝謝樓主




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1