当前位置:文档之家› 微机接口实验报告

微机接口实验报告

微机接口实验报告
微机接口实验报告

微机接口实验报告

实验一汇编语言程序设计实验

一、实验目的

熟悉汇编语言程序设计及TD-PITE80X86实验环境的使用。

二、实验设备

PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。

三、实验内容

在数据段定义5个16进制数据,转换为它们的ASCII码,并显示在屏幕上。

四、实验步骤

(1)完成汇编程序格式,编写实验程序。程序代码:

STACKS SEGMENT STACK

DW 128 DUP(?)

STACKS ENDS

DATAS SEGMENT

lq DB 72H,0fAH,1BH,10H,05H

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

START:

MOV AX,DATAS

MOV DS,AX

XOR CX,CX

MOV CX,05H

MOV BX,OFFSET lq

A1:

MOV AL,[BX]

PUSH BX

MOV BL,16

DIV BL

PUSH AX

DIV BL

MOV DL,AH

ADD DL,30H

CMP DL,39H

JB A2

ADD DL,7

A2:

MOV AH,02H

INT 21H

POP AX

MOV DL,AH

ADD DL,30H

CMP DL,39H

JB A3

ADD DL,7

A3:

MOV AH,02H

INT 21H

MOV DL,'H'

INT 21H

MOV DL,' '

INT 21H

POP BX

INC BX

LOOP A1

MOV AX,4C00H

INT 21H

CODES ENDS

END START

(2)编译、链接无误后装入系统。

(3)先运行程序,待程序运行停止。

(4)通过键入D命令查看程序运行的结果。

(5)可以反复测试几组数据,观察结果,验证程序的正确性。

五.实验小结与体会

很久没有做过汇编程序,这是两年多以来的第一个汇编程序感觉对以前学过的东西有种既熟悉而又生疏的感觉。平时在课上老师教的和作业写的大都是一段程序,然而要想写一个完整的程序还是十分的生疏的,也有很多没有注意到的但是很简单的地方,比如说字母开头的16进制数的前面是要加0的,当时没注意,还纳闷为什么不对,后来想起上课老师说过的才记起来。总之做了这个程序复习了很多几乎都要忘记的东西,不如说各个寄存器的作用,如何将16进制数的高8位和低8位分开送入DL中用系统调用功能显示,以及将字符转换为ascII码表示,这些都让我的编程基础奠定不少。

实验二 8259中断控制实验

一、实验目的

1. 掌握8259中断控制器的工作原理。

2. 学习8259的应用编程方法。

3. 掌握8259级联方式的使用方法。

二、实验设备

PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。

三、实验内容及步骤

1.中断控制器8259简介

在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT 连接到主片的IR2信号上构成两片8259的级联。

在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图2.1:

INTR 串口0MIR6MIR7

SIR1

图2.1 8259内部连续及外部管脚引出图

8259内部各寄存器:

7

ICW1

2.2 初始化命令字1寄存器

主片功能:初始化命令字1

从片功能:决定中断请求信号为电平触发还是边沿触发

7

ICW2

中断向量地址

图2.3 初始化命令字2寄存器

主片功能:初始化命令字2

从片功能:包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推

7

ICW3(主片)

图2.4 主片初始化命令字3寄存器

7

ICW3(从片)

图2.5 从片初始化命令字3寄存器

主片功能:初始化命令字3,用于识别从8259设备连接到主控制器的IR 信号,内部的从8259连接到主8259的IR2信号上

从片功能:初始化命令字3,表明内部从控制器级联到主片的IR2信号上

7

ICW4

图2.6 初始化命令字4寄存器

主片功能:初始化命令字4,选择特殊全嵌套或全嵌套模式,使能中断自动结束方式 从片功能:和主片一样

7

OCW1

图2.7 操作命令字1寄存器

寄存器功能:中断屏蔽操作寄存器,可屏蔽相应的中断信号

OCW2

图2.8 操作命令字2寄存器

寄存器功能:改变中断优先级和发送中断结束命令。

7

OCW3

图2.9 操作命令字3寄存器

寄存器功能:使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断服务寄存器

7

POLL

图2.10 程序状态字寄存器

寄存器功能:表明连接到8259上的设备是否需要服务,如果有中断请求,该字表明当前优先级最高的中断请求

2、8259单中断实验

实验接线图如图2.11所示,单次脉冲输出与主片8259的IR7相

连,每按动一次单次脉冲,产生一次外部中断,在显示屏上逐个字符输出自定义的“Hello world ”字符串.实验连线图:

2.11 8259单中断实验接线图

3、实验步骤:

(1)按图2.12连接实验线路。

(2)输入程序,编译、链接无误后装入系统。程序代码:

SSTACK SEGMENT STACK DW 32 DUP(?)

SSTACK ENDS

DATA SEGMENT

wod DB ‘Hello world’,’$’

INDEX DW 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET wod

MOV INDEX,BX

PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET MIR7 ;取中断入口地址MOV SI, 003CH ;中断矢量地址

