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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)串口收發(fā)字符串源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
想要通過串口控制led,但是串口每次中斷只能發(fā)送一個(gè)字符,這樣在控制的時(shí)候不太容易清楚各個(gè)命令是控制哪一部分,所以參考網(wǎng)上的資料,寫了個(gè)簡單的字符串收發(fā)函數(shù)。本程序的功能是:電腦串口助手發(fā)送數(shù)據(jù)給單片機(jī),單片機(jī)接收后返回給電腦,在發(fā)送的時(shí)候,需要空兩格再輸入想要傳送的內(nèi)容,不然的話傳輸?shù)臄?shù)據(jù)會(huì)丟失,因?yàn)檫@個(gè)情況不影響串口控制LED,所以就沒管了。

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. typedef unsigned char uchar;
  3. typedef unsigned int uint;
  4. sbit led=P2^0;
  5. void Usart_Init()
  6. {
  7. TMOD=0X20;
  8. PCON=0X80;
  9. SCON=0X50;
  10. TH1=0XF3;
  11. TL1=0XF3;
  12. TR1=1;
  13. ES=1;
  14. EA=1;
  15. }


  16. uchar strk[50];

  17. void delay(unsigned int i){unsigned int j;for(i;i>0;i--)for(j=0;j<120;j++);}//延時(shí)函數(shù)
  18. void sendbyte(unsigned char byt){SBUF=byt;while(!TI);TI=0;}        //串口字符發(fā)送函數(shù)

  19. void  receivebyte()        /*串口接收函數(shù)*/
  20. {
  21. uchar shiftdata;//轉(zhuǎn)移數(shù)據(jù)變量,將SBUF接收到的數(shù)據(jù)線存儲到這個(gè)地方,再轉(zhuǎn)存到數(shù)組當(dāng)中
  22. static uint i=0;
  23.                                
  24. if(RI){
  25. RI=0;shiftdata=SBUF;strk[i]=shiftdata; i++;
  26. if(shiftdata=='\0'||shiftdata=='\n'){i=0;}
  27.       }                   
  28. }

  29. /*以下是串口字符串發(fā)送函數(shù)*/
  30. void sendstring(unsigned char *string){       
  31. uint k;
  32. while(*string!='\0')
  33. {
  34. sendbyte(*string);delay(100);string++;
  35. }for(k=0;k<50;k++)strk[k]=0;
  36. }
  37.                                                                                                                                                                                     

  38. void main()
  39. {
  40. Usart_Init();
  41. while(1)
  42. {
  43. if(strk[2]=='o'&&strk[3]=='n')led=0;
  44. if(strk[2]=='o'&&strk[3]=='f'&&strk[4]=='f')led=1;
  45. if(RI){sendstring(strk);}

  46. }
  47. }


  48. void Usart_o() interrupt 4
  49. {

  50.   receivebyte();

  51.        
  52. }
復(fù)制代碼

1111.png (69.57 KB, 下載次數(shù): 30)

1111.png

51串口收發(fā)字符串.rar

27.9 KB, 下載次數(shù): 36, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:691909 發(fā)表于 2020-9-1 12:40 來自手機(jī) | 只看該作者
有人試過嗎?為什么我的控制一會(huì)有效一會(huì)無效。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日产精品久久久一区二区福利 | 一区二区三区欧美在线 | 一级黄色片在线免费观看 | 精品国产一区二区三区在线观看 | 久久综合一区 | 精品国产乱码久久久久久88av | 欧美一区二区三 | 国产色播av在线 | 国产91久久久久蜜臀青青天草二 | 亚洲精品乱码久久久久久蜜桃91 | 国产玖玖| 日韩成人影院在线观看 | 欧美日韩国产中文 | 98久久| 亚洲不卡在线观看 | 久久99精品国产99久久6男男 | 大香在线伊779 | 免费观看av网站 | 久草视频在线播放 | 午夜免费视频 | 国产亚洲二区 | 国产精品毛片一区二区三区 | 国产在线a| 国产精品成人一区二区三区 | aaa精品 | 色综合av| 精品日韩一区二区 | 精品视频一区二区三区四区 | 精品欧美一区二区在线观看欧美熟 | 亚洲网址 | 天天狠狠 | 国产成在线观看免费视频 | www.99re| 久久久久电影 | 在线播放国产一区二区三区 | 国产亚韩 | 日韩色图在线观看 | 久久久久久综合 | 精品福利在线 | 伊人中文字幕 | 一级做a爰片久久毛片免费看 |