文档库 最新最全的文档下载
当前位置:文档库 › 微机实验1

微机实验1

微机实验1
微机实验1

实验部分

实验一

字符串传送实验

一、实验目的

1、理解和掌握8086的指令系统。

2、学会编写汇编语言程序。

3、掌握调试汇编语言程序的方法。

二、实验内容

1、把数据段中以STRING1为偏移地址的一串字符(10个字符以上),传送到附加段中以

STRING2开始的单元中。

三、实验要求

1、画出程序流程图;

2、编写程序并调试;

3、撰写实验报告。

实验二

拆字拼字程序

一、实验目的

1、理解和掌握8086的指令系统。

2、学会编写汇编语言程序。

3、掌握调试汇编语言程序的方法。

二、实验内容

1、把(数据段)存储单元1000H的内容拆开,高4位送存储单元1001H低位,低4位送存储

单元1002H低位。

2、把(数据段)存储单元1003H内容的低4位、1004H内容的高4位相拼后送入1005H。

三、实验要求

1、画出程序流程图;

2、编写程序并调试;

3、撰写实验报告。

实验三

数据排序

一、实验目的

1、理解和掌握8086的指令系统。

2、学会编写汇编语言程序。

3、掌握调试汇编语言程序的方法。

二、实验内容

在以BUF为首址的字节存储区中存放有n个无符号数X1,X2,…Xn,现在需将它们按从小到大的顺序排序在BUF存储区中。

三、实验要求

1、画出程序流程图;

2、编写程序并调试;

3、撰写实验报告。

实验四

多字节加法

一、实验目的

1、理解和掌握8086的指令系统。

2、学会编写汇编语言程序。

3、掌握调试汇编语言程序的方法。

二、实验内容

编写多字节无符号数的加法程序,从键盘接收两个加数,在屏幕上显示结果

三、实验要求

1、画出程序流程图;

2、编写程序并调试;

3、撰写实验报告。

实验五、8255可编程并口实验(一)

一、实验目的

1. 掌握8255A和微机接口方法。

2. 掌握8255A的工作方式和编程原理。

二、实验设备:DVCC实验箱一台,电脑一台

三、实验内容

如实验原理图所示,PC口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。

四、实验要求

1.按图示连接好硬件;

2.画出程序流程图;

3.编写程序并调试;

4.撰写实验报告。

实验六、8255可编程并口实验(二)

一、实验目的

1. 掌握8255A和微机接口方法。

2. 掌握8255A的工作方式和编程原理。

二、实验设备:DVCC实验箱一台,电脑一台

三、实验内容

1、实验原理

实验原理图如图5-9所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。

8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。8255A工作于模式0,并置为输出。由于各发光二极管为共阳极,使其点亮应使8255A 相应端口清0。

2、实验线路连接

(1) 8255CS插孔连译码输出070H-07FH插孔。

