网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
单片机直流电机调速程序
作者:管理员    发布于:2015-08-02 17:20:02    文字:【】【】【
 #include<reg52.h>
 
sbit KEY1 = P3^1;    //定义调速按键
sbit PWM = P1^5;    //定义调速端口
unsigned char CYCLE;    //定义周期T=x*0.1ms
 unsigned char PWM_ON ;    //定义高电平时间
 
void delay(unsigned int cnt)
 {
         while(--cnt);
 }
 
main()
 {
         unsigned char PWM_Num;
         TMOD |=0x01;
         TH0=(65536-1000)/256;
         TL0=(65536-1000)%256;
         IE= 0x82;
         TR0=1;
 
        CYCLE = 10;
         while(1)
         {
                 if(!KEY1)
                 {
                         delay(10000);
                         if(!KEY1)
                         {
                                 PWM_Num++;
                                 if(PWM_Num==4)
 
                                        PWM_Num=0;
                                 switch(PWM_Num)
 
                                {
                                         case 0:P0=0x06;PWM_ON=0;break;
                                         case 1:P0=0x5B;PWM_ON=4;break;
                                         case 2:P0=0x4F;PWM_ON=6;break;
                                         case 3:P0=0x66;PWM_ON=8;break;
                                         default:break;
                                 }
                         }
                 }
         }
 
}
 
void tim(void) interrupt 1 using 1
 {
         static unsigned char count;
         TH0=(65536-1000)/256;
         TL0=(65536-1000)%256;
 
        if (count==PWM_ON)
         {
                 PWM = 1;
         }
         count++;
         if(count == CYCLE)
         {
                 count=0;
                 if(PWM_ON!=0)
                         PWM = 0;
 
        }
 
}
浏览 (64) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们