综合实验(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实验报告

数字逻辑与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控制步进电动机)

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综合设计题

1.键盘中断(8255,8259),设计一程序当按下任意键或任意组合键时从8255的A口读出按键扫描码并显示,按“ESC”键退出。
2.交通灯控制系统:按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。
可利用8255、8253、8259等接口电路。
(可到实验室完成)
3.键盘电子乐器:利用并行接口8255作为键盘接口,设计一个具有2个八度音阶的键盘乐器,音阶键不少于16个,采用扫描方式管理键盘,音域范围自行定义。
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和8259实现电子表洗衣机控制系统

2015-2016 学年第一学期《微型计算机技术》课程设计报告项目组:第八组学院:计算机科学与工程指导教师:唐培丽设计时间:2016年1月目录一、团队构成及分工 (3)二、项目进度计划 (4)三、实验报告 (5)四、设计报告 (7)五、程序清单 (20)六、课程设计总结 (40)一、团队构成及分工指导教师签字:年月日二、项目进度计划三、实验报告1.实验目的1.学习8253编程定时/计数器的工作方式。
2.掌握中断控制器8259A与微处理机接口的原理和方法。
3.掌握中断控制器8259A的应用编程。
2.实验内容利用8253的定时器功能。
8253的四个端口地址为48H,49H,4AH,4BH,本实验采用8253的通道2,工作在方式3(方波发生器方式)输入CLK2为1KHZ。
输出OUT2作为8259的断请求信号。
8259有两个口地址,本实验为20H和21H,其中20H用来写ICW1,21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,中断类型号的起始值是8,采用3号中断源,即IRQ3和8253输出口OUT2相连,每过1秒接收到一个中断,向8259发出中断请求信号, CPU响应后,在中断处理程序中,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,以便显示器显示更新后的时间。
计数初值的计算:1/1000000*X=1/20 X=50000D=0C350H(用1MHZ信号产生1/20秒方波)3.实验步骤1.连接好实验线路。
图1-1 实验连线图2.编写程序并调试。
3.运行程序,实验仪显示器上显示一电子秒表。
4.实验记录显示屏亮,刚开始可以看到八段管的第六个管开始显示数字,计时开始,每秒加1,实现了时钟效果。
现象的原因分析:程序写入控制字与计数初值后,定时器启动工作,当计数器减到1时,输出端输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端输出1s,向CPU申请中断,其中一个数码管显示,当计数到60s时,输出端向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h,CPU处理,使数码管的显示发生变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本实验由8253、8255、8259三个芯片及步进电机组成,各芯片的工作原理参看前各部分实验。
五、实验步骤
1、实验连线
8255CS~CS0,8255A口接步进电机A、B、C、D,为了观察步进电机的通电情况,将A、B、C、D插孔与发光二极管相连
8253CS~CS1,CLK2~8253CLK0,out0~8259IR0;
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
8259CS~CS2,INT~INT(INT在8086小板上),INTA~INTA(在8086小板上)
2、根据程序框图编程实验程序,并对编写好的程序进行汇编、连接,然后全速或单步运行程序。
3、全速运行后观察步进电机的旋转情况以及发光二极管的变化。
六、实验程序
code segment
assume cs:code
接口实验报告
专业班级计算机1208班姓名刘正皓学号20124729
实验题目8255A+8253+8259控制步进电机日期2015-1
实验九、8255A+8253+8259控制步进电机
一、实验目的
进一步掌握8253、8259、8255的工作原理,熟悉它们的使用方法,根据被控对象的要求组合使用步进电机的工作原理和控制方法。
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: mov dx,04a6h ;8255初始化定义
mov al,80h
out dx,al
mov bl,33h ;设置初置
二、实验设备
EL教学实验装置一个、计算机一套。
三、实验内容
将实验装置上的脉冲发生器所产生的脉冲信号作为定时/计数器8253的计数脉冲,使8253工作于周期计数方式(方式2),使其产生的脉冲输出信号作为中断控制器8259芯片的中断源。
中断控制器8259响应中断后,调用中断服务程序(8255驱动步进电动机)完成8255芯片对步进电机的控制。
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: mov dx,04a6h ;8255初始化定义
mov al,82h;设置8255为端口B输入的模式
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初始化定义
out dx,al
mov bl,33h ;设置初置
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 ;中断程序
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
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 dsLeabharlann [bx],axfor8259: mov al,13h ;8259初始化定义
out dx,al
sti
iret
code ends
end p8259
mov dx,04a0h
out dx,al
mov dx,04a2h从8255B口读取状态开关的情况
in al,dx
cmp al,01h判断状态开关高低电平
jnz one
rol bl,1若为低电平电机正转
jmp two
one: ror bl,1若为高电平电机反转
two: mov al,20h
mov dx,04c0h