当前位置:文档之家› 北邮微原硬件实验报告

北邮微原硬件实验报告

北邮微原硬件实验报告
北邮微原硬件实验报告

精品文档

2013年微机原理硬件实验报告

学院:信息与通信工程学院

班级: 2011211104

姓名:

实验一 I/O 地址译码

一.实验目的

掌握 I/O 地址译码电路的工作原理。

二.实验原理和内容

1.实验电路如图 1-1 所示,其中 74LS74为 D 触发器,可直接使用实验台上

数字电路实验区的 D 触发器 ,74LS138 为地址译码器。

译码输出端 Y0~Y7 在实验台上“I/O 地址“输出端引出,每个输出端包含 8

个地址, Y0:280H~287H,Y1: 288H~ 28FH,当 CPU执行 I/O 指令且地

址在 280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:执行下面两条指令

MOV DX,2A0H

OUT DX,AL(或 IN AL , DX)

Y4输出一个负脉冲,执行下面两条指令

MOV DX,2A8H

OUT DX,AL(或 IN AL , DX)

Y5输出一个负脉冲。

原理:地址 2A0H的 A5,A4,A5 为 100,在输入或输出时, IOW或 IOR 为 0,使得 74LS138被选中,经过译码,在 Y4 口输出负脉冲。其他同理。

图 1-1

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

时实现。

2.接线: Y4/IO 地址接 CLK/D触发器

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

D/D触发器接SD/D角发器接+5V

Q/D触发器接 L7 (LED灯)或逻辑笔三.程序流程图

开始

设置循环次数

输出负脉冲点亮L7

调用延时子程序延时

输出另一个负脉冲,

熄灭 L7

调用延时子程序延时

否四.源程序循环次数是否到零

结束

DATA SEGMENT

DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100H DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

;延时子程序

DELAY PROC NEAR

MOV BX,500

PUSH CX

LOOP2:MOV CX,0FFFH

WAIT:LOOP WAIT

DEC BX

JNZ LOOP2

POP CX

RET

DELAY ENDP

START:MOV CX,0FFFFH

;二极管闪烁部分

LOOP1:MOV DX,2A0H;灯亮

OUT DX,AL

CALL DELAY

MOV DX,2A8H;灯灭

OUT DX,AL

CALL DELAY

LOOP LOOP1

CODE ENDS

END START

五.实验结果

LED7正常闪烁显示

六. 实验总结

这是我们第一次做微原硬件实验,我开始一直觉得编程很重要,发现按照实验要求很快就编出了程序,完成了实验,但是当给老师验收时,老师问我为什么向 2A0 口输出一下,就会在 Y4 产生一个负脉冲,我瞬间就僵住了,的确我没有

考虑过这个问题。

后来,经过我对电路图的分析思考,得出了正确的结论,我才明白,硬件才是这个实验的核心,最重要的是要理解硬件是如何工作的,而不是仅仅按照要求编个程序就可以了。

同时,我也十分感谢老师对我们的严格要求!

精品文档

实验二简单并行接口

一.实验目的

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

二.实验原理和内容

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

2.编程从键盘输入一个字符或数字,将其 ASCⅡ码通过这个输出接口输出,

根据 8个发光二极管发光情况验证正确性。

3.按下面图4-2-2 简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”) 。74LS244为八缓冲器, 8个数据输入端分别接逻辑电平开关输出 K0~K7, 8个数据输出端分别接数据总线 D0~D7。

4.用逻辑电平开关预置某个字母的 ASCⅡ码,编程输入这个 ASCⅡ码,并将

其对应字母在屏幕上显示出来。

5.接线:

1 )输出

按图 4-2-1 接线(图中虚线为实验所需接线, 74LS32为实验台逻辑或门)2)输入

按图 4-2-2 接线(图中虚线为实验所需接线, 74LS32 为实验台逻辑或门)由于,我的实验台上的芯片是74LS273,因此本实验仅涉及74LS273输出。三.程序流程图

精品文档

四.源程序

DATA SEGMENT

DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AH,1;键盘输入

INT21H

CMP AL,27;检测是否为 ESC键

JZ EXIT

MOV DX,2A8H;输出

OUT DX,AL

JMP START

;返回 DOS

EXIT:MOV AX,4C00H

INT21H

CODE ENDS

END START

精品文档

五.实验结果

键盘输入字符,然后二极管显示键盘输入字符的ASCⅡ码

六.实验总结

本次实验相较上一次实验,顺利很多,因为有了第一次实验的基础,我在编代码之前,先仔细研究课硬件电路图,分析了整个过程中硬件是如何工作的,都会有怎样的反应,而后才编写了程序,并验收通过。

实验三可编程并行接口8255

一.实验目的

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

方法。

二.实验原理和内容

1.8255的工作方式

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

方式 0是基本型输入 / 输出。这种方式和外设交换数据时, 8255端口与外设

之间不使用联络线。

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

要有联络信号。

方式 2是双向数据传送,仅 A口有这项功能。当 A口工作在方式 2时, B口仍可以工作在方式 0或方式 1,但此时 B口方式 1只能用查询方式与 CPU交换信息。

2.工作方式选择字

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

精品文档

3. C口置 / 复位控制字

8255 的 C 口可进行位操作,即:可对 8255C 口的每一位进行置位或清零操作,该操作是通过设置 C 口置 / 复位字实现的。 C口置 / 复位字共 8 位,各位含义如下:

4.8255A的控制信号与传输动作的对应关系:

5.命令字与初始化编程

8255 有两个命令字,即方式选择控制字和 C口置 0/ 置1控制字,初始化编程的

步骤是:

①向 8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。②当端口预置为方式 1或方式 2时,再向控制寄存器写入“C口置 0/ 置1控制字”。这一操作的主要目的是使相应端口的中断允许触发器置 0,从而禁止中断,或者使相应端口的中断允许触发器置 1,从而允许端口提出中断请求。

注意:“ C口置 0/ 置1控制字”虽然是对 C口进行操作,但是该控制字是命令

字,所以要写入控制寄存器,而不是写入 C口控制寄存器。

