在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1921|回复: 0

[资料] 直流电机调速源法度示例

[复制链接]
发表于 2011-4-11 15:03:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
#i nclude <AT89X51.h>
#define uchar unsigned char
#define uint unsigned int
uchar zhishi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /*显示码*/
uint a,b;
bit mod=1;
uchar i,j;
void jianpan(void)                  /*键盘扫描法度*/
{
if(P2_1==0)              /*P21为加快键*/
    if(a<49900)
        a=a+100;
                  
if(P2_5==0)              /*P25为减速键*/
    if(a>100)
        a=a-100;
           
}
void waite(void)             /*显示悠揭捉?时法度*/
{
  for(i=0;i<3;i++)
    for(j=0;j<10;j++);
}
void xianshiqi(void)       /*显示法度*/
{
if(a>=45000)
    P0=zhishi[9];
    waite();
if(a>=40000&&a<45000)
    P0=zhishi[8];
    waite();
if(a>=35000&&a<40000)
    P0=zhishi[7];
    waite();
if(a>=30000&&a<35000)
    P0=zhishi[6];
    waite();
if(a>=25000&&a<30000)
    P0=zhishi[5];
    waite();
if(a>=20000&&a<25000)
    P0=zhishi[4];
    waite();
if(a>=15000&&a<20000)
    P0=zhishi[3];
    waite();
if(a>=10000&&a<15000)
    P0=zhishi[2];
    waite();
if(a>=5000&&a<10000)
    P0=zhishi[1];
    waite();
if(a<5000)
    P0=zhishi[0];
    waite();
}
void intie0(void) interrupt 0       /*用于测试住手开关*/
{
mod=0;
}
void intt0(void) interrupt 1        /*T0中止办事,用于输出占空比可调的脉冲*/
{
b=50000-a;
if(P1_0==1)
    {
      TH0=(65536-a)/256;
      TL0=(65536-a)%256;
      P1_0=0; P1_3=0;
                      }
else
    {
      TH0=(65536-b)/256;
      TL0=(65536-b)%256;
      P1_0=1; P1_3=1;
                      }
}
void intie1(void) interrupt 2    /*用于可控硅关断*/
{
  P3_1=0;
  waite();
  for(i=0;i<150;i++)
     for(j=0;j<3;j++);
  P3_1=1;
}
void main(void)
{
        TMOD=0x01;
        TH0=0xff;
        TL0=0xff;
        TCON=0x05;
        IE=0x87;
     cx:while(P2_6);
        while(P2_6==0);
        a=100;
        TR0=1;
        while(mod)
           {
             jianpan();
             xianshiqi();
            }
        TR0=0;
        P1_0=1;
        P1_3=1;
        P3_1=0;
        waite();
        P3_1=1;
                P0=0xff;
        if(mod==0)mod=1;
                goto cx;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-8 23:25 , Processed in 0.012056 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表