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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1857|回復: 0
收起左側

單片機串口通信計算加減法程序問題

[復制鏈接]
ID:502927 發表于 2019-4-29 11:48 來自手機 | 顯示全部樓層 |閱讀模式
  //這道串口問題最重要的就是給SBUF賦值,我們利用數組和switch進行賦值,通過判斷語句來進行分類討論,最后算出結果后在傳回SBUF中,達到應得的目的//

單片機源程序如下:
  1. #include<reg52.h>
  2. typedef unsigned char uchar;
  3. uchar j=0,a[3],flag=0,x=0,y,z;
  4. char i=0;float m=0;
  5. void init()
  6. {        TMOD=0x20;
  7. TH1=0xfd;      
  8. TL1=0xfd;      
  9. SCON=0x50;      
  10. TR1=1;      
  11. EA=1;      
  12. ES=1;}
  13. void main()
  14. {        init();      
  15. while(1)      
  16. {      
  17. if(flag==1)               
  18. {
  19. ES=0;                       
  20. switch(a[1])
  21. {                              
  22. case'+':i=a[0]-'0'+a[2]-'0';break;                                case'-':i=a[0]-'0'-(a[2]-'0');break;                                                         }                                                                 if(i<0)                       
  23. {
  24. SBUF='-';                              
  25. while(!TI);                              
  26. TI=0;                              
  27. SBUF=-i+'0';                              
  28. while(!TI);                              
  29. TI=0;                       
  30. }                       
  31. if(i>10)                       
  32. {
  33. y=i/10;                              
  34. z=i%10;                              
  35. SBUF=y+'0';                              
  36. while(!TI);                              
  37. TI=0;                              
  38. SBUF=z+'0';                              
  39. while(!TI);                              
  40. TI=0;                       
  41. }                       
  42. if(i>=0&&i<10 )                       
  43. {                              
  44. SBUF=i+'0';                              
  45. while(!TI);                              
  46. TI=0;                       
  47. }                       
  48. ES=1;                       
  49. flag=0;               
  50. }      
  51. }  
  52. }
  53. void receive() interrupt 4
  54. {        a[x++]=SBUF;        RI=0;
  55.         if(x==3)      
  56. {x=0;                flag=1;        }
  57. }      
復制代碼


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 西西裸体做爰视频 | 福利视频亚洲 | 国产免费福利小视频 | 91免费入口| 成人精品鲁一区一区二区 | 一区二区欧美在线 | 欧美成人激情 | 国产ts人妖系列高潮 | 久久久精 | 欧美性久久 | 欧美精品在线播放 | 在线看av网址 | 日韩成人在线网站 | 久久一区二区视频 | 国产精彩视频 | 国产精品综合色区在线观看 | 亚洲www.| 一区日韩 | 亚洲午夜在线 | 国产美女精品 | 91视频在线| 一级毛片观看 | 91婷婷韩国欧美一区二区 | 欧美色综合一区二区三区 | 亚洲精色 | 欧州一区二区三区 | 国产精品久久久久久久久久久久冷 | 欧美国产一区二区三区 | 国产欧美精品一区二区三区 | 国内精品久久精品 | 国产精品成人一区二区三区 | 亚洲国产精品视频一区 | 国产精品污www一区二区三区 | 一区二区三区四区在线视频 | 亚洲最大的成人网 | 国产情侣啪啪 | 亚洲情综合五月天 | 岛国av一区二区 | 在线视频 中文字幕 | 免费高清成人 | 国产精品久久二区 |