51单片机实现直流电动机应用实例(按键控制转速)

BAT 批处理程序 2017-05-24

————————————————————————————————————————————

直流电动机应用实例

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

设计要求:

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

实现思路:

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

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

实现代码:

1 #include <reg52.h>
 2 typedef unsigned char uchar;
 3 uchar speed = 0;
 4 int main()
 5 {
 6     /* 初始化中断 */
 7     EA = 1;
 8     EX0 = 1;
 9     IT0 = 1;
10     /* 将速度变量从P2口输出,通过DAC0832转换成模拟电压 */
11     while(1)
12     {
13         P2 = speed;
14     }
15 }
16 void Int0()interrupt 0
17 {
18     if (speed != 255) //speed最大速度限制在255
19         speed += 5;
20 }