標(biāo)題: 51單片機與PC上位機串口通信之LED控制 [打印本頁]

作者: superjiangzhen    時間: 2016-1-15 12:28
標(biāo)題: 51單片機與PC上位機串口通信之LED控制
PC機通過上層軟件控制單片機LED的亮滅或者控制LED的閃爍及閃爍時間,上層軟件用戶名密碼均為admin 注意PROTEUS串口仿真需要配合虛擬串口軟件才能工作


所有資料打包下載: LED控制.rar (1.6 MB, 下載次數(shù): 486)

上位機(包含源碼)軟件說明:
發(fā)送數(shù)據(jù)解析
字節(jié)1、2:0x55 0xaa 數(shù)據(jù)是否正確判斷標(biāo)志
字節(jié)3:
           0x01 ------單個LED控制手動控制
           0x02 ------單個LED控制自動閃爍

字節(jié)4                     
    此字節(jié)從低位到高位依次控制LED0-LED7,例如0x01表示手動點亮LED0或者LED0自動閃爍;0x28表示手動點    亮LED3、LED5或者LED3、LED5自動閃爍

字節(jié)5、6:表示閃爍時間(6高8位 5低8位)    取值范圍0-5000

程序源碼預(yù)覽:
  1. #include<reg52.h>
  2. #define uint8 unsigned char
  3. #define uint16 unsigned int
  4. uint8 receive_buffer[6];                        //存放接收到的數(shù)據(jù)
  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狀態(tài),熄滅
  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說明接收到的數(shù)據(jù)是正確的
  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. }
復(fù)制代碼




作者: superjiangzhen    時間: 2016-1-15 12:29
里面有51單片機源代碼,供廣大單片機愛好者參考
作者: 917106794    時間: 2016-1-15 13:40
51黑有你更精彩。!

作者: 榆林上校    時間: 2016-4-21 10:44
簡單實用的例子
作者: 5314039    時間: 2016-4-26 22:31
樓主上位機登陸不了
作者: 5314039    時間: 2016-4-26 22:32
樓主  上位機登錄不了
作者: superjiangzhen    時間: 2016-4-27 10:49
用戶名 密碼都是admin
作者: superjiangzhen    時間: 2016-4-27 10:51
5314039 發(fā)表于 2016-4-26 22:31
樓主上位機登陸不了


用戶名 密碼都是admin
作者: superjiangzhen    時間: 2016-4-27 11:00
5314039 發(fā)表于 2016-4-26 22:32
樓主  上位機登錄不了

用戶名密碼都是admin
作者: 飛行之翼    時間: 2016-6-22 21:27
樓主好樣的
作者: lhnuaa    時間: 2016-8-23 08:02
很不錯,正在找
作者: laohu7748    時間: 2016-12-15 14:16
可以,賊強!
作者: 你的名字    時間: 2016-12-15 15:49
樓主好樣的!學(xué)習(xí)了
作者: laohu7748    時間: 2016-12-15 18:17
老哥,上位機程序怎么用啊
作者: engcyh    時間: 2016-12-15 18:24
看起來不錯,支持一下
作者: 榆林上校    時間: 2017-2-14 11:04
在win7下用戶名與密碼為admin不可以登錄
作者: 89464608    時間: 2017-2-23 17:29
問下樓主,如果有多個P口接LED,又該怎么控制啊,求指導(dǎo)
作者: probotmaster    時間: 2017-5-29 14:13
很不錯,一直在找這個帖子終于找到了。
作者: huaiyixinfei    時間: 2017-6-14 18:51
垃圾,根本用不了。
作者: huaiyixinfei    時間: 2017-6-14 18:52
不行,別嚇
作者: 348652560    時間: 2017-6-15 17:10
謝謝分享!收藏了!
作者: yyywww    時間: 2017-8-14 17:01
謝謝。。
作者: anony    時間: 2017-10-14 16:56
可以的呢,,
作者: kimijiang    時間: 2017-11-2 10:40
有測試嗎 可以制定協(xié)議通訊么
作者: 且聽風(fēng)吟1314    時間: 2017-11-6 03:08
沒有黑筆無法下載啊
作者: bbxyzzj    時間: 2017-11-6 08:20
感謝分享
作者: kimijiang    時間: 2017-11-6 15:08
好不容易攢了黑幣來下載
作者: kimijiang    時間: 2017-11-6 15:13
anony 發(fā)表于 2017-10-14 16:56
可以的呢,,

