1、 微机课程设计电机的控制 一、项目设计内容与要求 1.设计内容 利用电机平台上的步进电机和直流电机, 实现步进电机的转角控制和直流电机速 度的控制。 2.设计要求 (1)步进电机的转角控制可以通过调整电机的转过的步数来实现。一次转过的步 数和方向可用按键设定。还可以用按键控制步进电机一步一步的转动,要分正反 转。转过的步数要显示在发光二极管上。 (2)直流电机的转速是根据用数模转换电路的输入数据变化,要求用发光二极管 显示转速数据值。 (3)可以用按键或开关输入相应的转速控制数据。 二、电路连接图 三、各模块的设计 1.键盘模块 本程序的键盘功能的设计采用扫描法实现,各个键的键值由扫描法得到。
2、 各个键的键值如下表所示: 程序流程图: 2.直流电机的转速控制模块 设计思路: 直流电机的转速是根据用数模转换电路的输入数据变化, 可以把键盘按下的数字 键的键值送入数模转换电路(DAC0832 的 208H) ,按下不同的按键就实现转速 的控制。 要求用发光二极管显示转速数据值,可以直接把按键的键值送 B 口显示,本程 序把旧键值左移四位送 CH,新键值 BH 加上 CH 存 BH 并送发光二极管显示, 再送数字进 208 口处理. 此模块实现的功能也即数字键要处理的功能,作为键盘模块的子程序使用。 程序流程图: 3. 步进电机控制模块 设计思路:本设计采用的是四相步进电机,步进电机用直流
3、+12V 电压,每项电 流为 0.20A,电机线圈由 A、B、C、D 四相组成。 驱动方式为四相单四拍方式,按 ABCDA 次序通电为正转;按 ADC BA 次序通电为反转。正向单步转可用一个寄存器来标志给哪相通电,如 CL=0,A 通电;CL=1,B 通电;CL=2,C 通电;CL=3,D 通电。反转单步走则类似。 这个模块作为键盘主程序的子程序使用,使用键盘的第三行为功能键,操作步进 电机的正反转,数字键送入 NUM 的值则控制电机的步数。 功能键说明: “+”控制步进电机正向转 NUM 步 “-“控制步进电机反向转 NUM 步 “,”控制步进电机正向单步走 “.”控制步进电机反向单步走
4、正向走 NUM 步的程序流程图:(反向走 NUM 步的省略) 正向单步走程序流程图: (反向单步的省略) 四、源程序代码: CODE SEGMENT ASSUME CS:CODE,DS:CODE START: MOV CH,00h ;键值左移 4 位存 CH 用,先初始化 MOV CL,00h ;控制步进电机单步走用作标志 MOV DX,203H ;置 8255A 控制口地址 MOV AL,90H ;A 口输入,C 口输出 OUT DX,AL LOOP1: MOV DX,202H ;8255A 的 C 口 MOV AH,00000110B MOV AL,00000110B ;键盘第一行 OUT DX,AL MOV DX,200h ;8255A 的 A 口 IN AL,DX ;获取列码 CMP AL,0FFH JNE LOOP2 ;有键按下 MOV DX,202H ;列码全 1 无键按下扫描第二行 MOV AH,00000101B MOV A