上海大学微机实践报告13.docx

上传人:b****5 文档编号:7645906 上传时间:2023-05-11 格式:DOCX 页数:14 大小:675.86KB
下载 相关 举报
上海大学微机实践报告13.docx_第1页
第1页 / 共14页
上海大学微机实践报告13.docx_第2页
第2页 / 共14页
上海大学微机实践报告13.docx_第3页
第3页 / 共14页
上海大学微机实践报告13.docx_第4页
第4页 / 共14页
上海大学微机实践报告13.docx_第5页
第5页 / 共14页
上海大学微机实践报告13.docx_第6页
第6页 / 共14页
上海大学微机实践报告13.docx_第7页
第7页 / 共14页
上海大学微机实践报告13.docx_第8页
第8页 / 共14页
上海大学微机实践报告13.docx_第9页
第9页 / 共14页
上海大学微机实践报告13.docx_第10页
第10页 / 共14页
上海大学微机实践报告13.docx_第11页
第11页 / 共14页
上海大学微机实践报告13.docx_第12页
第12页 / 共14页
上海大学微机实践报告13.docx_第13页
第13页 / 共14页
上海大学微机实践报告13.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

上海大学微机实践报告13.docx

《上海大学微机实践报告13.docx》由会员分享,可在线阅读,更多相关《上海大学微机实践报告13.docx(14页珍藏版)》请在冰点文库上搜索。

上海大学微机实践报告13.docx

上海大学微机实践报告13

上海大学微机实践报告

实验一:

开关状态显示

【实验目的】

熟悉实验箱和软件开发平台的使用。

了解基本I/O端口的操作方法和技巧,掌握编程和调试基本技能。

【实验内容】

利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。

【实验区域电路连接图】

参考上图连线:

Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。

【程序框图】

【编程】

CODESEGMENT

ASSUMECS:

CODE

ORG1200H

START:

MOVDX,8000H

INAL,DX

TESTAL,01H

JNZY1/测试AL是否等于01H,若不等于,则跳入循环Y1/

TESTAL,02H

JNZY2/测试AL是否等于02H,若不等于,则跳入循环Y2/

MOVDX,9000H

MOVAL,0FFH/点亮所有的灯/

OUTDX,AL

JMPSTART

Y1:

TESTAL,02H

JNZY3/测试AL是否等于02H,若不等于,则跳入循环Y3/

MOVDX,9000H

MOVAL,0AAH/点亮奇数号灯/

OUTDX,AL

JMPSTART

Y2:

MOVDX,9000H

MOVAL,55H/点亮偶数号灯/

OUTDX,AL

JMPSTART

Y3:

MOVDX,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数据、控制线内部已线连好。

【程序框图】

【编程】

CODESEGMENT

ASSUMECS:

CODE

ORG1200H

PORTAEQU0FF28H

PORTBEQU0FF29H

PORTCEQU0FF2AH

PORTCNEQU0FF2BH

START:

MOVDX,PORTCN

MOVAL,80H

OUTDX,AL

 

MOVDX,PORTB

MOVAL,0F0H

OUTDX,AL/黄灯熄灭/

MOVDX,PORTC

MOVAL,0F0H

OUTDX,AL/绿灯熄灭,红灯点亮/

CALLDELAY1/延时1/

MOVDX,PORTC

MOVAL,0A5H

OUTDX,AL/1、3路口绿灯亮,2、4路口红灯亮/

CALLDELAY3/延时3/

MOVDX,PORTC

MOVAL,0F5H

OUTDX,AL/1、3绿灯熄灭(2、4红灯亮)/

MOVCX,8

LOOP1:

MOVDX,PORTB

MOVAL,0A0H

OUTDX,AL/1、3黄灯亮/

MOVDX,PORTC

MOVAL,0F5H

OUTDX,AL/绿灯全灭,2、4红灯亮/

CALLDELAY2/延时2/

MOVDX,PORTB

MOVAL,0FFH

OUTDX,AL/黄灯全部灭/

CALLDELAY2

DECCX

JNZLOOP1

MOVDX,PORTB

MOVAL,0F0H

OUTDX,AL/黄灯全灭/

MOVDX,PORTC

MOVAL,0F0H

OUTDX,AL/绿灯熄灭,红灯点亮/

CALLDELAY1/延时1/

MOVDX,PORTC

MOVAL,5AH

OUTDX,AL/1、3红灯亮,2、4绿灯亮/

MOVDX,PORTB

MOVAL,0F0H

OUTDX,AL/黄灯全灭/

CALLDELAY3/延时3/

MOVDX,PORTC

MOVAL,0FAH

OUTDX,AL/2、4绿灯灭(1、3红灯亮)/

MOVCX,8

LOOP2:

MOVDX,PORTB

MOVAL,50H

OUTDX,AL/2、4黄灯亮/

MOVDX,PORTC

MOVAL,0FAH

OUTDX,AL/1、3红灯亮,绿灯全灭/

CALLDELAY2/延时2/

MOVDX,PORTB

MOVAL,0FFH

OUTDX,AL/黄灯全灭/

CALLDELAY2

DECCX

JNZLOOP2

JMPSTART

DELAY1:

MOVAX,5H

MOVBX,0H

X:

DECBX

JNZX

DECAX

JNZX

RET

DELAY2:

MOVAX,1H

MOVBX,0H

Y:

DECBX

JNZY

DECAX

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;(单脉冲与时钟元)

【程序框图】

【编程】

(最终实验效果程序)

CODESEGMENT

ASSUMECS:

CODE

ORG1000H

START:

MOVDX,43H;写8253控制字

MOVAL,00110101B;计数器0,选16位(先低后高),方式2,

OUTDX,AL;BCD码计数

MOVDX,40H;计数器0

MOVAL,00H;送初值,低8位

OUTDX,AL

MOVAL,05H;送初值,高8位

OUTDX,AL

MOVDX,43H;写8253控制字

MOVAL,01110111B;计数器1,选16位(先低后高),方式3,

OUTDX,AL;BCD码计数

MOVDX,41H;计数器1

MOVAL,00H;送初值,低8位

OUTDX,AL

MOVAL,10H;送初值,高8位

OUTDX,AL

JMP$

CODEENDS

ENDSTART

如要用二进制计数,则修改控制字最后一位为0,并修改相应初值。

问题二:

注释和一基本相同

CODESEGMENT

ASSUMECS:

CODE

ORG1000H

START:

MOVDX,43H

MOVAL,00110100B;控制寄存器的初始化

OUTDX,AL

MOVDX,40H;计数器0

MOVAL,0F4H;写入初值

OUTDX,AL

MOVAL,01H

OUTDX,AL

MOVDX,43H;控制寄存器的初始化

MOVAL,01110110B

OUTDX,AL

MOVDX,41H;计数器1

MOVAL,0E8H;写入初值

OUTDX,AL

MOVAL,03H

OUTDX,AL

JMP$;结束

CODEENDS

ENDSTART

第三个问题:

改成BCD码,注释和二一样。

CODESEGMENT

ASSUMECS:

CODE

ORG1000H

START:

MOVDX,43H

MOVAL,00110101B

OUTDX,AL

MOVDX,40H

MOVAL,00H;写入初值

OUTDX,AL

MOVAL,05H

OUTDX,AL

MOVDX,43H

MOVAL,01110111B

OUTDX,AL

MOVDX,41H

MOVAL,00H;写入初值

OUTDX,AL

MOVAL,10H

OUTDX,AL

JMP$

CODEENDS

ENDSTART

【问答题】

1、8253初始化编程时需要遵循的原则是什么?

解:

答:

在编程时必须遵守两条原则:

(1).在对某个计数器设置初值之前,必须先写入控制字;

(2).在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是低。

高位字节都写(分两次写,先低后高)。

2、简述8253初始化编程的步骤。

解:

1.首先向控制寄存器写入控制字,以选定计数通道(三个中之一),规定该计数的工作方式和计数方式以及计数初值的长度和装入顺序(初值写入方式);

2.向已选定的计数器按控制字的要求写入计数初值。

【心得体会】

这次实验主要用到8253的知识,要知道8253的控制字,每一位代表的意义,以及8253的控制字以及命令字的端口地址。

要了解BCD码与数制之间的转换。

通过这次的实验,巩固了这些知识,并加深了了解。

通过这次实验,我觉得,能够将学到的知识应用于实践中去,是非常有意义的,同时在实践中,又能巩固理论知识,是一件两全其美的事情。

所以一定要认真的去完成每一次实验,这样在能在实践中得到锻炼,让所学过的知识更加深刻。

通过本次实验,我更进一步熟悉了8253,并更好的锻炼了自己对于编程知识的运用。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2