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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1860|回復: 2
收起左側

單片機串口通信程序

[復制鏈接]
ID:502682 發表于 2019-8-3 14:12 | 顯示全部樓層 |閱讀模式
這是兩個單片機之間的交流,利用串口通信,來供大家學習學習,如果有更好的可以張貼出來
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar num,temp;

  5. void delay(uint z)
  6. {
  7.         uint x,y;
  8.         for(x=z;x>0;x--)
  9.                 for(y=110;y>0;y--);
  10. }

  11. void send(uchar numl)
  12. {
  13.         SBUF=numl;
  14.         while(!TI);
  15.         TI=0;
  16. }

  17. void keyscan()
  18. {
  19.         P1=0xfe;
  20.         temp=P1;
  21.         temp=temp&0xf0;
  22.         if(temp!=0xf0)
  23.         {
  24.                 delay(5);
  25.                 temp=P1;
  26.                 temp=temp&0xf0;
  27.                 if(temp!=0xf0)
  28.                 {
  29.                         temp=P1;
  30.                         switch(temp)
  31.                         {
  32.                                 case 0xee:num=16;break;
  33.                                 case 0xde:num=12;break;
  34.                                 case 0xbe:num=8;break;
  35.                                 case 0x7e:num=4;break;
  36.                         }
  37.                         while(temp!=0xf0)
  38.                         {
  39.                                 temp=P1;
  40.                                 temp=temp&0xf0;
  41.                         }
  42.                         send(num);
  43.                 }
  44.         }
  45.         P1=0xfd;
  46.         temp=P1;
  47.         temp=temp&0xf0;
  48.         if(temp!=0xf0)
  49.         {
  50.                 delay(5);
  51.                 temp=P1;
  52.                 temp=temp&0xf0;
  53.                 if(temp!=0xf0)
  54.                 {
  55.                         temp=P1;
  56.                         switch(temp)
  57.                         {
  58.                                 case 0xed:num=15;break;
  59.                                 case 0xdd:num=11;break;
  60.                                 case 0xbd:num=7;break;
  61.                                 case 0x7d:num=3;break;
  62.                         }
  63.                         while(temp!=0xf0)
  64.                         {
  65.                                 temp=P1;
  66.                                 temp=temp&0xf0;
  67.                         }
  68.                         send(num);
  69.                 }
  70.         }
  71.         P1=0xfd;
  72.         temp=P1;
  73.         temp=temp&0xf0;
  74.         if(temp!=0xf0)
  75.         {
  76.                 delay(5);
  77.                 temp=P1;
  78.                 temp=temp&0xf0;
  79.                 if(temp!=0xf0)
  80.                 {
  81.                         temp=P1;
  82.                         switch(temp)
  83.                         {
  84.                                 case 0xeb:num=14;break;
  85.                                 case 0xdb:num=14;break;
  86.                                 case 0xbb:num=14;break;
  87.                                 case 0x7b:num=14;break;
  88.                         }
  89.                         while(temp!=0xf0)
  90.                         {
  91.                                 temp=P1;
  92.                                 temp=temp&0xf0;
  93.                         }
  94.                         send(num);
  95.                 }
  96.         }
  97.         P1=0xf7;
  98.         temp=P1;
  99.         temp=temp&0xf0;
  100.                 if(temp!=0xf0)
  101.                 {
  102.                         delay(5);
  103.                         temp=P1;
  104.                         temp=temp&0xf0;
  105.                         if(temp!=0xf0)
  106.                         {
  107.                                 temp=P1;
  108.                                 switch(temp)
  109.                                 {
  110.                                         case 0xe7:num=13;break;
  111.                                         case 0xd7:num=9;break;
  112.                                         case 0xb7:num=5;break;
  113.                                         case 0x77:num=1;break;
  114.                                 }
  115.                                 while(temp!=0xf0)
  116.                                 {
  117.                                         temp=P1;
  118.                                         temp=temp&0xf0;
  119.                                 }
  120.                                 send(num);
  121.                         }
  122.                 }
  123. }

  124. void main()
  125. {
  126.         TMOD=0x20;
  127.         TH1=0xfd;
  128.         TL1=0xfd;
  129.         TR1=1;
  130.         SM0=0;
  131.         SM1=1;
  132.         EA=1;
  133.         ES=1;
  134.        
  135.         while(1)
  136.         {
  137.                 keyscan();
  138.         }
  139.        
  140. }
復制代碼


單片機交流.zip

50.51 KB, 下載次數: 12, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:415633 發表于 2019-8-6 11:03 | 顯示全部樓層
這個程序好簡單啊
回復

使用道具 舉報

ID:502682 發表于 2019-11-22 19:06 | 顯示全部樓層
王志彬 發表于 2019-8-6 11:03
這個程序好簡單啊

對,最基本的,沒有加通訊協議
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久成人免费视频 | 亚洲视频中文字幕 | 二区国产| 国产1区2区 | 成人免费视频在线观看 | 婷婷激情综合 | 先锋av资源在线 | 欧美高清性xxxxhd | 国产成人精品网站 | 日韩二区三区 | 欧美成人精品在线观看 | 免费一级黄色录像 | 亚洲另类自拍 | 二区在线视频 | 久久久久久久久久久久久9999 | 99精品免费久久久久久久久日本 | 精品国产一区久久 | 伊人国产精品 | 毛色毛片免费看 | 粉嫩一区二区三区四区公司1 | 中文字幕日韩在线 | 亚洲午夜精品 | 日韩中文字幕在线 | 中文字幕一区二区三区四区五区 | 中文字幕视频在线观看 | 中文字幕 亚洲一区 | 亚洲一区二区免费视频 | 色综合天天天天做夜夜夜夜做 | 91久久精品视频 | 99久久亚洲 | 天天操夜夜艹 | 国产日韩欧美激情 | 国产免费一区二区 | 精品中文在线 | 天天草天天干天天 | 免费在线观看黄色av | 国产精品五区 | 国产精品一区二区三区在线 | 成人福利在线观看 | 欧产日产国产精品v | 欧美一区二区免费 |