(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7

L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7

L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3

3、实验步骤

(1) 按图5-9连好实验线路

(2) 运行实验程序

在系统显示"DVCC-86H"状态下,按任意键,系统显示命令提示符"-"。

按GO键,显示"1000 XX"

输入F000 :B1B0

按EXEC键,在DVCC-8086H上显示"8255-2"。同时L1~L12 发光二极管模拟交通灯显示。

四、实验要求

1.按图示连接好硬件;

2.画出程序流程图;

3.编写程序并调试;

4.撰写实验报告。

实验七8259单级中断控制器实验

一、实验目的

1.掌握8259中断控制器的接口方法.

2.掌握8259中断控制器的应用编程.

二、实验设备:DVCC实验箱一台,电脑一台

三、实验内容

根据实验原理图,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址,本系统中为20H、21H。20H 用来写ICW1,21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后,再写操作命令字。OCW2、OCW3 用口地址20H,OCW1用口地址21H。图中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。如果中断源电平信号不符规定要求则自动转到7号中断,显示"Err"。CPU响应中断后,在中断服务中,对中断次数进行计数并显示,计满5次结束,显示器显示"8259Good"。

四、实验要求:

1.完成上述要求

2.把IR3插孔换IR2插孔,并实现上述要求

3.画出程序流程图;

4.编写程序并调试;

5.撰写实验报告。

实验八、8253A定时/计数实验

一、实验目的

1.学会8253芯片和微机接口原理和方法。

2.掌握8253定时器/计数器的工作方式和编程原理。

二、实验设备:DVCC实验箱一台,电脑一台,示波器一台

三、实验内容

本实验原理图如图下所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表5-2所示。8253A的片选地址为48H~ 4FH。因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ,输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地("0"电平)或甩空("1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。

四、实验要求:

1.编程实现上述要求。

2.输出200Hz的方波

3.画出程序流程图;

4.编写程序并调试;

5.撰写实验报告。

实验九、ADC0809 A/D转换实验

一、实验目的

加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。

二、实验设备:DVCC实验箱一台,电脑一台

三、实验内容

本实验以延时方式等待A/D转换结束,ADC0809的通道号选择线ADD-A、ADD-B、ADD-C 接系统数据线的低3位,因此ADC0809的8个通道值地址分别为00H、01H、02H、03H、04H、05H 、06H、07H。

启动本A/D转换只需如下三条命令:

MOV DX,ADPORT;ADPORT为ADC0809端口地址。

MOV AL,DATA;DATA为通道值。

MOV DX,AL ;通道值送端口。

读取A/D转换结果用下面二条指令:

MOV DX,ADPORT

IN AL,DX

四、实验要求

1.按示意图连接好硬件

2.画出程序流程图;

3.编写程序并调试;

4.把IN0换成IN1,并完成实验;

5.撰写实验报告。

实验十、DAC0832 D/A转换实验(一)(第17周)

一、实验目的

熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法。

二、实验设备:DVCC实验箱一台,电脑一台,示波器一台

三、实验内容

实验原理如图所示,由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与8088CPU 总线直接接口。图中是只有一路模拟量输出,且为单极型电压输出。DAC0832工作于单缓冲方式,它的ILE接+5V,/CS和/XFER相接后作为0832芯片的片选0832CS。这样,对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器、模拟量输出随之而变化。

本实验要求在AOUT端输出方波信号,方波信号的周期由延时时间常数确定。根据V out =-〔VREF×(输入数字量的十进制数)〕/256,当数字量的十进制数为256(FFH)时,由于VREF =-5V,V out = +5V。当数字量的十进制数为0(00H) 时,由于VREF = -5V,V out = 0V。因此,只要你将上述数字量写入DAC0832端口地址时,模拟电压就从AOUT 端输出。

四、实验要求

1.按示意图连接好硬件

2.自己编程实现输出幅度为2.5V的方波。

3.画出程序流程图;

4.编写程序并调试;

5.撰写实验报告。

实验十一、DAC0832 D/A转换实验(二)

一、实验目的

进一步掌握数/模转换的基本原理。

二、实验设备:DVCC实验箱一台,电脑一台,示波器一台

三、实验内容

产生锯齿波程序

0832芯片输出产生锯齿波,只须由AL中存放数据的增减来控制。当AL中数据从00逐渐增加到FF产生溢出,再从00增大到FF,不断循环,从而产生连续不断的锯齿波。

四、实验要求

1.按实验指导书完成实验

2.编程实现方向锯齿波

3.编程实现三角波及幅度为2.5V的梯形波。

第一次作业计算机基础知识

第一次作业计算机基础知 识 Last revision on 21 December 2020

1. 计算机问世以来经历了四代,划代的主要依据是计算机电子元件的类型。大规模集成电路主要应用于____d__。 a. 第1代 b. 第2代 c. 第3代 d. 第4代 2.在计算机的多种技术指标中,决定计算机的计算精度的是___b___。 a. 运算速度 b. 字长 c. 存储容量 d. 进位数制 3. 个人计算机(PC)是除了主机外,还包括外部设备的微型计算机。而其必备的外部设备是___b___。 a. 键盘和鼠标 b. 显示器和键盘 c. 键盘和打印机 d. 显示器和扫描仪 4. 从硬件看,对整机性能影响最大的是___b___。 a. 内存 b. CPU c. 显示器 d. 硬盘 5. WPS、Word等文字处理软件属于___c___。 a. 管理软件 b. 网络软件 c. 应用软件 d. 系统软件 6. 一般认为,世界上第一台电子数字计算机诞生于___a___。 a. 1946年 b. 1952年 c. 1957年 d. 1963年 7. 用来计算计算机存储容量的基本单位是___c___。 a. 字 b. 页 c. 字节 d. 数据块 8. 液晶显示器简称为___c___。 a. CRT b. VGA c. LCD d. TFT 9. 在计算机中,控制总线的英文术语的缩写是___b___。 a. DB b. CB c. AB d. MODEM 10. 计算机中常说的486、586指的是计算机的___c___。 a. 存贮容量 b. 运算速度 c. CPU型号 d. 显示器速度 11. 在计算机工作中,一般不能写入信息的存储器是___b___。 a. 软盘 b. ROM c. RAM d. 硬盘

微机接口实验

北京科技大学计算机与通信工程学院 实验报告 实验名称:实验一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 的单次脉冲按键,观察现象。 ②程序中所有代码均没有注释,请在报告中补全注释,尽量详细。

微机实验心得体会

微机实验心得体会 【篇一:微机原理实验报告】 一、实验目的 1.掌握qtspim的调试技术 2.了解mips汇编语言与机器语言之间的对应关系 3.掌握mips汇编程序设计 4.了解c语言语句与汇编指令之间的关系 5.熟悉常见的mips汇编指令 6.掌握程序的内存映像 二、实验任务 用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。 int main() { int k, y ; int z[50] ; y = 56; for(k=0;k50;k++) z[k] = y - 16 * ( k / 4 + 210) ; } 三、实验要求 1.完成汇编语言程序设计、调试、测试全过程 2.指出用户程序的内存映像,包括代码段和数据段 3.完成软件实验报告 四、实验过程 程序源代码: .data #定义用户数据段 z:.space 200 .text main: la $s0,z #$s0=addrz li $t0,0 #$s1=k=0 li $t1,56 #$s2=y=56 loop: slti $t2,$t0,50 #判断k是否小于50 beq $t2,$0,done #当k大于等于50时跳转 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210

sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0 10 syscall 五、实验总结 通过这次实验,加深了我对理论学习的代码书写规范的理解,练习 了qtspim软件的使用,对以后的学习有很大的帮助。这次实验的内 容相对比较简单,原理容易理解,编译的过程中遇到了一点困难, 不过在同学的帮助下顺利解决了。 【篇二:微机原理与接口技术实验总结】 微机原理与接口技术实验总结 11107108徐寒黎 一、实验内容以及设计思路 1、①试编写一程序,比较两个字符串string1、 string2 所含字符 是否相同,若相同输出“match”,若不相同输出“no match”。 设计思路:定义一个数据段,在数据段中定义两个字符串作为 string1、 string2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将string1和string2都实现用键盘输入,方法是 mov dx,offset string2 mov ah,0ah 并且显示在显示器上,显示方法将0ah改成09h,语句与上面类似。然后进行比较第一个单元, mov al,[string1+1] cmp al,[string2+1] jnz nomatch 若字符串长度不等,则直接跳转,输出输出“no match”; 若长度相等再逐个比较 lea si,[string1+2] lea di,[string2+2] mov cl,[string1+1]

微机原理 实验三

南京工程学院 电力工程学院 2011/ 2012 学年第 2 学期 实验报告 课程名称微机原理及应用A 实验项目名称顺序程序设计 实验学生班级电力093 实验学生姓名武晨晨 同组学生姓名 实验时间 2012.3.29 实验地点 9-229 实验报告成绩:评阅教师签字: 年月日 电力工程学院二OO七年制

说明 1. 验报告为实验的重要考核依据之一,每个实验必须定一份实验报告. 本实验报告原则上要求手写。 2.本实验报告各项内容的具体格式、字数可由指导教师根据实验具体情况提出具体要求。各项内容可另附页,为便于归档,附页尺寸不得大于本实验报告尺寸,并注意粘牢于附页粘贴处。 3. 实验报告封面中的“实验名称”应为实验教学大纲上所列的规范名称,“实验地点”应写出实验室的具体名称。请确认无误后再填写。 4. 实验报告的建议格式为: 一、实验目的和要求; 二、主要实验仪器和设备; 三、本次实验内容 (一)实验项目名称(按本次实验各项目填写) 1、原理或接线图 2、实验步骤及注意事项 3、实验预习过程中所遇到问题 …… 四、实验记录及数据处理(主要内容包括实验具体实施步骤、 实验原始数据、计算过程与结果、数据曲线、图表等。具体 格式按指导教师要求) 五、实验结论(主要内容包括本实验小结、实验体会或疑 问等。具体格式按指导教师要求) 5. 实验成绩由实验预习、实验表现、实验报告三部分组成。其中前两项各占总成绩的30%。实验报告成绩依据报告的科学性、全面性、规范性及书写态度综合考核。实验报告采用百分制,占实验总成绩的40%,教师请阅本报告后需签字并给出实验报告百分制成绩。 6. 实验报告需按要求时间以班级为单位交给指导教师,最长时间不得超过两周,实验报告如有明显抄袭者或不交者,实验总评成绩按 0 分记。

微机原理实验

实验一简单的程序设计(视频教程)(实验代码)(实验软件) 一、实验目的 1、了解汇编语言程序设计的基本格式; 2、掌握常用寻址方式和简单指令的执行过程; 3、掌握DEBUG常用命令及调试过程。 二、实验内容 1、编写汇编语言程序,用DOS系统功能调用21H的02H功能显示字符?A?。 2、编写汇编语言程序,用DOS系统功能调用21H的09H功能显示字符串?MY NAME IS CHINESE?。 三、实验要求 1、实验前准备好汇编语言源程序; 2、掌握关于程序调试等内容。 四、说明上机调试的步骤,以及出现的问题,对问题的分析和解决。 【实验内容1】 代码: *** 输出: *** 【实验内容1】 代码: *** 输出: *** 实验二分支程序设计(实验代码) 一、实验目的 1、掌握分支程序的基本设计思想; 2、熟练掌握分支结构程序的设计过程和调试方法。 二、实验内容 编写汇编语言程序,用DOS系统功能调用21H的08H功能接收键盘字符(AL=字符),若是F,显示“This is the first word string.”;若是S,显“This is the second word string. ”,否则退出。 三、实验要求 1、实验前准备好汇编语言源程序(要求画出程序流程图); 2、掌握关于程序调试等内容。 四、说明上机调试的步骤,以及出现的问题,对问题的分析和解决。 【实验内容】 代码: *** 输出: *** 实验三循环程序的设计(实验代码1)(实验代码2) 一、实验目的 1、熟悉循环程序的设计方法; 2、学习乘法指令的用法。 二、实验内容 实现两个字节相乘的程序,并转换成十六进制数显示出结果。

【微机实验报告(含思考题)河畔下的哈】实验3

电子科技大学 实验报告 学号学生姓名: 课程名称: 任课老师: 实验项目名称

实验三 ARM汇编实现串口通信实验 【实验目的】 1.掌握ARM 的串行口工作原理。 2.学习编程实现ARM和PC机的UART通信。 3.掌握ARM裸机下汇编语言编程方法。 【实验内容】 1.学习串行通信原理,了解串行通信控制寄存器。 2.编程实现ARM 和计算机之间的串行通信。 【预备知识】 1、ARM汇编基础 2、ARM处理器通用IO口的操作 【实验设备和工具】 ?硬件:ARM嵌入式开发平台,PC 机一台,并口线,串口线,JTAG板 ?软件:RVDS,H-JTAG 【实验原理】 1.异步串行I/O 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线(输入,输出)即可进行。 2.串口通信流程 串口通信就是读写寄存器的操作,通过配置相关寄存器,查询寄存器就可以操作串口通信。需要配置的寄存器有系统时钟,UART行控制寄存器,UART控制寄存器,UART FIFO控制寄存器,UART MODEM控制寄存器,UART波特率控制寄存器;需要查询的寄存器是发送/接收状态寄存器。 【实验步骤】 1. 打开CodeWarrior for RVDS,建立一个工程,通过查S3C2440处理器手册的UART通信寄存器,serialcommutication.s文件中添加代码实现串口通信传输 2. 设置工程配置选项,Language Setting->Realview Assembler和Realview Compiler中的Architecture设置为ARM920T,配置RVDS下的连接器Linker->Realview Linker中的RO Base 为0x30000000

西安交通大学微机原理第一次实验报告

微型计算机原理与接口技术 第一次实验报告 实验者姓名: 实验者学号: 所在班级: 报告完成日期:20年月日

实验二分支程序的设计 一、实验目的 1.学习提示信息的显示及键盘输入字符的方法。 2.掌握分支程序的设计方法。 二、实验内容 在提示信息下,从键盘输入原码表示的二位十六进制有符号数。当此数大于0时,屏幕显示此数为正数;当此数小于0时,屏幕显示此数为负数;当此数等于0时,屏幕显示此数为零。 三、实验调试过程 利用-u命令进行反汇编,结果如下。三个CMP语句运行完的地址如图所示,第一个CMP运行完的是29H 输出结果的地址如下图所示: 首先对输入为负数时进行验证:输入FFH,设置一个断点在29H,利用-t命令观察跳转,结果如图:

可以看到,程序最终正确的转入输出负的分支。再输入正数11H,利用-t观察整个比较过程如下: 可以看到,程序最终正确的转入输出正的分支。最后输入00H,利用-t观察整个比较过程如下:

可以看到,程序最终正确的转入输出0的分支。 四、实验框图及程序代码 实验框图:

程序代码: CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DA TA SEGMENT ;定义结果信息 MESS1 DB 'INPUT DATA:',0DH,0AH,'$' MESS2 DB 'THIS DATA IS+',0DH,0AH,'$' MESS3 DB 'THIS DATA IS-',0DH,0AH,'$' MESS4 DB 'THIS DATA IS ZERO',0DH,0AH,'$' DA TABUF DB 3 ;定义最大可输入字符长度ACTLEN DB ? ;实际输入字符长度 STRING DB 3 DUP(?) ;输入字符缓冲区 DA TA ENDS SSEG SEGMENT PARA STACK 'STACK' DB 50 DUP(0) SSEG ENDS CODE SEGMENT ASSUME CS:CODE,SS:SSEG,DS:DA TA START:MOV AX,DATA MOV DS,AX MOV AX,SSEG MOV SS,AX MOV DX,OFFSET MESS1 MOV AH,09H INT 21H MOV AH,0AH MOV DX,OFFSET DATABUF INT 21H CRLF MOV AL,STRING CMP AL,38H JAE ISNEG CMP AL,30H JNZ ISPOS

微机实验指导书

机自学院自动化系2016.3.20

目录 实验一开关状态显示 (3) 实验二模拟交通灯实验 (6) 实验三8253定时器/计数器实验 (10) 实验四D/A转换器实验 (15) 实验五A/D转换器实验 (18) 实验六8259中断控制(1) (22) 实验七8259中断控制(2) (25)

实验一开关状态显示 一、实验目的 熟悉实验箱和软件开发平台的使用。了解基本I/O端口的操作方法和技巧,掌握编程和调试基本技能。 二、实验内容 利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。 三、实验区域电路连接图

参考上图连线: Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H 孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。 四、编程指南 本实验要求编写程序将连接在74LS244芯片端口的开关状态读入,根据下面表格给出的开关状态对应的LED输出灯亮状态,控制74LS273芯片驱动LED。按下MON或系统复位键则返回监控。 五、程序框图

六、实验步骤 1. 按连线图连接好,检查无误后打开实验箱电源。 2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。 3. 运行程序后,拨动K1-K2,L1-L8会跟着亮灭。 4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。 七、实验程序清单及注释 根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。 八、实验报告 应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。问答题: 1. I/O端口的寻址方式有哪2种?在x86系统中,采用哪一种? 2. 在输入/输出电路中,为什么常常要使用锁存器和缓冲器?

微机实验报告

微机实验报告 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

第一次实验 实验01 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范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,290H OUT DX,AL(或IN AL,DX) Y2输出一个负脉冲,执行下面两条指令: MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲。 (II型机) 2. 接线 II型机: I/O 地址/Y2(290H---297H) 接 D 触发器/CLK I/O 地址/Y4(2A0H---2A7H) 接 D 触发器/CD D 触发器/D 接 D 触发器/SD 接+5V D 触发器/Q 接逻辑笔或L7 I型机: I/O 地址/Y4 接 D 触发器/CLK I/O 地址/Y5 接 D 触发器/CD

…… 三、实验内容 利用负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 四、实验内容实现分析 分析实验连接图;说明实现该内容的原理;画出流程图。 五、实验程序 DATA SEGMENT OUTPORT1 EQU 290H OUTPORT2 EQU 2A0H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA

微机实验二实验报告

广东技术师范学院实验报告 学院:自动化专业: 电气工程及其自 动化(低压电力智 能控制) 班级: 11低 电 成绩: 姓名:曹睿学号:2011104743018 组别:组员: 实验地点:教学楼703 实验日期:2012.04.11 指导教师签名:实验二项目名称:输入输出程序的编制 一、实验目的与要求 了解DOS的中断调用,实现数据的输入与输出,熟悉高级汇编调试工具Visualmasm的使用。 二、实验类型 验证型实验 三、实验原理及说明 利用DOS中断调用中的1号,2号和9号调用功能实现数据的输入与输出,同时通过本程序的调试了解汇编软件的使用。 1号调用:键盘输入字符 入口参数:无 出口参数:输入字符的ASCII码在AL寄存器中。 2号调用:显示器输出 入口参数:要输出的字符的ASCII码放在DL寄存器中 出口参数:无 9号调用:显示器输出字符串 入口参数:DS:DX中存放输出字符串缓冲区的首地址,字符串要求用字符”$”结束。 出口参数:无 四、实验主要仪器设备和材料 预习情况操作情况考勤情况数据处理情况

序号名称主要用途 1 电脑调试程序 五、实验内容和步骤 1、写一段程序,输出一个字符串“Visualmasm!” 步骤:在记事本里输入以下程序,把文件命名为zp1.asm: DATA SEGMENT STRING DB'Visualmasm!$' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA START:MOV AX,DATA MOV DS, AX MOV ES, AX MOV AH,09H LEA DX,STRING INT 21H MOV AH,4CH INT 21H CODE ENDS END START 打开命令提示符,生成zp1.obj文件,接着生成zp1.exe文件,输入td zp1.exe,就可以在TD里查看输入的程序。点击数据区,右键点击GOTO,输入5B72:0000,可以看到Visualmasm的ASCII码,56 69 73 75 61 6C 6D 61。 2、写一段程序。从键盘读入一个小写字母,然后把它转换成大写字母并输出。 步骤::在记事本里输入以下程序,把文件命名为zp2.asm DSEG SEGMENT STRING DB'a' DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV AH,01

微机实验报告(1)

《微机实验》报告 实验名称 KeilC的使用与汇编语言上机操作 指导教师刘小英 专业班级中法1201 姓名肖洋学号 U3 联系电话 一、任务要求 1.掌握KeilC环境的使用 1)字节拆分、合并:调试程序,观察相关寄存器和单元的内容。 2)数据块填充:调试程序,观察相关寄存器和单元的内容。 2. 编写两个十六位数的加法程序。 有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八 位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。 二、设计思路 1.字节拆分、合并程序:利用汇编语言中的 XCHD 和 SWAP 两个语句来实现将八位二进制 数拆分为两个四位二进制数并分别存储于不同的存储空间的功能,BCD 码与 30H 相或(加 上 30H)得到 ASCII 码。将两个 ASCII 码和 0FH 相与(高四位清零)得到 BCD 码,利 用 SWAP 语句将高位数放至高四位,将高位数和低位数相或可实现字节的合并。 2.数据块填充程序:将 R0 用作计数器,DPTR 用作片外数据指针,A 作为原始数据来源, 依顺序在片外的存储单元内容填充数据。利用循环语句来减少程序长度,并控制填充单 元个数为片外 100H 个。(通过 R0 的进位控制) 3.两个十六位数加法程序:把第一个十六位无符号数的地八位和高八位分别存于 20H 和 21H 中,把第二个十六位无符号数的地八位和高八位分别存于 30H 和 31H 中,对 20H 和 30H 中的两个低八位进行 ADD 加法操作,结果存于 R4 中;然后对 21H 和 31H 中的两 个高八位进行 ADDC 带进位的加法操作,结果存于 R3 中.然后将累加器 A 清零,并和#00H

