找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4762|回復: 8
收起左側(cè)

51單片機串口接收和發(fā)送數(shù)據(jù)問題

[復制鏈接]
ID:187532 發(fā)表于 2017-8-27 21:09 | 顯示全部樓層 |閱讀模式
請問各位大佬,接收和發(fā)送數(shù)據(jù)在實際情況中用查詢法還是中斷方式比較合適?我會用查詢方式發(fā)送字符串,但是不會用中斷方式,跪求中斷方式。
回復

使用道具 舉報

ID:111634 發(fā)表于 2017-8-28 08:13 | 顯示全部樓層
本帖最后由 zl2168 于 2017-8-28 08:19 編輯

雙機通信
Proteus仿真一下,確認有效。定時與查詢兩種方式均有
實例77  雙機串行通信方式1
實例77 雙機通信方式1.rar (40.4 KB, 下載次數(shù): 17)
串1.jpg
實例78  雙機串行通信方式2
實例78 雙機通信方式2.rar (46.57 KB, 下載次數(shù): 12)
串2.jpg
實例79  雙機串行通信方式3
實例79 雙機通信方式3.rar (45.3 KB, 下載次數(shù): 12)
串3.jpg
以上摘自張志良編著80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內(nèi)有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網(wǎng)站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。










回復

使用道具 舉報

ID:7485 發(fā)表于 2017-8-28 09:01 | 顯示全部樓層
怎么還有這種情況?會查詢法不會中斷法?
回復

使用道具 舉報

ID:198530 發(fā)表于 2017-8-28 11:49 | 顯示全部樓層
個人習慣用中斷,
回復

使用道具 舉報

ID:198530 發(fā)表于 2017-8-28 11:51 | 顯示全部樓層
  1. /*******************************************************************************
  2. * 實驗名                           : 串口實驗
  3. * 使用的IO             : P2
  4. * 實驗效果       : 將接收到發(fā)送回電腦上面。
  5. *        注意                                         :
  6. *******************************************************************************/

  7. #include<reg51.h>

  8. //--聲明全局函數(shù)--//
  9. void UsartConfiguration();
  10. /*******************************************************************************
  11. * 函 數(shù) 名         : main
  12. * 函數(shù)功能                   : 主函數(shù)
  13. * 輸    入         : 無
  14. * 輸    出         : 無
  15. *******************************************************************************/

  16. void main()
  17. {
  18.         UsartConfiguration();
  19.         while(1)
  20.         {
  21.         }
  22. }
  23. /*******************************************************************************
  24. * 函 數(shù) 名         :UsartConfiguration()
  25. * 函數(shù)功能                   :設置串口
  26. * 輸    入         : 無
  27. * 輸    出         : 無
  28. *******************************************************************************/

  29. void UsartConfiguration()
  30. {
  31.         SCON=0X50;                        //設置為工作方式1
  32.         TMOD=0X20;                        //設置計數(shù)器工作方式2
  33.         PCON=0X80;                        //波特率加倍
  34.         TH1=0XF3;                    //計數(shù)器初始值設置,注意波特率是4800的
  35.         TL1=0XF3;
  36.         ES=1;                                                //打開接收中斷
  37.         EA=1;                                                //打開總中斷
  38.         TR1=1;                                            //打開計數(shù)器
  39. }

  40. /*******************************************************************************
  41. * 函 數(shù) 名         :Delay(unsigned int i)
  42. * 函數(shù)功能                   : 延時函數(shù)
  43. * 輸    入         : 無
  44. * 輸    出         : 無
  45. *******************************************************************************/
  46. void Usart() interrupt 4
  47. {
  48.         unsigned char receiveData;

  49.         receiveData=SBUF; //出去接收到的數(shù)據(jù)
  50.         RI = 0;           //清除接收中斷標志位
  51.         SBUF=receiveData; //將接收到的數(shù)據(jù)放入到發(fā)送寄存器
  52.         while(!TI);                  //等待發(fā)送數(shù)據(jù)完成
  53.         TI=0;                          //清除發(fā)送完成標志位
  54. }
復制代碼
回復

使用道具 舉報

ID:229687 發(fā)表于 2017-8-28 14:08 | 顯示全部樓層
mark。。。。。。。
回復

使用道具 舉報

ID:123289 發(fā)表于 2017-8-31 21:07 | 顯示全部樓層
不會讀書嗎?
回復

使用道具 舉報

ID:230424 發(fā)表于 2017-9-1 15:26 | 顯示全部樓層
當然是用中斷合適了,這個需要初始化配置好
回復

使用道具 舉報

ID:230424 發(fā)表于 2017-9-1 15:27 | 顯示全部樓層
中斷合適,這個需要初始化配置好
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表