8255A控制步进电机
8255A芯片
8255A芯片8255A芯片是一种集成了并行输入/输出接口功能的芯片,由Intel公司推出。
它具有三个可编程I/O端口,每个端口都可以配置为输入或输出。
它提供了高度灵活性和可编程性,使其成为许多数字系统中常用的接口芯片。
8255A芯片的主要特点如下:1. 并行接口:8255A芯片具有三个并行I/O端口,即A、B和C端口。
每个端口都有8位,可以单独配置为输入或输出。
2. 可编程:8255A芯片可以通过编程来配置其各个端口的功能。
通过写入控制字寄存器,可以设置端口的工作模式,如输入模式、输出模式、双向模式等。
3. 单独I/O地址:8255A芯片具有单独的I/O地址,通过在I/O地址总线上设置相应的地址来访问芯片的寄存器。
4. 简化接口设计:8255A芯片的引脚数量相对较少,使得系统设计更加简化和便捷。
它可以直接与微处理器或其他逻辑芯片相连接,提供了与外部设备的接口。
5. 高可靠性:8255A芯片采用了逻辑门阵列和静态RAM组成的结构,具有较高的可靠性和稳定性。
8255A芯片的主要应用领域包括:1. 工业自动化系统:8255A芯片可以用于工业控制和自动化系统中,作为输入和输出设备的接口。
例如,它可以与传感器和执行器连接,实现对设备的监控和控制。
2. 仪器设备:8255A芯片可以用于仪器设备中,提供与外部设备的数据交换和控制接口。
例如,它可以用于示波器、频谱分析仪等设备中。
3. 计算机外部设备:8255A芯片可以用于计算机外部设备的接口,如打印机、磁盘驱动器等。
它可以实现对这些设备的数据传输和控制。
4. 数据采集系统:8255A芯片可以用于数据采集系统中,用于接收传感器的模拟信号并将其转换为数字信号。
总之,8255A芯片是一种功能强大的并行输入/输出接口芯片,具有灵活的配置和简化的接口设计。
它在工业自动化、仪器设备、计算机外部设备等领域具有广泛的应用。
8255a的应用原理图
8255a的应用原理图1. 简介8255a是一种常用的并行接口芯片,具有广泛的应用领域。
本文将介绍8255a 的应用原理图及其基本工作原理。
2. 原理图下面是8255a的应用原理图:_______| |Port A ---| || 8255a |Port B ---| || |Port C ---|_______|3. 工作原理8255a是一个可编程的并行接口,它具有3个I/O端口(Port A、Port B、Port C)和多种工作模式。
下面是8255a的工作原理的详细描述:3.1 Port APort A是一个8位的双向端口,可以用于输入和输出。
当将Port A设置为输入模式时,可以通过读取Port A来获取外部输入信号;当Port A设置为输出模式时,可以通过向Port A写入数据来向外部设备发送信号。
3.2 Port BPort B也是一个8位的双向端口,并且可以作为一组控制信号进行使用。
在输出模式下,可以通过向Port B写入数据来控制外部设备的各种功能;在输入模式下,可以通过读取Port B来获取外部设备的状态。
3.3 Port CPort C是一个8位的端口,既可以作为一组数字输入/输出端口,也可以作为一组控制信号端口。
Port C的具体功能取决于模式控制寄存器(Mode Control Register)的设置。
4. 工作模式8255a提供了多种工作模式,可以根据具体的应用需求进行配置。
下面是常用的工作模式介绍:4.1 单工模式在单工模式下,Port A、Port B和Port C分别用作输入或输出。
这种模式适用于只需进行一方向数据传输的场合。
4.2 双工模式在双工模式下,Port A和Port B既可以作为输入,也可以作为输出。
这种模式适用于需要双向数据传输的场合。
4.3 脉冲输出模式在脉冲输出模式下,Port A和Port B可以作为脉冲输出端口。
这种模式适用于需要生成特定频率或脉冲序列的场合。
微机原理课程基于80x86的步进电机控制系统
微机原理课程基于80x86的步进电机控制系统《微机原理与接口技术》课程设计姓名:厉小洋学号:0945533117班级:09电气1班专业:电气工程及其自动化学院:电气与信息工程学院江苏科技大学张家港校区2012年9月目录一理论部分 (2)1课题要求与内容 (2)2 系统方案设计 (3)3 系统硬件的设计 (4)4 系统软件设计 (5)二实践部分 (6)1 系统硬件原理简介 (6)2 系统硬件调试中出现的问题及解决措施 (10)3 系统软件 (11)3.1 软件设计 (11)3.2软件调试中出现的问题及解决措施 (14)三附录 (15)题目:《基于80x86的步进电机控制系统》第一章、理论部分一微机原理课程设计课题要求与内容内容要求:(1)使用8255A控制步进电机的运转。
(2)使用数码管LED显示速度的大小。
(3)使用8253定时器调节速度的大小。
(4)使用4个独立按键控制步进电机,即“正传”、“反转”、“停止”、“调速”。
(5)使用8259A产生中断控制按键;(6)使用DAC0832显示速度的波形。
拓展功能:(1)按键部分可以增加“加速”、“减速”等功能;(2)考虑可以加蜂鸣器来区分“正转”和“反转”;(3)其他可以有自己特色的功能均可。
二系统方案设计在课程要求的前提下,步进电机为四相八拍步进电机,这样可以用8255的一个端口控制电机的驱动,LED显示为十六位图1系统流程图在8255中可用两个端口控制,按键单元可与电机共用一个八位端口,由8254产生可编程脉冲,进入8259产生中断,反馈给80x86,控制8255。
再执行到步进电机及其LED显示上,一个脉冲步进电机一拍。
由按键读入系统状态。
具体的系统设计如图1为系统概况流程图三系统硬件设计在硬件设计中,主要是通过步进电机模块、8255模块、LED模块、8254模块。
在8255芯片上用A,B口控制数码管的显示(A为位选B为段选),C口的高四位为四个按键单元,低四位作为输出,控制步进电机。
7851.6661.基于DRV8255的简易步进驱动器设计
基于DRV8255的简易步进驱动器设计21IC:mmuuss58步进电机驱动器是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。
就以下几方面内容作简单介绍:◆步进电机及主要参数介绍;◆步进电机的细分及作用;◆步进电机 驱动步骤;◆基于DRV8255的步进电机驱动器设计;一、 步进电机及主要参数介绍===================================================================步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机主要参数如下:相数: 步进电机的相数就是指线圈的组数。
分别有二相,三相,四相,五相。
通常情况,相数高,步距角小,精度高。
额定电流:电机正常运转时的电流大小。
步距角: 它表示控制系统每发一个步进脉冲信号,电机所转动的角度。
该参数反映了步进电机的实际精度。
保持转矩: 是指步进电机通电但没有转动时,定子锁住转子的力矩。
制动转矩:是指步进电机没有通电的情况下,定子锁住转子的力矩。
最高温度: 步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失 步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。
可编程并行接口芯片8255A
大规模控制系统的需求。
8255A与可编程逻辑器件的结合,可以实现高速、实时的数据
03
采集和控制。
在数据采集与控制系统中的应用
8255A在数据采集与控制系统中,可以作为数据传输的桥梁,实现快速、稳定的数 据传输。
通过8255A,可以实现多路数据的并行采集和处理,提高了数据处理的效率。
8255A在数据采集与控制系统中,可以作为主控制器,协调各个模块的工作,保证 系统的稳定运行。
微处理器可以通过8255A实现对 外部设备的控制,扩展了微处理
器的控制能力。
8255A可以作为微处理器的输入 /输出接口,实现人机交互和数据
采集。
与可编程逻辑器件连接的应用
01
8255A可以与可编程逻辑器件连接,实现复杂的逻辑控制和数 据处理。
02
通过8255A,可编程逻辑器件可以扩展其输入/输出端口,满足
根据实际需求,设定8255A的数据格式,包括数据位、停止位、 奇偶校验位等。
数据读写操作
通过数据传输编程实现对8255A的数据读写操作,包括读数据、 写数据、读写同时操作等。
PART 05
8255A的应用实例
与微处理器连接的应用
8255A与微处理器连接,可以实 现并行数据传输,提高数据传输
效率。
在现代嵌入式系统中,8255A芯片仍有一 定的应用,尤其在一些需要并行I/O接口的 场合,如人机界面、传感器等。
PART 02
8255A芯片的基本结构 与功能
芯片的基本组成
输入/输出端口
数据总线
8255A包含三个输入/输出端口,分别为 端口A、端口B和端口C。每个端口都有8 个位,可以独立配置为输入或输出模式。
控制信号生成
微型计算机控制技术课后答案第二潘新民
第一章1.微型计算机控制系统的硬件由哪几部分组成?各部分作用?(1)主机:这是微型计算机控制系统的核心,通过接口它可以向系统的各个部分发出各种命令,同时对被控对象的被控参数进行实时检测及处理。
主机的主要功能是控制整个生产过程,按控制规律进行各种控制运算(如调节规律运算、最优化计算等)和操作,根据运算结果作出控制决策;对生产过程进行监督,使之处于最优工作状态;对事故进行预测和报警;编制生产技术报告,打印制表等等。
(2)输入输出通道:这是微机和生产对象之间进行信息交换的桥梁和纽带。
过程输入通道把生产对象的被控参数转换成微机可以接收的数字代码。
过程输出通道把微机输出的控制命令和数据,转换成可以对生产对象进行控制的信号。
过程输入输出通道包括模拟量输入输出通道和数字量输入输出通道。
(3)外部设备:这是实现微机和外界进行信息交换的设备,简称外设,包括人机联系设备(操作台)、输入输出设备(磁盘驱动器、键盘、打印机、显示终端等)和外存贮器(磁盘)。
其中作台应具备显示功能,即根据操作人员的要求,能立即显示所要求的内容;还应有按钮,完成系统的启、停等功能;操作台还要保证即使操作错误也不会造成恶劣后果,即应有保护功能.(4)检测与执行机构:a.测量变送单元:在微机控制系统中,为了收集和测量各种参数,采用了各种检测元件及变送器,其主要功能是将被检测参数的非电量转换成电量.b.执行机构:要控制生产过程,必须有执行机构,它是微机控制系统中的重要部件,其功能是根据微机输出的控制信号,改变输出的角位移或直线位移,并通过调节机构改变被调介质的流量或能量,使生产过程符合预定的要求。
4、操作指导、DDC和SCC系统工作原理如何?它们之间有何区别和联系?(1)操作指导控制系统:在操作指导控制系统中,计算机的输出不直接作用于生产对象,属于开环控制结构。
计算机根据数学模型、控制算法对检测到的生产过程参数进行处理,计算出各控制量应有的较合适或最优的数值,供操作员参考,这时计算机就起到操作指导的作用(2)直接数字控制系统(DDC系统):DDC(Direct Digital Control)系统就是通过检测元件对一个或多个被控参数进行巡回检测,经输入通道送给微机,微机将检测结果与设定值进行比较,再进行控制运算,然后通过输出通道控制执行机构,使系统的被控参数达到预定的要求。
长沙理工大学微型计算机控制技术(第二版)考试试题及答案
一、选择题(本题共10小题,每小题 1.5分,共15分)1。
由于计算机只能接收数字量,所以在模拟量输入时需经( A )转换. A.A/D转换器B.双向可控硅C.D/A转换器D.光电隔离器2.若系统欲将一个D/A转换器输出的模拟量参数分配至几个执行机构,需要接入( D )器件完成控制量的切换工作。
A.锁存器锁存B.多路开关C.A/D转换器转换D.反多路开关3。
某控制系统中,希望快速采样,保持器的保持电容CH应取值( A )。
A.比较小B.比较大C.取零值D.取负值4. 在LED显示系统中,若采用共阳极显示器,则将段选模型送至( B )。
A.阳极B.阴极C.阴极或阳极D.先送阴极再送阳极5。
电机控制意味着对其转向和转速的控制,微型机控制系统的作法是通过(B )实现的。
A.改变定子的通电方向和通电占空比B.改变转子的通电方向和通电占空比C.改变定子的通电电压幅值D.改变转子的通电电压幅值6.计算机监督系统(SCC)中,SCC计算机的作用是(B )A.接收测量值和管理命令并提供给DDC计算机B.按照一定的数学模型计算给定植并提供给DDC计算机C.当DDC计算机出现故障时,SCC计算机也无法工作D.SCC计算机与控制无关7。
键盘锁定技术可以通过(C )实现。
A.设置标志位B.控制键值锁存器的选通信号C.A和B都行D.定时读键值8。
RS-232-C串行总线电气特性规定逻辑“1”的电平是(C )。
A.0.3 伏以下B.0.7伏以上C.—3伏以下D.+3伏以上9. 在工业过程控制系统中采集的数据常搀杂有干扰信号,(D )提高信/躁比。
A.只能通过模拟滤波电路B.只能通过数字滤波程序C。
可以通过数字滤波程序/模拟滤波电路D.可以通过数字滤波程序和模拟滤波电路10.步进电机常被用于准确定位系统,在下列说法中错误的是(B )。
A.步进电机可以直接接受数字量B.步进电机可以直接接受模拟量C.步进电机可实现转角和直线定位D.步进电机可实现顺时针、逆时针转动二、填空题(本题共15 个空,每空 1 分,共15 分)1. 香农定理告诉我们,采样频率越高,采样数据描绘的曲线越接近实际曲线。
可编程芯片8255A及其应用
8255A芯片在工业控制中的应用
在工业控制中,8255A芯片可以用于采集各种传感器的数据。
传感器数据采集
执行器控制
安全监控
自动化生产
通过编程,8255A芯片可以控制各种执行器,如电机、阀门等。
8255A芯片可以用于监控工业生产过程中的各种安全参数。
通过与PLC等其他工业控制设备的配合,8255A芯片可以实现自动化生产流程的控制和管理。
OUT 83H ;将累加器A的内容输出到83H端口
01
02
03
编程实例
HLT ;结束程序
编程实例
这是一个简单的8255A编程示例,用于初始化芯片并设置一个特定的端口。在这个例子中,我们使用汇编语言进行编程,通过`OUT`指令将累加器A的内容输出到83H端口,然后通过`HLT`指令结束程序。
01
02
03
04
05
根据项目需求和开发环境,选择合适的编程语言。
2.选择编程语言
使用所选的编程语言编写代码,实现8255A芯片的控制逻辑。
3.编写代码
完成基本功能后,进行全面的测试,并根据测试结果优化代码。
5.测试和优化
将代码编译成可在芯片上运行的格式,并通过仿真或实际硬件进行调试。
4.编译和调试
8255A芯片在微机接口中的应用
作为微机的接口,8255A芯片可以实现与其他设备或系统的数据通信。 通过8255A芯片,微机可以扩展其I/O端口,从而连接更多的外部设备。 在微机接口中,8255A芯片的并行处理能力可以提高数据处理速度。 通过编程,8255A芯片可以用于实时控制微机系统的某些功能。 数据通信 扩展I/O端口 并行数据处理 实时控制
可靠性更强
应用领域拓展
8255端口控制步进电机控制框图和程序
9.4工程应用9.4.1项目1:用8255A端口控制步进电机1.项目要求与目的(1)项目要求:根据开关的状态,用8255端口控制步进电机,编写程序输出脉冲序列到8255的PA口,控制步进电机正转、反转,加速,减速。
(2)项目目的:●了解步进电机控制的基本原理。
●掌握控制步进电机转动的编程方法。
●了解单片机控制外部设备的常用电路。
2.项目电路连接与说明(1)项目电路连接:8255的片选CS孔用导线接至译码处200H~207H插孔,8255的PA0-PA3用导线接至步进电机的A、B、C和D,PB0-PB3用导线接至开关K0、K1和K2。
(2)项目说明:步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。
切换是通过8255输出脉冲信号来实现的。
所以调节脉冲信号的频率便可以改变步进电机的转速,改变各相脉冲的先后顺序,可以改变电机的旋转方向。
步进电机的转速应由慢到快逐步加速。
步进电机驱动方式可以采用双四拍(AB→BC→CD→DA→AB)方式,也可以采用单四拍(A→B→C→D→A)方式,或单、双八拍(A→AB→B→BC→C→CD→D→DA→A)方式。
实际控制时公共端是接在+5V上的,所以实际控制脉冲是低有效。
8255的PA口输出的脉冲信号经(MC1413或ULN2003A)倒相驱动后,向步进电机输出脉冲信号序列。
当开关K0=0时,步进电机驱动方式采用单/双八拍工作方式,当开关K1=0时,步进电机驱动方式采用双四拍工作方式,当开关K2=0时,步进电机驱动方式采用单四拍反转工作方式。
3.项目电路原理框图项目电路原理框图如图7-1所示。
电路由8255A芯片、驱动和步进电机等组成。
图7-1 用8255A端口控制步进电机电路框图4.项目程序设计(1)程序流程图用8255A端口控制步进电机程序流程图如图7-2所示。
图7-2 程序流程图(2)程序清单用8255A端口控制步进电机程序清单如下所示。
ASTEP EQU 01HBSTEP EQU 02HCSTEP EQU 04HDSTEP EQU 08HCODE SEGMENTASSUME CS:CODESTART :MOV DX, 203H ;8255控制口地址MOV AL, 82H ;PA口输出,B口输入OUT DX, AL ;写控制字K0:MOV DX, 200H ;PA口地址MOV AL,0 ;输出低电平OUT DX,AL ;电机停止转动MOV DX,201H ;PB口地址IN AL,DX ;读开关状态TEST AL,01H ;PB0位(K0=0吗?)JNZ K1 ;不是零转K1JMP STEP8 是零转单/双八拍工作方式K1: IN AL,DX ;读开关状态TEST AL,02H ;PB1位(K1=0吗?)JNZ K2 ;不是零转K2JMP STEP4 ;是零转双四拍工作方式K2:IN AL,DX ;读开关状态TEST AL,04H ;PB2位(K2=0吗?)JZ STEP41 ;是零转单四拍反转工作方式JMP K0 ;循环; 单/双八拍工作方式:A→AB→B→BC→C→CD→D→DA→A STEP8:MOV BX,9000H;设置初始延时时间MOV DX, 200H;PA口地址MOV AL,ASTEPOUT DX,ALCALL DELAYMOV AL,ASTEP+BSTEPOUT DX,ALCALL DELAYMOV AL,BSTEPOUT DX,ALCALL DELAYMOV AL,BSTEP+CSTEPOUT DX,ALCALL DELAYMOV AL,CSTEPOUT DX,ALCALL DELAYMOV AL,CSTEP+DSTEPOUT DX,ALCALL DELAYMOV AL,DSTEPOUT DX,ALCALL DELAYMOV AL,DSTEP+ASTEPOUT DX,ALCALL DELAYJMP K0; 双四拍工作方式:AB→BC→CD→DA→ABSTEP4:MOV BX,5000H;设置延时时间MOV DX, 200H;PA口地址MOV AL,ASTEP+BSTEP;PA0PA1(AB相)输出高电平 OUT DX,ALCALL DELAY ;调延时MOV AL,BSTEP+CSTEP ;BC输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,CSTEP+DSTEP;CD输出高电平OUT DX,ALCALL DELAY ;调延时MOV AL,DSTEP+ASTEP;DA输出高电平OUT DX,ALCALL DELAY ;调延时JMP K0; 单四拍反转工作方式: D→C→B→A→DSTEP41:MOV BX,1000H;设置延时时间MOV DX,200H;PA口地址MOV AL,DSTEP; D输出高电平OUT DX,ALCALL DELAY;调延时MOV AL,CSTEP; C输出高电平OUT DX,ALCALL DELAY;调延时MOV AL,BSTEP; B输出高电平OUT DX,ALCALL DELAY;调延时MOV AL,ASTEP; A输出高电平OUT DX,ALCALL DELAY;调延时JMP K0DELAY PROC NEAR ;延时子程序PUSH CXMOV CX,BXDD1:NOPLOOP DD1POP CXRETDELAY ENDP ; 延时子程序结束CODE ENDS ;代码段结束END START。
在8255a中的工作方式控制字
在8255a中的工作方式控制字
8255A是一种通用的可编程I/O设备,它通过工作方式控制字来完成对其I/O端口的控制。
工作方式控制字是8255A中的一个重要概念,其设置决定了8255A的工作模式和控制方式。
下面将深入介绍8255A
中的工作方式控制字。
首先,工作方式控制字由三个8位的二进制数字组成,即控制字
寄存器A、B、C。
控制字寄存器A和B各占8个位,分别控制8255A的PortA和PortB。
而控制字寄存器C控制了8255A的工作状态和PortC
的设置。
其次,控制字的每一个位都有其对应的含义。
如控制字寄存器A
的第5位(即A5)代表了PortA的控制方式。
通过设置A5位可以选择PortA是输入状态还是输出状态。
如果设置为1,则PortA为输出状态;如果为0,则PortA为输入状态。
此外,控制字还可以根据其它位的设置来控制8255A的工作模式
和特殊功能,如数据传送方式、端口方向、中断控制、手动模式等。
对于工程应用,需要根据需要进行设置工作方式控制字。
比如,
如果需要控制8255A的输出,可以选择设置A5和B7位为1,表示
PortA和PortB都为输出状态。
最后,在使用8255A时,需要注意根据其功能特点正确设置其工
作方式控制字。
同时,针对不同的应用场景可以采用不同的控制方式,来实现更好的效果。
总之,工作方式控制字是8255A中的一个重要概念,合理的配置
和设置将有助于实现其最佳工作状态。
我们应该深入了解其各个位的
含义,灵活应用,为工程应用提供有力支持。
微机原理步进电机控制
微机原理步进电机控制微机原理步进电机控制实验报告实验步进电机控制⼀、实验内容l、⽤8255的PA0,PA3输出脉冲信号,驱动步进电机转动,通过键盘设定来控制步进电机正转、反转、停⽌。
2、实验预备知识,步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,⽤微电脑控制步进电机最适合。
⼆、实验步骤1、在系统处于命令提⽰符“P.”态下,按SCAL键。
2、按图6,9连好实验线路图,8255的PA0,PA3依次连到HA-HD插孔。
3、运⾏实验程序。
在系统处于命令提⽰符“P.”态下,输⼊1630,按EXEC键,显⽰BJ?,按“1”键正转;按“2”键反转;按“3”停⽌。
4、观察步进电机转动情况。
三、实验原理图, 实验接线图:四(实验程序清单CODE SEGMENT ;BJ.ASM ASSUME CS: CODE IOCONPT EQU 0FF2BH IOBPT EQU 0FF29H IOAPT EQU 0FF28HPA EQU 0FF20H ;字位⼝PB EQU 0FF21H ;字形⼝PC EQU 0FF22H ;键⼊⼝ORG 1630HSTART: JMP START0 BUF DB ?,?,?,?,?,? KZ DB ?ltime db ?lkey db ?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1HSTART0: CALL BUF1 ;写显⽰缓冲区初值MOV AL,88H ;MOV DX,IOCONPTOUT DX,AL ;写命令字redikey: call dispkey ;调⽤显⽰键扫cmp KZ,01h ;是1键正转JZ ZZcmp KZ,02h ;是2键反转JZ STXJMP REDIKEY ;继续读键JMP ST ;转停⽌ STX:ZZ: CALL BUFZ ;显⽰正转值ZZ1: MOV DX,IOAPT ;PA⼝MOV AL,03H ;MOV DX,IOAPTOUT DX,AL ;驱动步进电机,A.B两相CALL DELPZ ;延时,读键MOV AL,06HMOV DX,IOAPTOUT DX,AL ;驱动步进电机,A.d两相CALL DELPZ MOV AL,0CHMOV DX,IOAPTOUT DX,AL ;驱动步进电机,C.D两相CALL DELPZ MOV AL,09H ;驱动步进电机,B.C两相MOV DX,IOAPT OUT DX,ALCALL DELPZMOV AL,03HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,0CHMOV DX,IOAPTOUT DX,ALCALL DELPZMOV AL,09HMOV DX,IOAPTOUT DX,AL;------------------------- FZ: CALL BUFF ;反转⼊⼝FZ1: MOV DX,IOAPTMOV AL,0CHOUT DX,ALCALL DELPFMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV DX,IOAPTMOV AL,03HOUT DX,ALCALL DELPFMOV AL,09HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,0CHMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,06HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,03HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,09HMOV DX,IOAPTOUT DX,ALCALL DELPFMOV AL,00HOUT DX,ALST1: call dispkey cmp KZ,01hJZ ZZMONcmp KZ,02hJZ FZMONJMP ST1delpZ: mov cx,02h con1: push cx CALL dispkey pop cxcmp KZ,02hJZ FZMONcmp KZ,03hJZ STMONloop con1RETdelpF: mov cx,02h con2: push cx CALL dispkey pop cxcmp KZ,01hJZ ZZMONcmp KZ,03hJZ STMONloop con2RETZZMON: POP CXJMP ZZFZMON: POP CXJMP FZSTMON: POP CXJMP ST;-------------------------dispkey: call disp ;键盘显⽰⼦程序,见前注释call key mov ah,al ;newkeymov bl,ltime ;ltimemov dx,PA ;0ff21hout dx,alcmp ah,bhmov bh,ah ;bh=new keymov ah,bl ;al=timejz disk4mov bl,88hmov ah,88hdisk4: dec ahcmp ah,82hjz disk6cmp ah,0ehjz disk6cmp ah,00hjz disk5mov ah,20hdec bljmp disk7disk5: mov ah,0fhdisk6: mov bl,ahmov ah,bhdisk7: mov ltime,blmov lkey,bhmov KZ,bhmov al,ahretkey: mov al,0ffh ;键扫⼦程序mov dx,PB out dx,almov bl,00hmov ah,0fehmov cx,08hkey1: mov al,ahmov dx,PAmov ah,alnopnopnopnopnopnopmov dx,PCin al,dxnot alnopnopand al,0fhjnz key2inc blloop key1jmp nkeykey2: test al,01h je key3 mov al,00hjmp key6key3: test al,02h je key4 mov al,08hjmp key6key4: test al,04h je key5 mov al,10hjmp key6key5: test al,08hje nkeymov al,18hkey6: add al,blcmp al,10hjnc fkeymov bl,almov al,[bx+si]retnkey: mov al,20h fkey: retdata2: db 07h,04h,08h,05h,09h,06h,0ah,0bh DB 01h,00h,02h,0fh,03h,0eh,0ch,0dh DISP: MOV AL,0FFH ;显⽰⼦程序 ,5ms MOV DX,PAOUT DX,ALMOV CL,0DFH ;20HMOV BX,OFFSET BUF DIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,0a0HLOOP $POP CXCMP CL,0FEHJZ LX1INC BXROR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,0BH ;写”BJ----” MOV BUF+1,019HMOV BUF+4,17HMOV BUF+5,17HRETBUFZ: MOV BUF,0BH ;写”BJ---F” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,0FHRETBUFF: MOV BUF,0BH ;写”BJ---r” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,18HRETBUFS: MOV BUF,0BH ;写”BJ---S” MOV BUF+1,19HMOV BUF+2,17HMOV BUF+3,17HMOV BUF+4,17HMOV BUF+5,05HRETCODE ENDSEND START五、实验总结1、通过实验进⼀步了解8086的使⽤,学习汇编语⾔编程⽅法及调试技巧。
微机原理与接口技术课程设计报告
摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机控制系统以8088作为控制的核心元件,利用8255的A口控制步进电机,C口连接K0-K7,以选取不同档的移动速度,同时获取控制转动方向(即正转和反转).本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、正向加速、反向加速等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力关键字:步进电机;8086CPU;8255可编程I/O接口芯片;汇编语言目录摘要 (1)1.1步进电机转动控制的设计要求与设计方案1.2步进电机转动控制的要求与功能 (3)1.3总体设计方案 (3)一、步进电机转动控制设计的硬件设计二、 2.1步进电机转动控制的硬件框图 (4)2.2 步进电机驱动原理 (4)三、步进电机转动控制软件设计3.1 主程序流程图 (6)3.2 8255初始化 (7)四、步进电机硬/软件的调试4.1 硬件调试 (8)4.2 软件调试 (8)4.3 调试过程 (8)五、设计总结 (9)附录一 (10)一、步进电机控制的设计要求与设计方案1.1步进电机转动控制的要求与功能使用汇编语言外加K0-K7等一系列的开关实现对步行电机转速与方向的控制(实现两个以上功能)1.启动与停止控制:用户拨动某一指定键后可以实现电机的启动与停止的控制2.方向的控制:用户将某一指定键拨向上可以实现电机的正转,拨向下实现电机的反转3.速度的控制:用户将另一指定键拨向上可以实现电机的加速转动,拨向下实现电机的减速转动4.综合控制:用户一起拨动上述的按键后可以实现电机的加速正转,减速反转等操作;1.2总体设计方案选用TN88\86实验箱与微机,通过在实验箱构造硬件电路,主要是利用8255A 芯片单元模块、步进电机单元模块。
8255A控制电机的正反转实验
陈广林 朱孟江 王建卡 胡国强 高嘉楠
2013.12.10
基本功能
利用8086控制8255A的接口来输出高低电平,用ULN2003A驱动 电机的转动,用8253计数器实现精确延时。用按键控制电机的正转 与反转,K1按下让电机停止,K2按下电机正转,K3按下反转,并用 指示灯来指示正转还是反转。在这次试验中用到了8086CPU,74273 数据地址锁存缓冲器,74154译码器,8255A可编程并行的I/O, 8253计数器,ULN2003A电平驱动,四线六线步进电机,LED灯等器 件。通过这次实验学会了proteus7的基本操作,更加深刻的理解了 8086已经8255A的工作原理。
是 送正转电流 并让灯2亮
结束
延时子程序
向计数器0送计算初 值
减到0产生一 个低电平
结束
DATA SEGMENT PORTA EQU 0200H ;8255A口 PORTB EQU 0202H ;8255B口 PORTC EQU 0204H ;8255C口 CON0 EQU 0206H ;8255控制口 PORT1 EQU 0400H ;8253计数器0 PORT2 EQU 0402H ;8253计数器1 PORT3 EQU 0404H ;8253计数器2 CON1 EQU 0406H ;8253控制口 DATA1 DB 00001100B ;正转电流 DB 00000110B DB 00000011B DB 00001001B DATA2 DB 00000110B ;反转电流 DB 00001100B DB 00001001B DB 00000011B DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA
实验六 8255A的应用
实验六中涉及到8255A的应用,8255A是一种通用的并行输入/输出(I/O)接口芯片。
它可以与微处理器或控制器连接,用于实现与外部设备的数据交换和控制。
以下是8255A的一些常见应用:
并行数据传输:8255A可用作并行数据传输的接口,通过其端口将数据从微处理器发送到外部设备,或从外部设备接收数据并传输给微处理器。
数字输入/输出控制:8255A的I/O端口可用于控制和监控数字信号,例如控制LED显示、按键输入、开关控制等。
数据采集和控制:8255A的I/O端口可以连接传感器、执行器等外部设备,实现数据采集和控制操作。
例如,可以通过8255A读取温度传感器的数据或控制电机的转动。
并行通信接口:8255A可以用于并行通信接口,连接外部设备或其他系统,实现数据的快速传输和通信。
仪器设备控制:通过8255A的I/O端口,可以实现对仪器设备的控制和通信,如控制实验设备、仪器测量和数据采集等。
在实验中,通常会根据具体的实验目的和设计,使用8255A的不同功能和配置。
通过编程控制8255A的寄存器和端口,可以实现与外部设备的数据交互和控制操作。
请注意,实验中的具体应用和配置可能会因实验的目的、实验设备和使用的编程语言等而有所不同。
因此,建议您参考实验手册或教材中关于8255A的具体实验说明,以获取准确的应用细节和操作步骤。
基于Intel8255A和MCS-51单片机的电机控制
硬件系统框 图
3 软 件设 计 程序说 明 :由TM S 5 的P 口为数据 地址复 用 口,单片机 在对 C 一1 0 Id 25 A m 8 5A 操作时 ,其方式和对外R M A 的操作方式是一样的,现在P 1 0 5
出现It8 5 A ne 2 5 的地址 ,然后送 出数据 ,所以在P 1要用7 I 33 1 0 5 4_ 7 来锁存 5 地址信号 ,A E( L 时钟信号的6 分频 ) 4 3 3 接7 1 7锁存端 ,M S 5 的WR s C- 1 和
一
It1 5 A 初始化程序 : n 8 5A e2
0RGO 0 H 0 0
S ART: T
2 硬件 设 计
硬件设计可分为 电源模块 、控制模块和驱动模块 。 1 电源模块 :可以采用 典型的直流稳 压+ V ) 5 电源对MC 一 1 S 5 单片机 供电,稳压所采用的芯片可以是7 0和L 等 。 85 M17 1 2 控制模块 :控制模块是硬件设计 的核心 ,主要包含M S 5 单片 ) C 一 1 机和It1 5 A ne8 5 芯片和7 L 3 3 2 4 S 7 地址锁存器 ,通过MC 一 1 S 5 的地址选通数据 来控制I e 25 ,这样只占用了M S 5 单片机 的3 / 1资源 , n 1 5A t8 C- 1 - 个I 3 O 提高 了 资源 的利用率 。 3 驱动模块 :采用光电开关进行 电气 隔离 , 通过继电器的闭合 ) 再 与断开来控制接触器 ,最后达到弱电控制强 电的 目的 ,提高系统 的可靠
机 的正反转 ,实现 电机 的往 复运 动 ,这种 工况在 现场处处 可见 ,如何用 较少 的单片机 资源来 完成这个 功能是 研究 的核心 问题 ,在此 ,选用 It 8 5 A 编程并行 接 口。 ne 2 5 可 1
8255A控制步进电机
OUT DX,AL ROL BL,1 CALL XDELAY JMP IOLED1
XDELAY: MOV CX,03FFFH XDELA: LOOP XDELA
RET CODE ENDS
RET
CODE
ENDS
END H12
2、怎么实现步进电机的反向转动?
CODE
SEGMENT
ASSUME CS:CODE
COTR EQU 04A6H
IOA
EQU 04A0H
ORG 100H
H12:
MOV AL,80H
MOV DX,COTR
ቤተ መጻሕፍቲ ባይዱ
OUT DX,AL
MOV BL,33H ;0011 0011 后四位接到了电机上 使得旋转时高四位和第四位
一样
IOLED1: MOV DX,IOA ;将 A 的地址给 dx
MOV AL,BL
OUT DX,AL
ROR BL,1 ;逻辑右移一位
CALL XDELAY ;调用子程序
JMP IOLED1 ;转移回去
XDELAY: MOV CX,03FFFH ;延时 03ffh 次 控制加速和减速
XDELA: LOOP XDELA
OUT DX,AL
ROL BL,1
;左移一位
CALL XDELAY ;调用子程序
JMP IOLED1 ;转移回去
XDELAY: MOV CX,03FFFH ;延时 03ffh 次 控制加速和减速
XDELA: LOOP XDELA
RET
CODE
ENDS
可编程外围接口芯片8255A及其应用
第七章
1、方式 0(称为基本输入/输出工作方式) 适用场合:不需要用应答信号的无条件数据传送。 如:读一组开关状态,控制一组指示灯 方式0的基本功能: ①具有两个8位口(A口和B口),两个4位口(上口C和下C口) ②任意端口都可作为输入或输出,但不能同时实现输入及输出 ③设置为输出口时有锁存能力,设置为输入口时无锁存能力。
中断请求信号
B口方式1
B口输入
【注意】 由于INTE A、INTE B无外部引出脚,因此当PC4或PC2脚上出现 高电平或低电平信号时,不会改变中断允许触发器的状态。
第七章
第七章
(2)选通输出方式 A口、B口都工作在选通输出方式 其端口控制字、状态、联络信号如下图所示。
选通输入/输出方式可以分为3种情况
PC6,7 1=输入 0=输出
方式1 A口
中断允许信号
选通信号
缓冲器满信号
中断请求信号
标志位
A口方式1
A口输入
第七章
PB7~PB0
IBFB
RD
STBB
D0
D1
D2
D3
D4
D5
D6
D7
×
1
1
×
×
×
×
1
控制字
INTRB
INTE B
PC2
PC1
PC0
方式1 B口
中断允许信号
选通信号
缓冲器满信号
WR
INTRB
INTE B
PC1
PC2
PC0
方式1 B口
OBFB
ACKB
(2)选通输出方式(续)
第七章
第七章
步进电机——精选推荐
步进电机控制摘要本实验利用8255A的编程设计使用开环控制方式实现步进电机的转动方向、速度和角度进行调节,通过8255A的A端口输出特定的数据产生步进电机转动所需要顺序的脉冲信号,通过外电路转换后获得电压匹配的信号来驱动步进电机转动。
步进电机转动所需的脉冲信号由其内部结构和工作原理确定的相序决定,汇编程序通过调用子程序实现正转、反转,调节速度大小等功能。
程序开始执行时,要求从屏幕上输入转速和转向信息,输入的转速值越大转速越慢,当输入1时实现正转,输入其它值时实现反转,任意时刻输入字符2可退出程序。
关键词:8086 步进电机 8255A 转速控制汇编程序装订线提高综合运用于解决实际问题的能力,利用8255A并行接口进行微机和外设的通信,加深对8255A并行接口的理解和应用能力,更熟练的掌握汇编语言基本指令合常用语句的应用,体会从实际问题抽象出模型,并利用模型解决实际为题的能力,以此为契机积累实践经验和实际动手解决问题的能力。
本实验要求再熟悉汇编语言基本指令和8255A工作原理的基础上,利用汇编程序输出符合条件的脉冲信号,经外电路放大后可以驱动步进电机转动,最终达到步进电机调速控制的目的。
通过本次试验了解步进电机及其他类型电动机的基本工作原理,以及基本参数合常用符号的意义,为以后的工作学习打下良好的基础。
2.1步进电机结构与工作原理步进电机为30BYJ011,其内部结构和工作原理如下所述:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步进角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
8255控制步进电机
微型计算机原理综合实验装题目:步进电机控制订线学院电子信息工程学院学科门类工科专业电子科学与技术学号**********姓名张少雄指导教师高芳2008 年12 月21 日步进电机控制摘要:在本实验中,通过汇编语言对可编程I/O口扩展芯片8255编程,控制其输出信号。
8255的输出端连接驱动电路,使驱动电路按照程序设定好的方式导通,来控制步进电机的转动。
并且在程序中设定,由键盘控制步进电机的转向。
关键词:步进电机、微处理器、8255、控制、转向。
目录一.实验目的--------------------------------------2二.设计要求------------------------------2三、设计原理------------------------------3 四.硬件工作原理--------------------------4 五.程序框图------------------------------5 六.总结与体会-----------------------------5 参考文献----------------------------------6附录--------------------------------------7一.实验目的1.1掌握8255的使用方法掌握8255可编程I\O扩展芯片的编程方法,通过对工作方式的设定,使其能够对步进电机的驱动电路起到控制作用。
1.2掌握步进电机的工作原理了解步进电机的工作原理,熟悉型号为30BYJ011的步进电机的性能参数和四相八拍工作方式的特点,1.3 掌握模拟电路的基本知识通过对步进电机的驱动电路的设计,进一步掌握模拟电路在实际中的应用。
二.设计要求2.1外设电路要求设计外设电路,使电路能够驱动步进电机的转动,符合步进电机的使用要求。
本实验采用的步进电机型号为30BYJ011,工作方式为四相八拍,工作电压为DC12V 。
基于8255的步进电机控制系统设计
基于8255的步进电机控制系统设计一、实验设计的目的与要求通过步进电机控制系统实验设计,用8255扩展端口控制步进电机,编写程序输出脉冲序列到8255的PA口,控制步进电机正传,反转,加速,减速。
进一步掌握微机原理与接口的理论和实际方法。
培养和锻炼开发控制系统的能力。
为今后单片机的学习与应用开发打下良好的基础。
要求了解步进电机控制的基本原理,掌握控制步进电机的转动的编程方法,进一步了解单片机控制外部设备的常用电路。
二、步进电机原理1.步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图1是该四相反应式步进电机工作原理示意图。
图1 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a. 单四拍b. 双四图2.步进电机工作时序波形图拍c八拍2.步进电机的驱动原理步进电动机是一种数字元件,易于数字电路接口,但一般数字电路的信号的能量远远不足以驱动步进电动机。
因此,必须有一个与之匹配的驱动电路来驱动步进电动机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
专业班级 计算机 1208
姓名 刘正皓
学 号 20124729来自实验题目8255A 控制步进电机 日 期 2014.12 实验五、8255A 控制步进电机
一、实验目的
掌握步进电机的工作原理和控制方法。
二、实验设备
EL 教学实验装置一个、计算机一套。
三、实验内容
用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0” 则不通电。步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺 序和切换频率来调节其转速和转向。步进电机可以四相四拍或四相八拍方式工作,即通电 顺序为:A→B→C→D→A;A→AB→B→BC→C→CD→D→DA→A。按相反的顺序即可改变电机 的旋转方向。本实验系统采用的是:AB→BC→CD→DA→AB。
四、实验原理
反应式步进电动机(三相)结构示意图
PA0 PA1 8255A PA2 PA3
A B C D
7407
+12V
8255A 控制步进电机电路
五、实验步骤
1、实验连线 8255A的PA0~PA3与步进电机的 A、B、C、D相连; 为了观察步进电机的通电情况,将A、B、C、D插孔与发光二极管相连; 8255的片选信号8255CS与系统CS0相连。
END H12
七、思考题
1、分析程序并写出程序注释。 CODE SEGMENT
ASSUME CS:CODE COTR EQU 04A6H ; IOA EQU 04A0H
ORG 100H H12: MOV AL,80H
MOV DX,COTR OUT DX,AL MOV BL,33H IOLED1: MOV DX,IOA 将A地址给DX
MOV AL,BL OUT DX,AL
ROL BL,1 左移一位 CALL XDELAY 调用子程序 JMP IOLED1 转移回去 XDELAY: MOV CX,03FFFH 延迟03FFFH次,控制加速和减速 XDELA: LOOP XDELA RET CODE ENDS END H12
2、怎么实现步进电机的反向转动?
MOV DX,COTR OUT DX,AL MOV BL,33H IOLED1: MOV DX,IOA MOV AL,BL
OUT DX,AL ROL BL,1 CALL XDELAY JMP IOLED1
XDELAY: MOV CX,03FFFH XDELA: LOOP XDELA
RET CODE ENDS
将ROL BL,1改为ROR BL,1,即可反向转动。
3、怎么实现步进电机的加速或减速? XDELAY: MOV CX,03FFFH 将03FFFH改小,加速;改大,减速。
2、 根据程序框图编程实验程序,并对编写好的程序进行汇编、连接,然后全速或单步运 行程序。 3、 全速运行后观察步进电机的旋转情况以及发光二极管的变化。
六、实验程序
CODE SEGMENT ASSUME CS:CODE
COTR EQU 04A6H IOA EQU 04A0H
ORG 100H H12: MOV AL,80H