基于单片机的直流电机转速控制设计(电路+程序)

 

关注【电子开发圈】微信公众号,一起学习吧!

电子DIY、Arduino、51单片机、STM32单片机、FPGA……
电子百科、开发技术、职业经验、趣味知识、科技头条、设备拆机……

点击链接,免费下载100G+电子设计学习资料!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect

 

设计要求:

通过按键控制输出电压的大小,改变直流电动机的转速

基于单片机的直流电机转速控制设计(电路+程序)_第1张图片

实现思路:

使用DAC0832将单片机输出的数据转换成模拟电压,通过调节单片机P2口输出的数值来改变加载直流电动机两端的电压,以此控制转速。具体DAC0832的使用见对应说明

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

实现代码:

#include 
typedef unsigned char uchar;
uchar speed = 0;
int main()
{
    /* 初始化中断 */
    EA = 1;
    EX0 = 1;
    IT0 = 1;
    /* 将速度变量从P2口输出,通过DAC0832转换成模拟电压 */
    while(1)
    {
        P2 = speed;
    }
}
void Int0()interrupt 0
{
    if (speed != 255) //speed最大速度限制在255
        speed += 5;
}

 

你可能感兴趣的:(MCU51系统设计)