微机接口综合实验.

微机接口综合实验.
微机接口综合实验.

一、实验目的

(1)了解可编程定时/计数器芯片8253在PC机里的工作情况。

(2)掌握PC机定时操作的工作原理。

二、实验内容及要求

1.【实验内容】:

对PC机中的8253进行编程,使得PC机成为一个精确的时钟;

2.【实验要求】:

(1)程序截获系统原有的时钟中断向量,置入用户自己的时钟中断向量。

(2)将8253的通道0设置为工作方式3,二进制数,装入计数初值11932,使其没10ms产生一次定时中断,即每秒钟中断100次,在程序中设置每一个中断次数计数器count100,初值为100,每次中断减一,到0后又重新置为100,并对时间显示串进行处理。

(3)程序运行时,在命令行输入用户指定的当前时间“nn:mm:ss”,即以两位数给出的“时:分”秒”,按任意键后开始计时,并以12小时的格式显示当前时间。

(4)在程序运行过程中,即时间显示过程中,用户按住任意键,恢复系统原中断向量,退出时钟程序的运行。

3.【实验流程图】:

【计时操作判断流程图】

【用户定时中断程序流程图】

4.【实验代码】:

.model small

.model small

.stack 256

.data

count100 db 100 ;中断次数计数器

tenhour db 0 ;一小时的十位数

hour db 0 ;一小时的个位数

db ':'

tenmin db 0 ;分钟的十位数

minute db 0 ;分钟的个位数

db ':'

tensec db 0 ;秒钟的十位数

second db 0 ;秒钟的个位数

oldtime dw 0 ;保存原时钟中断向量

dw 0

.code

start proc far

push ds ;进行程序的首地址保护

xor ax, ax

push ax

mov ax, @data

mov es, ax ;指向数据段

mov si, 82h ;指向PSP内命令行参数

mov di, offset tenhour

mov cx, 8 ;放入“nn:mm:ss”的8个ASCII码的值

cld

rep movsb ;命令行的参数移入显示串中

mov ds, ax ;将数据段的段地址ax存入ds中

mov ah, 0 ;等待按键程序启动

int 16h

cli ;关中断

mov ax, 0

mov es, ax ;将段地址ax存入es段中

mov di, 20h ;产生类型号为20H的中断放入di中

mov bx, es:[di] ;将中断向量保存在bx中

mov oldtime, bx

mov bx, es:[di+2]

mov [oldtime+2], bx

mov ax, offset timer ;设置用户的中断向量

stosw

mov ax, seg timer

stosw

mov al, 36h ;8253中的命令字:通道0,方式3,二进制数

out 43h, al ;将设置好的命令字送到8253控制端口

mov bx, 11932 ;每秒钟中断100次计数值

mov al, bl

out 40h, al ;置入通道0的寄存器

mov al, bh

out 40h, al

in al, 21h ;读取8259A的中断屏蔽寄存器

and al,0fch ;开放键盘和时钟中断

out 21h, al ;写入8259A的新的屏蔽字

sti ;开中断

forever: mov ah, 0bh ;循环检查用户书否键入内容

int 21h

cmp al,0ffh ;如果按键,则退出循环

jz exit

mov bx, offset tenhour ;时间显示串首地址放入bx中

mov cx, 8

dispclk: mov al, [bx] ;读取显示字符串中的一个字符

call dispchar ;显示字符一个字符

inc bx ;指向下一个字符

loop dispclk

mov al, 0dh ;完成8次字符显示后回车

call dispchar

mov al, second ;读取秒钟的数

wait1: cmp al, second ;判断秒钟是否有改变

jz wait1 ;等待直到有改变

jmp forever ;重复显示

exit: xor bx, bx ;恢复原来时钟中断向量

mov es, bx

mov di, 20h

mov bx, oldtime

mov es:[di], bx

mov bx, oldtime+2

mov es:[di+2],bx

ret

start endp

timer proc far ;用户定时中断服务程序

push ax

dec count100 ;中断次数减一

jnz timerx ;结果如果非零,退出

mov count100, 100 ;结果为0,则计数器恢复初值,并继续循环

inc second ;秒加1

cmp second, '9' ;判断是否秒大于等于9

jle timerx ;否,退出中断处理

mov second, '0' ;是,秒的个位置0

inc tensec ;秒的十位加1

cmp tensec, '6' ;判断是否秒的十位大于等于6

jl timerx ;否,退出中断处理

mov tensec, '0' ;是,将秒的十位置0

inc minute ;分的个位加1

cmp minute, '9' ;判断分的个位是否大于等于9

jle timerx ;否,退出中断处理

mov minute, '0' ;是,将分的十位置0

inc tenmin ;分十位加1

cmp tenmin, '6' ;分的个位数是否大于等于6

jl timerx ;否,退出

mov tenmin, '0' ;是,分的十位置0

inc hour ;小时加1

cmp hour, '9' ;判断小时的个位数是否达到9

ja adjhour ;超过9调整,超过程39H

