標(biāo)題: 51單片機(jī)串口接收和發(fā)送數(shù)據(jù)問題 [打印本頁]

作者: q1833605807    時(shí)間: 2017-8-27 21:09
標(biāo)題: 51單片機(jī)串口接收和發(fā)送數(shù)據(jù)問題
請問各位大佬,接收和發(fā)送數(shù)據(jù)在實(shí)際情況中用查詢法還是中斷方式比較合適?我會用查詢方式發(fā)送字符串,但是不會用中斷方式,跪求中斷方式。

作者: zl2168    時(shí)間: 2017-8-28 08:13
本帖最后由 zl2168 于 2017-8-28 08:19 編輯

雙機(jī)通信
Proteus仿真一下,確認(rèn)有效。定時(shí)與查詢兩種方式均有
實(shí)例77  雙機(jī)串行通信方式1
實(shí)例77 雙機(jī)通信方式1.rar (40.4 KB, 下載次數(shù): 17)

實(shí)例78  雙機(jī)串行通信方式2
實(shí)例78 雙機(jī)通信方式2.rar (46.57 KB, 下載次數(shù): 12)

實(shí)例79  雙機(jī)串行通信方式3
實(shí)例79 雙機(jī)通信方式3.rar (45.3 KB, 下載次數(shù): 12)

以上摘自張志良編著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)上書店打折購買。











作者: ahshmj    時(shí)間: 2017-8-28 09:01
怎么還有這種情況?會查詢法不會中斷法?
作者: king_zxt    時(shí)間: 2017-8-28 11:49
個人習(xí)慣用中斷,
作者: king_zxt    時(shí)間: 2017-8-28 11:51
  1. /*******************************************************************************
  2. * 實(shí)驗(yàn)名                           : 串口實(shí)驗(yàn)
  3. * 使用的IO             : P2
  4. * 實(shí)驗(yàn)效果       : 將接收到發(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ù)功能                   :設(shè)置串口
  26. * 輸    入         : 無
  27. * 輸    出         : 無
  28. *******************************************************************************/

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

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

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

作者: youngly    時(shí)間: 2017-8-28 14:08
mark。。。。。。。
作者: yzwzfyz    時(shí)間: 2017-8-31 21:07
不會讀書嗎?
作者: qian654371    時(shí)間: 2017-9-1 15:26
當(dāng)然是用中斷合適了,這個需要初始化配置好
作者: qian654371    時(shí)間: 2017-9-1 15:27
中斷合適,這個需要初始化配置好




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