找回密码
 立即注册

QQ登录

只需一步,快速开始

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

PWM调速单片机源码

[复制链接]
跳转到指定楼层
楼主
ID:249919 发表于 2017-11-16 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include<stdio.h>
sbit DJA=P1^0;
sbit DJB=P1^1;
sbit S1=P3^2;
sbit S2=P3^3;
bit flag;
unsigned char number;
void delay (unsigned int i)
{
        unsigned int k;
        for(k=0;k<i;k++);
}
void pwm1()
{
        DJB=0;
        DJA=1;
        delay(720);
        DJA=0;
        delay(1680);
}
void pwm2()
{
        DJB=0;
        DJA=1;
        delay(1250);
        DJA=0;
        delay(1250);
}
void pwm3()
{
        DJB=0;
        DJA=1;
        delay(1680);
        DJA=0;
        delay(1680);
}
void pwm4()
{
        DJA=0;
        DJB=1;
        delay(720);
        DJB=0;
        delay(1680);
}
void pwm5()
{
        DJA=0;
        DJB=1;
        delay(1250);
        DJB=0;
        delay(1250);
}
void pwm6()
{
        DJA=0;
        DJB=1;
        delay(1680);
        DJB=0;
        delay(720);
}
void main()
{
        flag=0;
        number=0x00;
        DJA=0;
        DJB=0;
        while(1)
        {
                if(S1==0)
                {
                        delay(1200);
                        if(S1==0)
                        {
                                while(!S1);
                                flag=~flag;
                        }
                }
                        if(S2==0)
                        {
                        delay(1200);
                        if(S2==0)
                        {
                                        while(!S2);
                                        if(number<=3)
                                        number++;
                                        else number=0x01;
                        }
                        }
                        if(!flag)
                        {
                                switch(number)
                                {
                                        case 0x01:pwm1();break;
                                        case 0x02:pwm2();break;
                                        case 0x03:pwm3();break;
                                        default:;
                                }
                        }
                        else
                        {
                                switch(number)
                                {
                                        case 0x01:pwm1();break;
                                        case 0x02:pwm2();break;
                                        case 0x03:pwm3();break;
                                        default:;
                                }
                        }
                }

        }                  

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:249919 发表于 2017-11-16 21:11 | 只看该作者
新手  多多关注!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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