MOV [SI], AX ;填IRQ7的偏移矢量MOV AX, CS ;段地址

MOV SI, 003EH

MOV [SI], AX ;填IRQ7的段地址矢量CLI

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

STI

AA1: NOP

JMP AA1

MIR7:

STI

CALL DELAY

PUSH BX

MOV BX,INDEX

MOV AL,[BX]

CMP AL,’$’

JNE NEXT

MOV BX,OFFSET wod

MOV AL,[BX]

NEXT:

INC BX

MOV INDEX,BX

POP BX

INT 10H ;显示字符7

MOV AX, 0120H

INT 10H

MOV AL, 20H

OUT 20H, AL ;中断结束命令

IRET

DELAY: PUSH CX

MOV CX, 0F00H

AA0:

PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符相应字符,说明响应了中断(按一次KK1+显示一个字符) 五.实验小结与体会

第一次做实验仪器与汇编语言代码配合显示输出结果的实验,这个实验能让我对微机接口这门课的一些核心知识更加了解,例如芯片的初始化,以及根据老师的需求选择不同的的8259芯片的内部寄存器初始化,已达到对主片和从片进行操作的目的,这也是课堂上老师讲解这门课程的重要内容,这个实验让我更深地了解了该芯片的工作方式和原理,让我的微机接口学习受益匪浅。

实验三 8254定时/计数器应用实验

一、实验目的

1. 掌握8254的工作方式及应用编程。

2. 掌握8254典型应用电路的接法。

二、实验设备

PC机一台,TD-PITE实验装置或TD-PITC实验装置一套,示波器一台。

三、实验内容

计数应用实验。编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’N次后,产生一次计数中断,并在屏幕上显示一个字符。

四、实验原理

8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:

(1)有3个独立的16位计数器。

(2)每个计数器可按二进制或十进制(BCD)计数。

(3)每个计数器可编程工作于6种不同工作方式。

