东北大学_微机原理实验报告及答案_8255并行接口

东北大学_微机原理实验报告及答案_8255并行接口
东北大学_微机原理实验报告及答案_8255并行接口

微机原理实验报告专业班级姓名学号

实验题目日期

微机8255并行接口实验实验六

深圳大学实验报告课程名称:微型计算机技术 实验项目名称:8255并行接口实验 学院,专业:计算机科学与技术 指导教师:骆剑平 报告人:学号:班级:计科2班 同组人:无 实验时间:2014年6月11日 实验报告提交时间:2014年6月16日 教务处制

实验目的与要求: 实验目的: 1. 学习并掌握8255 的工作方式及其应用; 2. 掌握8255 典型应用电路的接法。 实验设备 PC机一台,TD-PITE 实验装置一套。 实验方法、步骤: 实验内容: 1. 基本输入输出实验。编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 实验原理 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255 的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。

实验步骤: 1. 基本输入输出实验 本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来 实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图2-6-3所示,按图连接实验线路图; (2)编写实验程序,经编译、连接无误后装入系统; (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。

微机原理与接口技术实验五报告8255 并行接口实验

电子信息专业实验报告 课程微机原理与接口技术实验 实验题目8255并行接口实验 学生姓名lz评分 学号20171414xxxxxxx班级 同实验者 实验时间2019.11.9上午地点望江实验室基B520电子信息学院专业实验中心

一、实验目的 1、掌握8255A的工作原理 2、掌握8255A的编程方法 二、实验内容(含技术指标) 1、8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编辑程序,单步运行,调试程序; 2、K1~K8控制LED1~LED8 3、K1控制LED1、LED2;K2控制LED3、LED4 K3控制LED5、LED6;K4控制LED7、LED8 4、K置H,对应LED亮;K置L,对应LED灭 5、全速运行程序,观看实验结果。 三、实验仪器(仪器名称、型号,元器件名称、清单,软件名称、版本等) 清华同方微机;8086单片机原理实验系统;EL型微机试验箱 四、实验原理(基本原理,主要公式,参数计算,实现方法及框图,相关电路等) 1、开关量输入输出电路 开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。对应的插孔是:K1~K8。开关量输出电路由8只LED组成,对应的插孔分别为LED1~LED8,当对应的插孔接低电平时LED点亮,其原理见图一。 2、8255并行接口电路 该电路由1片8255组成,8255的数据口、地址、读写线、复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:PA0~PA7,PB0~PB7,PC0~PC7,电路原理见图二。 3、8255A工作基本输入输出方式

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

实验二 8255A并行接口实验

实验二 8255A并行接口实验(一) 一实验目的 1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一 步熟悉软件编程环境。 二实验设备 1、微机系统一套; 2、TPC-3型微机接口实验系统一台; 3、导线若干。 三实验内容 1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口 输出为1则亮,输出为0则灭)。其中L0―L2为东西方向,L5―L7为南北 方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端 为1时发光二极管亮。接线如图4-5所示。 图4-5 编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。 2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求 为: K0K1灯控制 00正常运行 01南北路口绿灯亮、东西路口红灯亮 10东西路口绿灯亮、南北路口红灯亮 3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。如果 能解决请加以解释并编程调试。

四、编程提示: 1.要完成本实验,首先必须了解交通灯的亮灭规律。设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。之后,南北路口的绿灯亮,东西 路口的红灯亮,南北路口方向通车。延迟一段时间后,南北路口的绿灯熄灭, 而南北路口的黄灯开始闪烁。闪烁8次后,南北路口的红灯亮,同时东西路口 的绿灯亮,东西路口方向开始通车。延迟一段时间后,东西路口的绿灯熄灭, 而黄灯开始闪烁。闪烁苦干次后,再切换到南北路口方向。之后,重复上述过 程。 2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态 3.8255A的A端口地址为:288H B端口地址为:289H C端口地址为:28AH 控制口地址为:28BH 五、实验要求: 1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。 2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。 3.写出实验报告,内容为: 1)实验目的; 2)实验设备; 3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质; 4)对本实验的建议及有何创新。 ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX

8255并口实验详解

xxxx大学计算机学院实验报告

一、实验内容与要求 1.1 实验内容 (1)8255方式0实验 从8255端口C输入数据,再从端口A输出 (2)8255方式1输出实验 编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。 (3)8255方式1输入实验 编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1)8255方式0实验 实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。 (2)8255方式1输出实验 实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。中断8次结束。 (3)8255方式1输入实验 实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 二、实验原理与硬件连线 2.1 实验原理 CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择

先A1A0=11) 8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。方向选择控制字用于设置各端口的工作方式。 方式0称为基本输入/输出方式。该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。 方式1称为选通输入/输出方式。该方式下,端口A、端口B可作为数据传输口,而端口C 的一些引脚规定作为端口A、端口B的联络控制信号,有固定的搭配规定。在方式1时,CPU和8255A之间有应答联络信号,所以采用中断方式或程序查询方式传送数据。 当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。 当端口A作为方式1输出时,端口C的PC7、PC6、PC3作为端口A的联络控制信号。 状态字通过读端口C获得。需要强调,从端口C读出的状态字与端口C的外部引脚的状态无关。 2.2 硬件连线 (1)8255方式0实验1 连接实验电路,8255端口C接逻辑电平开关K0~K7,端口A接LED显示电路 L0~L7 U18 8255 K0 K1 K5 L0 L1 L2 L3 L4 L5 L6 L7图2-2-1 实验一接线

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

8255并行口实验实验报告

8255并行口实验实验报告 作者: 一、实验目的 掌握8255A的编程原理。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。 五、实验步骤 1、实验接线 CS0?CS8255; PA0~PA7?平推开关的输出K1~K8; PB0~PB7?发光二极管的输入LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。 六、实验提示 实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 八、程序框图(实验程序名:t8255.asm)

开始 设置8255工作方式 读A口 输出至B口 结束 九、程序源代码清单: assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设 置为A口输入,B口输出 out dx,ax mov al,0feh start1:mov dx,04a2h 芯片的 入口地址 out dx,al mov bl,al mov dx ,04a0h in al,dx test ax,01h jz strat2 mov al ,bl rol al,1 流水灯循环左移 mov bl,al mov cx,3000h 设置cx为灯闪烁时间对应的循环次数 add: loop add jmp start1 无条件跳转至start1 strat2:mov al,bl mov dx,04a2h out dx,al ror al,1 流水灯循环左移 mov bl, al mov cx,3000h add1: loop add jmp start 无条件跳转至start code ends end start 十、实验总结 通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

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

实验十三 8255A 并行接口实验

实验十三8255A 并行接口实验 一、实验目的 1、学习并掌握8255A的各种工作方式及其应用。 2、学习在接口实验单元上构造实验电路。 3、掌握8255A工作于中断方式的应用。 二、实验设备 1、EAT598实验教学系统一台。 2、连接线若干。 三、实验内容 8225A可编程并行接口芯片 8255A可编程外围接口芯片是Intel公司生产的通用可编程并行I/O接口芯片,它具有A、B、C三个8位并行接口,用+5V单电源供电,有三种工作方式: 方式0——基本输入/出方式 方式1——选通输入/出方式 方式2——双向选通工作方式 c82590 equ 200h c82591 equ 201h d8255a equ 210h d8255b equ 211h c8255 equ 213h stack segment stack dw 64 dup(?) stack ends code segment assume cs:code,ss:stack start: cli mov dx,c8255 mov al,86h out dx,al mov al,05h push ds mov ax,0000h ;修改中断向量表内容 mov ds,ax mov ax,offset ir0 mov si,0020h mov [si],ax

