久久久久久久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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国内精品视频一区二区三区 | 国产午夜影院 | 天天天天操 | 国产区一区 | 日本羞羞影院 | 黄色三级毛片 | 欧美日韩网站 | 超碰免费在线 | 亚洲精久久 | 成人午夜在线 | 综合精品在线 | av网站观看 | 成人精品 | 国产天天操 | 国产精品久久国产愉拍 | 午夜视频在线免费观看 | 色婷婷综合久久久中字幕精品久久 | 成人久久18免费网站 | 中国一级特黄视频 | 日韩成人免费av | 国产伦一区二区三区四区 | 在线观看www视频 | 久久久久久国模大尺度人体 | 日本小电影网站 | 亚洲 中文 欧美 日韩 在线观看 | 日韩在线一区视频 | 中文字幕在线观看一区 | 精品91久久久| 最新日韩在线 | 久久久久久久国产精品影院 | 亚洲免费一区二区 | 日韩视频二区 | 黄色在线| 久久久久国产成人精品亚洲午夜 | 中文字幕在线观看第一页 | 成人自拍av| 欧美成人精品一区二区男人看 | 2018国产大陆天天弄 | 午夜在线观看免费 | 欧美aaa级| 日韩成人高清 |