cmp hour, '3' ;判断时的个位数是否是3

jnz timerx ;否,退出

cmp tenhour, '1' ;判断时的十位是否为1

jnz timerx ;否,没有超过12,退出

mov hour, '1' ;是,超过12,时的个位置为1

mov tenhour, '0' ;时的十位置为0

jmp short timerx ;退出

adjhour: inc tenhour ;时的十位加1

mov hour, '0' ;时的个位置0

timerx: mov al, 20h ;终端结束命令

out 20h, al ;送8259A0CW2,结束本次中断处理

pop ax

iret

timer endp

dispchar proc

push ax

push dx

mov dl, al

mov ah, 02h

int 21h

pop dx

pop ax

ret

dispchar endp

end start

三、实验原理

8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异。8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能,他们分别为:方式0:计数结束则中断;方式1:单脉冲发生器;方式2:速率波发生器;方式3:方波发生器;方式4:软件触发方式计数;方式5:硬件触发方式计数。于是,应用8253芯片可实现可编程定时器、计数器的普遍功能。

PC机,即个人计算机,8253与PC机的时钟操作,需要在个人计算机上进行程序汇编,调试,得到需要的结果,其原理为:

因为在PC机上实现对接口定时电路的操作,所以PC机需要满足三个条件:一是PC机上是日历时钟,包括年、月、日、时、分、秒,精确到0.01s;而是PC机上的动态存储器能够刷新;三是定时器可根据不同的音频产生不同频率的信号,驱动扬声器。之后便可实现8253与PC机的时钟操作。

另外,在PC机定时系统中以8253设立了三个相互独立的通道,端口地址为:0040H

到0043H,。其中,分别作为计数器0到3号通道的地址,对于4个通道的功能及作用如下所述:

1.通道0为计时提供定时中断信号;

用它可以实现日历的时钟计数,控制软盘驱动器读写操作后的电动机的自动延迟停机,以及为用户提供定时中断调用用户可以使用这个中断调用运行自己的中断处理。其中可分为以下几种处理情况:

基本工作情况:GATE0=+5V,工作于方式3,技术初值=0,输出信号OUT0连接到系统版上8259A的IRO0中断请求输入线;

定时中断间隔:每经过54.925ms产生一次0级中断请求,根据该中断请求,系统直接调用固话在BIOS中的中断处理,调用命令为INT 8H;

INT 8H定时中断功能:

①第一项功能是完成日时钟的计时,BIOS数据区的40:6CH到40:6FH是一个双字的系统计算器,每次中断即使操作就是对该系统计时器加1操作;

②第二项功能是实现软盘驱动器的马达开启时间管理,使其开启一段时间后,完成数据存取操作后自动关闭,系统设定的延迟时间为2s;

③第三项功能是进行INT 1CH软件调用,PC机系统设置INT 1CH的目的在于建立一个用户可用的定时操作服务程序的入口,没有用户没有编制的INT 1CH中断服务程序,并且修改1CH的中断向量地址,则INT 8H调用了1CH号中断后立即从INT 1CH中断返回,因为PC系统原来的INT 1CH中断服务程序又仅由一条中断返回指令IRET组成。

2.通道1专门用作动态存储器刷新的定时控制;

某个信号用作D触发器的触发时钟信号,使得每隔15.08微秒产生一个正脉冲,周期性地对系统的动态存储器刷新。

3.通道2用于为系统机箱内的扬声器发声提供音频信号;

时钟脉冲输入某一方波,工作在方式3时,系统中的计数初值寄存器=0533H(即十进制1331),于是当GATE2=高电平时,OUT2将输出频率为90Hz左右的方波,该方波信号经放大和滤波后推动扬声器。

在扬声器的设计中,通过改变计数初值,就可以改变OUT2的输出信号频率,从而改变扬声器发出的音调。利用通道2的这种配置,可以实现软件控制发声,也可实现硬件控制发声。

四、实验仪器、材料

①PC机一台;

②文本编辑器(记事本);

③MASM5.exe文件;

④Link.exe文件;

五、实验过程及原始记录

1)在草稿本上完成程序流程图和初步代码;

2)打开文本编辑器,即记事本,用文本编辑器完成源代码的输入,并且保存为MASM5文件

下,文件名为test.asm;

3)在命令窗口中,输入“cd ..”,回车,再次输入,再输入“cd masm5”,回车,进入masm5

文件中,找到test.asm的位置,并且用在MASM打开test.asm;

4)利用汇编源程序MASM5对源程序进行汇编生成目标文件test.obj,回车后可观察是否

程序有错误,如果有错误,则回到程序编译界面,进行修改,然后再次运行,如果只有

警告,则可以进行下面的步骤;

5)利用连接程序LINK对目标程序进行链接生成可执行文件test.exe,命令语句为:link

test.obj,回车后可生成;

6)在接下来的命令行输入文件名,后面加上以“nn:mm:ss”格式表示的当前时间,回车后

开始计时;

7)按任意键退出程序;

六、实验结果及分析