mov ax,8100h ;程序的加载段地址为8100h mov si,0022h mov [si],ax pop ds mov al,13h mov dx,c82590 out dx,al nop nop mov al,8 mov dx,c82591 out dx,al nop nop mov al,3 out dx,al nop nop mov al,0 out dx,al nop nop again: sti hlt jmp again ir0: mov dx,d8255b in al,dx mov dx,d8255a out dx,al iret code ends end start 四、报告要求 1、总结8255A可编程并行接口芯片的编程方法 (1)将DIP8开关SA9拨向ON系统状态,8255A的片选信号CS8255接译码器的输出210H,地址为210H~213H; (2)端口B输入线PB0~PB7接一组开关K0~K7; (3)端口A输出线PA0~PA7接至一组发光二极管L0~L7。. 编写程序,使8255A端口A工作在方式0并作为输出口,端口B工作于方式1并作为输入口,则端口C的PC2成为选通信号输入端 STB,PC0成为中断请求信号输出端INTRb。 B 当B口数据就绪后,通过发 STB信号来请求CPU读取端口B数据并送端口A输出显示。 B

微机原理与单片机实验报告

北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 2012 年 6 月 9 日

目录 实验1 EMU8086模拟器的使用 (3) 实验2 数据传送指令的使用 (5) 实验3 多位十六进制加法运算实验 (9) 实验5 循环程序实验 (11) 实验6 由1 到100 求和实验 (13) 实验7 求表中正数_负数_0 的个数实验 (14) 实验8 数据排列实验(冒泡排序) (16) 实验9 系统功能调用(大小写转换) (18) 实验10 阶乘(递归运算) (20) 实验11 ProteusIO工程文件的建立 (21) 实验12 IO口读写实验(245、373) (22) 实验13 8255 接口实验 (24) 实验14 声光报警 (25) 实验总结 (28)

实验1 EMU8086模拟器的使用 一实验要求 利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的: 熟悉EMU8086实验环境 三EMU8086环境: 1 模拟器编辑窗口 2 模拟器调试窗口

四实验内容 实验内容1:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。 4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。 5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。 6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。 7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序, 8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容 9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序

四川大学微机原理实验报告..

微机原理实验报告 学院: 专业班级: 姓名 学号

实验一汇编语言编程基础 1.3汇编语言程序上机操作和调试训练 一.功能说明 运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。 运用LINK.EXE文件进行连接,形成*.EXE文件。 仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。 运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。 二.程序流程图 设置被除数、商的地址指针 设置单位除法次数计数器 取被除数一位作十进制调整 作字节除法、存商 N 被除数各位已除完? Y 显示运算结果 结束 三.程序代码 修改后的程序代码如下: DATA SEGMENT A D B 9,6,8,7,5 B DB 5 C DB 5 DUP (0) N EQU 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX

MOV ES,AX CLD LEA SI,A LEA DI,C MOV CX,N MOV AH,0 LP1: LODSB AAD DIV B STOSB LOOP LP1 MOV CX,N LEA DI,C LP2: MOV DL,[DI] ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H CODE ENDS END START 四.实验感想和收获 通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。 在这次试验中我也遇到了一些困难。在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。我这才想起来我的操作系统是64位的,和该软件版本不兼容。不过我并没有放弃,经过我的摸索之后,我发现用DOSBOX这个程序可以解决我的电脑运行不了该程序的问题。在解决了第一个难题后,我开始着手改正试验1.3中的语法错误和逻辑错误,但是无论我怎么修改却始终都无法通过编译,并且基本上每句话都有编译错误。根据我多年编程的经验来看,这应该是中文输入法在搞鬼,之后我耐心地把程序重新输了一遍,果然通过了编译,并且之后的连接也进行的很顺利。在用DEBUG调试时发现得出的结果也很正确。 尽管这次的实验内容非常简单,仅仅是教会我们一些基本的操作,但我却明显感觉到了汇编语言和C语言等高级语言所不同的地方。越是底层,基础的东西就越不人性化,用C语言一行代码就能实验的功能在汇编语言中可能要花上数十行。看来汇编语言的学习不是几周就能速成的,必须要有长年累月的积淀才能掌握。

8255并行接口实验

