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 个位,可以独立配置为输入或输出模式。
控制信号生成
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
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 。
可编程芯片8255A及其应用
应用领域拓展
物联网领域
随着物联网技术的发展,可编程 芯片8255A将在智能家居、智能
农业等领域得到广泛应用。
人工智能领域
可编程芯片8255A的高性能和灵 活性使其在人工智能领域有广阔 的应用前景,如机器学习、图像
处理等。
医疗电子领域
随着医疗技术的进步,可编程芯 片8255A将在医疗电子领域发挥 重要作用,如医疗设备的控制和
05 8255A芯片的优缺点
优点
可编程性
可靠性
8255A芯片的最大优点是其可编程性。 用户可以通过编程来配置芯片的输入/ 输出端口,从而实现不同的接口功能。
8255A芯片在工业控制和自动化系统中表现 出良好的可靠性。其坚固耐用的封装和稳定 的性能使其在这些领域中得到广泛应用。
灵活性
由于其可编程特性,8255A芯片具有很高 的灵活性。它可以适应不同的应用需求, 通过改变编程指令来实现不同的功能。
06 未来展望
技术发展趋势
01
02
03
集成度更高
随着半导体工艺的进步, 可编程芯片8255A的集成 度将进一步提高,实现更 复杂的功能。
功耗更低
随着对节能环保需求的增 加,可编程芯片8255A的 功耗将进一步降低,延长 设备的使用时间。
可靠性更强
通过改进设计和制造工艺, 可编程芯片8255A的可靠 性将得到进一步提升,提 高设备的稳定性。
转换成汇编语言。
Verilog和VHDL
03
这两种语言主要用于硬件描述,可以描述8255A芯片的行为和
结构。
编程步骤
01
02
03
04
05
1. 理解芯片规格 2. 选择编程语言 3. 编写代码 和功能
基于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.步进电机的驱动原理步进电动机是一种数字元件,易于数字电路接口,但一般数字电路的信号的能量远远不足以驱动步进电动机。
因此,必须有一个与之匹配的驱动电路来驱动步进电动机。
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中的一个重要概念,合理的配置
和设置将有助于实现其最佳工作状态。
我们应该深入了解其各个位的
含义,灵活应用,为工程应用提供有力支持。
8255A的功能与结构
8255A的功能与结构8255A可编程外围设备接⼝(programmable perphheral interface,PPI)是⼀种通⽤的可编程并⾏I/O接⼝器件。
它可以作为Intel系列微处理器或其它系列微处理器的接⼝器件,可以将任何与TTL兼容的I/O设备与微处理器连接。
在与主频不⾼于8MHz的微处理器⼀起⼯作时,不需要插⼊等待周期。
它有24个可编程I/O引脚,分为两组,每组12个,可以以3种不同的操作⽅式⼯作。
它的每个I/O引脚可以提供2.5mA的吸⼊电流,最⼤4mA。
8255A常常⽤作键盘和打印机端⼝。
它的价格低廉,使⽤⽅便,得到了⼴泛的应⽤。
8255A的功能结构由图可得:(1)数据总线缓冲器D7~D0与系统数据总线相连,负责与CPU进⾏数据交换。
包括输⼊输出数据、控制字和状态字。
(2)读/写控制逻辑接收来⾃CPU的地址信息和控制信息。
(3)A组控制和B组控制这两组控制逻辑电路接收来⾃CPU的控制字,控制两组端⼝的⼯作⽅式及读/写操作。
A组控制端⼝A和端⼝C的⾼4位,B组控制端⼝B和端⼝C的低4位。
(4)端⼝A、B、C8255A有3个8位数据输⼊/输出端⼝:端⼝A、端⼝B和端⼝C,分别简称为A⼝、B⼝和C⼝。
它们对外的引线分别是PA7~PA0、PB7~PB0和PC7~PC0。
C⼝可分成两个4位的端⼝:C⼝⾼4位(PC7~PC4)和C⼝低4位(PC3~PC0)。
三个端⼝按组编程端⼝A和端⼝B都有⼀个8位数据输⼊锁存器和⼀个8位数据输出锁存/缓冲器。
端⼝C有⼀个8位数据输⼊缓冲器和⼀个8位数据输出锁存/缓冲器。
端⼝C可以按位操作。
8255A的引脚功能双列直插,40根引脚D7~D0:数据信号线CS:⽚选信号输⼊引脚,低电平有效RD:读信号输⼊引脚,低电平有效WR:写信号输⼊引脚,低电平有效RESET:复位信号输⼊引脚,⾼电平有效。
⽤于将8255A控制字寄存器清“0”,并将A、B、C⼝置成输⼊状态A1、A0:端⼝选择信号输⼊引脚8255A的⼯作⽅式8255A可以⽆条件⽅式、查询⽅式和中断⽅式完成CPU与外设的数据交换。
微机原理步进电机控制
微机原理步进电机控制微机原理步进电机控制实验报告实验步进电机控制⼀、实验内容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的使⽤,学习汇编语⾔编程⽅法及调试技巧。
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及其应用
OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB
(2)方式2 D7 D6 D5 D4 D3 D2 D1 D0 OBFA INTE1 IBFA INTE2 INTRA * * *
第二节 输入输出应用
8255A的应用举例 的应用举例
8255A作为开关K0~K3及七段LED显示器接口。要求开关设置 的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显 示器的字形代码后,由A口输出显示。 接口 驱 D7~D0 D7~D0 动 PA7 RD 器 RD 8086 系 PA0 WR WR 统 A1 A0 +5V 总 K3 A2 A1 PC3 线 A0 Y0 O A CS K2
ACK-外设的回答信号,低电平 有效,由外设送给8255A。 表示CPU送到指定端口的 数据已被外设接受。 INTE-中断允许信号。 INTEA、 INTEB是由用户对PC6、PC2按 位置位实现的。 INTR-中断请求信号,高电 平有效。当 ACK =1、 OBF =1且 INTE =1时, INTR =1。
8255A方式选择控制字 方式选择控制字: 方式选择控制字 按题意设置端口A方式0输出,下C口输入. 1 0 0 0 × 0 × 1 81H
A0 A3 A4 M/IO A5 A6 A7
无关位 选 择 位 D7 = 0 使端口C的bit3置位的控制字 MOV AL,00000111B OUT 0FBH,AL 使端口C的bit3复位的控制字 MOV AL,00000110B OUT 0FBH,AL
位
111 选中PC7
00000111B
00000110B
三、8255A的工作方式 的工作方式
方式1输出 口 方式 输出 (B口)
步进电机——精选推荐
步进电机控制摘要本实验利用8255A的编程设计使用开环控制方式实现步进电机的转动方向、速度和角度进行调节,通过8255A的A端口输出特定的数据产生步进电机转动所需要顺序的脉冲信号,通过外电路转换后获得电压匹配的信号来驱动步进电机转动。
步进电机转动所需的脉冲信号由其内部结构和工作原理确定的相序决定,汇编程序通过调用子程序实现正转、反转,调节速度大小等功能。
程序开始执行时,要求从屏幕上输入转速和转向信息,输入的转速值越大转速越慢,当输入1时实现正转,输入其它值时实现反转,任意时刻输入字符2可退出程序。
关键词:8086 步进电机 8255A 转速控制汇编程序装订线提高综合运用于解决实际问题的能力,利用8255A并行接口进行微机和外设的通信,加深对8255A并行接口的理解和应用能力,更熟练的掌握汇编语言基本指令合常用语句的应用,体会从实际问题抽象出模型,并利用模型解决实际为题的能力,以此为契机积累实践经验和实际动手解决问题的能力。
本实验要求再熟悉汇编语言基本指令和8255A工作原理的基础上,利用汇编程序输出符合条件的脉冲信号,经外电路放大后可以驱动步进电机转动,最终达到步进电机调速控制的目的。
通过本次试验了解步进电机及其他类型电动机的基本工作原理,以及基本参数合常用符号的意义,为以后的工作学习打下良好的基础。
2.1步进电机结构与工作原理步进电机为30BYJ011,其内部结构和工作原理如下所述:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步进角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
基于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
(完整word版)8255A芯片简介及其应用
8255A芯片简介及其应用班级:姓名:学号:一、简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
二、内部结构8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。
(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。
(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。
当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。
(2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。
(3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
8255A工作方式
方式1下,A、B口均为输出的信号定义
工作方式1下的数据输出时序
工作方式1下A口、B口均为输入
与方式1下两口均为输出类似,为实现选通输入, 则同样要利用C口的信号线。 在口为输入时所用到的控制信号的定义如下: : ① STB 为低电平有效的输入选通信号。
② IBF为高电平有效的输入缓冲器满信号。 ③ INTR为中断请求信号,高电平有效。 ④ INTE为中断允许状态。
方式1下A、B口均为输入时的信号定义
工作方式1下数据输入时序 工作方式 下数据输入时序
工作方式2,又称双向输入输出方式
A口工作于方式2之下时,各信号的定义 如图下所示。 OBF 当A口工作在方式2时,其控制信号 ACK 、 STB 、 、IBF及INTR与前面的叙述是一 样的; 不同点是:
方式2下的信号定义
FBC0H~FBC3H
FBC4H~FBC7H
之下,A口既 ①因为在方式2之下 口既 因为在方式 之下 作为输出又作为输入,因 作为输出又作为输入 因 有效时,才 此,只有当 ACK有效时 才 只有当 能打开A口输出数据三态 能打开 口输出数据三态 使数据由PA0~PA7 门,使数据由 使数据由 输出。 输出。 此时A口输入 口输入、 ② 此时 口输入、输出均具 备锁存数据的能力。 备锁存数据的能力。 ③在这种方式下,A口的数据 在这种方式下 口的数据 输入或数据输出均可引起 中断。 中断。
6.2.2 8255A工作方式
8255有3种工作方式。这些工作方式可用软件编程来指 定。 1. 工作方式0,又称为基本输入输出方式 在此方式下,可分别将A口的8条线、B口的8条线、 C口高4位对应的4条线和C口低4位对应的4条线定义为 输入或输出。
工作方式0下的输入输出组合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接口技术实验报告
专业班级计算机1406姓名宋世波学号20143753
实验题目8255A控制步进电机日期2016-12-30
实验五、8255A控制步进电机
一、实验目的
1、了解步进电机控制的基本原理。
2、掌握步进电机转动编程方法。
二、实验设备
微机原理实验箱、计算机一套。
三、实验内容
1、用8255的PA0~PA3输出脉冲信号,驱动步进电机转动,通过K1控制步进电机正转,通过单脉冲AN0(负)控制步进电机加速。
其中,K1低电平有效,程序运行时处于低速状态,每按一次单脉冲,步进电机加速一次,按十二次达到最高速后,又返回低速状态。
2、实验预备知识,步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
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。
四、实验原理
反应式步进电动机(三相)结构示意图
实验接线图。