找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1433|回复: 1
打印 上一主题 下一主题
收起左侧

单片机串口控制LED亮灭

[复制链接]
跳转到指定楼层
楼主
ID:478858 发表于 2019-3-3 12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. typedef unsigned char uchar;
  4. typedef unsigned int uint;
  5. sbit led0=P2^0;
  6. sbit led1=P2^1;
  7. sbit led2=P2^2;
  8. sbit led3=P2^3;
  9. sbit led4=P2^4;
  10. sbit led5=P2^5;
  11. sbit led6=P2^6;
  12. sbit led7=P2^7;
  13. uchar num[9];
  14. uchar ch;
  15. int Res;
  16. void ChuanInit()
  17. {  
  18. SCON=0x50;
  19. TMOD=0x20;
  20. PCON=0x80;
  21. TH1=0xf3;
  22. TL1=0xf3;
  23. ES=1;
  24. EA=1;
  25. TR1=1;
  26. }
  27. void Chuan() interrupt 4
  28. {
  29. uchar Data;
  30.    Data=SBUF;
  31. RI=0;
  32. ch=Data;
  33. SBUF=Data;
  34. while(!TI);
  35. TI=0;
  36. }
  37. void Liu()
  38. {
  39. int i;
  40. for(i=0;i<8;i++)
  41. {
  42.   num[i]=ch<<7;
  43.   ch>>=1;
  44. }
  45. }  

  46. /*void Jia()
  47. {
  48. led0=num[0];
  49. led1=num[1];
  50. led2=num[2];
  51. led3=num[3];
  52. led4=num[4];
  53. led5=num[5];
  54. led6=num[6];
  55. led7=num[7];
  56. } */

  57. void Le()
  58. {
  59. if(num[0]==1)
  60. {
  61.   led0=0;
  62. }
  63. else
  64. {
  65.   led0=1;
  66. }
  67. if(num[1]==1)
  68. {
  69.   led1=0;
  70. }
  71. else
  72. {
  73.   led1=1;
  74. }  
  75. if(num[2]==1)
  76. {
  77.   led2=0;
  78. }
  79. else
  80. {
  81.   led2=1;
  82. }  
  83. if(num[3]==1)
  84. {
  85.   led3=0;
  86. }
  87. else
  88. {
  89.   led3=1;
  90. }  
  91. if(num[4]==1)
  92. {
  93.   led4=0;
  94. }
  95. else
  96. {
  97.   led4=1;
  98. }  
  99. if(num[5]==1)
  100. {
  101.   led5=0;
  102. }
  103. else
  104. {
  105.   led5=1;
  106. }  
  107. if(num[6]==1)
  108. {
  109.   led6=0;
  110. }
  111. else
  112. {
  113.   led6=1;
  114. }
  115. if(num[7]==1)
  116. {
  117.   led7=0;
  118. }
  119. else
  120. {
  121.   led7=1;
  122. }   
  123. }
  124.   
  125. void main()
  126. {
  127.   ChuanInit();
  128.    
  129.   
  130.    
  131.   while(1)
  132.   {
  133.    Liu();

  134.    Le();
  135.    
  136.   }
  137. }
复制代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:109810 发表于 2020-2-25 10:23 | 只看该作者
程序不全吧,发什么指令控制啊???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表