去除干扰!

2019-07-16 02:29发布

图片是我开发板的原理图,我写了一程序,想让LED灯闪烁,同时数码管数字在跑!但是我的开发板上LED和数码管在一个端口,P0口,所以LED闪烁每次都没安程序闪,求哪位大侠指点一下,在不改动开发板的情况下让LED安程序闪烁!下面是我写的程序:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uli unsigned long int
  4. #define uchar unsigned char
  5. uchar code shuma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x76,0x79,0x38,0x38,0x3f,0x00};
  6. uchar led;
  7. uli t0,t1,g,h,x,D,E,F;
  8. void dealy();
  9. void xianshi(uli A,uli B,uli C,uli D,uli E,uli F);
  10. void chushi();
  11. void main()
  12. {
  13.         chushi();
  14.         while(1)
  15.         {
  16.                 if(h!=1)
  17.                         xianshi(7,6,5,D,E,F);
  18.                 else
  19.                         xianshi(10,11,12,13,14,15);
  20.         }
  21. }
  22. void chushi()
  23. {
  24.         x=432;
  25.         led=0xfe;
  26.         P0=led;
  27.         TMOD=0x11;
  28.         TH0=(65536-50000)/256;
  29.         TL0=(65536-50000)%256;
  30.         TH1=(65536-50000)/256;
  31.         TL1=(65536-50000)%256;
  32.         EA=1;
  33.         ET0=1;
  34.         ET1=1;
  35.         TR0=1;
  36.         TR1=1;
  37. }
  38. void zhduan() interrupt 1
  39. {
  40.         TH0=(65536-50000)/256;
  41.         TL0=(65536-50000)%256;
  42.         t0++;
  43.         if(g!=1)
  44.         {
  45.                 if(t0==10)
  46.                 {
  47.                         t0=0;
  48.                         led=_crol_(led,1);
  49.                         P0=led;
  50.                         P0=0;
  51.                 }
  52.         }
  53.         else
  54.         {
  55.                 if(t0%4==0)
  56.                         P0=~P0;
  57.                 if(t0==60)
  58.                 {
  59.                         TR0=0;
  60.                         P0=0xff;
  61.                         h=1;
  62.                 }
  63.         }
  64. }
  65. void zhuduan() interrupt 3
  66. {
  67.         TH1=(65536-50000)/256;
  68.         TL1=(65536-50000)%256;
  69.         t1++;
  70.         if(t1==2)
  71.         {
  72.                 t1=0;
  73.                 x--;
  74.                 D=x/100;
  75.                 E=x%100/10;
  76.                 F=x%10;
  77.                 if(x==398)
  78.                 {
  79.                         TR0=0;
  80.                         TH0=(65536-50000)/256;
  81.                         TL0=(65536-50000)%256;
  82.                         TR0=1;
  83.                         g=1;
  84.                         t0=0;
  85.                         P0=0xff;       
  86.                         TR1=0;
  87.                 }
  88.         }
  89. }
  90. void xianshi(uli A,uli B,uli C,uli D,uli E,uli F)
  91. {
  92.         P0=0;
  93.         P2=0;
  94.         P0=shuma[A];               
  95.         dealy();
  96.         P0=0;
  97.         P2=1;
  98.         P0=shuma[B];               
  99.         dealy();
  100.         P0=0;
  101.         P2=2;       
  102.         P0=shuma[C];
  103.         dealy();
  104.         P0=0;
  105.         P2=3;
  106.         P0=shuma[D];               
  107.         dealy();
  108.         P0=0;
  109.         P2=4;
  110.         P0=shuma[E];               
  111.         dealy();
  112.         P0=0;
  113.         P2=5;       
  114.         P0=shuma[F];
  115.         dealy();
  116. }
  117. void dealy()
  118. {
  119.         uli i,j;
  120.         for(i=0;i<3;i++)
  121.                 for(j=0;j<1;j++);
  122. }
复制代码
开发板电路图 开发板电路图
开发板电路图 开发板电路图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。