微机作业 (1)

10、填空题 1).8086CPU的基本总线周期包括 4 个振荡周期。若8086CPU主频为4MHz,则其基本总线周期为1 ns。 2).8086CPU有16 位数据总线,20 位地址总线。 3).8086CPU内部有很多寄存器,分别指出它们是什么寄存器:CS 代码寄存器,SS 堆栈寄存器,IP 指令指针,SP 堆栈寄存器 。 4).说明8086CPU芯片的一些重要引脚的功能:INTR 可屏蔽中断信号, MN/最大最小模式切换信ALE 地址锁存信号,MX 号。 第三章指令系统 一填空题 1.执行系列指令后: MOV AL, 7 MOV BL, 9 MUL BL 结果为:AX= 63 。 2.假设程序段如下: MOV AX, 5439H MOV BX, 456AH ADD AX, BX 则AX= 99A3H ,CE= 0 、PF= 1 、AF= 1 、OF= 1 。3.说明下列指令中源操作数属于什么寻址方式: (1) MOV AL, [DI+5]; 寄存器间接寻址 (2) MOV AL, [BX]; 寄存器间接寻址 (3) ADD AL, 80H; 立即寻址。 4.对于指令MOV BX,[BP+SI],如果指令执行前,(DS)=3F00H,(BP)=0200H,(SI)=0046H,(SS)=2F00H,(2F246H)=4154H,(3F246H)=1245H,则执行指令后,(BX)= 。 二、程序分析题 1. 已知(60000H)=12H, (60001H)=43H, (60002H)=78H, (60003H)=0ABH, (60004H)=0FH; (70000H)=02H, (70001H)=63H, (70002H)=89H, (70003H)=0FAH, (70004H)=24H,执行下列程序,填入指定寄存器的当前内容。 MOV AX,7000H MOV DS, AX MOV AX, 6000H MOV SS, AX MOV BX, 0 MOV BP, 0 MOV SI, 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.熟悉串操作指令的功能。 2.了解串操作指令的使用方法。 二、实验预习要求 1.复习8086指令系统中的串操作类指令。 2.按照题目要求在实验前编写好实验中的程序段。 三、实验任务 1.输入以下程序段并运行之,回答后面的问题。 CLD MOV DI,1000H MOV AX,55AAH MOV CX,10H REP STOSW 上述程序段执行后: (1) 从DS:1000H开始的16个字单元的内容是什么?。 (2) (DI)= ?(CX)= ?,并解释其原因。 2.在上题的基础上,再输入以下程序段并运行之,回答后面的问题。