你測試過嗎?
作者: wazehu    時間: 2017-12-11 12:10
新手上路,感謝分享。
作者: jacky168    時間: 2017-12-18 19:50
里面有51單片機源代碼,供廣大單片機愛好者參考
作者: jacky168    時間: 2017-12-18 20:06
新手上路,感謝分享。
作者: 那個少年    時間: 2017-12-25 00:42
哇,感覺很棒的樣子
作者: hao05020    時間: 2017-12-26 22:39
謝謝分享!收藏了!
作者: 766711831    時間: 2018-1-4 12:12
看看  
作者: bhjyqjs    時間: 2018-2-8 16:06
正在學(xué)習(xí)易語言,期待中
作者: qjzyx    時間: 2018-2-8 21:56
謝謝分享
作者: bhjyqjs    時間: 2018-2-12 09:51
謝謝樓主分享,上位機界面非常簡潔漂亮!
作者: zhangsp    時間: 2018-3-10 10:34
不錯,好東西,就是黑幣有點多
作者: zhangsp    時間: 2018-3-10 10:35
感謝分享,好用。那些說不好用的,估計沒仔細看樓主說明,需要用到虛擬串口
作者: lvlv99    時間: 2018-3-15 21:31
攢幣下來學(xué)習(xí)上位機
作者: pmsjzj    時間: 2018-4-4 23:56
程序很厲害,測試ok、、、、
作者: 188098893    時間: 2018-4-11 00:21
厲害了
作者: 12138cnm    時間: 2018-4-19 18:04
感謝樓主的分享
作者: jkh920184196    時間: 2018-4-23 11:28
;樓主您好,能分享下上位機源碼嗎?

作者: Mr_Shier    時間: 2018-5-6 16:16
程序里有沒有涉及CRC校驗呀
作者: jkh920184196    時間: 2018-5-12 22:16
能分享下上位機源文件嗎

作者: 673780034    時間: 2018-6-7 19:45
學(xué)習(xí)了,我也去試試看行不行。。。
作者: Chiang    時間: 2018-8-9 10:12
謝謝大佬分享!我正在學(xué)習(xí)單片機通訊,
作者: qq35404085    時間: 2018-8-28 23:12
學(xué)習(xí)上位機
作者: 一條叼咸魚    時間: 2019-7-16 09:21
樓主有上位機的源代碼嗎?
作者: 一條叼咸魚    時間: 2019-7-16 09:25
請問是用VC6.0寫的嗎?
作者: Angle145    時間: 2019-7-16 11:05
http://www.torrancerestoration.com/bbs/forum.php?mod=viewthread&tid=163182&mobile=2單片機代碼可以看看
作者: qhb    時間: 2019-7-16 13:36
厲害!
作者: 1123551003    時間: 2019-10-18 23:14

謝謝分享!收藏了!
作者: T禮物X    時間: 2020-3-25 11:58
樓主大哥,沒有看到上位機的源碼啊,都是些obj的二進制文件
作者: leiwawa    時間: 2021-12-8 16:37

51黑有你更精彩。。
作者: HAPPY3    時間: 2021-12-13 11:26
正在學(xué)習(xí)易語言,期待中
作者: nlz175    時間: 2022-10-11 23:03
上位機登錄不了啊
作者: ljz587    時間: 2022-12-24 13:22
很好的例子,可以借鑒學(xué)習(xí)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1