北邮微原硬件实验报告

更新时间:2024-06-25 00:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

微机原理硬件实验·报告

2014—2015学年第一学期 《微机原理硬件》实验报告

专 业 电子信息工程

班 级 2012211103

姓 名 申 宇 飞 学 号 2012210064 班内序号 03 报告日期 2015年1月

0 第页

微机原理硬件实验·报告

目录

实验一 I/O地址译码 ............................................................................................................... 3 一、实验目的 ............................................................................................................................. 3 二、实验内容及原理,实验硬件接线图 .................................................................................. 3 三、程序流程图及源代码 .......................................................................................................... 6 1、程序流程图: ................................................................................................................... 6 2、源代码: ........................................................................................................................... 6 四、实验结果 ............................................................................................................................. 8 五、实验收获与心得体会 .......................................................................................................... 8 实验二 简单并行接口 ............................................................................................................... 9 一、实验目的 ............................................................................................................................. 9 二、实验内容及原理,实验硬件接线图 .................................................................................. 9 三、程序流程图及源代码 ........................................................................................................ 11 1、程序流程图: ................................................................................................................. 11 2、源代码: ......................................................................................................................... 11 四、实验结果 ........................................................................................................................... 12 五、实验收获与心得体会 ........................................................................................................ 12 实验四 七段数码管 ............................................................................................................... 13 一、实验目的 ........................................................................................................................... 13 二、实验内容及原理,实验硬件接线图 ................................................................................ 13 三、程序流程图及源代码 ........................................................................................................ 16 1、程序流程图: ................................................................................................................. 16 2、源代码: ......................................................................................................................... 17 四、实验结果 ........................................................................................................................... 20 五、实验收获与心得体会 ........................................................................................................ 20 实验八 可编程定时器/计数器(8253/8254) ................................................................. 21

1 第页

微机原理硬件实验·报告

一、实验目的 ........................................................................................................................... 21 二、实验内容及原理,实验硬件接线图 ................................................................................ 21 三、程序流程图及源代码 ........................................................................................................ 24 四、 实验结果 ......................................................................................................................... 36 五、实验收获与心得体会 ........................................................................................................ 36 实验十六 串行口8251A实验 ................................................................................................. 37 一、实验目的 ........................................................................................................................... 37 二、实验内容及原理,实验硬件接线图 ................................................................................ 38 三、程序流程图及源代码 ........................................................................................................ 49 1、程序流程图 ..................................................................................................................... 49 2、源程序: ......................................................................................................................... 49 四、实验结果 ........................................................................................................................... 54 五、实验收获与心得体会 ........................................................................................................ 54

2 第页

微机原理硬件实验·报告

实验一 I/O地址译码

一、实验目的

1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 掌握I/O地址译码电路的工作原理。

二、实验内容及原理,实验硬件接线图

图 1-1 实验硬件接线图

3 第页

微机原理硬件实验·报告

1、 硬件接线提示:

Y4/IO地址 接 CLK/D触发器 Y5/IO地址 接 CD/D触发器

D/D触发器 接 SD/D角发器 接 +5V Q/D触发器 接 L7(LED灯)或 逻辑笔

2、实验内容及原理:

实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

根据图1-1,我们可以确定A9~A3,AEN,IOW,IOR的值。要使译码电路正常工作,必须使处于低电平有效。因而可以确定A6=A8=0,A7=A9=1,AEN=0,IOW与IOR不可同时为1(即不能同时读写)。当要从Y4输出低脉冲时,A5A4A3=100;从Y5输出时,A5A4A3=101。综上所述,Y4输出时,应

4 第页

微机原理硬件实验·报告

设置值2A0H(A9~A0=1010100000B);Y5输出时,应设置值2A8H(A9~A0=1010101000B)。

执行下面两条指令 MOV DX,2A0H

OUT DX,AL(或IN AL,DX)

Y4输出一个负脉冲到D触发器的CLK上,因为D=1(接了高电平+5V),所以Q被赋值为1.

延时一段时间(delay); 执行下面两条指令; MOV DX,2A8H

OUT DX,AL(或IN AL,DX)

Y5输出一个负脉冲到CD,D触发器被复位,Q=0。 再延时一段时间,然后循环上述步骤。

利用这两个个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

5 第页

微机原理硬件实验·报告

三、程序流程图及源代码

1、程序流程图:

开始在Y4端口输出一个负脉冲延时N 在Y5端口输出一个负脉冲延时是否有键盘输入?Y结束

图 1-2 程序流程图

2、源代码:

outport1 equ 2a0h ;预置,方便修改 outport2 equ 2a8h code segment assume cs:code

6 第页

微机原理硬件实验·报告

start:

mov dx,outport1

;根据原理图设定A9~A0的值(Y4)

out dx,al ;让译码器Y4口输出一个负脉冲 call delay

;延时

mov dx,outport2 ;根据原理图设定A9~A0的值(Y5) out dx,al call delay mov ah,1 int 16h je start

mov ah,4ch

;若有键盘输入则退出程序,否则继续循环 ;让译码器Y5口输出一个负脉冲

;延时

;调用1号DOS功能,等待键盘输入

int 21h delay proc near mov bx,200 a: mov cx,0 b: loop b dec bx

7 第页

;延时子程序 ;时延长度(200)

微机原理硬件实验·报告

jne a ret delay endp code ends end start

四、实验结果

LED 灯处于闪烁状态,键盘有输入后,成功退出。

五、实验收获与心得体会

遇到的问题:需要合理设置时延值。

本次是第一次进入微原硬件实验室,熟悉了将要使用的实验仪器、系统,学习了最基本I/O地址译码的方法,学会了在实验的环境下进行单步调试,

8 第页

微机原理硬件实验·报告

对接口的地址、LED灯的控制有了初步的了解。为后续实验做了准备。

实验二 简单并行接口

一、实验目的

掌握简单并行接口的工作原理及使用方法。

二、实验内容及原理,实验硬件接线图

1、按下面图2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

9 第页

微机原理硬件实验·报告

图 2-1 实验电路图

10 第页

微机原理硬件实验·报告

三、程序流程图及源代码

1、程序流程图:

图2-2 流程图

2、源代码:

CODE SEGMENT ASSUME CS:CODE START:

MOV AH,1 INT 21H CMP AL,1BH

;是否键入“ESC”

11 第页

;调用一号DOS命令,等待键盘输入

微机原理硬件实验·报告

JZ FINNAL ;当键入“ESC”则退出程序

;288H为端口地址

MOV DX,288H OUT DX,AL JMP START

;向该端口输出对应的ASCII码 ;循环

;返回DOS

FINNAL:MOV AH,4CH

INT 21H CODE ENDS

END START

四、 实验结果

键盘输入一个字符,LED 灯显示相应的 ASCII 码。键入 ESC 后成功退出。

五、实验收获与心得体会

本次实验让我对实验有了更深的了解,硬件实验需要经常读取硬件的状态,根据其状态采取相应的控制方案,同时需要向接口输出数据和控制信息,

12 第页

微机原理硬件实验·报告

驱动硬件正常工作。通过键盘的输入还记下了一些字符的 ASCII 码。

实验四 七段数码管

一、 实验目的

1、通过实验,掌握8255工作方式0以及设置A口为输出口,C口为输

入口的方法。

2、掌握数码管显示数字的原理

二、 实验内容及原理,实验硬件接线图

1、8255芯片工作原理: 1)8255的工作方式:

一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在方式0、方式1,C口可以工作在方式0。

方式0是基本型输入/输出。这种方式和外设交换数据时,8255端口与外设之间不使用联络线。

方式1为选通型输入/输出。用这种方式和外界交换数据时,端口和外设之间要有联络信号。

方式2是双向数据传送,仅A口有这项功能。当A口工作在方式2时,

13 第页

微机原理硬件实验·报告

B口仍可以工作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。 2 )工作方式选择字

8255工作方式选择字共8位(如图3-1),存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控 制寄存器中存放的是C口置位/复位控制字。

根据上图,方式控制字应为:10000000B,即80H。

8255控制寄存器端口地址--28BH, A口的地址--288H, B口的地址--289H,C口的地址--28AH。

2、七段数码管及接线图:

1)静态显示:按3-2连接好电路,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0、S1 、S2、S3接PC0、PC1、PC2、PC3,编程在数码管显示自己的学号的后四位。(或编程在数码管上循环显示“00-99,” 位码驱动输入端S0、S1 接PC0、PC1;S2、S3接地。)

14 第页

微机原理硬件实验·报告

图 3-2 接线图

接线: PA7~PA0/8255 接 dp~a/LED数码管

PC3~PC0/8255 接 S3~S0/LED数码管 CS/8255 接 Y1/IO地址

2)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。七段数码管的字型代码表如下表:

图 3-1 8255方式控制字

15 第页

微机原理硬件实验·报告

(向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。)

图 3-3 数码管字型代码

三、 程序流程图及源代码

1、程序流程图:

开始初始化8255N数码管清零数码管清零数码管清零数码管清零是否有按键按下?送0的段码到数码管送3的段码到数码管送0的段码到数码管送5的段码到数码管Y结束送位码到数码管(第1位)送位码到数码管(第2位)送位码到数码管(第3位)送位码到数码管(第4位)16 第页

微机原理硬件实验·报告

图 3-4 程序框图

2、源代码:

CODE SEGMENT ASSUME CS:CODE START:

MOV AL,80H MOV DX,28BH

OUT DX,AL

LOOP1:

MOV DX,28AH MOV AL,00H

OUT DX,AL

MOV DX,288H MOV AL,3FH

OUT DX,AL

MOV DX,28AH

;数码管清零

;送出段码

;0的段码 ;送出位码

第页17

微机原理硬件实验·报告

MOV AL,08H OUT DX,AL

MOV DX,28AH OUT DX,AL MOV DX,288H MOV AL,4FH OUT DX,AL

MOV DX,28AH MOV AL,04H OUT DX,AL

MOV DX,28AH MOV AL,00H OUT DX,AL

MOV DX,288H ;最高位显示

;数码管清零

;送出段码

;3的段码

;送出位码

;次高位显示 ;数码管清零

;送出段码

第页18

MOV AL,00H

微机原理硬件实验·报告

MOV AL,5BH OUT DX,AL

;1的段码

MOV DX,28AH MOV AL,02H OUT DX,AL

MOV DX,28AH MOV AL,00H

;送出位码

;第3位显示

;数码管清零

OUT DX,AL

;送出段码

;1的段码

MOV DX,288H MOV AL,6FH OUT DX,AL MOV DX,28AH

;送出位码

;第4位显示

MOV AL,01H OUT DX,AL

MOV AH,1 ;调用DOS功能,监视键盘是否有输入

19 第页

微机原理硬件实验·报告

INT 16H JZ LOOP1

;键盘有输入跳出循环,否则继续显示

;返回DOS

MOV AH,4CH INT 21H CODE ENDS END START

四、实验结果

数码管上静态显示我的学号后四位 0064 。

五、实验收获与心得体会

通过这次实验,我对如何控制数码管的显示有了更深一步的了解,尤其

是知道了显示完毕以后的清零操作。另外使用了8255芯片也让我对它的工

20 第页

微机原理硬件实验·报告

作原理更加熟悉,也知道了应该如何通过方式控制字设置其工作方式。懂得了置 8255 的工作方式 以及 C口的置/复位的方法。

在本实验中数码管的显示是一位写,当然也可以用查表方法来进行。

实验八 可编程定时器/计数器(8253/8254)

一、实验目的

学习掌握8253用作定时器的编程原理。

二、实验内容及原理,实验硬件接线图

1、8253芯片 1)8253初始化

使用8253前,要进行初始化编程。初始化编程的步骤是:

A、向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。

21 第页

微机原理硬件实验·报告

B、向使用的计数器端口写入计数初值。 2)8253控制字:

图 8-1 8253控制字

附:

8253控制寄存器地址 283H 计数器0地址 280H 计数器1地址 281H

计数器2地址 282H

定时器可工作在方式3下。

综上所述,设置控制字为:00111110B,即选择零号计数器,先读/先写低8位、再读/写高8位,选择方式3,计数初值为二进制。

2、音乐产生原理

22 第页

微机原理硬件实验·报告

由参考资料中的音符与频率对应表,根据计数器的性质,利用公式,使用MATLAB矩阵运算可以快速计算出七种音符在高中低音时计数器应该对应的初始计数值,如下表所示。

图 8-2 音符频率图

3、接线图

如下图所示(虚线为实际要接的线路):

图 8-3 接线图

接线:

CS /8253 接 Y0 /IO 地址

GATE0 /8253 接 +5V

23 第页

微机原理硬件实验·报告

CLK0 /8253 接 1M时钟 OUT0 /8253 接 喇叭或蜂鸣器

三、程序流程图及源代码

源代码:

DATA SEGMENT

BUF DB '12311231345345565431565431151' 乐谱

LTH EQU $-BUF ENDS

STACK SEGMENT DB 100 DUP(?) STACK ENDS CODE

SEGMENT

;乐谱长度

;两只老虎的

ASSUME CS:CODE,DS:DATA,SS:STACK DELAY PROC NEAR

PUSH CX

;延时子程序

;避免改变原始CX值,将其压入堆栈

24 第页

微机原理硬件实验·报告

MOV CX,0FFFFH

L: MOV AX,50

WA: DEC AX

JNZ WA LOOP L POP CX

RET

DELAY ENDP START:

MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,28BH OUT DX,AL

MOV DX,283H MOV AL,00111110B

OUT DX,AL

;光靠设置CX的值延时还不够长

;嵌套循环,总循环长度为AX*CX

;提取原CX值

;初始化8255

;初始化8254

第页25

微机原理硬件实验·报告

BEGIN:

MOV BX,OFFSET BUF

;载入音谱

MOV CX,LTH

PRO:

MOV AL,[BX] ADD BX,1

CMP AL,31H JZ N1

CMP AL,32H JZ N2 CMP AL,33H JZ N3 CMP AL,34H JZ N4 CMP AL,35H JZ N5

CMP AL,36H

;根据音谱长度设定循环变量

;载入音符

;准备载入下一个音符

;通过比较ASCII码,读取单个音符;跳往DO

第页26

微机原理硬件实验·报告

JZ N6 CMP AL,37H JZ N7 CMP AL,38H

JZ N8

PRO2:

LOOP PRO

JMP FIN

N1: JMP DO

N2: JMP RE N3: JMP MI N4: JMP FA N5: JMP SO N6: JMP LA N7: JMP SII N8: JMP DOI DO:

MOV DX,280H 音乐播完

由于程序过长,此处设置跳转中转处; 设置零号计数器的初始值

第页27

;;

微机原理硬件实验·报告

MOV AL,42H OUT DX,AL

MOV AL,0FH OUT DX,AL

MOV DX,28AH MOV AL,00H OUT DX,AL

MOV DX,288H MOV AL,06H

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY JMP PRO2

RE: MOV DX,280H

; 42H是通过公式算得的初始值低8位

;高8位

;数码管清零

;给数码管送出1的段码

;给数码管送出位码(最高位显示)

;调用延时子程序,以免乐谱播放过快

;准备接收下一个音符

;以下代码解释雷同

第页28

微机原理硬件实验·报告

MOV AL,90H

OUT DX,AL MOV AL,0DH OUT DX,AL

MOV DX,28AH MOV AL,00H OUT DX,AL

MOV DX,288H MOV AL,5BH

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY

JMP PRO2

MI: MOV DX,280H

MOV AL,34H

第页29

微机原理硬件实验·报告

OUT DX,AL MOV AL,0CH OUT DX,AL

MOV DX,28AH MOV AL,00H OUT DX,AL

MOV DX,288H MOV AL,4FH

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY JMP PRO2

FA: MOV DX,280H

MOV AL,74H

第页30

微机原理硬件实验·报告

OUT DX,AL MOV AL,0BH OUT DX,AL

MOV DX,28AH MOV AL,00H OUT DX,AL

MOV DX,288H MOV AL,66H

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY

JMP PRO2

SO:

MOV DX,280H

MOV AL,2CH OUT DX,AL

第页31

微机原理硬件实验·报告

MOV AL,0AH OUT DX,AL

MOV DX,28AH MOV AL,00H

OUT DX,AL

MOV DX,288H MOV AL,6DH

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY

JMP PRO2

N9: JMP BEGIN LA: MOV DX,280H

MOV AL,28H OUT DX,AL

;代码跳转中转处第页32

微机原理硬件实验·报告

MOV AL,09H OUT DX,AL

MOV DX,28AH MOV AL,00H

OUT DX,AL

MOV DX,288H MOV AL,7DH

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY

JMP PRO2

SII:MOV DX,280H MOV AL,24H OUT DX,AL

MOV AL,08H

第页33

微机原理硬件实验·报告

OUT DX,AL

MOV DX,28AH MOV AL,00H

OUT DX,AL

MOV DX,288H MOV AL,07H

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY

JMP PRO2

DOI:MOV DX,280H MOV AL,0A2H OUT DX,AL MOV AL,07H

OUT DX,AL

第页34

微机原理硬件实验·报告

MOV DX,28AH MOV AL,00H

OUT DX,AL

MOV DX,288H MOV AL,75H

OUT DX,AL MOV DX,28AH

MOV AL,08H OUT DX,AL CALL DELAY

JMP PRO2

FIN:MOV DX,280H MOV AL,0AH OUT DX,AL MOV AL,00H OUT DX,AL

MOV AH,01H

;乐谱播完,进入静音状态,设置初值发出超声波(人耳听不到),低8位

;高8位

;调用1号DOS功能,等待键盘输入

第页35

;

微机原理硬件实验·报告

INT 21H CMP AL,1BH JNZ N9

;是否输入“ESC”

;是则退出,否则进行下一次播放

;程序结束,返回DOS界面

MOV AH,4CH INT 21H

CODE ENDS

END START

四、 实验结果

8253可以正确播放出存放在数据段的歌曲《欢乐颂》,同时数码管可以正确显示出音符。

五、实验收获与心得体会

在编程时首先要进行8253的初始化,包括计数器的选择、读入计数初

36 第页

微机原理硬件实验·报告

值的方式、工作方式的选择以及计数的方式等等。实验开始之前自己是想设计出一个播放器,可以比较准确的播放出歌曲,数据段存储其音符、音高以及节拍,但是调试到最后也没有成功,于是最后只是进行了功能十分简单的音乐播放,应该说这是一个遗憾。

本次实验颇具趣味性,通过使用8253和8255,我对它们的使用方法有了更深的理解。进行实验的时候还没有学习过8253,所以在进行实验的时候经历了许多周折。但最终完成了音乐的播放,也算是一个成功吧,在这次实验中我学会了8253的设置以及编程实现,对之后的理论课学习有非常大的帮助。实验中对每一个音符的计数初值是一个一个写入的,其实也可以通过查表的方法进行,在尝试写功能比较完备的音乐播放时就用了查表的方法。

实验十六 串行口8251A实验

一、实验目的

1、了解串行通讯的基本原理。

2、掌握串行接口芯片8251的工作原理和编程方法。

37 第页

微机原理硬件实验·报告

二、实验内容及原理,实验硬件接线图

1、实验原理:

1)8251A的基本性能:

可以工作在同步或异步方式下,两种方式下的字符位数5-8个; 同步方式时传输速率可达0-64K,异步方式时传输速率可达0-19.2K; 异步传输时,可自动产生一个起始位,程控产生1个、1.5个、2个停止位;

具有奇偶错、数据丢失和帧错误和检测能力; 同步方式时,可自动检测,插入同步字符。 2)8251A的工作原理: 异步接收方式

当8251A工作于异步方式且允许接收和准备好接收数据时,它监视RXD线。在没有字符信息时,RxD为高电平。一旦8251A检测到RxD线为低电平,即认为是起始位(Space)到达,便启动内部计数器开始计数。假设接收时钟频率为波特率的16倍频,8251A的内部寄存器计数接收始终的第8个脉冲时,又一次采样RXD线,看两次采样的信号是否一致。如果相同,即都为低,则表示一个起始位的到来。此后,每隔一位的时间,在每个数据

38 第页

微机原理硬件实验·报告

中间的一个接收时钟的上升沿采样一次RxD线作为输入信号,送至串→并移位寄存器。在移位寄存器中数据被转换成并行,并且进行奇偶校验并去除停止位后,经8251A内部数据总线送至接收缓冲器,同时发出RxRDY信号,表示一个字符的接收和转换全部完成。

如果在第二次采样RxD线发现为高电平,则可能是一个干扰噪声。于是8251A将不予理会,重新进行下一次的采样。

异步发送方式

异步发送时,首先必须由程序设置TxEN(Transmitter Enable――发送允许)和(Clear To Send――由外设发来的对CPU请求发送信号的响应信号)有效后,方可发送。发送时,发送器为每个字符自动地加上1位起始位,并按照程序的要求加上1位奇偶校验位,1、1.5、或2位停止位,在发送时钟的下降沿经发送移位寄存器从线发出。

同步接收方式

常用的串行同步通信数据格式分为单、双、外同步和SDLC/HDLC四种格式。

单同步数据格式的串行同步通信方式,在内同步方式允许接收后,8251A由编程命令进入搜索方式。它监视RxD线,每出现一个数据位就把它移一

39 第页

本文来源:https://www.bwwdw.com/article/hcx3.html

Top