MOV SI,1000H MOV DI,2000H MOV CX,20H REP MOVSB 程序段执行后: (1)从DS:2000H开始的16个字单元的内容是什么? 55AAH (2)(SI)=?(DI)=?(CX)= ?,并分析之。 SI=1020H,DI=2020H,CX=0000H 3.从DS:1000H开始存放有一个字符串”This is a string”,要求把这个字符串从后往前传送到DS:2000H开始的内存区域中(即传送结束后,从DS:2000H开始的内存单元的内容为”gnirts a si sihT”),试编写程序段并上机验证之。 assume cs:code,ds:datasg,ss:stack datasg segment db 'THIS IS A STRING' db 1000 dup(1) datasg ends stack segment dw 0,0,0,0,0,0,0,0 stack ends code segment start: mov ax,datasg

微机实验二、三

实验二运算类编程实验 一、实验目的 1)掌握使用运算类指令编程及调试方法。 2)掌握运算类指令对各状态标志位的影响及其测试方法。 3)学习使用软件监控变量的方法。 二、实验设备 PC一台,TD-PITE微机/单片机教学实验装置一套。 三、实验内容及步骤 1、十进制的加法运算 题目:计算X+Y=Z,其中X、Y、Z为2字节非压缩BCD数 实验程序如下: STACK SEGMENT STACK STACK ENDS DA TA SEGMENT X DW ? Y DW ? Z DW ? DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV SI, OFFSET X MOV DI, OFFSET Z MOV AL, [SI] ADD AL, [SI+02H] AAA MOV [DI], AL MOV AH, 00H MOV AL, [SI+01H] MOV AL, [SI+03H] AAA INC DI MOV [DI], AX MOV AL, 4CH INT 21H CODE ENDS END START 实验步骤: 1)输入实验程序并检查无误,经汇编、连接后生成EXE文件。 2)使用U(CS):0000↓命令查看MOV AX,DATA语句得数据段段地址,即DS=DA-TA=XXXX, 记下该地址。 3)用E命令E(DS):0000↓给X、Y赋值,假定存入BCD数56和78:06 05 08 07

