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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5464|回復: 1
打印 上一主題 下一主題
收起左側(cè)

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

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:161768 發(fā)表于 2017-2-9 22:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
芯片STC89C52RC

在PC端向單片機發(fā)送任意數(shù)據(jù)后, 單片機向PC端發(fā)送4行文本,
由于在windos下,回車換行用





C代碼
  1.     #include <reg52.h>  
  2.     #include "MY51.h"  
  3.       
  4.     void    initSer();          //串口初始化  
  5.     uchar  sendFlag = 0;     //未發(fā)送數(shù)據(jù)時  
  6.     uchar  receFlag =0;     //未接受到數(shù)據(jù)時  
  7.       
  8.     code  uchar  TEXT0[] = "****************************\r\n";  //\r\n是回車換行  
  9.     code  uchar  TEXT1[] = "單片機串口通訊測試\r\n";  
  10.     code  uchar  TEXT2[] = "http://xouou.iteye.com\r\n";  
  11.     code  uchar  TEXT3[] = "****************************\r\n\r\n";//回車換行并空1行  
  12.       
  13.     void sendChar(uchar sendValue);  //發(fā)送一字節(jié)數(shù)據(jù)  
  14.     void sendAll(uchar *pValue);       //發(fā)送一組數(shù)據(jù)  
  15.       
  16.     void main(void)  
  17.     {  
  18.         initSer();  
  19.         while(1)  
  20.         {  
  21.           while(receFlag)               //單片機串口收到任意數(shù)據(jù)后,開始向PC發(fā)送數(shù)據(jù)  
  22.           {  
  23.                sendAll(TEXT0);         //發(fā)送數(shù)據(jù)  
  24.                sendAll(TEXT1);  
  25.                sendAll(TEXT2);  
  26.                sendAll(TEXT3);  
  27.                 receFlag=0;             //發(fā)完了清標志      
  28.           }  
  29.         }  
  30.     }  
  31.       
  32.     void serInt() interrupt 4   //中斷函數(shù)  
  33.     {  
  34.         if(RI)                  //如果收到任意數(shù)據(jù)  
  35.         {  
  36.             RI = 0;  
  37.             P1=SBUF;        //數(shù)據(jù)的變化讓led燈直觀反應出來  
  38.             receFlag=1;   //修改接受標志,便于主函數(shù)進入while中發(fā)數(shù)據(jù)  
  39.         }  
  40.          
  41.         if(TI)  
  42.         {  
  43.             TI = 0;                //發(fā)送完一個數(shù)據(jù)  
  44.             sendFlag = 0;        //清標志位  
  45.         }  
  46.     }  
  47.       
  48.       
  49.     void sendChar(uchar Value)  //發(fā)送一個字節(jié)數(shù)據(jù)  
  50.     {  
  51.          SBUF = Value;      
  52.          sendFlag = 1;       //設置發(fā)送標志位,發(fā)一字節(jié)就置位  
  53.          while(sendFlag);    //直到發(fā)完數(shù)據(jù),將sendFlag清零后,才退出sendChar函數(shù)  
  54.     }  
  55.       
  56.     void sendAll(uchar *pValue) //發(fā)送一組數(shù)據(jù)  
  57.     {  
  58.         while((*pValue) != '\0')   //如果沒有發(fā)送完畢就繼續(xù)發(fā)  
  59.         {  
  60.             sendChar(*pValue);      //發(fā)送1字節(jié)數(shù)據(jù)  
  61.             pValue++;                 //指向下1個字節(jié)  
  62.         }  
  63.     }  
  64.       
  65.     void initSer()      //初始化  
  66.     {  
  67.         //注意:剛上電時,SCON是為0的  
  68.         TMOD=TMOD|0x20; //T1定時器模式,工作方式2  
  69.         TH1=0Xfd;        // 256-(11059200/(32*12*9600))  
  70.         TL1=0xfd;  
  71.         SM0=0;           //屬于SCON寄存器  
  72.         SM1=1;           //串口工作方式1,10位異步,波特率可改  
  73.         REN=yes;             //允許串口接收  
  74.         ES=open;             //開串口中斷  
  75.         EA=open;             //開總中斷  
  76.         TR1=start;       //啟動定時器  
  77.     }  
復制代碼






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

使用道具 舉報

沙發(fā)
ID:146886 發(fā)表于 2017-2-10 09:20 | 只看該作者
不錯啊,真是好東西啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色又黄又爽网站www久久 | 看av网址 | 欧美中文 | 91丨九色丨国产在线 | 亚洲黄色网址视频 | 亚洲欧美激情四射 | 精品中文字幕一区 | 久久久国产一区二区三区 | av一级在线观看 | 人人干人人玩 | 国产一级片在线观看视频 | 中国一级特黄真人毛片免费观看 | 91豆花视频 | 青草青草久热精品视频在线观看 | 国产欧美久久精品 | 久久国产精品72免费观看 | 成年人的视频免费观看 | 国产最新视频在线 | 毛片免费观看 | 久草免费福利 | 欧美日韩国产精品一区二区 | 成人在线精品 | 激情影院久久 | 99re视频在线观看 | 亚洲国产自产 | 一区二区三区精品视频 | 久久精品国产精品青草 | 精品久久久久久亚洲精品 | 国产男女猛烈无遮掩视频免费网站 | 天天搞天天搞 | 成人免费网站在线 | 日本中文在线视频 | 国产95在线 | 亚洲成人精品在线 | 国产91av视频 | 麻豆一区二区三区 | 国产电影一区二区在线观看 | 日韩精品视频在线 | 精品一区二区三区在线视频 | 51ⅴ精品国产91久久久久久 | 精品久久久久久 |