③向 8255 数据寄存器写入“数据”或从 8255 数据寄存器读出“数据”

6.实验内容

(1)实验电路如图 4-3-1 ,8255C口接逻辑电平开关 K0~K7,A 口接 LED显示电路 L0~ L7。

(2)编程从 8255C口输入数据,再从 A 口输出。

精品文档

(3)接线: PC7~PC0/8255 接 K7~K0/ 逻辑电平开关

PA7~PA0/8255接 L7~L0/LED显示

CS/8255接 Y1/IO 地址

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

三.程序流程图

精品文档

四.源程序

DATA SEGMENT

DATA ENDS

STACK SEGMENT

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX ;准备返回DOS

MOV AL,10001001B;8255初始化,设置A口为输出,C口输入

MOV DX,28BH

OUT DX,AL

LOOP1: MOV DX,28AH ;从C口读入开关状态

IN AL,DX

MOV DX,288H ;向A口输出,点亮对应二极管

OUT DX,AL

JMP LOOP1

RET

START ENDP

CODE ENDS

END START

五.实验结果

打开开关,对应的LED灯被点亮

六.实验总结

本次实验是关于并行接口 8255,由于在实验前我们还没有讲 8255,使得我在做实验过程中发生了很多困难,主要是在对硬件连接的分析上一直没有搞懂,后来我和周围同学看着课本一点点的讨论,最终弄懂了硬件连接和响应的过程,也使得我们对 8255 有了深刻的理解,画出硬件连接图后,很快编写了程序,完成了实验内容。

在此,还要感谢老师对我们严格要求,使得我们能真正搞懂硬件,再去完成软件编程。

精品文档

实验四七段数码管

一.实验目的

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

二.实验原理和内容

1.数码管原理

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平, 选

中的数码管亮,位码加反相驱动器,位码输入端高电平选中。七段数码管的字型代码表如下表:

2.实验内容

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

“ 00-99 ”,位码驱动输入端 S0、S1 接PC0、 PC1;S2、S3接地。)

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

PC3~PC0/8255接 S3~S0/LED数码管

CS/8255接 Y1/IO 地址

精品文档三.程序流程图

精品文档

四.源程序

DATA SEGMENT

DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX

MOV DX,28BH;写控制口,设置A, C口为输出

MOV AL,80H

OUT DX,AL

MOV CX,100

AGAIN:MOV DX,28AH;第一个数码管显示MOV AL,00H

OUT DX,AL

MOV DX,288H

MOV AL,3FH

OUT DX,AL

MOV DX,28AH

MOV AL,01H

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,02H

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,04H

OUT DX,AL

MOV DX,28AH;第四个数码管显示

MOV AL,00H

OUT DX,AL

MOV DX,288H

MOV AL,3FH

OUT DX,AL

MOV DX,28AH

MOV AL,08H

OUT DX,AL

LOOP AGAIN

MOV AH,4CH

INT 21H

CODE ENDS

END START

五.实验结果

数码管显示我的学号后四位0120

六.实验总结

实验中遇到的问题:

由于有上一个实验的基础,我在做这个实验时对 8255 的工作方式和硬件连接已经十分熟悉了,因此开始很快就分析了硬件,画出流程图,编写了代码,原

本以为可以很快做完这个实验,后来发现数码管显示有问题,显示有重影,还有些闪烁,后来,经过分析,我觉得是因为点亮每个数码管之前没有复位导致的,

所以我在每次显示数码管之前对数码管的位码复位:

MOV DX,28AH

MOV AL,00H

OUT DX,AL

经过修改显示了稳定、清晰的数字。

这次实验再一次巩固了我对 8255 并行接口的理解和使用,同时,学会了数码管的使用。收获颇丰,也对我的理论课学习有十分大的帮助!

实验八可编程定时器/计数器(8253/8254 )一.实验目的:

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

二.实验原理和内容

1.8253/8254 的使用

8253 和 8254 都是可编程计数器,它们的引脚兼容,功能与使用方法相同。8254 是 8253 的改进型。

(1)8253 初始化

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

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

② 向使用的计数器端口写入计数初值。

(2)8253 控制字

D7D6= 00:使用 0号计数器, D7D6=01:使用 1号计数器

D7D6= 10:使用 2号计数器, D7D6=11:无效

D5D4= 00:锁存当前计数值

D5D4= 01:只写低 8位(高 8位为 0),读出时只读低 8位

D5D4= 10:只写高 8位(低 8位为 0),读出时只读高 8位

D5D4= 11:先读 / 写低 8位,后读 / 写高 8位计数值

D3D2D1=000:选择方式 0,D3D2D1= 001:选择方式 1

D3D2D1=X10:选择方式 2,D3D2D1= X11:选择方式 3

D3D2D1=100:选择方式 4,D3D2D1= 101:选择方式 5

D0=0:计数初值为二进制, D0= 1:计数初值为 BCD码数

2.实验电路

3. 接线: CS /8253接Y0 /IO地址

GATE0 /8253接+5V

CLK0 /8253接1M时钟

OUT0 /8253接喇叭或蜂鸣器

8253 控制寄存器地址 283H ,计数器 0地址 280H ,计数器 1地址 281H ,计数器 2地址 282H , CLK0连接时钟 1MHZ

4.实验内容:

完成一个音乐发生器,通过喇叭或蜂鸣器放出音乐,并在数码管上显示乐谱。

扩展部分:利用小键盘实现弹琴功能,并显示弹奏的乐谱。

三.程序流程图

精品文档

开始

初始化 8254

初始化 8255

设置循环次数为歌曲

长度

取一个音符

数码管显示音符

按照音符频率,输出

给 8254 计数初值

将分频后的时钟,输

出给喇叭发声

循环次数减一

循环次数是

否到 0

结束

四.源程序

1.基础实验:(自动播放预存乐曲)

DATA SEGMENT

NOTE DW 0,3906,3472,3125,2932,2604,2344,2083,1953;频率

精品文档

TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; 数码管MUSIC DB

