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

標(biāo)題: 51單片機(jī)串口收發(fā)字符串源程序 [打印本頁]

作者: 吧更符合個(gè)    時(shí)間: 2020-8-8 04:14
標(biāo)題: 51單片機(jī)串口收發(fā)字符串源程序
想要通過串口控制led,但是串口每次中斷只能發(fā)送一個(gè)字符,這樣在控制的時(shí)候不太容易清楚各個(gè)命令是控制哪一部分,所以參考網(wǎng)上的資料,寫了個(gè)簡(jiǎn)單的字符串收發(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ù)線存儲(chǔ)到這個(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


作者: pjj1988    時(shí)間: 2020-9-1 12:40
有人試過嗎?為什么我的控制一會(huì)有效一會(huì)無效。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品国产网| 国产成人在线播放 | 亚洲精品91| 天天拍天天色 | 天堂久久一区 | 亚洲高清一区二区三区 | 亚洲一区二区中文字幕在线观看 | 亚洲小视频在线播放 | 亚洲欧美国产精品一区二区 | 秋霞电影院午夜伦 | 女人牲交视频一级毛片 | 日韩91在线| 国产一级淫片免费视频 | 欧美久久一区 | 日韩不卡一区二区三区 | 日韩精品一区二区三区在线观看 | 亚洲一区二区视频 | 久久机热| 国产精品欧美大片 | 在线国产视频观看 | 国产在线一区二区三区 | 99re国产| 精品一区av | 日韩视频在线观看 | 国产日韩欧美精品 | 一级毛片免费完整视频 | 人人艹人人 | 污视频在线免费观看 | 在线a视频网站 | 国产激情一区二区三区 | 日韩不卡三区 | 精品日韩一区二区三区av动图 | av色站 | 2018中文字幕第一页 | 九九热精品在线视频 | 欧美色综合一区二区三区 | 国产三级一区二区 | 91av在线免费观看 | 在线视频国产一区 | 亚洲毛片在线 | 亚洲色综合 |