1.【实验结果】

输入当前时间后,回车,可进行时间的计时,实验中输入“nn:mm:ss”的格式为“19:59:50”,于是从此刻开始计时,当秒位数值达到60时,向分位进位,当分的数值达到60时,向时位进位,如图所示:

【秒向分的进位】

【分向时的进位】

2.【实验分析】

1)对于8253芯片,在实验中我们用到的是通道0,其余每个计数通道内含1个16位的初值寄

存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。与此计数器相对应,每个通道内设有一个16位计数值锁存器,必要时可用来锁存计数值,这是每个通道的作用;

2)当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件

应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”

计数。而后者是内时钟进行减“1”计数,作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时,计数器的初值即定时系数应根据要求定时的时间进行相应运算才能得到;

【8253的控制字格式】

3)在PC机上实行8253定时器/计数器功能以实现时钟操作,不仅需要了解8253A的功能,

还需要通过编程实现计时功能,在编程的过程中,为了判断是否需要进位,需要用到循环操作,实现是否满足条件时的跳转运行,多个循环选择语句构成了时、分、秒的进位。

模拟一个时钟类型,实现用8253A芯片基于PC机的时钟计时功能。在编译程序时,设置时间为“19:59:50”是为了观察进位效果,从实验的结果可以看出,进位效果一切正常;

4)在程序运行过程中,即时间显示过程中,用户按任意键,都可恢复原中断向量,退出时

钟程序的运行,因为在程序中,设计了程序段:

forever: mov ah, 0bh ;循环检查用户书否键入内容

int 21h

cmp al,0ffh ;如果按键,则退出循环

jz exit

mov bx, offset tenhour ;时间显示串首地址放入bx中

mov cx, 8

便可以循环读取用户是否键入内容,如果键入了内容,则退出循环,即计时结束,退出了我们的8253在PC机上的计时功能;

5)8259A芯片8是可编程中断控制器,它是可以用程序控制的中断控制器。单个的8259A

能管理8级向量优先级中断。259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程

的状态。通过对8258A的编程设置程序中断,可以有效判断是否进位结束,或者循环次数结束时的系统中断,控制计数器的进程。

6)从整个实验可以看出,由于PC机定时系统中以8253为核心设立了三个相互独立的通道,

实验中,我们用通道0为计时提供定时中断信号,在PC机满足条件的情况下,进行汇编语言关的编译与调试等步骤,通过编程实现8253的计时功能,编程中多次用到判断选择结构,为是否产生进位做好准备。时钟计时也即是一个定时器,除了能自动进行时分秒的进位以外,还要能够对当前时间的基础上进行计时,体现8253芯片在PC机上的强大作用。

八、实验体会

1)通过学习汇编语言,可以知道,汇编语言是各种CPU提供的机器指令的助记符的集合,

人们可以用汇编语言直接控制硬件系统进行工作,8253芯片基于PC机的编程实现即是按照这个原理。

2)汇编语言是微机原理等的重要基础,所以学习微机原理,是建立在汇编语言的基础上的。

在汇编中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言也被称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,正如MASM5程序一样,汇编程序是系统软件中语言处理的系统软件,可直接对计算机系统中的硬件系统进行汇编命令操作;

3)8253A芯片是intel系列的定时器、计数器芯片,8253具有3个独立的计数通道,采用

减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟脉冲时,计数器就成为定时器;

4)通过8253在PC机上定时器的设计实验,除了学习到了汇编语言可以实现对硬件操作命

令的功能以外,而且新增了和巩固了已有的汇编语言的编程知识,汇编是微机原理的基础。通过汇编将微型计算机中的各种硬件,如8253,、9259等芯片结合起来,真正实现微机原理与汇编语言之间的相互关系,为无论是硬件的微型计算机还是软件的汇编语言

的学习都是很大的帮助;

5)通过本次实验,发现自己在学习的过程中还存在许多不足,从实验中的动手环节上学到

了很多书本上没有的知识,多动手去实践,是学习东西的一大良方,这正是实验课程的意义所在。

微机接口技术实验指导书

《微机接口技术》实验指导书 主编李建波 主审黄忠宇、苏显 广东机电职业技术学院 计算机与信息工程系

前言 本实验指导书适用于机电一体化专业,实验时间10学时,5次上机时间。 主要学习内容为80X86语言实验环境配置、汇编源语言格式、输出字符、循环结构、子程序调用,以及加减乘除等指令操作。 学习结束后,要求学生能够独立编写出综合加减乘除等指令,以及循环结构、子程序调用等程序控制程序。

目录 实验项目一熟悉微机实验环境 (4) 实验项目二掌握中断方式显示数字或字符 (6) 实验项目三掌握汇编语言的寻址方式 (8) 实验项目四掌握循环指令的用法 (10) 实验项目五掌握子程序的用法 (12)

