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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3497|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)通信Proteus仿真實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本實(shí)驗(yàn)是設(shè)置八個(gè)按鍵在上位機(jī)按下,下位機(jī)接收到數(shù)據(jù)后執(zhí)行。分別控制八個(gè)LED燈,內(nèi)部有介紹一些關(guān)于ASCII可顯示字符的使用。在低一個(gè)顯示字符我改動(dòng)原來是1=31的一個(gè)值。改成/=2F...很好理解的,自己多試試改別的也可以。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. /********************************************************************
  2. 函數(shù)功能:往串口發(fā)送一字節(jié)數(shù)據(jù)(可通過超級(jí)終端顯示出來,超級(jí)終端波特率選為9600)。
  3.             超級(jí)終端設(shè)置好后,每按下一次S2/S3/S4/S5鍵顯示abcd,松開后均會(huì)在超級(jí)終端上顯示一個(gè)字母"a"。
  4.             入口參數(shù):d: 要發(fā)送的字節(jié)數(shù)據(jù)。
  5. ********************************************************************/


  6. #include <reg52.h>
  7. #define jingzhen     11059200UL     /*使用22.1184M晶體*/
  8. #define botelv   9600UL                      /*波特率定義為9600*/

  9. //定義待顯示字符abcd
  10. unsigned char zifua='/';                        //待顯示字符a。
  11. unsigned char zifub='2';                        //待顯示字符。
  12. unsigned char zifuc='3';                        //待顯示字符。
  13. unsigned char zifud='4';                        //待顯示字符。
  14. unsigned char zifue='5';                        //待顯示字符。
  15. unsigned char zifuf='6';                        //待顯示字符。
  16. unsigned char zifug='7';                        //待顯示字符。
  17. unsigned char zifuh='8';                        //待顯示字符。

  18. volatile unsigned char sending;

  19. //設(shè)置八個(gè)獨(dú)立按鍵
  20. sbit s1=P2^0;        //按鍵
  21. sbit s2=P2^1;        //按鍵
  22. sbit s3=P2^2;        //按鍵
  23. sbit s4=P2^3;        //按鍵
  24. sbit s5=P2^4;        //按鍵
  25. sbit s6=P2^5;        //按鍵
  26. sbit s7=P2^6;        //按鍵
  27. sbit s8=P2^7;        //按鍵

  28. //設(shè)置for延時(shí)函數(shù)
  29. void delay(unsigned char i)
  30. {
  31.         unsigned char j,k;
  32.         for(j=i;j>0;j--)
  33.                 for(k=90;k>0;k--);
  34. }


  35. void init(void)                                //串口初始化
  36. {
  37. EA=0; //暫時(shí)關(guān)閉中斷
  38. TMOD&=0x0F;  //定時(shí)器1模式控制在高4位
  39. TMOD|=0x20;    //定時(shí)器1工作在模式2,自動(dòng)重裝模式
  40. SCON=0x50;     //串口工作在模式1
  41. TH1=256-jingzhen/(botelv*12*16);  //計(jì)算定時(shí)器重裝值
  42. TL1=256-jingzhen/(botelv*12*16);
  43. PCON|=0x80;    //串口波特率加倍
  44. ES=1;         //串行中斷允許
  45. TR1=1;        //啟動(dòng)定時(shí)器1
  46. REN=1;        //允許接收
  47. EA=1;         //允許中斷
  48. }

  49. //發(fā)送一個(gè)字節(jié)的數(shù)據(jù),形參d即為待發(fā)送數(shù)據(jù)。
  50. void send(unsigned char d)                  
  51. {
  52. SBUF=d; //將數(shù)據(jù)寫入到串口緩沖
  53. sending=1;         //設(shè)置發(fā)送標(biāo)志
  54. while(sending); //等待發(fā)送完畢
  55. }


  56. void main()
  57. {
  58.         init();
  59.         while(1)
  60.         {
  61.                 if(s1==0)            //如果按下S2
  62.                 {
  63.                 delay(20);         //延時(shí)
  64.                 if(!s1)           //判斷是否按下
  65.                    {
  66.                    while(!s1);           //循環(huán)檢測(cè)S2是否按下并執(zhí)行下一條          
  67.                      send(zifua);    //發(fā)送a
  68.                        }
  69. //                else(s1==1);
  70.                 }

  71.           
  72.                 if(s2==0)
  73.                 {
  74.                 delay(20);
  75.                 if(!s2)
  76.                     {
  77.                      while(!s2);                  
  78.                      send(zifub);
  79.                     }
  80.                 }
  81.             

  82.                 if(s3==0)
  83.                 {
  84.                 delay(20);
  85.                 if(!s3)
  86.                     {
  87.                     while(!s3);                  
  88.                     send(zifuc);
  89.                     }
  90.                 }


  91.                  

  92.                 if(s4==0)
  93.                 {
  94.                 delay(20);
  95.                 if(!s4)
  96.                    {
  97.                     while(!s4);                  
  98.                     send(zifud);
  99.                  }
  100.                 }

  101.                 if(s5==0)
  102.                 {
  103.                 delay(20);
  104.                 if(!s5)
  105.                    {
  106.                     while(!s5);                  
  107.                     send(zifue);
  108.                  }
  109.                 }

  110.                 if(s6==0)
  111.                 {
  112.                 delay(20);
  113.                 if(!s6)
  114.                    {
  115.                     while(!s6);                  
  116.                     send(zifuf);
  117.                  }
  118.                 }

  119.                 if(s7==0)
  120.                 {
  121.                 delay(20);
  122.                 if(!s7)
  123.                    {
  124.                     while(!s7);                  
  125.                     send(zifug);
  126.                  }
  127.                 }

  128.                 if(s8==0)
  129.                 {
  130.                   delay(20);
  131.                  if(!s8)
  132.                    {
  133.                     while(!s8);                  
  134.                     send(zifuh);
  135.                  }
  136.                 }




  137.         }
  138. }


  139. void uart(void) interrupt 4        //串口發(fā)送中斷
  140. {
  141. if(RI)    //收到數(shù)據(jù)
  142. {
  143.   RI=0;   //清中斷請(qǐng)求
  144. }
  145. else      //發(fā)送完一字節(jié)數(shù)據(jù)
  146. {
  147.   TI=0;
  148.   sending=0;  //清正在發(fā)送標(biāo)志
  149. }
  150. }
