找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 9839|回復(fù): 21
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)如何接收16位數(shù)據(jù)呢

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:225054 發(fā)表于 2017-10-10 10:11 來自手機(jī) | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
學(xué)到串口通信了,現(xiàn)在需要從上位機(jī)發(fā)送一個(gè)16位的數(shù)據(jù)在數(shù)碼管上顯示出來,接收部分該怎么寫呢?(我的思路是建一個(gè)數(shù)組緩存接收到的數(shù)據(jù)等16位數(shù)據(jù)接收完成了后在讀取出來,然后數(shù)碼管顯示,但不知道該怎么寫緩存數(shù)組啊,求大神給個(gè)例程)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:238216 發(fā)表于 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函數(shù):
unsigned char com_buf[6] ;
while(1)
      {
              com_buf[x] = USART_Receive();
            if(com_buf[x]=='\r')//接收以回車結(jié)束
           break;      
       。。。顯示函數(shù)
        x++;   
      }

評分

參與人數(shù) 1黑幣 +1 收起 理由
小魔獸哈登 + 1 很給力!

查看全部評分

回復(fù)

使用道具 舉報(bào)

板凳
ID:225054 發(fā)表于 2017-10-10 12:29 來自手機(jī) | 只看該作者
egang 發(fā)表于 2017-10-10 11:07
//′úéè 11.05920M 2¨ìê9600        T11¤×÷·ê ...

謝謝大神
回復(fù)

使用道具 舉報(bào)

地板
ID:111634 發(fā)表于 2017-10-10 14:51 | 只看該作者
USART_Receive()?????謝什么?
回復(fù)

使用道具 舉報(bào)

5#
ID:111634 發(fā)表于 2017-10-10 14:54 | 只看該作者
收就收!收好后就存!存好后就顯示!看樣子你一點(diǎn)基礎(chǔ)都沒有,建議先學(xué)點(diǎn)基礎(chǔ)再說。
回復(fù)

使用道具 舉報(bào)

6#
ID:238305 發(fā)表于 2017-10-10 15:33 | 只看該作者
接受的時(shí)候考慮包頭
回復(fù)

使用道具 舉報(bào)

7#
ID:225054 發(fā)表于 2017-10-10 17:35 來自手機(jī) | 只看該作者
zl2168 發(fā)表于 2017-10-10 14:54
收就收!收好后就存!存好后就顯示!看樣子你一點(diǎn)基礎(chǔ)都沒有,建議先學(xué)點(diǎn)基礎(chǔ)再說。

請老師指點(diǎn),謝謝
回復(fù)

使用道具 舉報(bào)

8#
ID:225054 發(fā)表于 2017-10-10 17:36 來自手機(jī) | 只看該作者
wdz 發(fā)表于 2017-10-10 15:33
接受的時(shí)候考慮包頭

能否給個(gè)例程,我參考下?謝謝
回復(fù)

使用道具 舉報(bào)

9#
ID:238372 發(fā)表于 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函數(shù):
unsigned char com_buf[6] ;
while(1)
      {
              com_buf[x] = USART_Receive();
            if(com_buf[x]=='\r')//接收以回車結(jié)束
           break;      
       。。。顯示函數(shù)
        x++;   
      }
回復(fù)

使用道具 舉報(bào)

10#
ID:238216 發(fā)表于 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函數(shù):
...
unsigned char x=0;
unsigned char com_buf[N] ;
...
while(1)
      {
              com_buf[x] = USART_Receive();
            if(com_buf[x]=='\r')//接收以回車結(jié)束
           break;
        x++;   
      }
      
       。。。加顯示函數(shù)

回復(fù)

使用道具 舉報(bào)

11#
ID:154868 發(fā)表于 2017-10-11 00:59 | 只看該作者
把接收的數(shù)據(jù) 轉(zhuǎn)存到數(shù)組,顯示的時(shí)候調(diào)出來不就行了
回復(fù)

使用道具 舉報(bào)

12#
ID:111634 發(fā)表于 2017-10-11 11:05 | 只看該作者
w322405 發(fā)表于 2017-10-10 17:35
請老師指點(diǎn),謝謝

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


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

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

回復(fù)

使用道具 舉報(bào)

13#
ID:123289 發(fā)表于 2017-10-11 23:04 | 只看該作者
收兩個(gè)字節(jié)后拼裝一下,不就是16位了嗎?
回復(fù)

使用道具 舉報(bào)

14#
ID:225054 發(fā)表于 2017-10-11 23:57 來自手機(jī) | 只看該作者
yzwzfyz 發(fā)表于 2017-10-11 23:04
收兩個(gè)字節(jié)后拼裝一下,不就是16位了嗎?

給個(gè)例程好嗎?我搞了好久還是沒搞明白,高手們給的例程我都看的云里霧里
回復(fù)

使用道具 舉報(bào)

15#
ID:225054 發(fā)表于 2017-10-12 08:35 來自手機(jī) | 只看該作者
yzwzfyz 發(fā)表于 2017-10-11 23:04
收兩個(gè)字節(jié)后拼裝一下,不就是16位了嗎?

我想用串口接收0~65536但是收到的數(shù)合并起來后是亂碼
回復(fù)

使用道具 舉報(bào)

16#
ID:18297 發(fā)表于 2017-10-12 11:16 | 只看該作者
1.如附件。
2、功能發(fā)送16進(jìn)制字符,高位在前,低位在后。
3、如發(fā)送01 FF,接收后顯示01 FF。

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

仿真說明

仿真說明

aking.rar

155.12 KB, 下載次數(shù): 62

回復(fù)

使用道具 舉報(bào)

17#
ID:238835 發(fā)表于 2017-10-12 11:47 | 只看該作者
循環(huán)就收兩個(gè)
回復(fù)

使用道具 舉報(bào)

18#
ID:238825 發(fā)表于 2017-10-12 13:54 | 只看該作者
分段接收
回復(fù)

使用道具 舉報(bào)

19#
ID:144951 發(fā)表于 2017-10-12 14:55 | 只看該作者
接受的時(shí)候考慮包頭
回復(fù)

使用道具 舉報(bào)

20#
ID:238928 發(fā)表于 2017-10-12 17:12 | 只看該作者
感謝分享!
回復(fù)

使用道具 舉報(bào)

21#
ID:238928 發(fā)表于 2017-10-12 17:12 | 只看該作者
感謝樓主的分享!
回復(fù)

使用道具 舉報(bào)

22#
ID:238974 發(fā)表于 2017-10-12 20:19 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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