1,1,5,5,6,6,5,4,4,3,3,2,2,1,5,5,4,4,3,3,2,5,5,4,4,3,3,2,1,1,5,5,6,6,5

,4,4,3,3,2,2,1;存放的乐符

DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

;延时子程序

DELAY PROC NEAR

PUSH CX

MOV CX,0FFFFH

WAIT1: LOOP WAIT1

POP CX

RET

DELAY ENDP

START:MOV AX,DATA

MOV DS,AX

;8254 初始化

MOV DX,283H

MOV AL,36H ;零号计数器,工作在方式 3

OUT DX,AL

;8255 初始化

MOV DX,28BH

MOV AL,80H

OUT DX,AL

MOV DX,28AH

MOVAL,01H

OUT DX,AL

AGAIN:MOV SI,0

MOV CX,42

PLAY:MOV BL,MUSIC[SI]

MOV BH,0

MOV AL,TABLE[BX]

MOV DX,288H ;显示音符

OUT DX,AL

ADD BX,BX

MOV AX,NOTE[BX]

精品文档

MOV DX,280H

OUT DX,AL

MOV AL,AH

OUT DX,AL

MOV AX,120H

LOOP1:CALL DELAY

DEC AX

JNZ LOOP1

MOV AX,0

MOV DX,280H

OUT DX,AL

MOV AL,AH

OUT DX,AL

CALL DELAY

INC SI

LOOP PLAY

JMP AGAIN

CODE ENDS

END START

2.拓展实验:(DOS调用键盘输入弹奏乐曲)

DATA SEGMENT

NOTE DW 0,3906,3472,3125,2932,2604,2344,2083,1953;频率TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; 数码管DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

;延时子程序

DELAY PROC NEAR

PUSH CX

MOV CX,0FFFFH

WAIT1: LOOP WAIT1

POP CX

RET

DELAY ENDP

精品文档

START:MOV AX,DATA

MOV DS,AX

;8254 初始化

MOV DX,283H

MOV AL,36H ;零号计数器,工作在方式3

OUT DX,AL

;8255 初始化

MOV DX,28BH

MOV AL,80H

OUT DX,AL

MOV DX,28AH

MOVAL,01H

OUT DX,AL

PLAY:MOV AH,01H

INT21H

SUB AL,30H

MOV AH,0

MOV BX,AX

MOV AL,TABLE[BX]

MOV DX,288H ;显示音符

OUT DX,AL

ADD BX,BX

MOV AX,NOTE[BX]

MOV DX,280H

OUT DX,AL

MOV AL,AH

OUT DX,AL

MOV AX,90H

LOOP1:CALL DELAY

DEC AX

JNZ LOOP1

MOV AX,0

MOV DX,280H

OUT DX,AL

MOV AL,AH

OUT DX,AL

CALL DELAY

JMP PLAY

CODE ENDS

END START

微机原理与接口技术硬件实验报告

微原硬件实验报告 班级:07118 班 学号:070547 班内序号:26 姓名:杨帆

实验一熟悉实验环境及IO的使用 一,实验目的 1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 通过实验掌握直接使用Debug 的I、O 命令来读写IO 端口。 3. 学会Debug 的使用及编写汇编程序 二,实验内容 1. 学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作, 2.用汇编语言编写跑马灯程序。(使用EDIT 编辑工具)实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度 等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) 三,实验步骤 1.实验板的IO 端口地址为EEE0H 在Debug 下, I 是读命令。(即读输入端口的状态---拨码开关的状态) O 是写命令。(即向端口输出数据---通过发光管来查看) 进入Debug 后, 读端口拨动实验台上八位拨码开关 输入I 端口地址回车 屏幕显示xx 表示从端口读出的内容,即八位开关的状态ON 是0,OFF 是 1 写端口 输入O 端口地址xx (xx 表示要向端口输出的内容)回车 查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。 2. 在Debug 环境下,用a 命令录入程序,用g 命令运行 C>Debug -a mov dx, 端口地址 mov al,输出内容 out dx, al

mov ah, 0bh int 21h or al, al jz 0100 int 20h -g 运行查看结果,修改输出内容 再运行查看结果 分析 mov ah, 0bh int 21h or al, al jz 0100 int 20h 该段程序的作用 3.利用EDIT 工具编写汇编写跑马灯程序程序 实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) C>EDIT 文件名.asm 录入程序 按Alt 键打开菜单进行存盘或退出 编译文件 C>MASM 文件名.asm 连接文件 C>LINK 文件名.obj 运行文件或用Debug 进行调试。 四,程序流程图

微机原理与接口技术 北邮 软件 实验报告

微机原理与接口技术软件实验报告

实验B 分支、循环程序设计 一、实验目的 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS功能调用。 二、实验任务及内容 1.安排一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。 2.编写一个程序统计数据区中正数,负数和零的个数。 3.将统计结果在屏幕上显示。 4. 选作题: 统计出正奇数,正偶数,负奇数,负偶数以及零的个数.

四、源程序 DISPSTR MACRO STR ;打出字符串(属于DOS功能调用)MOV AH,9 MOV DX,SEG STR MOV DS,DX MOV DX,OFFSET STR INT 21H ENDM DISPNUM MACRO NUM ;打出数字(属于DOS功能调用)MOV AH,2 MOV DL,NUM ADD DL,30H ;加30H变为ASCII码 INT 21H ENDM DATA SEGMENT NUM DB 3,2,7,0,1,0,-5,-4,0 COUNT EQU $-NUM ;统计数据个数 ZEROS DB 0 ;各类数初值均为0 PLUSES DB 0 MINUSES DB 0 EVENMINUSES DB 0 ODDMINUSES DB 0 EVENPLUSES DB 0 ODDPLUSES DB 0 ZEROSTR DB 0DH,0AH,'ZERO:$' ;待输出字符串