4)用G=(CS):0000↓命令运行以上程序 5)用D(DS):0004↓,显示计算结果:04 03 01 6)反复试几组数,检验程序的正确性。 编程练习 已知在起始地址为0500H的内存单元中,存放一组数据:10H,15H,0FH。请编程求该数组的总和后将其扩大4倍,再转换成BCD数存入起始地址为0510H的单元中 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT ORG 0500H DATA1 DB 10H, 15H, 0FH ORG 0510H RESULT DB ? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA SI, DATA1 LEA DI, RESULT MOV CX, 0002H MOV AL, [SI] A1: INC SI ADD AL, [SI] LOOP A1 MOV BL, 04H MUL BL MOV DL, 64H MOV AH, 00H DIV DL MOV [DI], AL INC DI MOV AL, AH MOV AH, 00H MOV DL, 0AH DIV DL MOV [DI], AI INC DI MOV [DI], AH INT 03H CODE ENDS ENDS START 实验步骤:

微机原理实验一 (1)

微机原理实验内容 实验一上机方法及寻址方式练习 一.实验目的 1.学习汇编语言上机方法。 2.深入了解DEBUG动态调试软件的应用,掌握下列命令的使用方法: U 反汇编G 运行程序 D 显示内存内容R 显示╱修改寄存器内容 E 修改内存内容 T 单步执行命令 Q 返回DOS 3.实际感受段地址,偏移地址,存储器组织及CPU寄存器等概念。 4.掌握8086/8088的主要寻址方式。 二.实验任务一双字相加 把内存字单元DATA1和DATA2中的两个数相加(例如123456H+456789H),结果存入SUM单元。 此程序的功能很简单,目的是为了通过该例掌握上机过程和实验方法。首先,对书写好的源程序进行编辑,汇编及连接,生成可执行的EXE文件。然后对EXE文件进行动态调试,排除错误,最终形成一个完全正确的程序。 1.建立源程序 .ASM 为了使大家对标准汇编语言程序结构有一个了解,并牢固掌握DEBUG调试程序的应用。在这里给出上面实验任务的程序清单。程序1是一个标准的汇编语言程序,共有三个段:数据段、堆栈段及代码段,在以后的编程中可以仿照这一结构。 程序1:双字相加 DATA SEGMENT ;define data segment DATA1 DW 1234H DATA2 DW 5678H SUM DW ? DATA ENDS STACK SEGMENT PARA STACK ‘STACK’;define stack segment DW 100 DUP (?) TOP LABEL WORD STACK ENDS CODE SEGMENT ;define code segment ASSUME CS: CODE,DS:DATA,SS:STACK START:MOV AX, DATA ;set DS register to current data segment MOV DS, AX MOV AX, STACK ;set up stack SS and SP regist MOV SS, AX MOV SP, OFFSET TOP MOV AX, DATA1 ADD AX, DATA2 MOV SUM, AX MOV AH,4CH ;return to DOS INT 21H CODE ENDS ;end of code segment END START ;end assembly

