51单片机的P1口的P1.0和P1.1是多功能复用口,P1.2-P1.7是准双向口,可做输入或输出口使用,用做输入口时需先置1锁存器,P1.0的第二功能是定时器T2的外部计数脉冲输入口,P1.1口的第二功能是定时器T2的EX(额外)输入端,T2捕捉方式时为触发输入线,加减计数方式时控制加减。利用Pl口,编制程序输出一串脉冲,经放大后驱动小电动机,改变输出脉冲的电平及持续时间,达到使电动机正转、反转、加速、减速、停转之目的。
我们可以通过74HC244输入开关量数据来控制小直流电动机的转动,实现正转4种转速,反转4种转速及停转。电路及连线如上图所示。
图中Pl.0连接74HC244的2A2。两个输出通过两个74HC32连接直流电动机电源。
小直流电动机原理是:转动方向是由电压来控制的,电压为正则正转,电压为负则负转。转速大小则是由输出脉冲的占空比来决定的,正向占空比越大则转速越快,反向转则占空比越小转速越快,如下图所示。
在编写代码前,先把程序流程图画出来,如下图所示。
程序代码如下: