第12章其它应用接口设计 3 1
1 第12章 其它应用接口设计
第12章其它应用接口设计 12.1步进电机的控制 12.1.1控制步进电机的工作原理 12.1.2控制步进电机的设计案例 12.2直流电机的控制 12.2.1控制直流电机的工作原理 12.2.2控制直流电机的设计案例 12.3基于时钟/日历芯片DS1302的电子钟设计 12.3.1DS1302的工作原理 12.3.2DS1302的应用设计案例 2
第12章 其它应用接口设计 12.1 步进电机的控制 12.1.1 控制步进电机的工作原理 12.1.2 控制步进电机的设计案例 12.2 直流电机的控制 12.2.1 控制直流电机的工作原理 12.2.2 控制直流电机的设计案例 12.3 基于时钟/日历芯片DS1302的电子钟设计 12.3.1 DS1302的工作原理 12.3.2 DS1302的应用设计案例 2
【内容概要】 本章介绍AT89S52单片机系统中其他的常用应用接口设计 ,内容主要包括单片机与步进电机、直流电机以及时钟日 历芯片DS1302的接口设计,供读者的应用设计参考。 3
【内容概要】 本章介绍AT89S52单片机系统中其他的常用应用接口设计 ,内容主要包括单片机与步进电机、直流电机以及时钟/日 历芯片DS1302的接口设计,供读者的应用设计参考。 3
12.1单片机控制步进电机的设计 步进电机是将脉冲信号转变为角位移或线位移的开环控制 元件。 非超载的情况下,电机转速、停止位置只取决于脉冲信号 的频率和脉冲数,而不受负载变化的影响,给电机加一脉冲信 号,电机则转过一个步距角。因而步进电机只有周期性误差而 无累积误差,在速度、位置等控制领域有较为广泛的应用。 4
12.1 单片机控制步进电机的设计 步进电机是将脉冲信号转变为角位移或线位移的开环控制 元件。 非超载的情况下,电机转速、停止位置只取决于脉冲信号 的频率和脉冲数,而不受负载变化的影响,给电机加一脉冲信 号,电机则转过一个步距角。因而步进电机只有周期性误差而 无累积误差,在速度、位置等控制领域有较为广泛的应用。 4
12.1.1控制步进电机的工作原理 驱动步进电机由单片机通过对每组线圈中的电流的顺序切换 来使电机作步进式旋转,切换是单片机输出脉冲信号来实现。 调节脉冲信号频率就可改变步进电机转速;改变各相脉冲先 后顺序,就可改变电机旋转方向。 步进电机驱动可采用双四拍(AB→BC→CD→DA→AB)方式, 也可采用单四拍(A→B→C→D→A)方式。为使步进电机旋转平 稳,还可采用单、双八拍方式(A→AB→B→BC→C→CD→D→DA →A)。各种工作方式时序见图12-1。 5
5 12.1.1 控制步进电机的工作原理 驱动步进电机由单片机通过对每组线圈中的电流的顺序切换 来使电机作步进式旋转,切换是单片机输出脉冲信号来实现。 调节脉冲信号频率就可改变步进电机转速;改变各相脉冲先 后顺序,就可改变电机旋转方向。 步进电机驱动可采用双四拍(AB→BC→CD→DA→AB)方式, 也可采用单四拍(A→B→C→D→A)方式。为使步进电机旋转平 稳,还可采用单、双八拍方式(A→AB→B→BC→C→CD→D→DA →A)。各种工作方式时序见图12-1
双四拍方式 单四拍方式 单、双八拍工作方式 DA AB BC CD DA A B C D A DAA·AB,B·BC,C,CD:D,DA 图12-1各种工作方式时序图 6
6 图12-1 各种工作方式时序图
图12-1脉冲信号是高电平有效,但实际控制时公共端是接在 VCC上,所以实际控制脉冲是低电平有效。 12.1.2电路设计与编程 【例12-1】单片机对步进电机控制的原理电路见图12-2。编写 程序,用四路O口输出实现环形脉冲分配,控制步进电机按固 定方向连续转动。同时,通过“正转”和“反转”两个按键来控 制电机的正转与反转。按下“正转”按键,步进电机正转;按下 “反转”按键,步进电机反转;松开按键,电机停止转动。 ULN2003是高耐压、大电流达林顿阵列系列产品,7个NPN达 林顿管组成。多用于单片机、智能仪表、PLC等控制电路中。 7
7 图12-1脉冲信号是高电平有效,但实际控制时公共端是接在 VCC上,所以实际控制脉冲是低电平有效。 12.1.2 电路设计与编程 【例12-1】单片机对步进电机控制的原理电路见图12-2。编写 程序,用四路I/O口输出实现环形脉冲分配,控制步进电机按固 定方向连续转动。同时,通过“正转”和“反转”两个按键来控 制电机的正转与反转。按下“正转”按键,步进电机正转;按下 “反转”按键,步进电机反转;松开按键,电机停止转动。 ULN2003是高耐压、大电流达林顿阵列系列产品,7个NPN达 林顿管组成。多用于单片机、智能仪表、PLC等控制电路中
+5V R3R4 10K 10K U1 正转 19 XTAL1 PO.0/ADO ■39 P0.1/AD1 ■38 D2 P0.2/AD2 ■37 18 XTAL2 P0.3/AD3 ■36 ■35 1N4148 P0.4/AD4 P0.5/AD5 ■34 、反转 ■33 9■ P0.6/AD6 RST PO.7/AD7 ■32 D1 ■21 P2.01A8 +5V P2.1A9 22 1N4148 ■23 29■ P2.2A10 307 PSEN P2.3A11 ■24 25 P2.4A12 +5V△ 31■ P2.5/A13 ■26 P2.6A14 27 ■28 U2 P2.7A15 COM 9 1 ■10 1■ ■16 20 P1.0 P3.0/RXD P11 P3.1/TXD ■11 2■ 1日 ■15 3 p12 P3.2ANTO 12 3■ ■14 4 ■13 4■ P13 P3.3ANT1 000030 ■13 P1.4 P3.4/T0 ■14 5 8368 ■12 +45.0 ▣ 7 P1.5 P3.5T1 ■15 6▣ 6c ■11 8 P1.6 P3.6MR ■16 ■17 7B 7C ■10 P1.7 P3.7/RD ULN2003A AT89C51 图12-2 单片机控制步进电机接口电路 8
8 图12-2 单片机控制步进电机接口电路
在5V电压下能与TTL和CM0S电路直接相连,可直接驱动继电器 等负载。具有电流增益高、工作电压高、温度范围宽、带负 载能力强等特点。输入5V的TTL电平,输出可达500mA/50V。 适于各类高速大功率驱动的系统。 参考程序: ORG 0100H START: MOV DPTR,#TAB1 ;控制数据表首地址送DPTR MOV FR0,#3 MOV R4,0 MOV P2,R0 :初始角度,0度 WAIT: MOV PO,#OFFH JNB P0.0,P0S :判断“正转”按键的状态,正转键按下跳“正转”处理标号P0S JNB PO.1,NEG :判断“反转“按键的状态,反转键按下跳“反转”处理标号EG 9
9 在5V电压下能与TTL和CMOS电路直接相连,可直接驱动继电器 等负载。具有电流增益高、工作电压高、温度范围宽、带负 载能力强等特点。输入5V的TTL电平,输出可达500mA/50V。 适于各类高速大功率驱动的系统。 参考程序:
MOV P2,00H SJMP WAIT POS: MOV R4,#1 ;“正转”处理,4装入1 HOV A,R4 ;正转9度 MOVC A,@A+DPTR 查表取控制数据,偏移量为1,查得控制数据值为02H MOV P2,8 ; 控制数据送P2口,电机正转 ACALL DELAY 调用延时子程序 AJMP KEY NEG: MOV R4,#7 ;“反转”9度 HOV A,R4 MOVC A,@A+DPTR MOV P2,A ACALL DELAY ;调用延时子程序 AJMP KEY KEY: MOV P0,#03H 10
10