求高手指导 数控稳压电源要怎么画?proteus仿真

求高手指导 数控稳压电源要怎么画?proteus仿真, #include<reg51.h> #define uint unsigned int #define ucha…

求高手指导 数控稳压电源要怎么画?proteus仿真,

  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. #define DATA_LED P0
  5. #define DATA_TLC5615 P1
  6. sbit LED1=P2^1;
  7. sbit LED2=P2^0;
  8. sbit JIA1=P2^4;
  9. sbit JIAN1=P2^5;
  10. sbit SENT=P2^6;
  11. sbit OK=P2^7;
  12. sbit dian=P0^7;
  13. void mdleay(uint Delaytime);
  14. uchar a=0,b=1,c=2,n=0,flag;
  15. float VCC=1.2;
  16. void mdleay(uint Delaytime)//延时5ms子程序
  17. {
  18. uint j=0;
  19. for(j=0;Delaytime>0;Delaytime–)
  20. {
  21. for(j=0;j<130;j++)
  22. {;}
  23. }
  24. }
  25. void innt0() interrupt 0 using 1
  26. {
  27.   uchar key;
  28.   mdleay(5);
  29.   key=P2&0xf0;
  30.   switch(key)
  31.   {case(0xe0):if(n==1)
  32.               {if(a==9)
  33.                a=9;
  34.                else
  35.                a++;
  36.                }
  37.                if(n==2)
  38.                {if(b==9)
  39.                b=9;
  40.                else
  41.                b++;
  42.                }
  43.                if(n==3)
  44.                {if(c==9)
  45.                c=9;
  46.                else
  47.                c++;
  48.                }
  49.                break;
  50. case(0xd0):if(n==1)
  51.               {if(a==0)
  52.                a=0;
  53.                else
  54.                a–;
  55.                }
  56.                if(n==2)
  57.                {if(b==0)
  58.                b=0;
  59.                else
  60.                b–;
  61.                }
  62.                if(n==3)
  63.                {if(c==0)
  64.                c=0;
  65.                else
  66.                c–;
  67.                }
  68.                break;
  69. case(0xb0):if(n==4)
  70.               n=1;
  71.                else
  72.                n++;
  73.                if(flag==1)
  74.                {
  75.                flag=0;
  76.                a=0;
  77.                b=1;
  78.                c=2;
  79.                DATA_TLC5615=0x00;
  80.                n++;
  81.                }
  82.                break;
  83. case(0x70):n=0;
  84.            flag=1;
  85.            VCC=a*10+b+0.1*c;
  86.            if(VCC>10)
  87.            {VCC=10;
  88.            a=1;
  89.            b=0;
  90.            c=0;
  91.            }
  92.            if(VCC<12)
  93.            {
  94.            VCC=1.2;
  95.            a=0;
  96.            b=1;
  97.            c=2;
  98.            }
  99.            VCC=(VCC-1.2)/0.04;
  100.            DATA_TLC5615=(int)VCC;
  101.            break;
  102. default:break;
  103.     }
  104. }
  105. main()
  106. {
  107.    uchar Tab[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xA1,0x86,0x8E};
  108.            DATA_TLC5615=0;
  109.            DATA_LED=0xff;
  110.            EA=1;
  111.            EX0=1;
  112.            IT0=1;
  113.            n=0;
  114.            flag=0;
  115.            while(1)
  116.            {
  117.            LED1=1;
  118.            LED2=0;
  119.            DATA_LED=Tab[a];
  120.            mdleay(1);
  121.            DATA_LED=Tab[b]&0x7f;
  122.            LED1=0;
  123.            LED2=1;
  124.            mdleay(1);
  125.            LED2=0;
  126.            }
  127. }

复制代码

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115