微机软件实验习题与答案(完整版)

微机原理软件实验 实验1 两个多位十进制数相加的实验 实验内容:将两个多位十进制数相加,要求加数和被加数均以ASCII码形式各自顺序存放以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。完整代码如下: DATAS SEGMENT ;此处输入数据段代码 STRING1 DB'input the first number:','$' STRING2 DB 13,10,'input the second number:','$' STRING3 DB 13,10,'the output is:','$' DATA1 DB 6 DUP(00H),'$' DATA2 DB 6 DUP(00H),'$' DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 LEA SI,DATA1 LEA DI,DATA2 L0: LEA DX,STRING1;打印字符串STRING1 MOV AH,09 INT 21H INPUT1: ;输入第一个数 MOV AH,01;输入字符至AL中 INT 21H CMP AL,'/' JE L1 MOV [SI],AL INC SI

JMP INPUT1 L1: LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H INPUT2: ;输入第二个数 MOV AH,01;输入字符至AL INT 21H CMP AL,'/' JE L2 MOV [DI],AL INC DI JMP INPUT2 L2: MOV SI,0 CLC;清空进位标志位CF MOV CX,6

微机大作业实验报告 (1)

微机技术综合实验课程报告题目交通灯控制设计 学生姓名李松阳张磊 学号20111336065/68 院系信息与控制学院 专业自动化 指导教师陈逸菲 二OO一三年十二月二十七日