PLUSSTR DB 0DH,0AH,'PLUS:$' MINUSSTR DB 0DH,0AH,'MINUS:$' EVENMINUSSTR DB 0DH,0AH,'EVENMINUS:$' ODDMINUSSTR DB 0DH,0AH,'ODDMINUS:$' EVENPLUSSTR DB 0DH,0AH,'EVENPLUS:$' ODDPLUSSTR DB 0DH,0AH,'ODDPLUS:$' DATA ENDS STACK SEGMENT STACK 'STACK' DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START PROC FAR PUSH DS ;初始化 MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV CX,COUNT ;CX控制循环次数 MOV SI,OFFSET NUM ;SI指向数据的偏移地址 LOOP1: CMP BYTE PTR[SI],0 ;将SI指向的内容与0比较大小JZ ZERO ;等于0跳转 JG PLUS ;大于0跳转 INC MINUSES ;负数加一 SHR BYTE PTR[SI],1 ;判断是负奇数还是负偶数 JNC EVENMINUS ;是负偶数跳转 INC SI ;SI指针后移 INC ODDMINUSES ;负奇数加一 RETURN: LOOP LOOP1 ;循环直至CX=0 JMP DISP ;循环结束后跳转至打出结果 ZERO: INC ZEROS INC SI JMP RETURN ;返回循环体 PLUS: INC PLUSES SHR BYTE PTR[SI],1 JNC EVENPLUS

微实验报告

本科生实验报告 实验课程微机原理与接口技术 学院名称信息科学与技术学院 专业名称电子信息工程 学生姓名干娜 学生学号201413080229 指导教师李志鹏 实验地点6B610 实验成绩 二〇一六年十月二〇一六年十二月

实验一、动态调试程序DEBUG 一、实验目的 1.动态调试程序DEBUG环境的搭建; 2.掌握各种汇编指令的作用; 3.掌握磁盘文件操作命令的使用; 4.掌握查找、比较、填充和移动内存命令的使用。 二、实验内容 1.搭建汇编调试环境,安装DOS系统; 2.进行DEBUG动态调试程序的启动与退出; 3.进行汇编、执行、跟踪与反汇编命令的编写与运行; 4.进行显示、修改内存和寄存器命令的编写与运行; 5.进行查找、比较、填充和移动内存命令的编写与运行。 三、DEBUG的启动与退出 DEBUG的启动:首先选择一个磁盘,建立一个名为“TEST”的文件,文件名可以任意,然后挂载DOS系统在任意磁盘上,执行代码界面为: 出现“-”表示执行成功,进入DEBUG调试环境,此后可以进行代码的编译与执行。 DEBUG的退出命令:-Q 四、汇编、执行、跟踪与反汇编 1.A命令:逐行汇编命令,主要用于小段程序的汇编和修改目标程序。使用逐行汇编命令的格式为: A[地址] 实验内容:汇编一小段程序,DOS运行界面为:

该段程序完成了对AX,BX,CX,DX寄存器写入规定的数据。 2.G命令:启动运行一个程序或程序的一段,编写格式为: G[=<起始地址>][<断点地址>…] 执行A命令的代码后,运用G命令查看各个寄存器状态: 结果分析:从运行结果可以看出,BX、CX、DX已经写入了输入值,但AX 中的值并不是输入值,可能是AX寄存器的值写入后又被改变。 3.T命令 T命令用来逐条跟踪程序的运行,编写格式如下: T[=<地址>][<跟踪条数>] 每条指令执行后,都要暂停并显示各寄存器的内容,跟踪执行实际上是单步执行,执行结果如下: 从地址100开始,跟踪三条指令,从执行细节可以看出AX、BX、CX、DX都写入了程序给定的值,IP指针的值也是逐条递增。 4.U命令:用来对二进制代码程序进行反汇编,常用于分析和调试目标程序,引用格式如下: U[<地址>]

北邮微原硬件实验报告

2013年微机原理硬件实验报告 学院:信息与通信工程学院班级:2011211104 姓名:

实验一 I/O地址译码 一.实验目的 掌握I/O地址译码电路的工作原理。 二.实验原理和内容 1.实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。 译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 原理:地址2A0H的A5,A4,A5为100,在输入或输出时,IOW或I OR为0,使得74LS138被选中,经过译码,在Y4口输出负脉冲。其他同理。 图1-1 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 2.接线:Y4/IO地址接CLK/D触发器

Y5/IO 地址 接 CD/D 触发器 D/D触发器 接 SD/D 角发器 接 +5V Q /D 触发器 接 L7(L ED 灯)或 逻辑笔 三.程序流程图 四.源程序 DA TA ?SE GMENT D ATA ??ENDS ST ACK SE GME NT ST ACK 'STA CK' DB 100H DU P(?) STA CK ENDS 否

北邮微原硬件实验

信息与通信工程学院 微原硬件实验报告 姓名: 班级: 学号: 班内序号: 【一.基本的I/O实验】 实验一 I/O地址译码 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理和内容 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台 上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:

280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 图1-1 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器 Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D角发器接 +5V Q/D触发器接 L7(LED灯)或逻辑笔 三、硬件接线图及软件程序流程图 1.硬件接线图 2.软件程序流程图

四、源程序 DATA SEGMENT DATA ENDS STACK SEGMENT STACK 'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK ;基本框架;延时子程序 DELAY1 PROC NEAR MOV BX,500H PUSH CX LOOP2: MOV CX,0FFFH WAIT1: LOOP WAIT1 DEC BX JNZ LOOP2 POP CX RET DELAY1 ENDP START: MOV CX,0FFFFH ;L7闪烁控制 LOOP1: MOV DX,2A0H ;灯亮 OUT DX,AL CALL DELAY1 MOV DX,2A8H ;灯灭 OUT DX,AL CALL DELAY1 LOOP LOOP1 ;循环闪烁 CODE ENDS END START 五、实验结果 灯L7闪烁 实验二简单并行接口 一、实验目的 掌握简单并行接口的工作原理及使用方法。(选择273进行实验)二、实验原理和内容

北邮微机原理中断程序报告

北京邮电大学实验报告 题目:微机原理软件实验 学院:信息与通信工程 专业:信息工程______ 中断实验报告 一、实验目的 1、初步掌握中断程序的设计方法; 2、初步掌握修改 DOS 系统中断,以适应实际使用的方法。

