微机原理实验报告(数码显示).doc_第1页
微机原理实验报告(数码显示).doc_第2页
微机原理实验报告(数码显示).doc_第3页
微机原理实验报告(数码显示).doc_第4页
微机原理实验报告(数码显示).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三8255并行接口实验一、 实验目的1、 学习并掌握8255的工作方式及其应用。2、 学习在系统接口实验单元上构造实验电路。二、 实验设备TDN86/51或TND86/88教学实验系统。三、 实验内容与实验步骤1、 基本输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成波动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。实验原理:并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0-基本输入/输出方式、方式1-选通输入/输出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。图3-1 8255的内部结构和外部引脚(a)工作方式控制字 (b)c口按位置位/复位控制字图3-2 8255控制字格式8255实验单元电路图如下图所示:图3-3 8255实验单元电路图实验步骤1. 基本输入输出实验本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。(1)按图连接实验线路图;8255基本输入/输出实验接线图SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV AL,82HOUT 63H, ALA1: IN AL, 61HOUT60H, ALJMPA1CODEENDSEND START(2)编写实验程序,经编译、连接无误后装入系统;(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。(4)点机“调试”下拉菜单中的“固定程序”项,将程序固化到系统存储器中。实验二 数制转换实验一、实验目的1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。2. 熟悉程序调试的方法。3. 熟悉键盘使用方法 二、实验设备TDN86/51或TND86/88教学实验系统。 三、实验内容及步骤 计算机输入设备输入的信息一般是由ASSII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。 计算机与外设间的数制转换关系如图所示。ASCII码ASCII码CRT显示键盘主机ASCII码打印机ASCII码光电机BCD码BCD码多段显示拨码开关二进制二进制位显示数据开关数制转换关系1. 将ASCII码表示的十进制数转换为二进制数十进制表示为:Di代表十进制数0,1,2,9;上式转换为:由此可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。参考流程:实验程序:PUBLIC SADDSSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSDATASEGMENTSADDDB 30H,30H,32H,35H,36H;十进制数:00256DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV AX, OFFSET SADDMOV SI, AXMOV BX, 000AHMOV CX, 0004HMOV AH, 00HMOV AL, SISUB AL, 30HA1:IMUL BXMOV DX, SI+01AND DX, 00FFHADC AX, DXSUB AL, 30HINC SILOOP A1A2:JMP A2CODE ENDS END START实验步骤:(1)编写实验程序,经编译、链接无误后装入系统;(2)待转换数据存放于数据段,根据自己要求输入;(3)用D3510(回车)查看结果C;(5)反复试几组数据,验证程序的正确性。实验截图如下:2.编程实现如下功能: 计算首地址为STR1的100个有符号字变量数组的平均值,并将它存在CX中。实验程序:data segment str dw 1000h,2100h,3200 dw 1101h,2012hdata endscode segment assume cs:code,ds:datastart:mov ax,data mov ds,ax lea bx,str mov cx,100 mov ax,0 mov dx,0lp: add ax,bx adc dx,0 inc bx inc bx loop lp mov bx,100 idiv bx mov cx,ax mov ah,4ch int 21hcode ends end start实验步骤:(1)编写实验程序,经编译、链接无误后装入系统;(2)待转换数据存放于数据段,根据自己要求输入;(3)用D3510(回车)查看结果C;(5)反复试几组数据,验证程序的正确性。实验截图如下:3、按如下要求编程 编程实现将数据段中地址的STR1开始的200个数组拷贝到STR2开始的区域中去,传递过程中需要剔除其中为0的数。程序如下:data segment str1 dw 1000h,2100h,3200h str2 dw 1101h,2012hdata endscode segment assume cs:code ,ds:datastart:mov ax,data mov ds,ax lea si, str1 lea di, str2 mov cx,200lp:mov ax,si cmp ax,0 jz next mov di,ax add di,2next:add si,2 loop lp mov a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论