8255并行接口实验 4.5.1 实验目的 1. 学习并掌握8255的工作方式及其应用。 2. 掌握8255典型应用电路的接法。 3. 掌握程序固化及脱机运行程序的方法。 4.5.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 4.5.3 实验内容 1. 基本输入输出实验。编写程序,使8255的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 4.5.4 实验原理 I/O I/O I/O I/O PA7-PA0 PC7-PC4 PC3-PC0 PB7-PB0 图4.31 8255内部结构及外部引脚图 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C 口按位置位/复位控制字格式如图4.32所示。

位(a )工作方式控制字 (b )C 口按位置位/复位控制字 1 图4.32 8255控制字格式 8255实验单元电路图如图4.33所示: 图4.33 8255实验单元电路图 4.5.5 实验步骤 1. 基本输入输出实验 本实验使8255端口A 工作在方式0并作为输入口,端口B 工作在方式0并作为输出口。用一组开关信号接入端口A ,端口B 输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图4.34所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。 (6)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端。

微机原理实验报告

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

8255试验报告(方式1查询输出)

《微型计算机接口技术》实验报告 实验名称:可编程并行接口芯片8255应用 (8255方式1、查询输出) 姓名 学号: 班级: 日期: 广东外语外贸大学信息科学技术学院

一、实验目的 掌握8255方式1查询输入、输出时的使用及编程 二、实验内容 1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT) 2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。 三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述) 8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。 四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中: 1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255 发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。 2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种 情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。 3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相 连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。 而当CPU发出复位的信号时,8255也会进行复位操作。 4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH, 而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接 相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。 。。。。。。等等详细论证,如我课堂所讲

微机原理 实验报告

微机原理与接口技术 实验指导书 班级 学号099074 姓名 安徽工业大学计算机学院

实验一存贮器读写实验 一、实验内容 对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。 二、实验步骤 l、将实验系统与PC机连接; 2、在PC机上启功DJ-8086k软件,实验系统进入联机状态; 3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过; 4、运行程序。 5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH中的内容和5000~53FFH中的内容应都是55AA。 三、实验程序清单 CODE SEGMENT ; ASSUME CS:CODE PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 1850h START: JMP START0 BUF DB ,,,,, data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1 h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200H RAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX

实验二可编程并行接口(8255方式0).doc

实验二 一、实验题目:可编程并行接口(8255方式0) 二、实验目的 掌握8255方式0的工作原理及使用方法。 三、实验内容 1、按下图连线。 2、编程从8255C口输入数据,再从A口输出. 四、程序流程图 五、源程序 ioport equ 0d400h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh io8255c equ ioport+28ah

code segment assume cs:code start: mov dx,io8255b ;设8255为C口输入,A口输出 mov al,8bh out dx,al inout: mov dx,io8255c ;从C口输入一数据 in al,dx mov dx,io8255a ;从A口输出刚才自C口 out dx,al ;所输入的数据 mov dl,0ffh ;判断是否有按键 mov ah,06h int 21h jz inout ;若无,则继续自C口输入,A口输出 mov ah,4ch ;否则返回DOS int 21h code ends end start 六、实验结果分析 按上述的代码执行,观察LED灯的状态,可以发现实验结果和预期的相同:打开K0,关闭K1、K2、K3、K4、K5、K6、K7,L0亮; 打开K1,关闭K0、K2、K3、K4、K5、K6、K7,L1亮; 打开K2,关闭K0、K1、K3、K4、K5、K6、K7,L2亮; 打开K3,关闭K0、K1、K2、K4、K5、K6、K7,L3亮; 打开K4,关闭K0、K1、K2、K3、K5、K6、K7,L4亮; 打开K5,关闭K0、K1、K2、K3、K4、K6、K7,L5亮; 打开K6,关闭K0、K1、K2、K3、K4、K5、K7,L6亮; 打开K7,关闭K0、K1、K2、K3、K4、K5、K6,L7亮; 按任意键,退出该实验。 七、实验心得 1、通过本次实验,了解了8255芯片的基本内部结构和它的管脚,掌握了8255方式0的工作原理及使用方法, 2、本次实验前,自己认真地做了预习,实验过程中,认真思考,积极探索,实验后,查阅资料,提炼总结。总的来说,基本完成了实验要求和任务。

