找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机PWM电机调速程序,如何让分的速度等级更多一些?

[复制链接]
跳转到指定楼层
楼主
ID:595380 发表于 2020-11-7 00:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#define uchar unsigned char
uchar a,num=0,gao=1,di=5;
sbit dianji = P1^7;

void delay(int z)
{
        int i,j;
        for(i=z;i>0;i--)
        for(j=114;j>0;j--);
}

void Init()
{
        TMOD = 0x20;
        TH1 = 0xfd;
        TH0 = 0xfd;
        SCON = 0x50;
        EA = 1;
        ES = 1;
        TR1 = 1;
}

void Ser() interrupt 4
{
        RI = 0;
        a = SBUF;
}

void key()
{
        if(a == 0x31)
        {
                num++;
                if(num == 4)
                        num = 3;
        //        while(a == 0x31);
        }
        if(a == 0x32)
        {
                if(num != 0)
                        num--;
                else
                        num = 0;
  //        while(a == 0x32);
        }        
}

void dispose()
{
        switch(num)
        {
                case 0: gao = 1;di = 3;break;
                case 1: gao = 2;di = 2;break;
                case 2: gao = 3;di = 1;break;
                case 3: gao = 4;di = 4;break;
        }
}

void qudong()
{
        uchar i;
  if(di != 0)
  {
                for(i=0;i<di;i++)
                {
                        dianji = 0;
                        delay(20);
                }               
        }
        for(i=0;i<gao;i++)
                {
                        dianji = 1;
                        delay(20);
                }
}

void main()
{
        Init();
        while(1)
        {
                dianji = 0;
                key();
                dispose();
                qudong();
        }
}

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

使用道具 举报

沙发
ID:721056 发表于 2020-11-7 09:02 | 只看该作者
这是延时模拟的pwm,想高精度pwm就用定时器产生吧
回复

使用道具 举报

板凳
ID:840051 发表于 2020-11-7 09:11 | 只看该作者
在你的代码里面我看到了拼音 几年前学代码编程的时候 教我的老师一直强调不能用拼音 那样不标准什么的 最后因为英语差 就放弃了
回复

使用道具 举报

地板
ID:595380 发表于 2020-11-7 09:18 | 只看该作者
wbaisen 发表于 2020-11-7 09:02
这是延时模拟的pwm,想高精度pwm就用定时器产生吧

嗯嗯。
回复

使用道具 举报

5#
ID:595380 发表于 2020-11-7 09:18 | 只看该作者
jsjczn888 发表于 2020-11-7 09:11
在你的代码里面我看到了拼音 几年前学代码编程的时候 教我的老师一直强调不能用拼音 那样不标准什么的 最后 ...

好吧,知道了。
回复

使用道具 举报

6#
ID:342822 发表于 2020-11-7 13:26 | 只看该作者

不承认是拼音,这就是个代表寄存器的符号
回复

使用道具 举报

7#
ID:595380 发表于 2020-11-8 21:33 来自手机 | 只看该作者
taotie 发表于 2020-11-7 13:26
不承认是拼音,这就是个代表寄存器的符号

嗯嗯  嗯嗯
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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