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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

Proteus仿真 虛擬終端思路求教

查看數: 1701 | 評論數: 1 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-6-19 21:56

正文摘要:

如下圖所示,P1口接8個按鈕,用來控制P2口的8位LED發(fā)光管,按下某按鈕,對應發(fā)光管點亮,再按下該按鈕,燈滅,每次有鍵按下時,其鍵號通過串行口發(fā)送給虛擬終端。 思路求教

回復

ID:914633 發(fā)表于 2021-6-27 00:36
  1. #include "reg52.h"
  2. #include "led.h"

  3. void delay(uint i)
  4. {
  5.         while(i--);       
  6. }
  7. void UartConfig()  
  8. {
  9.     TMOD|=0x20;      //設置計數器1的工作方式2
  10.     TH1=0xfd; TL1=0xfd;                //設置計數器1的初值,決定波特率9600
  11.     PCON=0x00;      // 波特率倍增0x00不加倍
  12.     SCON=0x50;                //設置工作方式1 開啟接受允許
  13.     EA=1;                    //開啟總中斷
  14.     ES=1;                        //開啟串口接受中斷
  15.     TR1=1;                        //計數器1開始運行
  16. }
  17. void sendChar(uchar tem)
  18. {
  19.     SBUF=tem;                  //接收到的數據放入發(fā)送緩存器發(fā)送
  20.     while(!TI);       //等待發(fā)送數據完成
  21.     TI=0;                          //清除發(fā)送完成標志位
  22. }
  23. void keypros()
  24. {
  25.         if(KEY1==0)                  
  26.         {       
  27.                 delay(50);   
  28.                 if(KEY1==0)         
  29.                 {
  30.                    led1=~led1;
  31.                    sendChar('1');
  32.                 }
  33.                 while(!KEY1);
  34.         }
  35.         else if(KEY2==0)                  
  36.         {       
  37.                 delay(50);   
  38.                 if(KEY2==0)         
  39.                 {
  40.                    led2=~led2;
  41.                    sendChar('2');
  42.                 }
  43.                 while(!KEY2);
  44.         }
  45.         else if(KEY3==0)                  
  46.         {       
  47.                 delay(50);   
  48.                 if(KEY3==0)         
  49.                 {
  50.                    led3=~led3;
  51.                    sendChar('3');
  52.                 }
  53.                 while(!KEY3);
  54.         }
  55.         else if(KEY4==0)                  
  56.         {       
  57.                 delay(50);   
  58.                 if(KEY4==0)         
  59.                 {
  60.                    led4=~led4;
  61.                    sendChar('4');
  62.                 }
  63.                 while(!KEY4);
  64.         }
  65.         else if(KEY5==0)                  
  66.         {       
  67.                 delay(50);   
  68.                 if(KEY5==0)         
  69.                 {
  70.                    led5=~led5;
  71.                    sendChar('5');
  72.                 }
  73.                 while(!KEY5);
  74.         }
  75.         else if(KEY6==0)                  
  76.         {       
  77.                 delay(50);   
  78.                 if(KEY6==0)         
  79.                 {
  80.                    led6=~led6;
  81.                    sendChar('6');
  82.                 }
  83.                 while(!KEY6);
  84.         }
  85.         else if(KEY7==0)                  
  86.         {       
  87.                 delay(50);   
  88.                 if(KEY7==0)         
  89.                 {
  90.                    led7=~led7;
  91.                    sendChar('7');
  92.                 }
  93.                 while(!KEY7);
  94.         }
  95.         else if(KEY8==0)                  
  96.         {       
  97.                 delay(50);   
  98.                 if(KEY8==0)         
  99.                 {
  100.                    led8=~led8;
  101.                    sendChar('8');
  102.                 }
  103.                 while(!KEY8);
  104.         }
  105.                
  106. }
  107. void main()
  108. {
  109.    UartConfig();
  110.    P2=0xff;
  111.    while(1){keypros();}

  112. }
復制代碼

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

Powered by 單片機教程網

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