欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20346|回復: 25
收起左側

51單片機C#上位機+下位機各種程序(經典)

  [復制鏈接]
ID:267537 發表于 2017-12-27 10:21 | 顯示全部樓層 |閱讀模式
C#上位機源碼
0.png
上位機程序與源碼
0.png 0.png

單片機下位機源程序如下:
  1.                          #include<reg51.h>
  2. #include<intrins.h>                //因為要用到左右移函數,所以加入這個頭文件       
  3. #define GPIO_DIG P0
  4. #define GPIO_LED P0                //將P2口另外取名為GPIO_LED
  5. #define GPIO_PLACE P2        //1111-1101
  6. bit cmdArrived = 0;   //命令到達標志,即接收到上位機下發的命令
  7. unsigned char cmdIndex;
  8. unsigned char n;
  9. unsigned int i;
  10. unsigned char code DIG_PLACE[8]={
  11. 0xfd,0xbf,0xfd,0xf7,0xef,0x7f,0xfd,0xfb};//學號16130712
  12. unsigned char code DIG_CODE[3]={
  13. 0x6d,0x5b,0x3f};
  14. //520的顯示
  15. unsigned char DisplayData[8];//用來存放要顯示的8位數的值
  16. sbit Beep =  P1^5 ;
  17. sbit LSA=P2^2;
  18. sbit LSB=P2^3;
  19. sbit LSC=P2^4;
  20. sbit RELAY = P1^4;  //定義繼電器使用的IO口
  21. sbit K1    = P0^0;  //定義按鍵使用的IO口

  22. //520子程序
  23. void Delay10ms(unsigned int c)   //誤差 0us
  24. {unsigned char a, b;
  25.     for (;c>0;c--)
  26.         {
  27.                 for (b=38;b>0;b--)
  28.                 {
  29.                         for (a=130;a>0;a--);
  30.                 }         
  31.         }      
  32. }
  33. void smg()
  34. {
  35.         unsigned char i = 0;

  36.         while(1)
  37.         {
  38.                 GPIO_DIG = ~DIG_CODE[i];
  39.                 i++;
  40.                 if(i == 3)
  41.                 {
  42.                         i = 0;
  43.                 }
  44.                 Delay10ms(50);
  45.         }                               
  46. }
  47. //0-7
  48. void DigDisplay()
  49. {
  50.         unsigned char i;
  51.         unsigned int j;
  52.         for(i=0;i<8;i++)
  53.         {switch(i)         //位選,選擇點亮的數碼管,
  54.                 {
  55.                         case(0):
  56.                                 LSA=0;LSB=0;LSC=0; break;//顯示第0位
  57.                         case(1):
  58.                                 LSA=1;LSB=0;LSC=0; break;//顯示第1位
  59.                         case(2):
  60.                                 LSA=0;LSB=1;LSC=0; break;//顯示第2位
  61.                         case(3):
  62.                                 LSA=1;LSB=1;LSC=0; break;//顯示第3位
  63.                         case(4):
  64.                                 LSA=0;LSB=0;LSC=1; break;//顯示第4位
  65.                         case(5):
  66.                                 LSA=1;LSB=0;LSC=1; break;//顯示第5位
  67.                         case(6):
  68.                                 LSA=0;LSB=1;LSC=1; break;//顯示第6位
  69.                         case(7):
  70.                                 LSA=1;LSB=1;LSC=1; break;//顯示第7位       
  71.                 }
  72.                 GPIO_DIG=DisplayData[i];//發送段碼
  73.                 j=10;                                                 //掃描間隔時間設定
  74.                 while(j--);       
  75.                 GPIO_DIG=0x00;//消隱
  76.         }
  77.         }
  78. void dsmg()
  79. {
  80.         unsigned char i;
  81.         for(i=0;i<8;i++)
  82.         {
  83.                 DisplayData[i]=DIG_CODE[i];       
  84.         }
  85.         while(1)
  86.         {
  87.                 DigDisplay();
  88.         }                               
  89. }
  90. //SHANSHUO
  91.                           void shanshuo(void)
  92. {
  93.         unsigned char LED;

  94.         LED = 0xFE;

  95.         while(1)
  96.         {
  97.                 P0 = LED;

  98.                 Delay10ms(50);

  99.                 LED = _crol_(LED,1);
  100.         }
  101. }
  102. //
  103. void jidianqi()
  104. {
  105.         while(1)
  106.         {
  107.                 if(K1 == 0)        //如果按鍵按下
  108.                 {
  109.                         RELAY = 0; //繼電器閉合
  110.                 }
  111.                 else
  112.                 {
  113.                         RELAY = 1;
  114.                 }
  115.         }
  116. }

  117. void UsartConfiguration()
  118. {
  119.         SCON=0X50;                        //設置為工作方式1
  120.         TMOD=0X20;                        //設置計數器工作方式2
  121.         PCON=0X80;                        //波特率加倍
  122.         TH1=0XF3;                                //計數器初始值設置,注意波特率是4800的
  123.         TL1=0XF3;
  124.         ES=1;                                                //打開接收中斷
  125.         EA=1;                                                //打開總中斷
  126.         TR1=1;                                        //打開計數器
  127. }

  128. void Usart() interrupt 4
  129. {
  130.        

  131.     if (RI)  //接收到字節
  132.     {                                                                                                                                                   
  133.                 cmdIndex = SBUF;
  134.                 RI = 0;  //清零接收中斷標志位
  135.                 SBUF = cmdIndex;//將接收到的數據放入到發送寄存器
  136.                 cmdArrived = 1;  
  137.     }
  138.     if (TI)      //字節發送完
  139.     {  TI = 0;  //清零發送中斷標志位
  140.     }
  141.                                          //清除發送完成標志位
  142. }
  143. void main()
  144. {
  145.         UsartConfiguration();
  146.         while(1)
  147.         {
  148.                 if(cmdArrived)                          //進入中斷,接受完數據且使得cmdIndex = SBUF后才執行,假如SBUF=0x01
  149.                 {
  150.                 cmdArrived = 0;
  151.                         if(cmdIndex==0x33)       
  152.                         {                       
  153.                                         GPIO_LED=0x01;//0000 0010
  154.                                         while(1)
  155.                                         {
  156.                                         for(n=0;n<7;n++)                                                 //左移7次,這樣子就會到達最左邊
  157. ……………………

  158. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png
所有資料51hei提供下載:
所有作業.rar (4.15 MB, 下載次數: 481)


評分

參與人數 2黑幣 +10 收起 理由
abc000111 + 5 共享資料的黑幣獎勵!
morghuils + 5

查看全部評分

回復

使用道具 舉報

ID:269794 發表于 2018-1-3 08:31 | 顯示全部樓層
已下載 謝謝  胡老師是誰
回復

使用道具 舉報

ID:243748 發表于 2018-1-3 18:46 來自觸屏版 | 顯示全部樓層
很好的資料,對學習中的我應該很有用
回復

使用道具 舉報

ID:271559 發表于 2018-3-15 10:00 | 顯示全部樓層
很好的資料,學習中;
回復

使用道具 舉報

ID:271559 發表于 2018-3-15 10:01 | 顯示全部樓層
很好的資料,學習中;
回復

使用道具 舉報

ID:301917 發表于 2018-4-4 11:01 | 顯示全部樓層
在這里發布能得黑幣嗎,新手剛來的
回復

使用道具 舉報

ID:222106 發表于 2018-7-11 09:15 | 顯示全部樓層
謝謝,正在學習上位機
回復

使用道具 舉報

ID:373241 發表于 2018-7-17 13:42 | 顯示全部樓層
感謝樓主,請問胡老師是誰
回復

使用道具 舉報

ID:144356 發表于 2018-7-18 18:38 | 顯示全部樓層
學習了
回復

使用道具 舉報

ID:365673 發表于 2018-8-1 12:55 | 顯示全部樓層

已下載 謝謝樓主的分享
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
ID:387700 發表于 2018-8-28 23:13 | 顯示全部樓層
有沒有易語言的啊
回復

使用道具 舉報

ID:394574 發表于 2018-10-12 10:24 | 顯示全部樓層
不錯不錯!
回復

使用道具 舉報

ID:422038 發表于 2018-11-6 22:09 來自觸屏版 | 顯示全部樓層
學習學習學習
回復

使用道具 舉報

ID:447010 發表于 2018-12-15 22:42 | 顯示全部樓層
正好需要 可以下載不了
回復

使用道具 舉報

ID:397455 發表于 2018-12-17 10:12 | 顯示全部樓層
新手學習,多謝
回復

使用道具 舉報

ID:466445 發表于 2019-1-11 13:52 | 顯示全部樓層
不錯不錯,支持一下了!
回復

使用道具 舉報

ID:268886 發表于 2019-4-2 19:07 | 顯示全部樓層
已下載 謝謝  高手胡老師是誰
回復

使用道具 舉報

ID:268886 發表于 2019-4-2 19:26 | 顯示全部樓層
我的電腦為啥打不開呢,用什么軟件打開 的呢
回復

使用道具 舉報

ID:138918 發表于 2019-10-7 00:26 | 顯示全部樓層
不錯 好資料要果斷收藏學習
回復

使用道具 舉報

ID:278096 發表于 2019-10-7 08:06 | 顯示全部樓層
感謝樓主分享,正好要學習
回復

使用道具 舉報

22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
ID:264765 發表于 2020-2-22 21:48 | 顯示全部樓層
感謝大佬,下載學些學習
回復

使用道具 舉報

ID:405264 發表于 2020-3-25 12:01 | 顯示全部樓層
先謝謝樓主
回復

使用道具 舉報

ID:427885 發表于 2020-3-25 15:22 | 顯示全部樓層
好資料要果斷收藏學習
回復

使用道具 舉報

ID:716126 發表于 2020-3-26 12:54 | 顯示全部樓層

很好的資料,學習中;
回復

使用道具 舉報

28#
無效樓層,該帖已經被刪除
29#
無效樓層,該帖已經被刪除
ID:478238 發表于 2021-12-5 23:18 | 顯示全部樓層
51單片機C#上位機+下位機各種程序(經典),帥
回復

使用道具 舉報

31#
無效樓層,該帖已經被刪除
32#
無效樓層,該帖已經被刪除
ID:435636 發表于 2023-12-8 11:47 | 顯示全部樓層
謝謝分享,厲害了,再次感謝
回復

使用道具 舉報

34#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表