实验报告一熟悉微机实验环境 1、实验目的 1、熟悉微机实验环境安装 2、熟悉微机实验环境配置 3、通过练习加法,熟悉程序格式 4、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响 2、实验步骤 1)软件安装 (拷贝三个文件夹) 复制:桌面| 网上邻居\ Techer\ c盘\ wave、comp86和in8088三个文件夹拷贝:将三个文件夹到自己计算机上C:盘根目录下 在资源管理器下可以看到:C:\wave,C:\comp86,C:\in8088三个文件夹2)通过资源管理器,进入汇编环境 C:\wave\Bin\wave.exe ,双击wave.exe 3)打开文件我的电脑 \ c: \ wave \ bin \ wave.exe环境配置(如下图) 选中菜单栏中“仿真器”——“仿真器设置”选项(如下图) a、选中“语言”一栏,编译器路径中填写: C:\COMP86\(如下图) b、选中“仿真器”一栏, 选择仿真器—————G6W(如下图) 选择仿真头—————8088/8086实验(如下图) 选择CPU —————8088/8086(如下图) 使用软件模拟器:打√表示软件实验,硬件实验则无√ 4)新建文件 a、选中菜单栏\文件\新建文件,建立空白文件 b、编辑文件,输入以下代码

微机接口实验

北京科技大学计算机与通信工程学院 实验报告 实验名称:实验一8259 中断控制器应用实验 实验二8254 定时/计数器应用实验 实验三8255 并口控制器应用实验学生姓名: 专业: 班级: 学号: 指导教师: 实验成绩: 实验地点:机电楼320 实验时间:2015 年12 月 4 日

一、实验目的与实验要求 1、实验目的 实验一 1.掌握PC 机中断处理系统的基本原理。 2.掌握可编程中断控制器8259 的应用编程方法。 实验二 1.掌握8254 的工作方式及应用编程。 2.掌握8254 典型应用电路的接法。 实验三 1.掌握8255 的工作方式及应用编程。 2.掌握8255 典型应用电路的接法。 2、实验要求 实验一 (1)实验1-1:PC 机内中断应用实验 ①按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,将屏幕显示结果以截图方式写在实验报告中。 ②自设计实验。改变接线方式,将单次脉冲连到USB 核心板上的IRQ10 插孔上,参考本实验代码,编程实现IRQ10 中断。(注意:考虑PC 机内中断级联的方式,参看前面的原理说明),将代码写在报告中。 (2)实验1-2:PC 机内中断嵌套实验 ①按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,并将屏幕显示结果以截图的方式写在实验报告中,并分析产生该现象的原因: A.按下连接IRQ 的单次脉冲按键,屏幕上会显示10个3,在屏幕上10 次显示未结束之前,按下连接IRQ10 的单次脉冲按键,观察现象; B.按下连接IRQ10 的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3 的单次脉冲按键,观察现象。 ②程序中所有代码均没有注释,请在报告中补全注释,尽量详细。

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

微机原理与接口技术实验报告 班级:自动化(铁道信号) 姓名: ***** 学号: 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

武汉理工大学微机原理接口实验报告

学生学号22实验课成绩 学生实验报告书 实验课程名称微机原理与接口技术 开课学院计算机科学与技术学院 指导教师姓名何业兰 学生姓名高胜洋 学生专业班级计算机1404 2016-- 2017学年第二学期