復(fù)制代碼

所有資料51hei提供下載:
串口通信模擬.zip (63.51 KB, 下載次數(shù): 22)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:634277 發(fā)表于 2019-11-2 21:08 | 只看該作者
感謝共享。。。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品久久 | 在线观看中文字幕av | 精品国产91| 午夜影院污 | 欧美做暖暖视频 | 久久久91 | 国产精品成人一区二区 | 欧美一区二区三区精品免费 | 精品一区二区三区日本 | 亚洲一二三区不卡 | 欧美日韩综合精品 | 亚洲精品国产成人 | 久久伊 | 亚洲一区二区精品视频 | 密室大逃脱第六季大神版在线观看 | 亚洲综合日韩精品欧美综合区 | 日韩精品专区在线影院重磅 | 欧美一级毛片免费观看 | 国产中文字幕在线观看 | 国产精品久久久久久久久久久新郎 | 欧美视频二区 | 91麻豆精品国产91久久久更新资源速度超快 | 精品在线一区二区三区 | 嫩草国产 | 黄色毛片在线看 | 天天爽夜夜操 | 久久天堂 | 国产免费va | xxx国产精品视频 | 欧美在线观看一区二区 | 91在线视频一区 | 九九久久免费视频 | xx视频在线| 福利在线观看 | 日韩h | 久久性| 91在线观看网址 | 亚洲精品国产第一综合99久久 | 中文av电影 | 91精品国产综合久久久久久丝袜 | 99精品欧美一区二区蜜桃免费 |