目录 交通灯控制设计--------------------------------------------------------------1 预期功能------------------------------------------------------------------------------------------------------1 设计方案------------------------------------------------------------------------------------------------------1 硬件电路设计------------------------------------------------------------------------------------------------2 软件设计------------------------------------------------------------------------------------------------------2 仿真结果------------------------------------------------------------------------------------------------------6 小结------------------------------------------------------------------------------------------------------------8 参考文献------------------------------------------------------------------------------------------------------8

微机实验 实验二

实验2 熟悉汇编程序建立及其调试方法

一、实验目的 1.熟悉汇编语言源程序的框架结构,学会变制汇编程序 2.熟悉汇编语言上机操作的过程,徐汇汇编调试方法 二、实验内容 1.学习编写汇编语言源程序的方法,了解数据存放格式 2.阅读给出的程序,找出程序中的错误 3.通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立,汇编,链接,调试, 修改和运行等全过程 三、实验内容 源程序修改 STACKSG:SEGMENT PARA STACK ‘STACK’;不能有冒号 DB 256 DUP(?) STACKSG ENDS DA TASG:SEGMENT PARA ‘DATA’;不能有冒号 BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 COUNT EQU 20 MAX DW ? DA TASG ENDS CODESG:SEGMENT ;不能有冒号 ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100H BEGIN MOV DS, DA TASG ;BEGIN: 应改为MOV AX , DATASG LEA SI ,BLOCK MOV DS, AX MOV CX, COUNT DEC CX MOV AX , [SI] CHKMAX ADD SI,2 ;应加冒号CHKMAX: CMP [SI] , AX JLE NEXT MOV AX , [SI] DEC CX ;删除 NEXT: LOOP CHKMAX MOV MAX ,AX MOV AH, 4CH INT 21H CODESG ENDS END BEGIN

