久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6319|回復: 1
收起左側

單片機多機通訊主機程序

[復制鏈接]
ID:208520 發(fā)表于 2017-6-6 19:31 | 顯示全部樓層 |閱讀模式
從機程序:http://www.zg4o1577.cn/bbs/dpj-87068-1.html
主機程序:http://www.zg4o1577.cn/bbs/dpj-87067-1.html

主機程序:
  1. #include<reg51.h>
  2. #include<string.h>
  3. #define _SUCC_   0x0f//數(shù)據(jù)傳送成功
  4. #define _ERR_    0xf0//數(shù)據(jù)傳送失敗
  5. unsigned char Table[9]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
  6. unsigned char Buff[20];  //數(shù)據(jù)緩沖區(qū)
  7. unsigned char temp=0xff;
  8. sbit KEY1=P1^6;
  9. sbit KEY2=P1^7;
  10. //unsigned char addr;
  11. //延時1ms函數(shù)
  12. void delay_1ms(unsigned int t)
  13. {
  14. unsigned int x,y;
  15. for(x=t;x>0;x--)
  16.   for(y=110;y>0;y--);
  17. }
  18. //緩沖區(qū)初始化
  19. void Buff_init()
  20. {
  21. unsigned char i;    //將Table里的數(shù)據(jù)放到緩沖區(qū)里
  22. for(i=0;i<9;i++)  
  23. {
  24.   Buff[i]= Table[i];
  25.   delay_1ms(100);
  26. }
  27. }
  28. //串口初始化函數(shù)
  29. void serial_init()
  30. {
  31. TMOD=0x20; //定時器1工作于方式2
  32. TH1=0xfd;  
  33. TL1=0xfd; //波特率為9600
  34. PCON=0;
  35. SCON=0xd0;  //串口工作于方式3
  36. TR1=1;  //開啟定時器
  37. TI=0;
  38. RI=0;
  39. }
  40. //發(fā)送數(shù)據(jù)函數(shù)
  41. void SEND_data(unsigned char *Buff)
  42. {
  43. unsigned char i;
  44. unsigned char lenth;
  45. unsigned char check;
  46. lenth=strlen(Buff);      //計算數(shù)據(jù)長度
  47. check=lenth;
  48. TI=0;         //發(fā)送數(shù)據(jù)長度
  49. TB8=0;      //發(fā)送數(shù)據(jù)幀
  50. SBUF=lenth;
  51. while(!TI);
  52. TI=0;
  53.          
  54. for(i=0;i<lenth;i++)  //發(fā)送數(shù)據(jù)
  55. {
  56.   check=check^Buff[i];
  57.   TB8=0;
  58.   SBUF=Buff[i];   
  59.   while(!TI);
  60.   TI=0;
  61. }
  62. TB8=0;      //發(fā)送校驗字節(jié)
  63. SBUF=check;   
  64. while(!TI);
  65. TI=0;     
  66. }
  67. //向指定從機地址發(fā)送數(shù)據(jù)
  68. void ADDR_data(unsigned addr)
  69. {
  70. while(temp!=addr) //主機等待從機返回其地址作為應答信號
  71. {
  72.   TI=0;    //發(fā)送從機地址
  73.   TB8=1;    //發(fā)送地址幀
  74.   SBUF=addr;
  75.   while(!TI);
  76.   TI=0;
  77.   
  78.   RI=0;
  79.   while(!RI);
  80.   temp=SBUF;
  81.   RI=0;
  82. }
  83. temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  84. while(temp!=_SUCC_)
  85. {
  86.   SEND_data(Buff);
  87.   RI=0;
  88.   while(!RI);
  89.   temp=SBUF;
  90.   RI=0;
  91. }
  92. }      
  93. void main()
  94. {
  95. Buff_init();
  96. serial_init();
  97. while(1)
  98. {
  99.   if(KEY1==0)
  100.   {
  101.    delay_1ms(5);
  102.    if(KEY1==0)
  103.    {
  104.     while(!KEY1);
  105.     ADDR_data(0x01);
  106.    }
  107.   }
  108.   if(KEY2==0)
  109.   {
  110.    delay_1ms(5);
  111.    if(KEY2==0)
  112.    {
  113.     while(!KEY2);
  114.     ADDR_data(0x02);
  115.    }
  116.   }
  117. }
  118. }
復制代碼

回復

使用道具 舉報

ID:929006 發(fā)表于 2021-8-4 13:37 | 顯示全部樓層
什么型號的單片機?測試通過嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色片视频 | 久久久久久久久综合 | 一区二区三区四区视频 | 91精品国产91久久久久久三级 | 欧美一区永久视频免费观看 | 久久精品国产免费高清 | 色综合国产 | 亚洲一区二区三区久久 | 成人在线观看网址 | 超碰成人免费 | 亚洲欧美在线观看 | 久久久久久久国产精品视频 | 91精品欧美久久久久久久 | 伊人精品久久久久77777 | 美女人人操 | 一级看片免费视频 | 成人精品久久久 | 亚洲精品久久久一区二区三区 | 国产精品久久久免费 | 亚洲欧美视频在线观看 | 亚洲欧洲国产视频 | 欧美一区二区在线观看视频 | 91综合网 | 隔壁老王国产在线精品 | 伊大人久久 | 国产午夜久久久 | 夜夜爽99久久国产综合精品女不卡 | 国产一区久久精品 | 91精品国产一二三 | 一二三区av | 色综合一区二区 | 亚洲色图第一页 | 在线一区观看 | 国产精品第2页 | 免费在线观看一区二区三区 | 欧美成年网站 | 女人天堂av | 欧美涩 | k8久久久一区二区三区 | 日韩at | 一区二区三区在线播放 |