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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1925|回復: 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传媒在线播放 | 看片wwwwwwwwwww | 欧美日韩在线播放 | 一级片aaa| 国产h在线| 亚洲高清在线播放 | 国产1区在线 | 一区二区福利视频 | 国产大学生情侣呻吟视频 | 1204国产成人精品视频 | 精久久| 999久久久久久久久6666 | 久久免费精品视频 | 一本综合久久 | 成人精品免费视频 | 亚洲欧美视频一区 | 爱操影视 | 亚洲精品9999| 久久国产精品一区二区三区 | 日日干夜夜干 | 国产一区二区欧美 | 在线观看涩涩视频 | 亚洲精品日韩在线 | 婷婷开心激情综合五月天 | 国产精品久久久久久久久久久新郎 | 中文天堂在线观看 | 欧美一区二区三区在线免费观看 | 久久草在线视频 | 久久激情视频 | 国产97视频在线观看 | 国产精品国产三级国产aⅴ无密码 | 青青久久 | 免费黄色录像视频 | 国产精品日韩欧美一区二区 | 欧美激情亚洲 | 国产精品国产精品国产专区不卡 | 欧美国产日韩一区 | 精品国产免费人成在线观看 | 精精国产xxxx视频在线播放7 | 美女视频一区二区三区 | 精品一区二区观看 |