(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。

(5)8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。

计数初值公式为:

n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是

输出波形的频率。

图3.1是8254的内部结构框图和引脚图,它是由与CPU的接口、

内部控制电路和三个计数器组成。8254的工作方式如下述:

(1)方式0:计数到0结束输出正跃变信号方式。

(2)方式1:硬件可重触发单稳方式。

(3)方式2:频率发生器方式。

(4)方式3:方波发生器。

(5)方式4:软件触发选通方式。

(6)方式5:硬件触发选通方式。

图3.1 8254的内部接口和引脚

8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表3.1—3.3所示。

表3.1 8254的方式控制字格式

8254实验单元电路图如下图所示:

图3.2 8254实验电路原理图

五、实验步骤

计数应用实验

编写程序,将8254的计数器0设置为方式3,计数值为十进制

数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动4次后产生中断请求,在屏幕上显示字符和这是第几次中断。

实验步骤:

1.实验接线如图3.3所示。

图3.3 8254计数应用实验接线图

2.编写实验程序,经编译、链接无误后装入系统。程序代码:

A8254 EQU 06c0H

B8254 EQU 06c2H

C8254 EQU 06c4H

CON8254 EQU 06c6H

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

DATA SEGMENT

LQ db 'OutPut ',0dh,0ah,'$'

STRING db '1234'

DATA ENDS

CODE SEGMENT

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

START:

MOV AX,DATA

MOV DS,AX

PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET IRQ6 ;取中断入口地址

MOV SI, 0038H ;中断矢量地址

MOV [SI], AX ;填IRQ6的偏移矢量

MOV AX, CS ;段地址

MOV SI, 003AH

MOV [SI], AX ;填IRQ6的段地址矢量

CLI

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 0BFH ;OCW1

OUT 21H, AL

;8254

MOV DX, CON8254

MOV AL, 10H ;计数器0,方式0

OUT DX, AL

MOV DX, A8254

MOV AL, 01H ;test

OUT DX, AL

MOV SI,OFFSET STRING

STI

AA1: NOP

JMP AA1

IRQ6: ;计数器8254初始化MOV DX, A8254

MOV AL, 01H

OUT DX, AL

mov ah,9

mov dx,offset LQ

INT 21H

MOV AH,02H

MOV DX, [SI]

INT 21H ;显示

INC SI

MOV AL, 20H

OUT 20H, AL ;中断结束命令

IRET

CODE ENDS

END START

3.运行程序,按动KK1+产生单次脉冲,观察实验现象。

程序运行效果:每按4次KK1+,输出‘1 OutPut’,‘2 OutPut’,

‘3 OutPut’,‘4 OutPut’

4.改变计数值,验证8254的计数功能。

五.实验小结与体会

该芯片的各个方便我认为挺复杂的,设置计数器和工作方式,用什么进制计数等等,在设计控制字的时候都要考虑好,控制字分为方式控制字,独处控制字,以及状态字都要在芯片初始化的时候用上,按4次kk1+才出一个字符更是本实验的难点,解决这个实验让我对此芯片有了一定的了解,同时也了解了各个芯片之间的一些共性的地方,虽然工作方式不同,但是操作却有神似的地方。

实验四 8255并行接口实验

一、 实验目的

1. 学习并掌握8255的工作方式及其应用。

2. 掌握8255典型应用电路的接法。

二、 实验设备

PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。

三、 实验内容

1. 基本输入输出实验。编写程序,使8255的A 口为输入,B 口为

输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。

2. 流水灯显示实验。编写程序,使8255的A 口和B 口均为输出,

数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

3.驱动数码管显示字符”0-9”。编写程序,选择一个或多个数码

管来显示0到9十个数字字符。

四、 实验原理

I/O I/O I/O I/O PC7-PC4

PC3-PC0

PB7-PB0

图4.1 8255内部结构及外部引脚图

并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递

信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4. 1所示,8255工作方式控制字和C 口按位置位/复位控制字格式如图4. 2所示。

位(a )工作方式控制字

(b )C 口按位置位/复位控制字

1

图4. 2 8255控制字格式

8255实验单元电路图如图4. 3所示:

图4. 3 8255实验单元电路图

五、实验步骤

驱动数码管显示“6-9”,让前面两个数码管轮流显示6,7,8,9

(1)根据要求,自行连接实验线路图。

图4. 5 8255数码显示实验接线图

(2)编写实验程序,经编译、链接无误后装入系统。程序代码:

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

DATA SEGMENT

num db 7dh,07h,7fh,6fh,'$' ;

addr db 0efh,0bfh,'$' ;

ENDS DATA

ASSUME CS:CODE START:

MOV AX,DATA

MOV DS,AX

MOV DX, 0646H

MOV AL, 80H

OUT DX, AL ;

MOV BX,OFFSET num

MOV CX,OFFSET addr

PUSH BX

PUSH CX

AA1:

MOV DX, 0640H

pop bx

MOV AL, [bx]

CMP AL,'$'

JNE NEXT1

MOV BX,OFFSET addr

MOV AL,[BX]

NEXT1:

OUT DX, AL

INC BX

MOV CX,BX

POP BX

MOV DX, 0642H

MOV AL, [BX]

CMP AL,'$'

JNE NEXT2

MOV BX,OFFSET num

MOV AL,[BX]

NEXT2:

OUT DX, AL

INC BX

PUSH BX

PUSH CX

CALL DELAY

CALL DELAY

JMP AA1

DELAY:

PUSH CX

MOV CX, 0F000H

AA2:

PUSH AX

LOOP AA2

POP CX

RET

CODE ENDS

END START

(3)运行程序,观察数码管的显示,验证程序功能。

(4)改变数码管的显示方式,编写程序。

五.实验小结与体会

我看来这个实验是几个实验里面最难的,首先线非常容易就接错了,一旦接错就容易出现乱码,还要理解以及学会如何用代码调用数码管,这是我在实验中碰到的难点,解决方法是读取一次值后指向性地调用一次数码管的端口,然后输出要求不多,可是实现起来对我来说并不容易,然后发现数码管的数字跳动太快了,解决方法是多使用几次call delay。通过这几次实验操作的难度上以及技术上的循序渐进,我对各个芯片的使用原理和这门课程对于计算机的意义有了深刻的认识,相信这会对我以后的计算机学习中带来不小的帮助。

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

微机原理与接口技术实验报告 班级:自动化(铁道信号) 姓名: ***** 学号: 1121**** 授课教师:福恩

目录 1.实验一 (3) 2. 实验二 (8) 3.实验三 (13) 4.实验四 (22) 5.实验五 (26) 6.实验六 (33) 7.参考文献 (38)

实验一交通灯控制实验 一.实验目的 通过应用接口技术设计十字路口、复杂路口交通灯控制系统,学会应用“微机原理与接口技术”课程所学的X86汇编语言和接口技术掌握可编程并行接口芯片的硬件设计、软件编程,实现十字路口交通灯的模拟控制并思考计算机如何应用在各种控制系统中。 (1)掌握利用X86汇编语言技巧 (2)掌握X86微处理器与可编程并行接口芯片8255A硬件电路设计 (3)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。 二.实验容 设计一个交通控制系统,该控制系统工作后,交通灯按照如下规律变化: (1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。 (2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3)南北路口的红、东西路口的绿灯同时亮3秒。 (4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5)返回(1)依次循环。 三.实验电路 如下图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:0EC0BH A口地址: 0EC08H C口地址: 0EC0AH

红黄绿红黄绿 图1-1 交通灯实验电路图四.程序流程图 五.源程序 CODE SEGMENT ASSUME CS:CODE ;********************************** 工作状态控制字设置 START: MOV DX,0EC0BH ;写控制端口,地址0EC0BH MOV AL,10010000B ;C口方式0输出 OUT DX,AL

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

新疆农业大学机械交通学院 实习(实验)报告纸 班级:机制072 学号: 073731234 姓名:唐伟 课程名称:微机原理及接口技术实习(实验)名称: DEBUG软件的使用 实验时间: 6.22 指导教师签字:成绩: —、实验目的 1.学习DEBUG软件的基本使用方法。 2.掌握8088/8086的寻址方式。 3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。 二、实验内容与步骤 实验内容: 修改并调试以下程序,使之完成30000H开始的内存单元中存入31个先自然递增然后有自然递减的数据(00H~0F~00H)的功能。程序从CS:0100H开始存放。调试完成后程序命名为PCS.EXE并存盘。 实验步骤: (1)用A命令输入程序; (2)用反汇编U命令显示程序及目标码; 存盘程序命令为PCS1.EXE;

三、思考题 1.EXE文件程序的第一条可执行指令的IP等于多少? 答:EXE文件程序的第一条可执行指令的IP等于0010 。 2.在DEBUG环境下显示的程序和数字是什么形式?标号又是什么形式? 答: DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。不支持标号。 3.试述本次实验中你学会的DEBUG命令? 答:本次试验我学会了汇编命令(A命令)、.反汇编命令(U命令)、显示当前环境和寄存器内容(R命令、以十六进制和ASCII码形式显示内存单元内容(D命令)

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

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

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

微机原理及接口技术实验报告

实验一 DEBUG命令及其基本操作 一.实验目的: 1.熟练掌握DEBUG的常用命令,学会用DEBUG来调试程序。 2.深入了解数据在存储器中的存取方法,了解堆栈中数据的压入与弹出方法。 3.掌握各种寻址方法,了解简单指令的执行过程。 二、实验容: 1.打开计算机,在WINXP操作系统下,点击“开始”,选择“运行”,在“打开”一栏中输入“debug”,运行DEBUG应用程序,将出现DEBUG的提示符“-”。 2.在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的容: (具体到每个计算机所产生的段地址和偏移地址可能有所不同) 这表示在地址1383:0100处,DEBUG等待用户键入程序助记符,下面键入程序: 3.在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。 4.现在让我们用“d”命令来看一下存储器 在100H~107H这8个单元,程序覆盖了原来的容,右边的字符是组成程序的ASCII码等价字符,圆点表示不可显示字符。 5.下面我们用反汇编命令来查看一下所键入的程序。“U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。键入: 大家在屏幕上不仅可以看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。6.现在我们修改存储单元的容,看看显示情况和变化。 我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII 码字符。 7.下面我们给程序命名并存盘。在键入“n”后紧跟程序名及扩展名

因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。 8.结束后可用Q命令退出DEBUG程序。 三、实验习题 1.写出完成下列功能的指令序列 (1)传送20H到AL寄存器 (2)将(AL)*2 (3)传送25H到BL寄存器 (4)(AL)*(BL) 问最后的结果(AX)=? 单步执行结果: 2.分别写出完成下列指令要求的指令: (1)将BX的低4位清零; (2)将AX的高4位置1; (3)将DX的低4位取反; (4)将CX的中间八位清零; (5)将AX中与BX中的对应位不相同的位均置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

微机接口实验二(实验报告)

实验二 循环和分支程序设计 学号 201316122 姓名 黄成楠 专业 通信工程 成绩 【实验目的】 (1) 熟悉上机实验流程、调试及查看实验结果。 (2) 熟悉汇编语言编程环境,DOS 调用应用; (3) 编写循环和分支程序,并调试; 【实验内容及步骤】 1、 实验要求: 从键盘输入一系列字符, 以回车符结束,编程统计其中数字字符的个数(不超过100个) 提示: 程序首先调用DOS 功能的1号功能,从键盘输入字符。为得到字符串,可以采用循环结构,连续输入。在输入的过程中通过判断是否是回车来结束输入。其中回车的ASII 码(0DH )。数字的0的ASII 码(30H )9的(39H ) 流程图: Next1函数: Next 函数:

Exit函数: 2、实验内容: DSEG SEGMENT DATA1 DB 100 DUP(?) DATA2 DB 'please input:','$' DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG MOV DS, AX MOV BX,0 LEA DX,DATA2 MOV AH,09H INT 21H NEXT2: MOV AH,1 INT 21H CMP AL,0DH JE EXIT CMP AL,30H JAE NEXT3 JMP NEXT2 NEXT3: CMP AL,39H JBE NEXT4 JMP NEXT2 NEXT4: INC BX JMP NEXT2 EXIT: MOV AX,BX MOV CL,10 DIV CL

微机原理与接口实验报告1

微机原理与接口实验报告计算机与信息工程学院11级通信工程20111105438 李楠 2.4 分支程序设计实验 一、实验目的 1. 掌握分支程序的结构。 2. 掌握分支程序的设计、调试方法。 二、实验设备 PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。 三、实验内容 设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况. 实验程序清单(例程文件名为:A4-1.ASM) SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV CX, 0010H MOV SI, 3100H MOV DI, 3200H CMP SI, DI JA A2 ADD SI, CX ADD DI, CX DEC SI DEC DI A1: MOV AL, [SI]

MOV [DI], AL DEC SI DEC DI DEC CX JNE A1 JMP A3 A2: MOV AL, [SI] MOV [DI], AL INC SI INC DI DEC CX JNE A2 A3: MOV AX,4C00H INT 21H ;程序终止 CODE ENDS END START 四、实验步骤 1. 按流程图编写实验程序,经编译、链接无误后装入系统。 2. 用E命令在以SI为起始地址的单元中填入16个数。 3. 运行程序,待程序运行停止。 4. 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。 5. 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

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

第一篇软件实验 实验一存储器块操作实验 一、实验目的 1. 熟悉KEIL集成调试环境和汇编程序的调试方法。 2. 掌握存储器读写方法; 3. 了解内存块的移动方法; 二、实验说明 实验1 指定某存储器的其实地址和长度,要求能将其内容赋值。通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。 块移动是单片机常用操作之一,多用于大量的数据复制和图像操作。例程2给出起始地址,用地址加1方法移动块,将指定源地址和长度的存储块移到指定目标为起始地址的单元中去。移动3000H起始的256个字节到4000H起始的256个字节。 三、实验内容 1. 试编程将片内RAM中的数据依次复制到片外RAM。假设源数据区的首地址为40H,目的数据区的首地址为1000H,数据块长度为10H。 流程图: 程序:

运行结果: Memory显示,片内RAM中40H开始数据为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明测试数据已经成功输入片内RAM。从片外RAM中1000H位置开始记录为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明片内RAM从40H开始的数据已经成功复制到片外从1000H开始的地址。 2. 两个16位无符号二进制数分别存放在片外RAM首址为2000H和2002H单元内,将它们相加,结果存入RAM 30H(低8位)、31H(高8位)。 程序(以0506H+CDEFH为例):

0506H和CDEFH已存入片外单元,运算结果D2F5已存入30H和31H中。 四、思考题 1. 如何将存储块的内容置成某固定值(例全填充为0FFH)?请用户修改程序,完成此操作。答:将源程序中的MOV A, #01H 改为MOV A,#0FFH即可。 2. 若源块地址和目标地址有重叠,该如何避免? 答:先执行一次数据转移操作将源块地址中的数据先暂存入一块地址与目标地址和源块地址均不重叠的存储区,再执行一次数据转移操作将暂存区的数据移入目标地址区域。 五、心得体会 本次实验我学会了数据块的移动和赋值。片内数据的移动和计算比较简便,涉及到片外数据的计算时要增加移动到片内的步骤。当数据需要进行保护时可以设定数据暂存区。 本实验微机原理的第一个实验,刚开始编程时有一点困难。我体会到了汇编语言的特点。与其他语言相比,它不仅要求良好的逻辑能力,而且要求编程者有较好的硬件知识。比如本次实验中,一开始我的编译一直报错,原来是将MOVX A,@DPTR指令错写成了MOV A,@DPTR。MOV指令用于内部RAM数据传送,而MOV用于外部数据传送。我体会到只有充分了解单片机的硬件结构,才能使用正确的指令,让编程正确无误的进行。这也是我今后要加强学习的重点。 实验二数值转换实验 一、实验目的

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

微机原理与接口技术 实验报告 学院:计算机与通信工程学院 专业:计算机科学与技术 班级: 学号: 姓名:

实验一8259中断控制器应用实验 一、实验目的 1.掌握PC机中断处理系统的基本原理。 2. 掌握可编程中断控制器8259的应用编程方法。 二、实验内容 1.PC机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。 2.PC机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。 3.扩展多中断源查询方式应用实验。利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。 三、实验步骤 1.实验1-1:PC机内中断应用实验 (1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下: (2)自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下: DA TA SEGMENT MESS DB 'IRQ10 ',0DH,0AH, '$' DA TA ENDS

CODE SEGMENT ASSUME CS:CODE, DS:DA TA START: MOV AX, CS MOV DS, AX MOV DX,OFFSET INT10 MOV AX,2572H ;设置IRQ10对应的中断向量 INT 21H IN AL,21H ;读取中断屏蔽寄存器 AND AL,0F3H ;开放IRQ3中断和从片 OUT 21H,AL IN AL,0A1H ;从片的中断屏蔽寄存器 AND AL,0FBH ;开放IRQ10中断 OUT 0A1H,AL MOV CX,10 STI WAIT: JMP W AIT INT10: MOV AX, DATA ;中断服务程序 MOV DS, AX MOV DX, OFFSET MESS MOV AH, 09 ;在屏幕上显示每次中断的提示信息 INT 21H MOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT 20H, AL LOOP NEXT IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 08H ;关闭IRQ3中断 OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH, 4CH ;返回DOS INT 21H NEXT: IRET ;中断返回 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 进行调试。 四,程序流程图

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

微机原理与接口技术课程设计报告题目:继电器控制实验设计 学院电子与信息工程学院 专业通信工程年级 10级 学生姓名 xx 学号 _ xxxxxxxx 指导教师 xx 完成时间 2012/11/9 二O一二年十一月

目录 摘要 (3) 一.实验目的 (4) 二.实验原理 (4) 1 实验基本原理 (4) 2.1继电器结构原理图 (5) 2.2继电器工作原理 (5) 3.1 8255A组成 (6) 3.2 8255A结构框图 (7) 3.3 8255A工作方式 (7) 三.实验内容 (11) 四.程序设计 (12) 4.1程序流程图 (12) 4.2程序代码 (12) 五.实验小结........................................................ 错误!未定义书签。 六.参考文献 ......................................................... 错误!未定义书签。

摘要 现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全。继电器便能完成这一桥梁作用。 本课程设计主要采用了控制继电器和8255A芯片来完成。电路的控制端为高电平时,继电器工作常开触点吸合,连触点的LED灯被点亮。当控制端为低电平时,继电器不工作。执行时,对应的LED将随继电器的开关而亮灭。 关键词:控制继电器 8255A芯片

一.实验目的 1、进一步熟悉汇编语言的设计编写 2、掌握继电器控制的基本原理 3、掌握继电器控制编程方法 4、掌握8255芯片的应用 二.实验原理 1、利用8255A PA0输出高低电平,控制继电器的开合,以实现对外部装置的控制。 硬件线路原理图接线如下: 2、继电器 在现代工业中,人员和电子电路安全保障一直是首要考虑的问题,尤其在一些高危恶劣环境下,如高温高压等,如何在保障操作人员和电子电路安全的前提下对电路进行良好地控制便成为了工业进步不可回避的问题。一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全,符合这种需求的元件便是继电器。 控制继电器是一种自动电子控制器件,它适用于远距离接通和分断交、直流小容量控制电路, 它具有控制系统和被控制系统,通常应用于自动控制电路中,

计算机接口技术实验报告

实验一无条件输出端口的构成与地址译码 【地址译码电路】 【实验板的线路接法】 将电路图上的A1-A7端口依次PIN到PIN_3、PIN_4、PIN_7、PIN_8 、PIN_9、PIN_24、PIN_25,再用八股导线连接到实验箱中的XA1-XA7上; 将电路图上的IOW端口PIN到PIN_17,通过转换单元连接到实验箱上的IOW端口; 将电路图上的D1-D8端口依次PIN到PIN_27、PIN_28、PIN_30、PIN_31 、PIN_32、PIN_40、PIN_41、PIN_42,再用八股导线连接到实验箱中的XD1-XD7上; 将电路图上的OUT1-OUT8端口依次PIN到PIN_43、PIN_44、PIN_45、PIN_47 、PIN_48、PIN_51、PIN_52、PIN_53,再用八股导线连接到实验板上二极管对应的的D0-D7上。 最后,给实验板接上电源线和地线。 【输出数据至端口的程序段】 #include #include #include #include #include #include void main() { outp( 0x3000, 0x00 ); } 【Led规律性变化的程序段】 #include #include #include #include #include #include void main()

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

微机原理与接口技术》 上机报告 学院:机电学院指导教师:胡勇学号:631424210229 姓名:鞠其林

实验一初级程序的编写与调试实验 、实验目的 1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序. 2、深入了解数据在存储器中的存取方法, 及堆栈中数据的压入与弹出 3、掌握各种寻址方法以及简单指令的执行过程. 二、实验内容 1、设堆栈指针SP=2000H,AX=3000H,BX=5000H请, 编一程序段将AX的内容和BX 的内容进行交换. 请用堆栈作为两寄存器交换内容的中间存储单元, 用DEBUG调试程序进行汇编与调试. 程序: MOV AX,3000 MOV BX,5000 MOV SP,2000 PUSH AX PUSH BX POP AX POP BX HLT

2、设AX=0002H,编一个程序段将AX的内容乘10, 要求用移位的方法完成程序: MOV AX,0002 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX MOV CL,1 SHL AX,CL HLT

三、心得体会 从这个程序的编辑过程中我感受到了汇编语言的强大,很直观的就可以读懂程 序的含义,但代码比较难记,而且语法严谨,我调试的过程中犯了一点错误, 修改的次数较多,希望我以后可以不再犯同样的错误,也是因为我练的比较的 少,还很生疏,我以后一定多加练习,把汇编学好 实验二 加法及判断程序的编写与调试 、实验目的 1、熟练掌握编写汇编语言源程序的基本方法和基本框架 2、学会编写顺序结构 , 分支结构和循环结构的汇编程序

3、掌握程序中数据的产生与输入输出的方法. 二、实验内容 1、用汇编语言编写一个加法程序: 1325+9839 请用ASCII 码的形式将加数与被加数存放在数据区DATA1和DATA2中, 并将相加结果显示输出. 程序: DATA SEGMENT DATA1 DB '5','2','3','1' DATA2 DB '9','3','8','9' DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA SI,DATA1 LEA DI,DATA2 MOV CX,4 MOV AH,0 NEXT: MOV AL,[SI] ADC AL,[DI] ADC AL,AH MOV AH,0 AAA ADD AL,30H MOV [DI],AL INC DI INC SI LOOP NEXT MOV CX,5 ADD AH,30H MOV [DI],AH NEXT1:MOV DL,[DI] MOV AH,02 INT 21H DEC DI

微机接口实验报告

微机接口实验报告

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

三、实验程序 L1: MOV DX, 2A0H//选通74LS138的11口 OUT DX, AL//使端口A输出,给D触发器一个时钟信号 LOOP $//延时 LOOP $//延时 MOV DX, 2A8H//选用74LS138的10口 OUT DX, AL//使D触发器清零 LOOP $//延时 LOOP $//延时 MOV AH, 11//十一号功能调用 INT 21H//如果有键按下 INC AL//AL加一,退出循环 JNZ L1// 如果没键按下,则继续循环 四、总结 第一次实验比较简单、主要是学会了通过程序控制芯片及其端口的选通,其方法是根据芯片外围搭建的电路使DX进行写或读的操作、例如本实验里,要想选通74LS138的11口操作8255的端口A,则需要使A9A8A7A6A5A4A3A2A1A0=1010100000=2A0H,同理操作10口时,则使DX=2A8H,再加上延时DELAY功能,即可使LED灯循环亮灭。但是如果不给芯片断电,则LED灯会一直循环,不能进进行人为的控制,所以又在后面加上了11号功能调用,只要当AL=0,循环结束。

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

微机原理与接口技术实验报告 班级: 通信1309 姓名: 张哲熙 学号: 13212171

指导教师: 周永华 实验一交通信号灯模拟控制 一.实验目的 交通信号灯模拟控制是一个基于实际工程原理, 结合文献、现实十字路口交通等得研究, 对工程问题进行确定、表述和建模分析, 获得最优设计方案, 理解并在工程实践中遵守工程职业道德规范, 根据实验室实验环境限定条件确定实验方案。所有知识涵盖本课程中的并行接口芯片、汇编语言程序设计、算法分析、接口地址的确定、外围设备的控制等。经过此实验能够理解微机系统中接口电路的作用, 掌握软件硬件协同工作原理, 熟悉微机原理与接口技术的综合应用。最终达到如下实验目的: ( 1) 掌握可编程并行接口 8255 芯片的工作原理 ( 2) 掌握利用并行接口芯片 8255 实现信号灯控制的硬件设计和软件设计 ( 3) 掌握接口电路及汇编语言程序设计的调试方法 ( 4) 了解 PC 机和实验系统板的连接原理, 理解系统机扩

展原理 ( 5) 了解并行接口芯片在工程实践中的典型应用及实现方式。 二.实验内容 设计利用 TPC- A 实验系统提供的 8255 芯片和信号灯设计实现十字路口交通灯的模拟控制的硬件连接和程序设计。 1.设计要求 (1)经过实际调研了解十字路口交通灯原理, 确定实现的算法流程。 (2)利用实验系统设计硬件电路, 明确 8255 芯片端口地址。(3)编程实现并调试完成交通信号灯的模拟控制。 (4)分析设计方案并比较和实际交通信号灯的技术性能差别。 2.设计目标和性能指标 ( 1) 考察一个实际十字交通等路口交通控制, 模拟在实验室实现。 ( 2) 扩展功能: 用 LED 应倒计时方式显示各路口灯亮时间。( 3) 对于复杂多路口应该如何设计。例如结合车流、人流等多方

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

重庆交通大学 学生实验报告 实验课程名称微机原理与接口技术B 开课实验室机电自动控制实验室 学院年级专业班 学生姓名学号 开课时间2017 至2018 学年第 1 学期 注:实验成果考核方式采用非实验报告形式的,可自行制定

实验二 Protues软件使用 一.实验目的: 掌握单片机仿真软件。 二.实验器材: PC 机一台 三.实验内容: 任务A:闪烁灯 1、任务要求:如图2.1所示,在P1.0 端口上接一个发光二极管D1,使D1 在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2、电路原理图: 图2.1电路原理图 任务B:模拟开关灯 1、任务要求:如图2.2所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。 2、电路原理图:

图2.2电路原理图 任务C:多路开关状态指示 1、任务要求:如图2.3所示,AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。 2、电路原理图: 图2.3电路原理图

四.实验代码: 任务A: ORG 0 //起始地址为00H START: CLR P1.0 //p1.0置零,开关灯亮 LCALL DELAY //延时0.2s SETB P1.0 //p1.0置1,开关灭 LCALL DELAY //延时0.2s LJMP START //主程序为死循环 DELAY: MOV R5,#20 //延时子程序,延时0.2秒 D1: MOV R6,#20 //赋值R6为20 D2: MOV R7,#248 //赋值R7为248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET //子程序返回 END //程序结束 任务B: ORG 00H START: JB P3.0,LIG // JB 指定位1转移 CLR P1.0 //开关按下,把p1.0置零,灯亮 SJMP START //主程序为判断开关状态,点亮灯的死循环LIG: SETB P1.0 //开关未按下,把p1.0置1,灯灭 SJMP START //跳转至主程序 END //程序结束 任务C: ORG 00H START: MOV A,P1 //一次把p1端口的状态全部读入 ANL A,#0F0H //取高四位状态来显示 RR A //右循环 RR A

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

. ... 目录 实验一数据传送 (2) 实验二算术运算 (7) 实验三代码转换 (14) 实验四程序的基本结构练习 (20) 实验五存储器(RAM 6264)扩展................ 错误!未定义书签。实验六可编程并行接口(8255)扩展............ 错误!未定义书签。实验七可编程计数/定时器(8253)扩展......... 错误!未定义书签。实验八 A/D、D/A转换......................... 错误!未定义书签。实验九可编程串行通信接口(8251)扩展........ 错误!未定义书签。

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以 M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’;堆栈段定义 DB 512 DUP(?) STACK ENDS

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

微机原理与接口技术实验报告 班级:通信1309 姓名:张哲熙 学号:

指导教师:周永华 实验一交通信号灯模拟控制 一.实验目的 交通信号灯模拟控制是一个基于实际工程原理,结合文献、现实十字路口交通等得研究,对工程问题进行确定、表述和建模分析,获得最优设计方案,理解并在工程实践中遵守工程职业道德规范,根据实验室实验环境限定条件确定实验方案。所有知识涵盖本课程中的并行接口芯片、汇编语言程序设计、算法分析、接口地址的确定、外围设备的控制等。通过此实验可以理解微机系统中接口电路的作用,掌握软件硬件协同工作原理,熟悉微机原理与接口技术的综合应用。最终达到如下实验目的: (1)掌握可编程并行接口 8255 芯片的工作原理 (2)掌握利用并行接口芯片 8255 实现信号灯控制的硬件设计和软件设计(3)掌握接口电路及汇编语言程序设计的调试方法 (4)了解 PC 机和实验系统板的连接原理,理解系统机扩展原理 (5)了解并行接口芯片在工程实践中的典型应用及实现方式。 二.实验内容 设计利用 TPC-2003A 实验系统提供的 8255 芯片和信号灯设计实现十字路

口交通灯的模拟控制的硬件连接和程序设计。 1.设计要求 (1)通过实际调研了解十字路口交通灯原理,确定实现的算法流程。 (2)利用实验系统设计硬件电路,明确 8255 芯片端口地址。 (3)编程实现并调试完成交通信号灯的模拟控制。 (4)分析设计方案并比较和实际交通信号灯的技术性能差别。 2.设计目标和性能指标 (1)考察一个实际十字交通等路口交通控制,模拟在实验室实现。 (2)扩展功能:用 LED 应倒计时方式显示各路口灯亮时间。 (3)对于复杂多路口应该如何设计。例如结合车流、人流等多方因素方案如何确定。 三.实验电路 如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:28BH A口地址: 288H C口地址: 28AH 红黄绿红黄绿

华南理工大学微机与接口实验报告(四实验-题目原理流程图代码截图完整版)

华南理工大学微机与接口实验报告(四实验-题目原理流程图代码截图完整版)

微机原理实验报告 班级:2012级电子科学与技术卓工班 姓名:黄中一 学号: 201236460273 序号:

评阅分数: 实验一 一、实验目的 1、学会如何建立汇编源文件ASM 2、学会调用MASM宏汇编程序对源文件进行汇编,获得目标程序OBJ及LST 列表文件 3、学会调用LINK连接程序汇编后的目标文件OBJ连接成可执行的文件EXE 4、学会使用DEBUG调试程序把可执行文件装入内存并调试运行,用D命令 显示目标程序,用U命令对可执行文件反汇编,用G命令运行调试。二、实验设备 装有MASM 软件的IBM PC机 三、实验内容 1、汇编程序对源程序进行编译,生成扩展名为OBJ的目标文件;连接程序是将 目标程序和库文件进行连接、定位,生成扩展名为EXE的可执行文件;调试程序是对目标文件进行调试,验证它的正确性。 2、DEBUG程序各种命令的使用方法

检查和修改寄存器的内容R 显示全部寄存器和标志位及 下条指令单元十六进制数码 和反汇编格式 反汇编U地址从指定地址开始反汇编16个或32个字节 汇编A地址从指定地址直接输入语句并从指定指定汇编装入内存 跟踪T=地址从指定地址开始逐条跟踪指令 运行G=地址无断点,执行正在调试的指令 退出Q 退出DEBUG返回DOS ①、在edit环境,写字板,记事本等中输入源程序。或双击屏幕上“未来汇编”快捷方式进入编辑环境输入源程序。 ②、保存,输入文件名如A1.asm,并将其与MASM的三个可执行文件放在同一目录下。 ③、在DOS环境下(可用windows下的命令提示符进入),用MASM生成目标文件A1.OBJ 进入DOS环境,将当前目录设置为存放MASM的路径.如图所示: 如果MASM 的软件放在C:\TOOLS\WJYL 则先要进入到该子目录下,进入该子目录的方法为,cd c:\ 退到c盘的根目录下,cd tools cd WJYL 则如上所述进入该目录下,然后 输入MASM ,可见屏幕上有四个提问,按如下格式回答: Source filename [.ASM]:a1↙ Object filename [A1.OBJ]:↙ Source listing [NUL.LST]: a1↙ Cross-reference [NUL.CRF]:a1 ↙

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