综合实验(8253+8259+8255控制步进电动机)

合集下载

微机原理综合实验报告

微机原理综合实验报告

微机原理综合实验报告目录一.8255并行口实验二.8259中断实验(一)三.8253定时/计数器实验四.A/D转换实验五.步进电机实验六.综合实验:十字路口交通灯实验七.实验体会四.8255并行口实验1.实验目的:(1)学习利用并行接口芯片8255构成并行接口电路的基本方法(2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法2.实验内容:编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。

3.实验程序:CODE SEGMENTASSUME CS:CODESTART:MOV DX,21BH ;8255初始化命令字MOV AL,90HOUT DX,ALBG: MOV DX,218H ;从PA口读入数据IN AL,DXXOR AL,FFH ;求反MOV DX,219HOUT DX,AL ;从PB口输出JMP BGCODE ENDSEND START4.实验框图5. 实验电路图6.实验方法说明通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。

8259中断实验(一)1.实验目的:(1)了解PC机的中断结构及8259中断控制器的初始化(2)熟悉8259中断控制器的工作原理和硬件连线方法(3)了解8259的应用和硬件编程方法了解8259中断屏蔽2.实验内容:编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

3.实验程序INT0 EQU 220hINT1 EQU 221hP8255B EQU 219HP8255K EQU 21BHSTACK SEGMENTSTA DB 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV AX,TOPMOV SP,AXPUSH DSMOV AX,0000H ;定义IRQ0中断MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,0000HMOV SI,20HMOV [SI],AXMOV AX,CSMOV SI,22HMOV [SI],AXPOP DSMOV AL,13H ;对8259进行初始化ICW1MOV DX,INT0OUT DX,ALMOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT1MOV AL,0FEH ;对8259进行初始化OCW1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT0 ;对8259进行初始化OCW2,普通EOI返回MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $STIMOV DX,P8255K ;对8255进行初始化MOV AL,90HOUT DX,ALDSP: MOV AL,0FFHMOV DX,P8255BOUT DX,ALJMP DSPIRQ0: STIMOV CX,0FFFFHLOOP $MOV AL,0FHMOV DX,P8255BOUT DX,ALMOV DX,INT0MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $MOV CX,0FFFFHLOOP $IRETCODE ENDSEND START4.实验框图5. 实验电路图6. 实验方法说明主程序使8255输出高电平,实现L0~L7指示灯全亮。

8259、8253实验报告

8259、8253实验报告

数字逻辑与CPU实验报告实验内容:8259中断控制器、8253可编程定时/计数器接口实验姓名:班级:学号:实验一8259中断控制器实验一、实验目的1、掌握8259的工作原理。

2、掌握编写中断服务程序的方法。

3、掌握初始化中断向量的方法。

二、实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。

三、实验方法(1)连线1、单脉冲发生器输出P+与8259的IR0相连;2、8259的片选CS8259与CS0相连;3、8259的INT与8086的INT相连;4、CS273与CS1相连;5、00与LED1相连;其他线均已连好。

(2)在8086实验系统软件中编辑程序,编译链接后,调试程序,程序流程图如图2。

(3)调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。

四、程序源代码CODE SEGMENT PUBLICASSUME CS:CODEORG 100H;设置堆栈起点0100HSTART: 图2 程序流程图 MOV DX,4A0HMOV AX,13H ;写ICW1,单片8259,要写ICW4OUT DX,AXMOV DX,4A2HMOV AX,80H ;写入ICW2,设定IR0中断类型吗为80HOUT DX,AXMOV AX,01 ;写入ICW4,设定一般嵌套,非自动EOI方式 OUT DX,AXMOV AX,0 ;写入OCW1,设定允许中断。

OUT DX,AXMOV AX,0MOV DS,AXMOV SI,200H ;中断向量预存放在0100:0200H(向量码80H) MOV AX,OFFSET HINT;取中断服务程序的入口地址MOV DS:[SI],AXADD SI 2MOV AX,CSMOV DS:[SI],AXSTI;开中断JMP $;原地跳转HINT:;中断服务程序XOR CX,0FFH;CX全部取反(8位)MOV DX,4B0H;CS273接口的地址,与8个LED灯相连MOV AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的的地址MOV AX,20H;写入OCW2,一般EOI命令,全嵌套方式OUT DX,AXIRET;中断返回CODE ENDSEND START五、实验结果程序调试通过后,当我们按一次单脉冲发生器的输出开关,对应连好的灯就会亮。

实验八 步进电动机驱动实验

实验八 步进电动机驱动实验

南昌大学实验报告步进电动机驱动实验一、实验目的1、了解控制步进电动机的基本原理2、掌握控制不进机转动的编程方法二、实验要求利用8255的PC端口PC0~PC3轮流输出脉冲序列,利用实验机上键盘控制步进电动机的转速和转动方向。

三、实验程序C8279 EQU 239HD8279 EQU 238HC8255 EQU 206HP8255C EQU 204HCODE SEGMENTASSUME CS:CODE,DS:CODESTART:PUSH CSPOP DSINI:MOV DX,C8255MOV AL,80HOUT DX,ALMOV DX,C8279MOV AL,00HOUT DX,ALMOV AL,2AHOUT DX,ALMOV AL,90HOUT DX,ALMOV AL,0D1HOUT DX,ALW AIT1:IN AL,DX ;读8279状态字,判是否有键按下MOV AH,ALAND AL,80HJNZ W AIT1MOV AL,AHAND AL,0FHCMP AL,00HJE WAIT1LEA BX,STEPRUN:CALL CHKKEYCALL DISPLAYMOV CX,08HLOOP3:MOV DX,P8255CMOV AL,[SI]OUT DX,ALINC SICALL DELAYLOOP LOOP3JMP RUNCHKKEY PROC NEARRDKEY:MOV DX,C8279IN AL,DXMOV AH,ALAND AL,80HCMP AL,80HJE RDKEYMOV AL,AHAND AL,0FHCMP AL,00HJE RTNMOV AL,40HOUT DX,ALMOV DX,D8279IN AL,DXCHK:CMP AL,0FHJE QUITCMP AL,0AH ;判是否大于A键JNC DIREMOV DELAYTIME,ALJMP RTNDIRE:CMP AL,0BHJNE NEXTMOV DIRDSP,40HLEA BX,STEPJMP RTNNEXT:CMP AL,0CHJNE RTNMOV DIRDSP,46HLEA BX,STEPADD BX,07HRTN:MOV SI,BXRETCHKKEY ENDPDELAY PROC NEARPUSH CXMOV CX,0AHSUB CL,DELAYTIMELOOP1:PUSH CXMOV CX,03FFHLOOP2:NOPLOOP LOOP2POP CXLOOP LOOP1POP CXRETDELAY ENDPDISPLAY PROC NEARPUSH BXMOV DX,D8279MOV AL,DELAYTIMELEA BX,LEDXLATOUT DX,ALMOV AL,DIRDSPOUT DX,ALMOV CX,0006HLEA BX,DSPLOOP4:MOV AL,[BX]OUT DX,ALINC BXLOOP LOOP4MOV DX,C8279MOV AL,0C2HOUT DX,ALPOP BXRETDISPLAY ENDPQUIT:MOV DX,C8279MOV AL,0D2HOUT DX,ALJMP $LED DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH DSP DB 5EH,79H,79H,73H,6DH,0EDH DELAYTIME DB 01HSTEP DB 04H,05H,01H,09H,08HDB 0AH,02H,06H,02H,0AHDB 08H,09H,01H,05H,04HSTEP DB 08H,0CH,04H,06H,02HDB 03H,01H,09H,01H,03HDB 02H,06H,04H,0CH,08HDIRDSP DB 40HCODE ENDSEND START四、实验连线及结果CS8255--200H,CS8279已固定接至238H。

综合实验(8253+8259+8255控制步进电动机)

综合实验(8253+8259+8255控制步进电动机)
p8253: mov dx,04b6h
mov al,34h ;通道0,方式2
out dx,al
mov dx,04b0h
mov al,0
out dx,al
mov al,96h
out dx,al
sti
jmp $
int8259: cli
mov al,bl ;中断程序
mov dx,04a0h
out dx,al
OUT DX, AL ;
MOV AL, 80H ;设置中断向量号
MOV DX, 04C2H ;从04C2H端口地址送初始化命令字ICW2
OUT DX, AL ;
MOV AL, 01H ;设置ICW4,1680X86处理器
OUT DX, AL ;
MOV AL, 0FEH ;1111 1110设置OCW1值,允许IR0中断,禁止其他中断
四、实验原理
本实验由8253、8255、8259三个芯片及步进电机组成,各芯片的工作原理参看前各部分实验。
五、实验步骤
1、实验连线
8255CS~CS0,8255A口接步进电机A、B、C、D,为了观察步进电机的通电情况,将A、B、C、D插孔与发光二极管相连
8253CS~CS1,CLK2~8253CLK0,out0~8259IR0;
STI
JMP $
int8259:
CLI
MOV AL, BL ;中断程序
MOV DX, 04A0H ;向8255的A口写入高低电平
OUT DX, AL ;
MOV DX, 04A2H ;8255 B口端口地址04A2H
IN AL, DX ;从B口读入数据
TEST AL, 01H ;读入数据与0000 0001相与

8253、8259、8255综合设计题

8253、8259、8255综合设计题

1.键盘中断(8255,8259),设计一程序当按下任意键或任意组合键时从8255的A口读出按键扫描码并显示,按“ESC”键退出。

2.交通灯控制系统:按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。

可利用8255、8253、8259等接口电路。

(可到实验室完成)
3.键盘电子乐器:利用并行接口8255作为键盘接口,设计一个具有2个八度音阶的键盘乐器,音阶键不少于16个,采用扫描方式管理键盘,音域范围自行定义。

8255控制步进电机

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 。

微机原理实验报告

微机原理实验报告一、实验目的本次微机原理实验的主要目的是通过实际操作和观察,深入理解微机系统的工作原理和组成结构,掌握微机系统的编程和调试方法,提高我们对微机原理的实际应用能力。

二、实验设备1、计算机一台2、微机原理实验箱一套三、实验内容1、 8255 并行接口实验了解 8255 芯片的工作原理和编程方法。

通过编程实现 8255 芯片的 A 口、B 口、C 口的输入输出控制。

2、 8253 定时/计数器实验掌握 8253 芯片的工作方式和编程要点。

利用 8253 芯片实现定时和计数功能。

3、 8259 中断控制器实验学习 8259 芯片的中断管理机制。

编写中断服务程序,实现中断响应和处理。

四、实验原理1、 8255 并行接口8255 是一种可编程的并行接口芯片,具有 A、B、C 三个 8 位端口。

通过对控制字的编程,可以设置各个端口的工作方式为输入或输出。

2、 8253 定时/计数器8253 包含三个独立的 16 位计数器,每个计数器可以工作在不同的方式下,如方式 0 到方式 5。

通过对计数器的初值设置和控制字编程,可以实现定时和计数功能。

3、 8259 中断控制器8259 用于管理外部中断请求,可实现中断优先级的判断和中断嵌套。

通过对 8259 的初始化编程,可以设置中断触发方式、中断向量等。

五、实验步骤1、 8255 并行接口实验连接实验电路,将 8255 芯片与实验箱上的相关引脚连接好。

编写程序,设置 8255 的控制字,使 A 口为输出,B 口为输入。

向 A 口输出数据,从 B 口读取数据,并观察实验结果。

2、 8253 定时/计数器实验连接实验电路,将 8253 芯片与实验箱上的相关引脚连接好。

编写程序,设置 8253 计数器 0 的工作方式为方式 2,初值为 1000。

启动计数器,观察输出引脚的波形变化。

3、 8259 中断控制器实验连接实验电路,将 8259 芯片与实验箱上的相关引脚连接好。

计数器定时器8253和并行接口8255综合实验

计数器定时器8253和并行接口8255综合实验一、实验目的1.掌握8253定时原理和初始化方法。

2.掌握8255并行输入输出原理和初始化方法。

3.掌握定时器8253和并行接口8255的综合应用设计技术。

二、实验内容用8253定时1秒钟,“时间到”信号可由8255端口的一个位检测得到。

在8255的另一个端口连接8个发光二极管,则可实现每隔1秒钟循环点亮1个灯。

还可以在8255端口的另一个位连接一只开关,当开关拨到1时进入运行状态,当拨到0时返回DOS。

三、实验程序流程图四、实验硬件接线图程序清单:CODE SEGMENTASSUME CS:CODESTART:MOV AL,10010000B ;8255初始化MOV DX,28BH ;间接I/O寻址方式,8255的控制口地址OUT DX,AL ;将8255控制字送控制端口地址PR0: MOV AL,00110110B ;8253计数器0工作方式字MOV DX,283H ; 间接I/O寻址方式,8253的控制口地址OUT DX,AL ;将8253计数器0控制字送到控制端口地址MOV AX,1000 ;计数初值MOV DX,280H ;选中计数器0OUT DX,AL ; 将计数初值低字节送8253计数器0端口地址MOV AL,AH ; 先读写低字节,再读写高字节OUT DX,AL ; 将计数初值高字节送8253控制端口地址PR1: MOV AL,01111100B ;8253计数器1工作方式字MOV DX,283H ; 间接I/O寻址方式OUT DX,AL ;将8253计数器1控制字送到控制端口地址MOV AX,1000 ;计数初值MOV DX,281H ;选中计数器1OUT DX,AL ; 将计数初值低字节送8253计数器1端口地址MOV AL,AH ;先读写低字节,再读写高字节OUT DX,AL ;将计数初值高字节送8253控制口地址MOV BL,01HMOV DX,28AH ; 间接I/O寻址方式,8255的C口地址MOV AL,BLOUT DX,AL ;点亮一盏灯L1:MOV DX,288H ; 间接I/O寻址方式,8255的A口地址IN AL,DXTEST AL,10000000B ;测试PA7开关JE NEXT ;若为0则返回DOSL2: MOV DX,288H ;8255A口地址IN AL,DXTEST AL,00000001B ;测PA0,若是1则继续测PA0JNE L2ROL BL,1 ;若是0则准备点亮下一盏灯MOV DX,28AH ;8255C口地址MOV AL,BL ;点亮下一盏灯OUT DX,ALL3: MOV DX,288H ;8255A口地址IN AL,DXTEST AL,01H ;测PA0,若是0则继续测PA0JE L3 ;定时到OUT输出低电平并维持一个CLK周期JMP L1 ;若PA0为1,则跳转至L1NEXT: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START。

控制步进电机实验报告(3篇)

第1篇一、实验目的1. 理解步进电机的工作原理及控制方法。

2. 掌握单片机与步进电机驱动模块的接口连接方法。

3. 学习使用C语言编写程序,实现对步进电机的正反转、转速和定位控制。

4. 通过实验,加深对单片机控制系统的理解。

二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是控制精度高、响应速度快、定位准确。

步进电机控制实验主要涉及以下几个方面:1. 步进电机驱动模块:常用的驱动模块有ULN2003、A4988等,它们可以将单片机的数字信号转换为步进电机的控制信号。

2. 单片机:单片机是整个控制系统的核心,负责接收按键输入、处理数据、控制步进电机驱动模块等。

3. 步进电机:步进电机分为单相、双相和三相等类型,本实验使用的是双相四线步进电机。

三、实验设备1. 单片机开发板:例如STC89C52、STM32等。

2. 步进电机驱动模块:例如ULN2003、A4988等。

3. 双相四线步进电机。

4. 按键。

5. 数码管。

6. 电阻、电容等元件。

7. 电源。

四、实验步骤1. 硬件连接(1)将步进电机驱动模块的输入端(IN1、IN2、IN3、IN4)分别连接到单片机的P1.0、P1.1、P1.2、P1.3口。

(2)将按键的输入端连接到单片机的P3.0口。

(3)将数码管的段选端连接到单片机的P2口。

(4)将步进电机驱动模块的电源端连接到电源。

(5)将步进电机连接到驱动模块的输出端。

2. 编写程序(1)初始化单片机I/O端口,设置P1口为输出端口,P3.0口为输入端口,P2口为输出端口。

(2)编写按键扫描函数,用于读取按键状态。

(3)编写步进电机控制函数,实现正反转、转速和定位控制。

(4)编写主函数,实现以下功能:a. 初始化数码管显示;b. 读取按键状态;c. 根据按键状态调用步进电机控制函数;d. 更新数码管显示。

3. 调试程序(1)将程序烧写到单片机中;(2)打开电源,观察数码管显示和步进电机运行状态;(3)根据需要调整程序,实现不同的控制效果。

微机原理综合实训报告

通过本次微机原理综合实训,使学生掌握微型计算机的基本组成、工作原理以及常用接口技术,培养学生动手实践能力、分析问题和解决问题的能力。

具体目标如下:1. 熟悉微型计算机的硬件组成,了解各部件的功能和相互关系。

2. 掌握微机原理与接口技术的基本知识,如总线、中断、DMA等。

3. 学会使用常用接口芯片,如8255、8259、8253等。

4. 能够进行简单的微机原理设计与实现。

二、实训内容1. 微型计算机硬件组成实验(1)了解微型计算机的基本组成,包括中央处理器(CPU)、存储器、输入输出设备、总线等。

(2)学习CPU的内部结构,了解指令系统、寻址方式等。

(3)了解存储器的分类、容量、速度等参数,学习存储器扩展技术。

(4)学习输入输出设备的工作原理,掌握常用接口芯片的使用方法。

2. 微机原理与接口技术实验(1)学习总线、中断、DMA等基本概念,了解其工作原理。

(2)学习8255并行接口芯片的应用,实现LED显示、按键输入等功能。

(3)学习8259中断控制器芯片的应用,实现中断处理。

(4)学习8253定时/计数器芯片的应用,实现定时功能。

3. 系统设计与实现(1)根据实训要求,设计一个简单的微机系统。

(2)确定系统硬件组成,选择合适的接口芯片。

(3)编写系统软件,实现系统功能。

(4)进行系统调试,确保系统稳定运行。

1. 实验准备(1)了解实验目的、内容和方法。

(2)查阅相关资料,掌握实验所需知识和技能。

(3)准备实验仪器和设备,如示波器、逻辑分析仪等。

2. 实验操作(1)按照实验步骤进行操作,观察实验现象。

(2)记录实验数据,分析实验结果。

(3)针对实验过程中遇到的问题,查阅资料、请教老师,解决问题。

3. 系统设计与实现(1)根据实训要求,确定系统设计方案。

(2)进行硬件选型,设计电路图。

(3)编写系统软件,实现系统功能。

(4)进行系统调试,确保系统稳定运行。

四、实训成果1. 完成微型计算机硬件组成实验,掌握微型计算机的基本组成和工作原理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合实验实验报告
专业班级测控技术与仪器1302班姓名学号
实验题目8255A+8253+8259控制步进电机日期
实验九、8255A+8253+8259控制步进电机
一、实验目的
进一步掌握8253、8259、8255的工作原理,熟悉它们的使用方法,根据被控对象的要求组合使用步进电机的工作原理和控制方法。
二、实验设备
p8253: mov dx,04b6h
mov al,34h ;通道0,方式2
out dx,al
mov dx,04b0h
mov al,0
out dx,al
mov al,96h
out dx,al
sti
jmp $
int8259: cli
mov al,bl ;中断程序
mov dx,04a0h
out dx,al
JNZ NEXT1 ;若控制端为0,跳转
ROL BL, 1 ;若控制端为1,循环左移一位
JMP NEXT2 ;
NEXT1:
ROR BL, 1 ;控制端为0,循环右移一位
NEXT2:
MOV AL, 20H ;0010 0000,
MOV DX, 04C0H ;写入OCW2值,发EOI结束中断命令
OUT DX, AL ;输出结束中断命令
四、实验原理
本实验由8253、8255、8259三个芯片及步进电机组成,各芯片的工作原理参看前各部分实验。
五、实验步骤
1、实验连线
8255CS~CS0,8255A口接步进电机A、B、C、D,为了观察步进电机的通电情况,将A、B、C、D插孔与发光二极管相连
8253CS~CS1,CLK2~8253CLK0,out0~8259IR0;
8259CS~CS2,INT~INT(INT在8086小板上),INTA~INTA(在8086小板上)
2、根据程序框图编程实验程序,并对编写好的程序进行汇编、连接,然后全速或单步运行程序。
3、全速运行后观察步进电机的旋转情况以及发光二极管的变化。
六、实验程序
code segment
assume cs:code
MOV BX, 202H ;下一个字写入CS值
MOV AX, 100H ;
MOV DS:[BX], AX ;CS值为100H
for8259:
MOV AL, 13H ;8259初始化定义,0001 0011,单片方式,需要写ICW4
MOV DX, 04C0H ;从04C0H端口地址送初始化命令字ICW1
p8253:
MOV DX, 04B6H ;8253控制端端口地址04B6H
MOV AL, 34H ;通道0,方式2
OUT DX, AL ;
MOV DX, 04B0H ;通道0端口地址04B0H
MOV AL, 0 ;写入低字节
OUT DX, AL ;
MOV AL, 96H ;写入高字节
OUT DX, AL ;
p8259:
CLI
MOV AX, 0 ;中断程序的段地址、偏移地址填写
MOV DS, AX ;设置CS值为0
MOV AX, offset int8259 ;取int8259偏移地址
MOV BX, 200H ;设置IP值,对应IR0的中断向量
MOV DS:[BX], AX ;送偏移地址IP进0H:200H
org 100h
p8259: cli
mov ax,0 ;中断程序的段地址、偏移地址填写
mov ds,ax
mov ax,offset int8259
mov bx,200h
mov ds:[bx],ax
mov bx,202h
mov ax,100h
mov ds:[bx],ax
for8259: mov al,13h ;8259初始化定义
STI
IRET ;返回断点处
CODE ENDS
END p8259
OUT DX, AL ;
MOV AL, 80H ;设置中断向量号
MOV DX, 04C2H ;从04C2H端口地址送初始化命令字ICW2
OUT DX, AL ;
MOV AL, 01H ;设置ICW4,1680X86处理器
OUT DX, AL ;
MOV AL, 0FEH ;1111 1110设置OCW1值,允许IR0中断,禁止其他中断
STI
JMP $
int8259:
CLI
MOV AL, BL ;中断程序
MOV DX, 04A0H ;向8255的A口写入高低电平
OUT DX, AL ;
MOV DX, 04A2H ;8255 B口端口地址04A2H
IN AL, DX ;从B口读入数据
TEST AL, 01H ;读入数据与0000 0001相与
OUT DX, AL ;写入OCW1
MOV SI, 0 ;
i8255:
MOV DX, 04A6H ;8255初始化定义
MOV AL, 82H ; 1000 0010设置8255方式控制字,A口输出,B口输入,均为
;方式0工作模式
OUT DX, AL ;
MOV BL, 33H ;设置初值0011 0011
EL教学实验装置一个、计算机一套。
三、实验内容
将实验装置上的脉冲发生器所产生的脉冲信号作为定时/计数器8253的计数脉冲,使8253工作于周期计数方式(方式2),使其产生的脉冲输出信号作为中断控制器8259芯片的中断源。
中断控制器8259响应中断后,调用中断服务程序(8255驱动步进电动机)完成8255芯片对步进电机的控制。
rol bl,1
mov al,20h
mov dx,04c0h
out dx,al
sti
iret
code ends
end p8259
七、思考题
1、分析程序并写出程序注释。
2、如何在电动机工作状态下通过设置一个状态控制开关实现步进电机的反向转动?
答:
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
mov dx,04c0h
out dx,al
mov al,80h
mov dx,04c2h
out dx,al
mov al,01h
out dx,al
mov al,0feh
out dx,al
mov si,0
i8255: movout dx,al
mov bl,33h ;设置初置
相关文档
最新文档