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

標題: 單片機雙機通信(握手)PC與串口通信的幾個proteus仿真及源程序 [打印本頁]

作者: 51黑ff    時間: 2016-10-10 13:42
標題: 單片機雙機通信(握手)PC與串口通信的幾個proteus仿真及源程序

仿真工程文件及所有完整程序等資料下載地址(壓縮包一共有45個單片機仿真,全部下載后找到這個項目即可):
http://m.raoushi.com/bbs/dpj-56298-1.html


程序說明:
  甲發送,乙接收 甲先發送AA給乙 ,乙接收AA后,向甲回答BB。甲收到BB后(甲乙兩機握手)就把P1口的狀態發送給乙機,之后向乙機發送結束符FF。乙收到FF后,根據甲機P1口的狀態點亮LED。同時向甲機返回結束符FF,甲機收到結束符FF后停止發送。


甲機程序:
  1. /********************************************************************
  2.                             匯誠科技
  3. *********************************************************************/

  4. 程序說明:
  5.   甲發送,乙接收 甲先發送AA給乙 ,乙接收AA后,向甲回答BB。甲收到BB后(甲乙兩機握手)就把P1口的狀態發送給乙機,之后向乙機發送結束符FF。乙收到FF后,根據甲機P1口的狀態點亮LED。同時向甲機返回結束符FF,甲機收到結束符FF后停止發送。
  6. *********************************************************************/
  7. #include<reg52.h>                 //庫文件
  8. #define uchar unsigned char//宏定義無符號字符型
  9. #define uint unsigned int  //宏定義無符號整型
  10. /********************************************************************
  11.                             延時函數
  12. *********************************************************************/

  13. void delayms(uchar n)
  14. {
  15. uchar m,s;
  16. for(m=n;m>0;m--)
  17. for(n=20;n>0;n--)
  18. for(s=248;s>0;s--);
  19. }

  20. /********************************************************************
  21.                 功能:串口初始化,波特率9600,方式1
  22. *********************************************************************/

  23. void Init_Com(void)
  24. {
  25. TMOD = 0x20;
  26. PCON = 0x00;
  27. SCON = 0x50;
  28. TH1 = 0xFd;
  29. TL1 = 0xFd;
  30. TR1 = 1;
  31. }
  32. /********************************************************************
  33.                             主函數
  34. *********************************************************************/
  35. void main()
  36. {
  37. Init_Com();         //初始化
  38. delayms(40); //延時等待

  39. while(1)
  40.   {

  41.   do{
  42.      SBUF=0Xaa;          //發送AAH
  43.            while(!TI);
  44.          TI=0;
  45.          while(!RI);
  46.          RI=0;
  47.      }
  48.    
  49.         while((SBUF^0XBB)!=0);/*此句可以改為while(SBUF!=0XBB);*/ //等待接收乙發送的BBH
  50.                  
  51.    do{                           //發送P1口狀態
  52.      SBUF=P1;
  53.            while(!TI);
  54.          TI=0;
  55.          SBUF=0XFF;
  56.          while(!TI);
  57.          TI=0;
  58.          while(!RI);
  59.          RI=0;
  60.      }
  61.     while((SBUF^0XFF)!=0);/*此句可以改為while(SBUF!=0XFF);*/
  62.   }
  63. }
  64.         
  65. /********************************************************************
  66.                               結束
  67. *********************************************************************/
復制代碼

乙機程序:
  1. /********************************************************************
  2.                             天馬電子
  3. *********************************************************************/
  4. /程序說明:
  5.   甲發送,乙接收 甲先發送AA給乙 ,乙接收AA后,向甲回答BB。甲收到BB后(甲乙兩機握手)就把P1口的狀態發送給乙機,之后向乙機發送結束符FF。乙收到FF后,根據甲機P2口的狀態點亮LED。同時向甲機返回結束符FF,甲機收到結束符FF后停止發送。
  6. *********************************************************************/
  7. #include<reg52.h>                 //庫文件
  8. #define uchar unsigned char//宏定義無符號字符型
  9. #define uint unsigned int  //宏定義無符號整型
  10. /********************************************************************
  11.                             延時函數
  12. *********************************************************************/

  13. void delayms(uchar n)
  14. {
  15. uchar m,s;
  16. for(m=n;m>0;m--)
  17. for(n=20;n>0;n--)
  18. for(s=248;s>0;s--);
  19. }

  20. /********************************************************************
  21.                 功能:串口初始化,波特率9600,方式1
  22. *********************************************************************/

  23. void Init_Com(void)
  24. {
  25. TMOD = 0x20;
  26. PCON = 0x00;
  27. SCON = 0x50;
  28. TH1 = 0xFd;
  29. TL1 = 0xFd;
  30. TR1 = 1;
  31. }
  32. /********************************************************************
  33.                             主函數
  34. *********************************************************************/
  35. void main()
  36. {
  37. Init_Com();         //初始化
  38. delayms(40); //延時等待

  39. while(1)
  40.   {

  41.   do{
  42.      while(!RI);//等待接收中斷置位
  43.          RI=0;                //中斷清零
  44.      }
  45.    
  46.         while((SBUF^0XAA)!=0);/*此句可以改為while(SBUF!=0XAA);*/ //等待接收甲發送的AAH

  47.         do{                          
  48.          SBUF=0XBB;        //向甲發送BBH
  49.            while(!TI);
  50.          TI=0;
  51.          while(!RI);
  52.          RI=0;
  53.          P2=SBUF;
  54.          while(!RI);
  55.          RI=0;
  56.      }
  57.     while((SBUF^0XFF)!=0);/*此句可以改為while(SBUF!=0XFF);*/
  58.                  
  59.      SBUF=0xFF;
  60.            while(!TI);
  61.          TI=0;
  62.          }
  63. }
  64.         
  65. /********************************************************************
  66.                               結束
  67. *********************************************************************/
復制代碼

作者: 917106794    時間: 2016-10-10 13:49
51黑有你更精彩!!
作者: 917106794    時間: 2016-10-13 13:18
厲害,學習了
作者: angelos-wing    時間: 2017-3-28 20:18
好資料  收藏
作者: HTQQ123    時間: 2017-7-12 20:57
學習了
作者: jxdianqi    時間: 2017-7-13 18:49
收藏備用,謝謝樓主分享資料
作者: 18875856893ljl    時間: 2017-12-4 20:49
厲害,受教了
作者: Mos.杏子    時間: 2019-1-4 10:15
你好  為什么運行程序后沒有現象呢
作者: 這一生只為你    時間: 2019-1-4 12:53
感謝樓主分享~~~
作者: zzyydmh    時間: 2019-5-3 11:05
附件1

main.docx

17.41 KB, 下載次數: 6, 下載積分: 黑幣 -5


作者: 丫丫-    時間: 2019-6-12 20:27
謝謝樓主的資料




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