第一次作业计算机基础知识

第一次作业计算机基础知 识 This manuscript was revised on November 28, 2020

1. 计算机问世以来经历了四代,划代的主要依据是计算机电子元件的类型。大规模集成电路主要应用于____d__。 a. 第1代 b. 第2代 c. 第3代 d. 第4代 2.在计算机的多种技术指标中,决定计算机的计算精度的是___b___。 a. 运算速度 b. 字长 c. 存储容量 d. 进位数制 3. 个人计算机(PC)是除了主机外,还包括外部设备的微型计算机。而其必备的外部设备是___b___。 a. 键盘和鼠标 b. 显示器和键盘 c. 键盘和打印机 d. 显示器和扫描仪 4. 从硬件看,对整机性能影响最大的是___b___。 a. 内存 b. CPU c. 显示器 d. 硬盘 5. WPS、Word等文字处理软件属于___c___。 a. 管理软件 b. 网络软件 c. 应用软件 d. 系统软件 6. 一般认为,世界上第一台电子数字计算机诞生于___a___。 a. 1946年 b. 1952年 c. 1957年 d. 1963年 7. 用来计算计算机存储容量的基本单位是___c___。 a. 字 b. 页 c. 字节 d. 数据块 8. 液晶显示器简称为___c___。 a. CRT b. VGA c. LCD d. TFT 9. 在计算机中,控制总线的英文术语的缩写是___b___。 a. DB b. CB c. AB d. MODEM 10. 计算机中常说的486、586指的是计算机的___c___。 a. 存贮容量 b. 运算速度 c. CPU型号 d. 显示器速度 11. 在计算机工作中,一般不能写入信息的存储器是___b___。 a. 软盘 b. ROM c. RAM d. 硬盘 12. 用户所用的内存储器容量通常是指___b___。 a. ROM的容量 b. RAM的容量 c. ROM的容量+RAM的容量

微机原理及应用实验报告

微机原理及其应用上机实验报告 实验一 程序调试实验(顺序结构程序设计) 一、实验目的: 1.学习及掌握汇编语言源程序的基本结构,明确程序中各段的功能和相互之间的关系。 2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求: 1、上机前,要认真阅读前言和课本相关章节 2、上机前,画好流程图,编写好程序 3、上机时,注意出现的错误,记录下出错信息,翻译之 4、完成好实验报告 三、实验内容: 在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。 (2).分析 X 平方的值是tab 为首地址且x 的值为有效地址中的值。 data segment x db 8 y db data ends stack segment para'stack' db 100 dup(0) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax

mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start (3).程序调试: 4.心得体会 了解了顺序结构,掌握了程序的运行,调试。 实验二分支程序设计 一、实验目的: 熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。掌握分支程序设计、编写、调试和运行的方法。 二、实验要求: 1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。 2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。 二、实验内容

相关文档