AT89C51对直流电动机的自动控制设计 PROTEUS 和51单片机教程
AT89C51对直流电动机的驱动设计
功能:通过一个可调电阻器,调节通过AD转换模块0808的输入电压,ADC模块将输入的模拟电压转换成数字电压并送到单片机P1口,单片机根据接收到的数据来输出控制电动机的转速。
总体仿真部分
单片机和ADC控制部分
电动机控制部分
仿真开启,单片机自动控制电动机转速
直流电动机自动控制 参考代码 :
(如果你有兴趣也可以改成C代码)
ADC EQU 35H
CLOCK BIT P2.4 ;定义ADC0808时钟位
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
PWM BIT P3.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV TMOD,#02H ;
MOV TH0,#20
MOV TL0,#00H
MOV IE,#82H
SETB TR0
WAIT: CLR ST
SETB ST
CLR ST ;启动AD转换
JNB EOC,$ ;等待转换结束
SETB OE
MOV ADC,P1 ;读取AD转换结果
CLR OE
SETB PWM ;PWM输出
MOV A,ADC
LCALL DELAY
CLR PWM
MOV A,#255
SUBB A,ADC
LCALL DELAY
SJMP WAIT
INT_T0: CPL CLOCK ;提供ADC0808时钟信号
RETI
DELAY: MOV R6,#1
D1: DJNZ R6,D1
DJNZ ACC,D1
RET
END
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。
谢谢!