51单片机实现直流电动机应用实例(按键控制转速)
————————————————————————————————————————————
直流电动机应用实例
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
设计要求:
通过按键控制输出电压的大小,改变直流电动机的转速
实现思路:
使用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 }