微机原理实验报告冒泡排序

一、实验目的 (1)学习汇编语言循环结构语句的特点,重点掌握冒泡排序的方法。 (2)理解并掌握各种指令的功能,编写完整的汇编源程序。 (3)进一步熟悉DEBUG的调试命令,运用DEBUG进行调试汇编语言程序。 二、实验内容及要求 (1)实验内容:从键盘输入五个有符号数,用冒泡排序法将其按从小到大的顺序排序。 (2)实验要求: ①编制程序,对这组数进行排序并输出原数据及排序后的数据; ②利用DEBUG调试工具,用D0命令,查瞧排序前后内存数据的变化; ③去掉最大值与最小值,求出其余值的平均值,输出最大值、最小值与平均值; ④用压栈PUSH与出栈POP指令,将平均值按位逐个输出; ⑤将平均值转化为二进制串,并将这组二进制串输出; ⑥所有数据输出前要用字符串的输出指令进行输出提示,所有数据结果能清晰显示。 三、程序流程图Array (1)主程序:MAIN

(2)

就是 NAME BUBBLE_SORT DATA SEGMENT ARRAY DW 5 DUP(?) ;输入数据的存储单元 COUNT DW 5 TWO DW 2 FLAG1 DW 0 ;判断符号标志 FLAG2 DB 0 ;判断首位就是否为零的标志FAULT DW -1 ;判断出错标志 CR DB 0DH,0AH,'$' STR1 DB 'Please input five numbers seperated with space and finished with Enter:','$' STR2 DB 'The original numbers:','$' STR3 DB 'The sorted numbers:','$' STR4 DB 'The Min:','$' STR5 DB 'The Max:','$' STR6 DB 'The Average:','$' STR7 DB 'The binary system of the average :','$' STR8 DB 'Input error!Please input again!''$' DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA,ES:DATA START: PUSH DS AND AX,0 PUSH AX MOV AX,DATA MOV DS,AX LEA DX,STR1 MOV AH,09H ;9号DOS功能调用,提示输入数据 INT 21H CALL CRLF ;回车换行 REIN: CALL INPUT ;调用INPUT子程序,输入原始数据CMP AX,FAULT ;判断就是否出错, JE REIN ;出错则重新输入

微机接口 8255并行接口实验报告

浙江工业大学计算机学院实验报告 实验名称 8255并行接口实验 姓名徐洁 学号 201326810521 班级计科1301班 教师雷艳静 日期 2015/12/31

一、实验内容与要求 1.1 实验内容 8255方式0实验一:从8255端口C输入数据,再从端口A输出,即TPC-USB平台按逻辑电平开关K0~K7通过编程使端口C接收,然后再通过端口A输出到LED显示电路L0~L7,这样逻辑电平开关的值就可以通过8255芯片显示在LED显示电路上。 8255方式1输出实验:编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H 使LED显示电路L0~L7依次发光,中断8次结束。 8255方式1输入实验:编程实现每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。实验前根据实验流程 图,写出对应代码; (2) 要了解8255A并行接口芯片内部结构和外部引脚,理解8255芯片的工作方式和程序设 计方法; (3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接 好实验电路; (4) 8255方式0实验一:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台上的逻辑电平开关与LED显示电路观察,LED显示的值与逻辑电平开关设的值对应; (5) 8255方式1输出实验:连接PC与TPC-USB平台,用微机实验软件运行程序,手按单 脉冲按钮,观察LED显示电路能依次发光,按8次后,中断结束,程序结束; (6) 8255方式1输入实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台的逻辑电平开关设置一个ASCII码,按一次单脉冲,屏幕就能显示该ASCII码对应的字符,变更逻辑电平的开关,按一次单脉冲,屏幕就会显示变更的ASCII码对应的字符。这样操作N次之后,中断结束,程序结束。

相关文档
最新文档