二:实验要求 编一程序,在显示器上显示时、分、秒。 1:借用计数器8253的Timer0作为中断源,通过8259A下向CPU发中断,每10ms 产生一次中断。 2:在中断服务程序中管理刷新时、分、秒。 3:输入文件名(如:CLK)后清屏显示 Current time is XX:XX:XX(时分秒键盘输入) 打回车,时、分、秒开始计时,时钟不停的刷新。 4:当键入CTRL+C时,停止计时,返回系统,且系统正常运行不死机。 提示: 1、8253的初始化程序段可借用。 2、口地址为40H、41H、42H、43H,控制字为36H=00110110B 3、时间常数TC=11932:1.1932MHz/11932=100Hz,输出方波频率为100Hz,其周期为1000/100=10ms 三:设计思路 这个实验需要用到中断控制器8259A和计数器8253。我们先初始化8253的工作方式,利用工作方式3来计数时间,让其分频后产生100hz的方波,每100个周期即为1s,将这个方波作为中断源,通过8259A每10ms向CPU发出一次中断。然后我们将子程序Timer0的地址(CS以及IP)设置为中断向量,每次中断即执行这个子程序,在这个之程序中编写相应代码,看时间是否到1S,没到则跳出中断,等待下一次(1ms之后)中断到来,到1S则让时间+1并且重置计数值,再加上相应的时间显示程序,这样即可实现时间的自动增加与显示,可以当做一个计时器来用,这即是这个工程的主体部分。 除此之外,还需要一部分程序来实现键盘输入相应时间,这里要注意时间的每一位都有取值方面的要求,这里就要通过一系列的CMP/JMP指令的组合来达到正确输入的效果,将顺序输入的时间存储起来,配合Timer0子程序即可输出当前设置的时间并且实现时间刷新。当然,如果选择不输入时间直接回车的话,程序可以从0开始计时,可以当成一个秒表。 还有一些细节的设计如在计时过程中输入S可以重新设置时间,Ctrl+C可以退出这些也是利用CMP/JMP组合来实现。最后整个程序可以实现以下功能:可以设置开始时间然后自动计时,也可以当做秒表来使用,可以正常退出。 四:实验流程

微波仿真实验报告(北邮)

北京邮电大学 微波仿真实验报告实验名称:微波仿真实验

姓名:刘梦颉 班级:2011211203 学号:2011210960 班内序号:11 日期:2012年12月20日 一、实验目的 1、熟悉支节匹配的匹配原理。 2、了解微带线的工作原理和实际应用。 3、掌握Smith图解法设计微带线匹配网络。 4、掌握ADS,通过SmithChart和Momentum设计电路并仿真出结果。 二、实验要求 1、使用软件:ADS 2、实验通用参数: FR4基片:介电常数为4.4,厚度为1.6mm,损耗角正切为0.02 特性阻抗:50欧姆 3、根据题目要求完成仿真,每题截取1~3张截图。

三、实验过程及结果 第一、二次实验 实验一: 1、实验内容 Linecal的使用(工作频率1GHz) a)计算FR4基片的50欧姆微带线的宽度 b)计算FR4基片的50欧姆共面波导(CPW)的横截面尺寸(中心信号线 宽度与接地板之间的距离) 2、相关截图 (a)根据实验要求设置相应参数

(b)根据实验要求设置相应参数 实验二 1、实验内容 了解ADS Schematic的使用和设置2、相关截图:

打开ADS软件,新建工程,新建Schematic窗口。 在Schematic中的tools中打开lineCalc,可以计算微带线的参数。 3、实验分析 通过在不同的库中可以找到想要的器件,比如理想传输线和微带线器件。在完成电路图后需要先保存电路图,然后仿真。在仿真弹出的图形窗口中,可以绘制Smith图和S参数曲线图。

实验三 1、实验内容 分别用理想传输线和微带传输线在FR4基片上,仿真一段特性阻抗为50欧姆四分之波长开路线的性能参数,工作频率为1GHz。观察Smith圆图变化。 2、相关截图 (1)理想传输线

微机原理实验报告软件实验1-4

微机原理实验报告 学院:算机科学与软件教育学院 1. 掌握存储器读写方法 2. 了解存储器的块操作方法 二、实验原理 存储器读写和块操作 三、实验设备仪器及材料 计算机,WA VE 6000软件 四、实验过程 S1.asm 代码流程图 data segment Block db 256 dup(55h) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 256 ; 清256 字节Again: mov [bx], byte ptr 0 inc bx ; 地址+1 Loop Again ; 记数减一jmp $ ;死循环code ends end start

五、实验步骤 (1) 进入Wave6000,输入程序并检查,保存程序。 (2) “编译”程序。 (3) “全速执行”程序。 (4) “暂停”程序运行,在“数据窗口(MEMOREY)”查看0400H起始的单元内容,并记录。 (5) 在指令“jmp $”处设断点。“全速执行”程序。 (6) 在“数据窗口(MEMOREY)”查看0400H起始的单元内容,记录并分析实验结果。 六、实验结果及总结 运行前:运行后: 2、调试:如何将存储器块的内容置成某固定值(例全填充为0FFH)? 总结:通过本实验,我了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。学会内存的移动方法,也加深对存储器读写的认识。

微机原理实验报告 学院:算机科学与软件教育学院 实验 课程 名 微机原理实验成绩实验 项目名称实验二、二进制到BCD码转换 指导老 师 1. 了解BCD值和ASCII值的区别。 2. 了解如何将BCD值转换成ASCII值。 3. 了解如何查表进行数值转换及快速计算。 二、实验原理 ASCII码表 三、实验设备仪器及材料 计算机,WA VE 6000软件 data segment Result db 3 dup(?) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov ax, 123 mov cl, 100 div cl mov Result, al ; 除以 100, 得百位数 mov al, ah mov ah, 0 mov cl, 10 div cl mov Result+1, al ; 余数除以 10, 得十位数 mov Result+2, ah ; 余数为个位 数 jmp $ code ends end start 代码流程图

北邮《微机原理与接口技术》阶段作业汇总

《微机原理与接口技术》作业汇总 1.若欲使RESET有效,只要A即可。 A.接通电源或按RESET键 2.8086微处理器中的ES是D寄存器 D.附加数据段 3.8086 微处理器中BP 寄存器是A A.基址指针寄存器 4.8086/8088 微处理器中的BX是A A.基址寄存器 5.8086/8088微处理器顺序执行程序时,当遇到C指令时, 指令队列会自动复位,BIU会接着往指令队列中装入新的程序段指令。 C.JCXZ 6.8086微处理器读总线周期中地址信号AD15~AD0在A 期间处于高阻。A.T2 7.8086/8088 微处理器引脚中B信号线能够反映标志寄 存器中断允许标志IF的当前值。 B.S5 8.访问I/O端口可用地址线有B条。B.16 9.8086/8088 微处理器可访问内存储器地址为A A.00000~FFFFFH 10.字符串操作时目标串逻辑地址只能由B提供 B.ES、DI 11.8086/8088微处理器中堆栈段SS作为段基址,则偏移 量为B。 B.SP 12.若有两个带有符号数ABH和FFH相加,其结果使F 中CF和OF位为C。 C.1;0 13.8086微处理器内部通用寄存器中的指针类寄存器是B。 B.BP 14.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是。B.BIU中的地址加法器15.当标志寄存器TF=1时,微处理器内部每执行完一条 指令便自动进行一次B。 B.内部中断 16.8086/8088微处理器内部寄存器中的累加器是A寄存 器。 A.16位数据寄存器 17.8086微处理器中的BIU和EU是处于B的工作状态 B.并行 18.8086中指令队列和堆栈特点分别是C C.先进先出;后进先出 19.微型计算机各部件之间是用A连接起来的。 A.系统总线 20.若把组成计算机中的运算器和控制器集成在一块芯 片上称为C。 C.微处理器 21.相联存储器是指按C进行寻址的存储器。 C.内容指定方式 22.单地址指令中为了完成两个数的算术运算,除地址码 指明的一个操作数外,另一个数常需采用D。 D.隐含寻址方式23.某存储器芯片的存储容量为8K×12位,则它的地址 线为C。 C.13 24.下列8086指令中,格式错误的是C。 C.MOV CS,2000H 25.寄存器间接寻址方式中,操作数处在C。C.主存单元 26.某计算机字长16位,其存储容量为2MB,若按半字 编址,它的寻址范围是C。 C.2M 27.某一RAM 芯片,其容量为1024×8位,其数据线和 地址线分别为C。 C.8,10 28.CPU在执行OUT DX,AL指令时,A寄存器的内容 送到数据总线上。 A.AL 29.计算机的存储器系统是指D。 D.cache,主存储器和外存储器 30.指令MOV AX, [3070H]中源操作数的寻址方式为C C.直接寻址 31.EPROM是指D D.光擦可编程的只读存储器 32.指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻 址方式,可以实现D.程序的条件转移成无条件转移33.8086 CPU对存贮器操作的总线周期的T1状态, AD0~AD15引脚上出现的信号是A。A.地址信号 34.堆栈是按D组织的存储区域。D.先进后出原则 35.8086/8088中源变址寄存器是A。A.SI 36.8086/8088中SP是D寄存器。D.堆栈指针寄存器 37.8086/8088中FR是A寄存器。A.标志寄存器 38.8086/8088中IP是C寄存器。C.指令指针寄存器 39.假设AL寄存器的内容是ASCII码表示的一个英文字 母,若为大写字母,将其转换为小写字母,否则不变。 试问,下面哪一条指令可以实现此功能A。 A.ADD AL, 20H 40.逻辑右移指令执行的操作是A。 A.符号位填0,并 顺次右移1位,最低位移至进位标志位 41.假设数据段定义如下: DSEG SEGMENT DAT DW 1,2,3,4,5,6,7,8,9,10 CNT EQU ($-DA T)/2 DSEG ENDS 执行指令MOV CX,CNT后,寄存器CX的内 容是D D.4 42.在下列段寄存器中,代码寄存器是B。B.CS 43.在执行POP[BX]指令,寻找目的操作数时,段地 址和偏移地址分别是B。 B.在DS和BX中 44.设DS=5788H,偏移地址为94H,该字节的物理地址 是B。B.57914H

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

计算机组成原理微程序控制单元实验报告

姓名 学号 班级 ******************年级 指导教师 《计算机组成原理》实验报告 实验名称微程序控制单元实验、指令部件模块实验、时序与启停实验 实验室实验日期 实验七微程序控制单元实验 一、实验目的 ⒈ 掌握时序产生器的组成方式。 ⒉ 熟悉微程序控制器的原理。 ⒊ 掌握微程序编制及微指令格式。 二、实验原理 图 7- 7- 1

图 7-7-4 微地址控制原理图 微程序控制单元实验原理就是人为的给出一条微指令的地址,人为的去打开测试开关,观察机器怎么运行,打个比方就是我要你执行我下的某条命令,我先告诉你命令写在哪页纸上, 你找到纸后,分析命令是什么之后再去执行。 观察机器微程序控制器的组成见图7-1-1 ,微地址的打入操作就是由操作者给出一条微指令 的地址(同上面的例子就是仅仅告诉你我让你跑的这条命令写在哪页纸上,而没有告诉你 命令的具体内容),不需要做测试去判断这是什么指令,所以由图7-7-1 ,其中微命令寄存器 32 位,用三片 8D 触发器 (273) 和一片 4D(175) 触发器组成。它们的清零端由CLR来控制微控制器的清零。它们的触发端CK接 T2,不做测试时 T2 发出时钟信号,将微程序的内容 打入微控制寄存器(含下一条微指令地址)。打入了微指令的地址(即告诉你命令在哪页纸上,此时你需要先找到这页纸并判断命令是叫你做什么,然后执行),进行测试,T4 发出时钟信号,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,按图 7-7-4 所示,微地址锁存器的置位端R 受 SE5~SE0控制,当测试信号 SE5~SE0输出负脉冲时,通过锁存器置位端R将某一锁存器的输出端强行置“1”,实现微地址的修改与转移,此时的地址指的是指令的操作码的地址(即你已经知道命令是跑,此时做的是跑的行为)。再由数据开关置入微地址的值,再做测试,再跳到指令的操作码的地址准备开始执行 指令,这就是微程序控制单元实验的原理。

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

北邮微机原理软件实验报告

微机原理软件实验报告

实验二分支,循环程序设计 一、预习题: 1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -- 9 在屏幕上显示出来? 答:要屏显0-9的数码,可以调用02h中断,然后将要显示的数码的ASCII码存进DL 里,然后执行INT 21H就可以打印字符。当然,若不只一个数,调用09h中断(显示字符串)更好,但要将DS:DXZ指向要显示的数字在内存中的首地址,并要求以$结束。 2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法? 答:CMP X,0 检验标志位CF CF=1,X为负数 CF=0接着检验ZF:ZF=1,X为零,ZF=0,X为正数 二、实验目的: 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS 功能调用. 三、实验内容: 1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9. 2.编写一个程序统计数据区中正数,负数和零的个数. 四、实验源代码 assume cs:code,ds:data data segment buff db 1,2,3,4,5,-1,-2,-3,0,0 ;安排的数据区 string db '>0:' plus db 0 ;用变量plus来存储正数的个数 db 0ah,0dh string1 db '=0:' zero db 0 ;用变量zero来存储零的个数 db 0ah,0dh string2 db '<0:' minus db 0 ;用变量minus来存储负数的个数 db '$' data ends code segment start:movax,data movds,ax mov cx,10 ;初始化,并将CX赋为10,因为共有10个数 mov dx,0 ;将计数器dx,ah初始化为0 mov ah,0 lea bx,buff compare:cmp byte ptr [bx],0 ;取出一个数与0进行比较 jgeplu ;大于等于0,跳至plu执行 inc ah ;小于0,用ah暂存小于0的个数,ah+1 jmp next ;比完后进行下一个数的比较

北邮电磁场与微波实验天线部分实验报告二

北邮电磁场与微波实验天线部分实验报告二

信息与通信工程学院电磁场与微波实验报告

实验二网络分析仪测试八木天线方向图 一、实验目的 1.掌握网络分析仪辅助测试方法; 2.学习测量八木天线方向图方法; 3.研究在不同频率下的八木天线方向图特性。 注:重点观察不同频率下的方向图形状,如:主瓣、副瓣、后瓣、零点、前后比等; 二、实验步骤: (1) 调整分析仪到轨迹(方向图)模式; (2) 调整云台起点位置270°; (3) 寻找归一化点(最大值点); (4) 旋转云台一周并读取图形参数; (5) 坐标变换、变换频率(f600Mhz、900MHz、1200MHz),分析八木天线方向图特性; 三、实验测量图 不同频率下的测量图如下: 600MHz:

900MHz:

1200MHz:

四、结果分析 在实验中,分别对八木天线在600MHz、900MHz、1200MHz频率下的辐射圆图进行了测量,发现频率是900MHz的时候效果是最好的,圆图边沿的毛刺比较少,方向性比较好,主瓣的面积比较大。 当频率为600 MHz的时候,圆图四周的毛刺现象比较严重,当频率上升到1200MHz时,辐射圆图开始变得不规则,在某些角度时出现了很大的衰减,由对称转向了非对称,圆图边缘的毛刺现象就非常明显了,甚至在某些角度下衰减到了最小值。 从整体来看,八木天线由于测量的是无线信号,因此受周围环境的影响还是比较大的,因此在测量的时候周围的人应该避免走动,以减小对天线电磁波的反射从而减小测量带来的误差使得圆图更接近真实情况。 由实验结果分析可知:最大辐射方向基本在90°和270°这条直线上,图中旁瓣均较小,及大部分能量集中在主瓣。 八木天线由于测量的是无线信号,因此受周围环境的影响还是比较大的,因此在测量的时候应当尽量保持周边环境参数一定,以减小对天线电磁波的反射从而减小测量带来的误差使得圆图更接近真实情况。 五、实验总结

北邮微原软件实验报告

2013年微机原理软件实验报告 学院:信息与通信工程学院 班级:2011211104 姓名:

实验二分支,循环程序设计 一.实验目的: 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS 功能调用 二.实验内容: 1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9. 2.编写一个程序统计数据区中正数,负数和零的个数. 3.将统计结果在屏幕上显示. 三.预习题 1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -- 9 在屏幕上显示出来? 0-9的ACSII码为,30h,31h,32h,34h,35h,36h,37h,38h,39h, 将要显示的数加上30h,得到该数的ACSII码,再利用DOS功能调用显示单个字符 2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法? 利用cmp指令,利用TEST指令,将该数与0相与,将该数与0相减,观察标志位。

四.程序流程图

五.源程序 DATA SEGMENT ;数据段 NUM DB 1,2,-2,3,-3,5,2,4,-6,-11,100,0,0,34,-55,-33,0 ;待处理数据COUNT EQU $-NUM ;数据个数 MINUS DB 0 ;小于零的个数 ZERO DB 0 ;等于零的个数 PLUS DB 0 ;大于零的个数 RESULT DB 'NEGNUM=',?,0AH,0DH,'ZERONUM=',?,0AH,0DH,'POSNUM=',?,0AH,0DH,'$' ;结果显示字符串 DATA ENDS STACK SEGMENT STACK 'STACK' ;堆栈段 DW 50 DUP(?) STACK ENDS CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV CX,COUNT MOV SI,OFFSET NUM AGAIN: MOV AL,[SI] ;循环比较 CMP AL,0 JGE NEXT1 INC MINUS JMP DONE NEXT1: JZ NEXT2 INC PLUS JMP DONE NEXT2: INC ZERO DONE: INC SI LOOP AGAIN ;返回结果 MOV DI,OFFSET RESULT MOV AL,MINUS ADD AL,30H MOV BYTE PTR[DI+7],AL MOV AL,ZERO ADD AL,30H MOV BYTE PTR[DI+18],AL MOV AL,PLUS ADD AL,30H MOV BYTE PTR[DI+28],AL

北邮—微机原理与接口技术(1)

微机原理与接口技术硬件实验报告

目录 1.实验一微机实验平台介绍及IO的使用 (3) 1.1.实验目的 (3) 1.2.实验内容及要求 (3) 1.3.实验环境及背景 (3) 1.4.实验步骤 (4) 1.4.1.使用debug的I、O命令读写端口 (4) 1.4.2.使用文本编辑器edit和编译器masm (5) 1.5.思考题 (11) 1.6.心得体会 (11) 参考资料 (12) 声明与致谢 (12)

1.实验一微机实验平台介绍及IO的使用 1.1.实验目的 1.1.1通过实验了解和熟悉实验台的结构,功能及使用方法; 1.1.2通过实验掌握直接使用debug的I、O命令来读写IO端口; 1.1.3学会debug的使用及编写汇编程序。 1.2.实验内容及要求 1.2.1学习使用debug命令,并用I、O命令直接对端口进行读写操作, 1.2.2用汇编语言编写跑马灯程序。(可以使用EDIT编辑工具。)要求实现以下两个功能:A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等);B.通过输出端口控制灯的工作状态(低电平灯亮)。 1.2.3使用时要注意,电源打开时不得插拔电缆及各种器件,一定要在断电的情况下连接电路,否则可能会烧坏整个实验系统。 1.3.实验环境及背景 我们使用PCI_IDE50扁平电缆将PC机与实验扩展模块连接起来。在扩展实验平台上,有八个发光二极管、八个拨码开关。读取拨码开关和写发光二极管的端口地址已经被做成了0E8E0h。连接的PC机上安装有DOS操作系统,并有MASM5开发工具。

图1扩展实验模块 1.4.实验步骤 1.4.1.使用debug的I、O命令读写端口 进入DOS,在命令行模式下输入命令debug,用-a选项写入下列程序:CODE (debug mode) MOV DX, E8E0 MOV AL, FE OUT DX, AL MOV AH, 0B INT 21 OR AL, AL JZ 0100 INT 20 输入结束后,直接输入回车即可推出-a。然后,用-g选项运行程序,查看结果。发现最右边的LED亮,其他不亮。修改输出内容,再运行查看结果,可以发现:当输出位对应为1时,灯灭;输出为0时,灯亮。 下面,我们来分析一下以下这段程序的作用。

北邮通信原理软件实验报告XXXX27页

通信原理软件实验报告 学院:信息与通信工程学院 班级: 一、通信原理Matlab仿真实验 实验八 一、实验内容 假设基带信号为m(t)=sin(2000*pi*t)+2cos(1000*pi*t),载波频率为20kHz,请仿真出AM、DSB-SC、SSB信号,观察已调信号的波形和频谱。 二、实验原理 1、具有离散大载波的双边带幅度调制信号AM 该幅度调制是由DSB-SC AM信号加上离散的大载波分量得到,其表达式及时间波形图为: 应当注意的是,m(t)的绝对值必须小于等于1,否则会出现下图的过调制: AM信号的频谱特性如下图所示: 由图可以发现,AM信号的频谱是双边带抑制载波调幅信号的频谱加上离散的大载波分量。 2、双边带抑制载波调幅(DSB—SC AM)信号的产生 双边带抑制载波调幅信号s(t)是利用均值为0的模拟基带信号m(t)和正弦载波 c(t)相乘得到,如图所示: m(t)和正弦载波s(t)的信号波形如图所示:

若调制信号m(t)是确定的,其相应的傅立叶频谱为M(f),载波信号c(t)的傅立叶频谱是C(f),调制信号s(t)的傅立叶频谱S(f)由M(f)和C(f)相卷积得到,因此经过调制之后,基带信号的频谱被搬移到了载频fc处,若模拟基带信号带宽为W,则调制信号带宽为2W,并且频谱中不含有离散的载频分量,只是由于模拟基带信号的频谱成分中不含离散的直流分量。 3、单边带条幅SSB信号 双边带抑制载波调幅信号要求信道带宽B=2W, 其中W是模拟基带信号带宽。从信息论关点开看,此双边带是有剩余度的,因而只要利用双边带中的任一边带来传输,仍能在接收机解调出原基带信号,这样可减少传送已调信号的信道带宽。 单边带条幅SSB AM信号的其表达式: 或 其频谱图为: 三、仿真设计 1、流程图:

微原实验报告8253

华北电力大学 实验报告 | | 实验名称 8253应用 课程名称微机原理及应用 | | 专业班级:自动化1202 学生姓名:屈言雪 学号: 201202020222 成绩: 指导教师:程海燕实验日期: 2014/12/16

一、实验目的及要求: 实验目的:(1) 学习可编程定时/计数器8253的工作原理及工作方式; (2)掌握使用8253的应用编程方法,并设计出相应电路在实验箱上正确连接; (3)熟练掌握WAVE6000实验系统的使用 实验要求:1、基本要求:利用8253输出周期为1秒的方波。 2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率 1Hz)。每来一个上升沿,申请中断一次,CPU响应后通过输出接口74LS273使发 光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,…… 第8次中断, LED7亮,中断8次后结束。 二、实验设备 1.计算机 https://www.doczj.com/doc/8c5420590.html,b6000微机实验箱 3.导线若干 三、实验内容 1、基本要求:利用8253输出周期为1秒的方波。 2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。每来 一个上升沿,申请中断一次,CPU响应后通过输出接口74LS273使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,…… 第8次中断,LED7亮,中断8次后结束。 四、实验步骤 1、Proteus中的设计: (1)连接好8086与74LS373,如图:

(2)设置38译码器译码:根据74LS273地址为8000H,知A15-A0只有A15为1、其余全为0时,即Y0有效时选中273;8259的地址为9000H,Y1有效时选中8259;8253的地址为A000H,Y2有效时选中8253;将38译码器的A、B、C端口分别接地址A12、A13、A14, 使能端E1接A15,E2、E3都接地,如图:

相关主题
文本预览
相关文档 最新文档