实验课程名称:微机原理及接口技术 第一部分:实验准备 一、实验目的和意义 1.熟悉接口试验箱的使用环境。 2.体会接口电路通过外部总线与处理器连接原理。 3.掌握可编程芯片8253的编程方法。 二、实验内容和环境 实验内容: 1、编写程序,将 8254 的计数器 0 和计数器 1 都设为方式 3,用信号源 1MHz 作为 CLK0时钟,OUT0 为波形输出 1ms 方波,再通过 CLK1 输入,OUT1 输出 1s 方波。 2、编写程序,将 8254 的计数器 0 设为方式 3,计数值为十进制数 4,用单次脉冲 KK1+作为 CLK0 时钟,OUT0 连接 MIR7,每当 KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。改变计数值,验证 8254 的计数功能。 实验设备: PC 机一台,TD-PITE 实验装置一套。 三、实验基本原理与方法 (1)8254的功能 ?8253具有三个独立的16位计数器(0#~2#通道); ?每个通道有6种工作方式; ?可以进行二进制或十进制计数,计数方式为减1计数。 (最高计数频率2.6MHZ) (2)8254 的内部结构和外部引脚 图1.1 8254内部结构图1.2 8254外部引脚 (3)8254 的工作方式 ●方式0:计数到0 结束输出正跃变信号方式。 ●方式1:硬件可重触发单稳方式。 ●方式2:频率发生器方式。

微机原理实验指导书

微型计算机原理与应用实验指导书 上海大学通信学院

2010 年4 月 PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 要求:在PC机上完成下列程序的调试运行,并写出运行结果。二、1.DEBUG的基本操作:(详细内容请参阅教材“程序的调试,P173”和“附录F 调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的内容: -R回车 看到什么 (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W ”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 2 1 MOV DL, 4E INT 21 MOV DL, 44 INT 2 1 MOV DL, 4F INT 2 1 MOV DL, 57 INT 2 1 MOV DL, 53 INT 2 1 INT 3 ;功能是产生一个断点,不要省略 (4)输入U 命令反汇编上面的程序: -U 100 问:这里100代表什么 (5)输入G命令连续运行上面的程序,记录运行结果:

-G=100 ,57,53依次分别改为574F4E57 (6)输入E命令把上面程序中的数据,49,,44,,45:,,45,4C43,4F4D,-E 103 回车(以下同) -E 107 10B-E -E 10F 113-E 117-E 11B-E (7)输入D命令查看程序机器码的存放情况: -D 100 11E ;看从100开始到11E的机器码 (8)输入G命令再连续运行程序,并记录运行结果: -G=100 (9)依次输入下面的T命令(单步执行)和G命令(设置断点并启动运行),记录各 命令的运行结果: -T=100 回车 -G=100 106 回车 -G=100 10A 回车 -G=100 10E 回车 -G=100 11E 回车 注意: 下面第2—第8段程序是7个实用的小程序,若不小心打错指令,可以这样修改: 例如:CS:0100 B300 MOV BL,0 0102 53 PUSH BX 0103 B220 LP1: MOV DL,20 要修改“PUSH BX”,因为这条指令的IP是0102,所以按以下操作: -A 0102 回车,然后把正确的指令打入,“-A ”是汇编指令。 如果要查看0100以后的指令及相应的机器代码,可以 -U 0100 回车,能够看到CS:0100开始的指令及相应的机器代码。“-U ”是反汇编 若发现有误用,用“-A XXXX 回车”,重打这条指令即可 2.编制一个能在CRT上连续显示A,B,C,D······Z大写英文字符的源程序,并在源程序下汇编调试机运行。

微机接口实验

科技大学计算机与通信工程学院 实验报告 实验名称:实验一8259 中断控制器应用实验 实验二8254 定时/计数器应用实验 实验三8255 并口控制器应用实验学生: 专业: 班级: 学号: 指导教师: 实验成绩: 实验地点:机电楼320 实验时间:2015 年12 月 4 日

一、实验目的与实验要求 1、实验目的 实验一 1.掌握PC 机中断处理系统的基本原理。 2.掌握可编程中断控制器8259 的应用编程方法。 实验二 1.掌握8254 的工作方式及应用编程。 2.掌握8254 典型应用电路的接法。 实验三 1.掌握8255 的工作方式及应用编程。 2.掌握8255 典型应用电路的接法。 2、实验要求 实验一 (1)实验1-1:PC 机中断应用实验 ①按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,将屏幕显示结果以截图方式写在实验报告中。 ②自设计实验。改变接线方式,将单次脉冲连到USB 核心板上的IRQ10 插孔上,参考本实验代码,编程实现IRQ10 中断。(注意:考虑PC 机中断级联的方式,参看前面的原理说明),将代码写在报告中。 (2)实验1-2:PC 机中断嵌套实验 ①按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,并将屏幕

显示结果以截图的方式写在实验报告中,并分析产生该现象的原因: A.按下连接IRQ 的单次脉冲按键,屏幕上会显示10个3,在屏幕上10 次显示未结束之前,按下连接IRQ10 的单次脉冲按键,观察现象; B.按下连接IRQ10 的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3 的单次脉冲按键,观察现象。 ②程序中所有代码均没有注释,请在报告中补全注释,尽量详细。 (3)实验1-3:扩展多中断应用实验 说明:本实验采用查询方式,应用实验箱提供的8259 中断源,向PC 机提交中断请求。拨动开关发起请求一次中断,屏幕上显示相应的中断请求号。 调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259 工作原理填写并验证,然后将所填容写在实验报告中,并分析所填数据的形成原理。 实验二 (1)实验2-1:计数器应用实验 ①将计数器0 设置为方式3,计数器初值为4,用手动逐个输入单脉冲,用LED 灯观察OUT0 电平变化。将代码中划横线的部分填上相应的代码,并在实验报告中对所填代码做原理分析。 ②如果令计数器0 工作在方式0,其实验现象有什么不同,在报告中进行分析说明。 (2)实验2-2:自设计实验 参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以1MHz为时钟源,应用8254 的定时功能,将其分频为1Hz。以LED灯作为输出显示。

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

新疆农业大学机械交通学院 实习(实验)报告纸 班级:机制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

微机原理与接口技术实验指导书13机械、13机械师

《微机原理与接口技术》实验指导书 喻菲菲编 班级:_______ 学号:_______ 姓名:_______ 广东技术师范学院机电学院

目录 MASM611安装指南 ................................................................................. 错误!未定义书签。实验一:汇编语言上机环境及基本操作................................................. 错误!未定义书签。实验二:输入输出程序的编制 ................................................................ 错误!未定义书签。实验三:分支结构程序设计 .................................................................... 错误!未定义书签。实验四:循环结构程序设计 .................................................................... 错误!未定义书签。

课程类型:学科专业基础课课程代码:09401309 课程总学时: 51 实验课程性质:非独立设课课程实验学时: 6 综合性、设计性实验项目数: 3 个 6 学时适用专业:机械设计制 造及其自动化 开课时间:二年级第二学期开课单位:机电学院 撰写人:喻菲菲审定人:周莉 MASM611安装指南 (以下适用于XP系统,win7可以按照,但是无法连接link,不兼容) 双击文件夹MASM611full下的安装文件setup.exe,出现下面的界面 按ENTER回车键继续 按向下的箭头键选中第二项按默认方式安装,按ENTER回车键继续 按向下的箭头键选中第二项安装在D盘,按ENTER回车键继续 按向下的箭头键选中第二项Install for DOS/Windows & NT,按ENTER回车键继续 按向下的箭头键选中第二项MS-DOS/Microsoft Windows,按ENTER回车键继续 选中默认项无变化,按ENTER回车键继续 已安装成功,按ENTER回车键继续 按ENTER回车键继续 按ENTER回车键继续 按ENTER回车键继续 按ENTER回车键继续 按向下的箭头键选中最后一项退出安装,按ENTER回车键 点击开始菜单中的运行,键入cmd,点确定,进入DOS界面。 输入cd\ 返回到根目录,输入D: 进入D盘 输入cd masm611进入D:\masm611文件夹,再输入cd bin进入D:\masm611\bin文件夹 输入edit 01.asm进入程序编辑界面 实验一:汇编语言上机环境及基本操作 一、实验目的及要求 1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互 之间的关系。

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

实验一 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.

微机原理与接口技术综合性实验指导书

微机原理与接口技术实验 电子发声系统设计 【实验目的】 (1). 掌握8254接口电路的连接方法,懂得分频数据对发生频率的影响。 (2). 掌握应用汇编语言控制8254使扬声器发声的程序设计的方法步骤。【实验仪器】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 连接电子发声电路,根据实验提供的音乐频率表和时间表,编程控制8254,使其输出并驱动扬声器发出相应的乐曲。编程演奏《友谊地久天长》。 (1) 确认实验系统与PC机的连线已接通。 (2) 设计连接实验电路。 (3)运用PIT端口资源工具(CHECK程序),查看I/O片选端口始地址。 (4)编程并编译、链接。 运行程序,听扬声器发音是否正确。 【程序的数据处理】 DATA SEGMENT FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表 DW 495,495,624,742,833,833,833,742,624 DW 624,495,556,495,556,624,495,416,416,371 DW 495,833,742,624,624,495,556,495,556,833 DW 742,624,624,742,833,990,742,624,624,495 DW 556,495,556,624,495,416,416,371,495,0 TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2 DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12 DATA ENDS 【上机实验报告】 ⒈上机实验所用的设备(型号或规格),实验环境条件。 ⒉简述实验原理,说明操作过程,及数据要求,给出程序的音频及延时输入数据值。 ⒊你设计的电路图是什么。

微型计算机原理及应用实验指导

微型计算机原理及应用实验指导

实验一数据查找实验 一、实验目的 熟悉汇编语言编程。 二、实验内容 在7000H-700FH中查出有几个字节是零,统计“00”的个数再显示在数码管上。 三、实验程序框图 四、实验步骤 (1)在7000H-700FH单元中放入随机数,其中几个单元中输入零。 (2)用连续方式从起始地址0160H开始运行程序(输

入0160后按EXEC键)。 (3)观察显示器上的内容,应显示内容为“00”的单元的个数。 五、思考 修改程序,查找其它内容。 实验程序 1 ORG 0160H 2 FIND: MOV SP,#60H ;设栈指针 3 MOV R0,#10H ;查找16个字节 4 MOV R1,#00H 5 MOV DPTR,#7000H 6 FIND1: MOVX A,@DPTR 7 CJNE A,#00H,FIND2 ;取出的内容与00H相等吗? 8 INC R1 ;计数值加1,指针加1 9 FIND2: INC DPTR 10 DJNZ R0,FIND1 ;未完继续 11 MOV A,R1 12 MOV R0,#79H ;个数送显

示缓冲区 13 ANL A,#0FH 14 MOV @R0,A 15 INC R0 16 MOV A,R1 17 SWAP A 18 ANL A,#0FH 19 MOV @R0,A 20 INC R0 21 MOV A,#10H 22 MOV R4,#04H 23 FIND3: MOV @R0,A 24 INC R0 25 DJNZ R4,FIND3 26 FIND4: LCALL DISP ;循环调显示程序 27 SJMP FIND4 28 DISP: SETB 0D4H ;显示子程序 29 MOV R1,#7EH 30 MOV R2,#20H 31 MOV R3,#00H 32 DISP1: MOV DPTR,#0FF21H 33 MOV A,R2

微机接口实验1

一、8255串口实验一 1 8255芯片的端口地址是 8255 接入的地址线是两位所以有四个端口地址分别是: 00 PA 01 PB 10 PC 11 控制口 记住实验中8255地址是 IOCONPT EQU 0073H 控制口 IOAPT EQU 0070H PA口 IOBPT EQU 0071H PB口 IOCPT EQU 0072H PC口 我们在写出端口则是0070H到0073H 2注释下面指令 MOV DX,IOCONPT ;控制端口地址 OUT DX,AL ;送控制字 MOV DX,IOBPT ;PB端口地址 IN AL,DX ;从PB端口读8位 MOV DX,IOCONPT ;控制端口地址 MOV AL,80H ;控制字内容

OUT DX,AL ;送控制字80H 其中控制字格式是 以看书上148页图7-13和图7-14两个图 二、8253 计数器、计时器实验 1、记住8253 的是个端口 TCONTRO EQU 004BH TCON2 EQU 004AH 还有两个是 0048H和0049H 2、注释下列代码 MOV DX,TCONTRO ;控制端口 MOV AL,0B6H ;T2计时器控制字内容 OUT DX,AL ;送控制字 MOV DX,TCON2 ;T2计时器端口地址 MOV AL,00 ; T2计时器低8位 OUT DX,AL ;送低8位 MOV AL,10H ;T2计时器高8位 OUT DX,AL ;送高8位 因为控制字是 0B6H,要求是先送低位再送高位。

8253控制字格式是: 这个也可以看书 128页图6-4 很详细 3已知译码器是139 两进四出地址是10位 其中端口地址是200H 到 203H,求地址范围? 方法如下: 因为译码器是139输入2位输出4个 高位是用于送译码器的(这里是送两位) 写出200H,203H的二进制是: 0010 0000 0000 其中译码器位是不能动的是10 则后面8个位是可变的从 0000 0000 到1111 1111 最后地址范围是:200H 到2FFH 补充: 译码有三种方法: 1.线性选择法:最高位地址线送译码器 2.部分译码法:从高位中选出所需的位 什么是高位:把所以的地址线看成两半,一半是高位,另一半是低位。 3.全译码法:高位全部送译码器

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

微机原理与接口技术综合实验电子钟实验报告

微机原理综合实验:电子钟 实验要求 8253每1s产生中断请求给8259,中断服务程序利用8255控制数码管,构建一个电子钟。 一、实验原理(相关芯片大致介绍) 1.8254 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是输出波形的频率。 2.8259 Intel公司专为控制优先级中断而设计开发的芯片,包括中断源优先级排队、辨别中断源以及提供中断矢量的电路,无需附加任何电路,用户只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式。同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。 3.8255 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255 可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作: 方式0--基本输入/输出方式、 方式1--选通输入/输出方式、 方式2--双向选通工作方式。 二、设计方案 ①:初始化各芯片,选定工作方式。 ②:使用功能调用获取当前时间,作为初值装入。 ③:8254芯片开始计数,每隔1s产生一个中断信号。 ④:8259芯片接受到中断信号,并传给cpu,cpu响应中断。 ⑤:返回到③循环执行。

微机接口(8086)基本实验指导书

目录 实验须知 (2) 实验一系统介绍 (3) 一.系统特点 (3) 二、8086系统概述 (3) 三、系统电源 (5) 四、硬件介绍 (5) 实验二简单I/O口扩展实验 (9) 实验三存储器读写实验 (11) 实验四I/O口扩展和存储器扩展设计实验 (14) 实验五8255并行口实验 (17) 实验六8253定时器/计数器接口实验 (19) 实验七LCD显示实验 (22)

实验须知 一、预习要求 1.实验前认真阅读实验教程中有关内容,明确实验目的和实验任务。 2.每次实验前应有预习报告,未预习者不允许参加实验。 预习报告中:对软件实验,要求画出程序流程图,编好上机程序;对硬件实验,要求画出实验线路图,拟定实验步骤,画出程序流程图,编好上机程序。 二、实验要求 1.实验是学习“汇编语言程序设计”和“微机原理与接口技术”这两门课程的重要环节,实验课请勿迟到,缺席。 2.爱护设备,保持清洁,不随意更换设备。 3.认真完成实验任务,实验结果经教师检查,教师对实验内容提问,对完成者做记录。 4.做硬件实验时,注意断电操作,即所有的接线、改线及拆线操作均应在不带电的状态下进行,严禁带电操作,并注意防止导线堵塞插孔。 5.发生事故,应立即切断电源,并马上向教师报告,检查原因,吸取教训。 6.实验完毕,请整理实验设备,再离开实验室。 三、报告要求 每次实验后,应递交一份实验报告,报告中应包括下列内容: 1.实验名称、实验人姓名、学号、班级、所用的设备号。 2.实验目的、任务。 3.各任务程序流程图、程序清单(应加适量注释)。 4.硬件实验应画出各任务的完整电路图,包括PC总线与实验用到芯片间全部电路。 5.记录和分析实验结果。 6.据实验目的认真做小结。

微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书 编者:王亭岭 华北水利水电学院 电气学院自动化教研室 二零一二年三月

目录 实验一标志寄存器应用 (1) 实验二指令寻址方式练习 (4) 实验三分支结构程序设计 (6) 实验四循环结构程序设计 (7) 实验五子程序结构程序设计 (8) 实验六DOS系统功能调用程序设计 (10) 实验七BIOS中断调用程序设计 (12) 实验八定时器中断程序设计 (14)

实验一标志寄存器应用 一、实验目的与要求 1.掌握汇编程序的编译过程; 2.掌握8086的标志寄存器的特点。 二、实验内容 微型计算机(80x86系列)。 四、实验参考程序 DATA SEGMENT A DW 123 B DW 456 SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA START: MOV AX , DATA MOV DS , AX MOV AX , A SUB AX , B MOV SUM , AX MOV AH,4CH INT 21H CODE ENDS END START 五、实验步骤 步骤一、用鼠标单击开始菜单,单击运行。如下图所示:

步骤二、在运行窗口中键入cmd,回车进入命令提示符。如下图所示: 步骤三、在命令提示符中编译汇编源程序并连接*.obj文件。如下图所示:1.C:\>D: 回车 2.D:\ >CD MASM 回车 3.D:\MASM>MASM SY1.ASM 回车 4.D:\MASM>LINK SY1.OBJ 回车

步骤四、在命令提示行中运行并调试汇编程序。如下图所示:1.D:\MASM>SY1.EXE 回车 2.D:\MASM>DEBUG SY1.EXE 回车 六、实验结论 1.程序运行后变量SUM的值是多少? 2.程序运行前后标志寄存器的各标志位有何变化? 3.分析实验结果及所遇到的问题,并说明解决的方法。

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

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

班级:数字媒体 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)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

微机综合实验

微机原理与接口技术 实验报告 实验内容:微机原理综合设计实验 数字电压表A 组别:5 班级:06111504 姓名:刘庭欣学号:1120151570 班级:06111504 姓名:罗太鑫学号1120151572

一、实验目的: 1、掌握8255的使用及编程原理。 2、掌握8253定时/计数器的编程原理。 3、掌握ADC0809的使用及编程原理。 4、掌握共阴极七段数码管的工作原理。 5、掌握芯片的综合运用。 6、掌握汇编语言程序设计。 二、实验内容: 利用ADC0809采集电位器的电压值,将采集的电压值通过8255显示在七段数码管上,显示数据保留小数点后2位,利用8253定时数据更新,每隔0.5秒数据更新一次。 要求: 1、查阅资料,掌握共阴极七段数码管的工作原理。 2、分析实验原理,设计实验方案,绘出实验连线图。 3、绘制实验程序流程图。 4、编写实验程序,检查无误后,编译、链接并下载入实验系统。 5、运行实验程序,验证程序功能。 扩展要求: 具有设置报警阈值功能,当超过阈值时,点亮一个LED灯。 三、实验方法: 1、设计思路: 利用ADC0809采集电位器的电压值,通过8255 依次选通3个数码管,通过8255依次送入刚才所得的三个值的显示码,利用8253工作在方式二,每隔0.5秒产生一低脉冲送到8255。 将可变电位器AN0与ADC0809的ADIN0相连,将CS2与ADC0809的片选CS0809端相连,将ADC0809的EOC与8255的PC0相连,CS0与8253的片选CS8253相连,CLK3(750KHz)与8253CLK0相连,8253的OUT0与8253CLK2相连,OUT2与8255的PA0相连,CS1与8255的片选CS8255相连,PC4-PC6与LED1-LED3依次相连,PB0-PB7依次与LED-A—LED-DP相连。

(完整word版)安徽工业大学微机接口实验报告

《微机原理与接口技术》 实验报告书 专业班级网104班 学号109074 姓名 指导教师高云全 安徽工业大学计算机学院

实验一 8255A应用—数码管动态显示 一、实验目的 1、掌握8255A的工作方式、编程原理和微机接口方法。 2、了解LED数码管动态显示的工作原理及编程方法。 二、实验内容 编制程序,使数码管显示“DICE88”字样。 三、实验程序框图 图6-1 实验程序流程图 四、实验步骤 联机模式: (1)在PC机和实验系统联机状态下,运行实验系统dj8086k.exe(双击桌面OTA图标或通过开始-程序-dj8086k-DJ8086k微机原理与接口技术),新建文件并在编辑窗口输入汇编源程序,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)数码管显示“DICE88”字样。 脱机模式: (1)在P.态下,通过单板机小键盘,从2DF0地址开始输入机器码(参见附录三),完成后返回监控,输入起始地址2DF0,再按EX键执行。 (2)数码管显示“DICE88”字样。 五、实验程序清单 CODE SEGMENT ; display "DICE88" ASSUME CS:CODE ORG 2DF0H START: JMP START0 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 BUF DB ?,?,?,?,?,? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h

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

微原硬件实验报告 班级: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 进行调试。 四,程序流程图

相关文档
最新文档