注:
1-7引脚分别对应的16-10引脚依次为7个输入输出,中间依次用非门连接。
如1号引脚输入端输入为0,为假,16脚输出为1,为真,若VCC连接24V,则输出为24V
8脚为GND
9脚为VCC
以下此种方式连接直流电机是错误的!
因为输出无法直接输出高电平,输出的均为低电平,只有在1和16脚对应连接时才为一端为高电平,一端为低电平(外部连接上拉电阻可以实现某一管脚为高电平)
连接直流电机正确方法
VCC端连接直流电机一端,,,另一端连接10-16脚任意一个,此时给1-7引脚一个1(高电平),使之对应的10-16引脚为低电平,电机两端有电势差,电机转动,但是只能沿一个方向转到,无法改变方向,因为正负极确定。(如想改变方向,需要在某一引脚添加上拉电阻,形成高电平,如15脚,再将电机与15-16引脚连接)
A2-A4版芯片使用上半部分芯片(用于集成电路,各管脚功能固定)
P10-P13为输入管脚,P25固定连接蜂鸣器的输入端,16-12引脚连接输出端,通过J24排针连接电机,此时J47的1号引脚固定连接电机的VCC引脚,2-5号引脚任意一个连接电机的引脚
A5-A7版芯片使用下半部分芯片(各管脚功能不固定,可通过排针灵活更改控制)
1-4号引脚通过J46连接输入端,可自由搭配。16-13通过J47连接输出端,连接输出端
//功能:使直流电机转动5s,后停止 //将电机两端连接在P1^0(或P1^1或P1^2或P1^3)和VCC端 #include"reg52.h" typedef unsigned char u8; typedef unsigned int u16; sbit DC_Motor=P1^0; #define DC_MOTOR_RUN_TIME 5000//定义直流电机运行时间为5000ms void delay_time(u16 time_delay)//延时函数 { u16 i,j; for(i=time_delay;i>0;i++) for(j=110;j>0;j++) ; } void main() { DC_Motor=1;//开电机 delay_time(DC_MOTOR_RUN_TIME); DC_Motor=0;//关电机 while(1) { ; } }