找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机与PC上位机串口通信之LED控制

  [复制链接]
跳转到指定楼层
楼主
PC机通过上层软件控制单片机LED的亮灭或者控制LED的闪烁及闪烁时间,上层软件用户名密码均为admin 注意PROTEUS串口仿真需要配合虚拟串口软件才能工作


所有资料打包下载: LED控制.rar (1.6 MB, 下载次数: 486)

上位机(包含源码)软件说明:
发送数据解析
字节1、2:0x55 0xaa 数据是否正确判断标志
字节3:
           0x01 ------单个LED控制手动控制
           0x02 ------单个LED控制自动闪烁

字节4                     
    此字节从低位到高位依次控制LED0-LED7,例如0x01表示手动点亮LED0或者LED0自动闪烁;0x28表示手动点    亮LED3、LED5或者LED3、LED5自动闪烁

字节5、6:表示闪烁时间(6高8位 5低8位)    取值范围0-5000

程序源码预览:
  1. #include<reg52.h>
  2. #define uint8 unsigned char
  3. #define uint16 unsigned int
  4. uint8 receive_buffer[6];                        //存放接收到的数据
  5. uint8 i,k;

  6. void delay1ms(uint16 m)                                //1ms延时程序
  7. {
  8.         uint8 j;
  9.         while(m--)
  10.                 for(j=0;j<112;j++);
  11. }

  12. void main()
  13. {
  14.         uint16 time;
  15.         P0 = 0xff;                        //初始化LED状态,熄灭
  16.         TMOD = 0x20;                //定时器1工作在方式2
  17.         TH1 = 0xfd;
  18.         TL1 = 0xfd;                        //波特率9600
  19.         TR1 = 1;                                //启动定时器1
  20.         EA = 1;                                        //开启总中断
  21.         SM0 = 0;
  22.         SM1 = 1;                                //串行口工作方式1
  23.         REN = 1;        //允许串行接收
  24.         ES = 1;                                        //开启串行口中断
  25.         while(1)
  26.         {
  27.                 if((receive_buffer[0] == 0x55) && (receive_buffer[1] == 0xaa))                                        //如果接收到0x55 0xaa说明接收到的数据是正确的
  28.                 {
  29.                         time = ((uint16)receive_buffer[5] << 8) + (uint16)receive_buffer[4];        //闪烁时间
  30.                         switch(receive_buffer[2])
  31.                         {
  32.                                 case 0x01:                                                                                                                                                                                                                                                //手动控制LED亮灭
  33.                                         P0 = ~receive_buffer[3];
  34.                                         break;
  35.                                 case 0x02:                                                                                                                                                                                                                                                //LED自动闪烁
  36.                                         P0 = ~receive_buffer[3];
  37.                                         delay1ms(time);
  38.                                         P0 = 0xff;
  39.                                         delay1ms(time);
  40.                                         break;
  41.                                 default:
  42.                                         break;
  43.                         }
  44.                 }
  45.         }
  46. }

  47. void uart_int() interrupt 4
  48. {
  49.         if(RI == 1)
  50.         {
  51.                 RI = 0;
  52.                 receive_buffer[i] = SBUF;
  53.                 i++;
  54.                 if(i == 6)
  55.                 {
  56.                         i = 0;
  57.                         k = 0;
  58.                         P0 = 0xff;
  59.                 }
  60.         }
  61. }
复制代码



评分

参与人数 5黑币 +59 收起 理由
Mr_Shier + 5 赞一个!
qjzyx + 2 赞一个!
jacky168 + 1 很给力!
admin1212 + 1 淡定
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:72643 发表于 2016-1-15 12:29 | 只看该作者
里面有51单片机源代码,供广大单片机爱好者参考
回复

使用道具 举报

板凳
ID:94642 发表于 2016-1-15 13:40 | 只看该作者
51黑有你更精彩!!!
回复

使用道具 举报

地板
ID:47652 发表于 2016-4-21 10:44 | 只看该作者
简单实用的例子
回复

使用道具 举报

5#
ID:99612 发表于 2016-4-26 22:31 | 只看该作者
楼主上位机登陆不了
回复

使用道具 举报

6#
ID:99612 发表于 2016-4-26 22:32 | 只看该作者
楼主  上位机登录不了
回复

使用道具 举报

7#
ID:72643 发表于 2016-4-27 10:49 | 只看该作者
用户名 密码都是admin
回复

使用道具 举报

8#
ID:72643 发表于 2016-4-27 10:51 | 只看该作者
5314039 发表于 2016-4-26 22:31
楼主上位机登陆不了


用户名 密码都是admin
回复

使用道具 举报

9#
ID:72643 发表于 2016-4-27 11:00 | 只看该作者
5314039 发表于 2016-4-26 22:32
楼主  上位机登录不了

用户名密码都是admin
回复

使用道具 举报

10#
ID:127715 发表于 2016-6-22 21:27 | 只看该作者
楼主好样的
回复

使用道具 举报

11#
ID:130762 发表于 2016-8-23 08:02 来自手机 | 只看该作者
很不错,正在找
回复

使用道具 举报

12#
ID:154993 发表于 2016-12-15 14:16 | 只看该作者
可以,贼强!
回复

使用道具 举报

13#
ID:155029 发表于 2016-12-15 15:49 | 只看该作者
楼主好样的!学习了
回复

使用道具 举报

14#
ID:154993 发表于 2016-12-15 18:17 | 只看该作者
老哥,上位机程序怎么用啊
回复

使用道具 举报

15#
ID:57896 发表于 2016-12-15 18:24 | 只看该作者
看起来不错,支持一下
回复

使用道具 举报

16#
ID:47652 发表于 2017-2-14 11:04 | 只看该作者
在win7下用户名与密码为admin不可以登录
回复

使用道具 举报

17#
ID:164449 发表于 2017-2-23 17:29 来自手机 | 只看该作者
问下楼主,如果有多个P口接LED,又该怎么控制啊,求指导
回复

使用道具 举报

18#
ID:205835 发表于 2017-5-29 14:13 | 只看该作者
很不错,一直在找这个帖子终于找到了!!
回复

使用道具 举报

19#
ID:185884 发表于 2017-6-14 18:51 | 只看该作者
垃圾,根本用不了。
回复

使用道具 举报

20#
ID:185884 发表于 2017-6-14 18:52 | 只看该作者
不行,别吓
回复

使用道具 举报

21#
ID:211258 发表于 2017-6-15 17:10 | 只看该作者
谢谢分享!收藏了!
回复

使用道具 举报

22#
ID:227602 发表于 2017-8-14 17:01 | 只看该作者
谢谢!!!
回复

使用道具 举报

23#
ID:226787 发表于 2017-10-14 16:56 | 只看该作者
可以的呢,,
回复

使用道具 举报

24#
ID:245215 发表于 2017-11-2 10:40 | 只看该作者
有测试吗 可以制定协议通讯么
回复

使用道具 举报

25#
ID:246395 发表于 2017-11-6 03:08 | 只看该作者
没有黑笔无法下载啊
回复

使用道具 举报

26#
ID:96326 发表于 2017-11-6 08:20 | 只看该作者
感谢分享
回复

使用道具 举报

27#
ID:245215 发表于 2017-11-6 15:08 | 只看该作者
好不容易攒了黑币来下载
回复

使用道具 举报

28#
ID:245215 发表于 2017-11-6 15:13 | 只看该作者

你测试过吗?
回复

使用道具 举报

29#
ID:260112 发表于 2017-12-11 12:10 | 只看该作者
新手上路,感谢分享。
回复

使用道具 举报

30#
ID:263289 发表于 2017-12-18 19:50 | 只看该作者
里面有51单片机源代码,供广大单片机爱好者参考
回复

使用道具 举报

31#
ID:263289 发表于 2017-12-18 20:06 | 只看该作者
新手上路,感谢分享。
回复

使用道具 举报

32#
ID:266005 发表于 2017-12-25 00:42 | 只看该作者
哇,感觉很棒的样子
回复

使用道具 举报

33#
ID:266277 发表于 2017-12-26 22:39 | 只看该作者
谢谢分享!收藏了!
回复

使用道具 举报

34#
ID:271293 发表于 2018-1-4 12:12 | 只看该作者
看看  
回复

使用道具 举报

35#
ID:66287 发表于 2018-2-8 16:06 | 只看该作者
正在学习易语言,期待中
回复

使用道具 举报

36#
ID:266116 发表于 2018-2-8 21:56 | 只看该作者
谢谢分享
回复

使用道具 举报

37#
ID:66287 发表于 2018-2-12 09:51 | 只看该作者
谢谢楼主分享,上位机界面非常简洁漂亮!
回复

使用道具 举报

38#
ID:106792 发表于 2018-3-10 10:34 | 只看该作者
不错,好东西,就是黑币有点多
回复

使用道具 举报

39#
ID:106792 发表于 2018-3-10 10:35 | 只看该作者
感谢分享,好用。那些说不好用的,估计没仔细看楼主说明,需要用到虚拟串口
回复

使用道具 举报

40#
ID:240034 发表于 2018-3-15 21:31 | 只看该作者
攒币下来学习上位机
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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