上海大学微机实践报告13Word格式.docx
《上海大学微机实践报告13Word格式.docx》由会员分享,可在线阅读,更多相关《上海大学微机实践报告13Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
![上海大学微机实践报告13Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/12/f9264bdb-c166-42b5-8ac8-d58edbc061a8/f9264bdb-c166-42b5-8ac8-d58edbc061a81.gif)
JNZ Y2 /测试AL是否等于02H,若不等于,则跳入循环Y2/
MOV DX,9000H
MOVAL,0FFH/点亮所有的灯/
OUTDX,AL
JMPSTART
Y1:
TESTAL,02H
JNZ Y3/测试AL是否等于02H,若不等于,则跳入循环Y3/
MOVDX,9000H
MOVAL,0AAH /点亮奇数号灯/
OUTDX,AL
JMPSTART
Y2:
MOVDX,9000H
MOVAL,55H/点亮偶数号灯/
JMP START
Y3:
MOV DX,9000H
MOVAL,00H/所有灯全灭/
OUTDX,AL
JMPSTART
CODEENDS
ENDSTART
【问答题】
1、I/O端口的寻址方式有哪2种?
在 x86系统中,采用哪一种?
解:
I/O端口的寻址方式有:
一种是I/O地址与存储器地址统一编址,一种是I/O地址与存储器地址分别独立编址。
在x86系统中,采用I/O地址与存储器地址分别独立编址。
2、在输入/输出电路中,为什么常常要使用锁存器和缓冲器?
解:
输入/输出按方式分为程序控制和DMA两类,程序控制方式又分为同步方式、异步方式和中断方式。
在程序控制方式中,同步方式的软件编程和硬件实现都十分简单,当需要时,就可以直接在需要输入/输出的地方写输入/输出指令。
异步方式由于需要根据状态信息进行输入/输出操作,就需要增加必要的“握手”信号电路,程序设计也要包括对状态信息的判断,根据状态信息再决定是继续等待还是将信息读入或输出。
中断方式在程序控制输入/输出方式中比较复杂,需要有中断控制器等硬件电路和接口芯片,程序也包括了中断处理程序来完成计算机输入、输出。
DMA是另一类输入/输出方式,在进行输入/输出时,不需要CPU直接参加操作,而仅是将总线空出给DMA控制器使用。
当然,DMA方式要求的硬件电路更加复杂。
其优点是响应速度快,缺点是需要增加硬件电路。
【心得体会】
通过本次试验的操作,我熟悉了试验箱和软件开发平台的使用,也了解到了智能芯片接口8255的端口配置方法,掌握了编程和调试基本技能,加深了对课堂上理论知识的学习,将理论与实践动手相结合,更好的掌握了知识的全面性。
实验二模拟交通灯实验
1.学习在PC机系统中扩展简单I/O接口的方法。
2.进一步学习编制数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。
PC0→L3;
PC1→L7;
PC2→L11;
PC3→L15;
红灯
PC4→L2;
PC5→L6;
PC6→L10;
PC7→L14;
绿灯
PB4→L1;
PB5→L5;
PB6→L9;
PB7→L13。
黄灯
8255数据、控制线内部已线连好。
CODE SEGMENT
ASSUME CS:
ORG1200H
PORTA EQU0FF28H
PORTB EQU0FF29H
PORTCEQU 0FF2AH
PORTCNEQU0FF2BH
START:
MOVDX,PORTCN
MOVAL,80H
MOVDX,PORTB
MOVAL,0F0H
OUT DX,AL/黄灯熄灭/
MOV DX,PORTC
MOVAL,0F0H
OUT DX,AL/绿灯熄灭,红灯点亮/
CALL DELAY1 /延时1/
MOVDX,PORTC
MOVAL,0A5H
OUTDX,AL/1、3路口绿灯亮,2、4路口红灯亮/
CALLDELAY3/延时3/
MOVDX,PORTC
MOVAL,0F5H
OUT DX,AL /1、3绿灯熄灭(2、4红灯亮)/
MOVCX,8
LOOP1:
MOV DX,PORTB
MOV AL,0A0H
OUTDX,AL/1、3黄灯亮/
MOVDX,PORTC
MOV AL,0F5H
OUTDX,AL/绿灯全灭,2、4红灯亮/
CALLDELAY2/延时2/
MOV DX,PORTB
MOV AL,0FFH
OUTDX,AL /黄灯全部灭/
CALL DELAY2
DECCX
JNZLOOP1
MOVDX,PORTB
MOV AL,0F0H
OUT DX,AL/黄灯全灭/
MOVDX,PORTC
OUTDX,AL/绿灯熄灭,红灯点亮/
CALL DELAY1/延时1/
MOVDX,PORTC
MOV AL,5AH
OUT DX,AL/1、3红灯亮,2、4绿灯亮/
MOV DX,PORTB
MOV AL,0F0H
OUTDX,AL/黄灯全灭/
CALLDELAY3 /延时3/
MOVDX,PORTC
MOVAL,0FAH
OUTDX,AL/2、4绿灯灭(1、3红灯亮)/
MOVCX,8
LOOP2:
MOVDX,PORTB
MOV AL,50H
OUTDX,AL/2、4黄灯亮/
MOVDX,PORTC
MOV AL,0FAH
OUT DX,AL/1、3红灯亮,绿灯全灭/
CALLDELAY2/延时2/
MOV DX,PORTB
MOVAL,0FFH
OUT DX,AL/黄灯全灭/
CALLDELAY2
DECCX
JNZLOOP2
JMPSTART
DELAY1:
MOVAX,5H
MOVBX,0H
X:
DECBX
JNZX
DECAX
JNZX
RET
DELAY2:
MOVAX,1H
MOV BX,0H
Y:
DECBX
JNZY
DEC AX
JNZY
RET
DELAY3:
MOVAX,20H
MOVBX,0H
Z:
DECBX
JNZZ
DECAX
JNZZ
RET
CODEENDS
ENDSTART
1、8255A的哪个端口能实现位操作控制(按位置位/复位)?
执行控制字写入操作的端口是哪个?
8255A 的C端口能实现位操作控制(按位置位/复位),执行控制字写入操作的端口是命令字端口。
2、写出下图中Intel8255A占用的4个端口地址。
FFF0H、FFF2H、FFF4H、FFF6H。
本实验是模拟交通灯工作的实验,通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3 对应红灯,PC4-PC7 对应绿灯,以模拟交通路灯的管理。
在实验中不但要满足题目所提出的要求,更要结合实际,考虑到现实问题,比如说绿灯时间要比红灯时间长。
通过本次实验,不仅再次熟悉了8255A,更是对自己编程技术一个很好的锻炼。
ﻬ
实验三:
8253定时器/计数器实验
1.学会8253芯片与微机接口的原理和方法;
2.掌握8253定时器/计数器的工作原理和编程方法。
编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。
1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对;
2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对;
3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。
CS3→0040H;
JX8→JX0;
IOWR→IOWR;
IORD→IORD;
A0→A0;
A1→A1;
GATE0→+5V;
GATE1→+5V+5V;
OUT0→CLK1;
OUT1→L1;
CLK0→0.5MHz;
(单脉冲与时钟元)
(最终实验效果程序)
CODE SEGMENT
ASSUMECS:
CODE
ORG1000H
START:
MOV DX,43H ;
写8253控制字
MOV AL,00110101B ;
计数器0,选16位(先低后高),方式2,
OUTDX,AL ;
BCD码计数
MOVDX,40H ;
计数器0
MOVAL,00H ;
送初值,低8位
OUTDX,AL
MOVAL,05H ;
送初值,高8位
OUT DX,AL
MOVDX,43H ;
写8253控制字
MOVAL,01110111B;
计数器1,选16位(先低后高),方式3,
OUTDX,AL ;
BCD码计数
MOVDX,41H ;
计数器1
MOVAL,00H ;
送初值,低8位
OUTDX,AL
MOVAL,10H ;
JMP$
CODEENDS
ENDSTART
如要用二进制计数,则修改控制字最后一位为0,并修改相应初值。
问题二:
注释和一基本相同
CODESEGMENT
ASSUME CS:
CODE
ORG 1000H
START:
MOVDX,43H
MOVAL,00110100B ;
控制寄存器的初始化
OUTDX,AL
MOVDX,40H;
MOVAL,0F4H;
写入初值
OUT DX,AL
MOV AL,01H
OUTDX,AL
MOV DX,43H;
MOV AL,01110110B
OUTDX,AL
MOVDX,41H;
MOVAL,0E8H ;
OUTDX,AL
MOV AL,03H
OUTDX,AL
JMP$ ;
结束
CODEENDS
ENDSTART
第三个问题:
改成BCD码,注释和二一样。
CODESEGMENT
ASSUMECS:
CODE
ORG1000H
START:
MOVDX,43H
MOV AL,00110101B
OUTDX,AL
MOVDX,40H
MOVAL,00H ;
OUT DX,AL