51单片机+PWM脉冲宽度调制+直流电机加减速

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit K1=P3^1; //按键1
sbit K2=P3^2; //按键2
sbit fm=P3^7; //蜂鸣器,最高速或者最低速时,蜂鸣器响起

uchar pwm,num;

void delay_ms(uint ms) //ms级延时
{
uchar i;
while(ms–)
{
for(i=0;i<120;i++);
}
}

void delay_us(uchar t) //us级延时
{
while(t–);
}

void bee() //蜂鸣器响函数
{
uint i;
for(i=0;i<10000;i++)
{
fm=1;
delay_us(10);
fm=0;
delay_us(10);
}
}

void keyscan() //判断是否有按键按下
{
if(K10) //判断K1按键是否按下,K1按下的话,pwm加
{
delay_ms(50); //延时消抖
if(K1
0) //确认K1按键是否按下
{
if(pwm<32) //如果K1按下,电机加速,pwm表示输出高电平的次数,调节pwm就是调节占空比
{
pwm++;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值