找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 749|回复: 0
打印 上一主题 下一主题
收起左侧

单片机串口显示问题,如何在仿真软件上做到只显示后四位不显示前四位

[复制链接]
跳转到指定楼层
楼主
如何在仿真软件上做到只显示后四位不显示前四位TAT
还有普中软件上串口调试助手怎么在发送出打完之后接受区就有刚刚打出的数字

自己的程序
        
  1. #include <reg51.h>
  2. #include<intrins.h>

  3. sbit key1=P1^4;
  4. sbit key2=P1^5;
  5. sbit OUTA=P2^2;
  6. sbit OUTB=P2^3;   
  7. sbit OUTC=P2^4;   
  8. unsigned char  seg_code[30]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71,0X00,0X40};
  9.       //   0     1  2    3    4 5   6     7    8    9   A  B   C    D E   F   -  ?????
  10. int flag1s=0;
  11. int ge=0,shi=0;bai=3,qian=4;
  12. int counter1=0;
  13. //int led[8]={3,2,4,0,9,1,0,2};
  14. int led[8]={2,0,1,9,0,4,2,3}; //????
  15. int hour=16,min=59,sec=55;
  16. void delay1ms(void)    //???????
  17. {
  18.   int t=70;
  19.    while(t>0)
  20.     {
  21.     t--;
  22.     _nop_();
  23.     }
  24. }
  25. void adjustTime ()
  26. {
  27.         counter1=0;
  28.      sec++;
  29.      if(sec==60)
  30.      {
  31.       sec=0;        
  32.         min++ ;
  33.       if (min==60)
  34.        {
  35.         min=0;
  36.      hour++;
  37.      }
  38.         }
  39. }
  40. //5ms
  41. void wait(int time  ) //?????????
  42.   {   
  43.         while(time>0)
  44.         {
  45.     time--;    //5ms
  46.   delay1ms(); //????????????
  47.         }
  48.    }

  49. void int0() interrupt 0 using 0  //?ж??N=2 ???0????????????
  50. {
  51.   TR0=!TR0 ; //
  52. }
  53. void timer0_init()
  54. {
  55.   TMOD=0X01;
  56. TH0=0XD8;   //55536/256 ???λ
  57.     TL0=0XF0;   //55536%256 ???λ 55536-D8F0 55536-D8F0
  58.   TR0 =1;  //??????      
  59.   ET0 =1;//?ж??????   ???=0 ?ж?????????
  60.   IT0=1;   //???ж?
  61.   EX0=1;
  62. }
  63. void main()
  64. {
  65.    unsigned char key_state=0;
  66.    int i=0 ;
  67. //????ж???????趨??????
  68.    //1 .10??????  t=10
  69.    //2 .????????
  70.    //3. ??????
  71.   timer0_init() ;
  72. TMOD=0x21;    //?????1??????????
  73. TH1=0XFD;
  74. TL1=0XFD;
  75. SCON=0X50;    //?????????????   0x50??????????
  76. PCON=0X00;
  77. TR1=1;  

  78.   EA=1;   //?ж???????
  79.    //3 ??????

  80.    while(1)
  81.       
  82.    {
  83.    for(i=0;i<8;i++)
  84.    {
  85.    P2=i<<2;    //P2=0XEF 1111 1110   //??????????
  86.    P0= seg_code[led[i]] ;
  87.    wait(5);
  88.    }  
  89.    
  90.    if(RI==1)
  91.    {
  92.      RI=0;
  93.      led[0]=SBUF;

  94.   
  95.    }  
  96. ////   P2=1<<2;    //P2=0XEF 1111 1110  //??????????
  97. ////   P0= seg_code[shi] ;
  98. ////   wait(5);
  99. ////   P2=2<<2;    //P2=0XEF 1111 1110   //???????????
  100. ////   P0= seg_code[shi] ;
  101. ////   wait(5);
  102. ////   P2=3<<2;     //P2=0XEF 1111 1110 //??????????
  103. ////   P0=seg_code[ge];
  104. ////   wait(5);
  105. ////
  106. ////   P2=4<<2;    //P2=0XEF 1111 1110   //??????????
  107. ////   P0= seg_code[shi] ;
  108. ////   P2=5<<2;    //P2=0XEF 1111 1110  //??????????
  109. ////   P0= seg_code[shi] ;
  110. ////   P2=6<<2;    //P2=0XEF 1111 1110   //???????????
  111. ////   P0= seg_code[shi] ;
  112. ////   wait(5);
  113. ////   P2=7<<2;     //P2=0XEF 1111 1110 //??????????
  114. ////   P0=seg_code[ge];
  115. ////   wait(5);
  116. //
  117. //   if (flagis=1)     //???? ????
  118. //   {
  119. //   flagis=0; //????????
  120. //    ge++ ;
  121. //   if(ge>9) ge=0;
  122.    
  123. //   }
  124.    }
  125.   }
  126. //10ms  //65.536ms
  127. void timer0_isr() interrupt 1 using 1
  128. {
  129. //    TH0=0XD8;
  130. // TL0=0XF0;
  131.     static int counter1=0;   // static ???????
  132. TH0=0XD8;   //55536/256 ???λ
  133.     TL0=0XF0;   //55536%256 ???λ 55536-D8F0
  134.    
  135.     counter1++;
  136. if( counter1==100)
  137. {
  138.     counter1=0;
  139. adjustTime ();
  140. // led[0]=hour/10;
  141. // led[1]=hour%10;
  142. //    led[2]=17;
  143. // led[3]=min/10;
  144. // led[4]=min%10;
  145. // led[5]=17;
  146. // led[6]=sec/10;
  147. // led[7]=sec%10;
  148. }
  149. }  
  150. //  led[7]=ge;
  151. //  led[6]=shi;

  152. //counter1++;
  153. //  if (counter==15)
  154. //  {
  155. //     counter1=0;
  156. //     flag1s=1;
  157. //  }
复制代码


微信图片_20190528195358.png (364.12 KB, 下载次数: 24)

微信图片_20190528195358.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表