微机-实验6
微型计算机原理作业第六章 习题与思考题

第六章习题与思考题典型例题解析例6-1 试述PC微机中断系统的分类与特点。
答:PC微机系统中断包括硬件(外部)中断和软件(内部)中断两大类。
硬件中断包括不可屏蔽中断NMI和可屏蔽中断INTR。
它们都由外部硬件产生。
软件中断包括软件中断INT nH和CPU内部特殊中断,它们由内部中断指令或执行程序过程中出现异常产生的。
软件中断又有DOS中断和BIOS中断之分。
硬件中断的特点是:(1)硬中断是外部事件而引起的中断,因此,硬件中断具有随机性和突发性。
(2)在硬件中断响应周期,CPU需要发中断回答信号(非屏蔽硬件中断不发中断回答信号)。
(3)硬件中断的中断号由中断控制器提供(非屏蔽硬件中断的中断号由系统指定为02H)(4)硬件中断一般是可屏蔽的(非屏蔽硬件中断是不可屏蔽的)。
软件中断的特点是:(1)软件中断是执行中断指令而产生的,无需外部施加中断请求信号。
在程序需要调用某个中断服务程序时,只要安排一条相应中断指令,就可转去执行所需要的中断程序,因此,中断的发生不是随机的,而是由程序安排好的。
(2)在软件中断响应周期,CPU不需要发中断回答信号。
(3)软件中断的中断类型号是在指令中直接给出,因此,不需要使用中断控制器。
(4)软件中断是不可屏蔽的。
例6-2 试述可编程控制器8259A的作用。
答:可编程控制器8259A在协助CPU处理中断事务中所起的作用主要是:(1)接受和扩充外部设备的中断请求。
外设的中断请求,并非直接送到CPU,而是通过8259A接受进来,再由它向CPU提出中断请求。
一片8259A可授受8个中断请求,经过级联可扩展到8片8259A,能接受64个中断请求。
(2)进行中断优先级排队。
外设的中断优先级排队,并不是CPU安排,而是由8259A安排的。
即由8259A中断请求输入引脚(IR)的编号决定的。
连到IR0上的外设中断优先级最高,连到IR7上的外设中断优先级最低。
(3)向CPU提供中断类型号。
微机原理-第6章(2)

四.扩展存储器设计
Note:8086 CPU同8088 CPU一样,也有20条地址总线,其寻 8086 CPU同 CPU一样 也有20条地址总线, 一样, 20条地址总线 址能力达1MB。不同之处是8086 数据总线是16位的, 16位的 址能力达1MB。不同之处是8086 CPU 数据总线是16位的, 与8086 CPU对应的1MB存储空间可分为两个512kB(524 288 CPU对应的1MB存储空间可分为两个512kB(524 对应的 存储空间可分为两个512 B)的存储体。其中一个存储体由奇地址的存储单元(高字节) B)的存储体。其中一个存储体由奇地址的存储单元(高字节) 的存储体 奇地址的存储单元 组成,另一个存储体由偶地址的存储单元(低字节)组成。 组成,另一个存储体由偶地址的存储单元(低字节)组成。 偶地址的存储单元 前者称为奇地址的存储体,后者称为偶地址的存储体。 前者称为奇地址的存储体,后者称为偶地址的存储体。
≈
0
≈ ≈
0 0
0
0
0
0
0
0
0 1…1
作片外寻址的高位不变地址线全部 参加了译码,这种译码方法称为全 参加了译码,这种译码方法称为全 地址译码方法 方法。 地址译码方法。
片外寻址
四.扩展存储器设计
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9~A0 X 0 0 0 0 0 0 0 0 0 0…0
4KB 00000H 00FFFH
≈
●
模块1 模块
实验6 燃烧热的测定

一、授课计划
二、课时教学内容
图6-1 氧弹式量热计
1.搅动棒;
2.外筒;
3.内筒;
4.垫脚;
6.传感器;
7.点火按健;
8.电源开关;
开关;10.点火输出负极;11.点火输出正极;
12.搅拌指示
氧弹是一个特制的不锈钢容器如图
完全燃烧,氧弹中须充以高压氧气(或者其他氧化剂),因此要求氧弹密封、耐高压、抗腐蚀。
实际上,量热计和周围环境的热交换无法完全避免,它对温差测量值的影响可用雷诺温度校正图校正。
校正方法如下:称适量待测物质,使燃烧后水温升高1.5℃~2.0℃,预先调节水温低于环境
然后将燃烧前后历次观察的水温对时间作图,
所示,图中H相当于开始燃烧之点,
a 雷诺温度校正图
b 绝热良好情况下的雷诺校正图
图2-3 雷诺校正图
在测量燃烧热过程中,对量热计温度测量的准确性直接影响到燃烧热测定的结果,所以本实验采用精密温度温差仪来测量量热计的温度变化值。
三、仪器试剂
SHR-15氧弹量热计1套;减压阀 1个;
氧气钢瓶1个;容量瓶(1000mL)1个;
萘(A.R);苯甲酸(A.R)
点火丝压片机。
微机原理闹钟实验报告

微机原理闹钟实验报告实验名称:微机原理闹钟实验报告实验目的:1. 了解单片机的基本工作原理和编程方法;2. 学习如何使用单片机设计并实现闹钟功能;3. 掌握数字时钟显示技术。
实验器材:1. 单片机实验箱;2. AT89C52单片机;3. LED数码管;4. 4位开关;5. 电源线;6. 连线线缆。
实验原理:本次实验使用单片机AT89C52来设计和实现闹钟功能。
单片机是一种微型电子计算机系统,具有高度集成、功能强大等特点。
数码管是一种常见的数字显示装置,适用于时钟、计时器等场合。
实验步骤:1. 将AT89C52单片机与LED数码管通过连接线连接起来,保证电源线的正负极连接正常。
2. 编写C程序,实现显示当前时间的功能。
通过编程可以将当前时间在数码管上显示出来。
3. 设定闹钟时间和闹铃的功能,通过编程实现。
当闹钟时间到达时,数码管上会显示闹钟时间,并通过蜂鸣器发出声音。
4. 调试程序,确保闹钟功能正常运行。
5. 完成闹钟的相关操作,包括设置闹钟时间、启动闹钟、关闭闹钟等功能。
实验结果:经过编程和调试,我们成功实现了微机原理闹钟的功能。
我们能够通过设置闹钟时间并启动闹钟来实现报时的功能。
当闹钟时间到达时,数码管上会显示相应的时间,并通过蜂鸣器发出声音,起到提醒作用。
实验总结:通过这次实验,我深入了解了单片机的基本工作原理和编程方法。
同时,我学会了使用单片机设计和实现闹钟功能,并掌握了数字时钟显示技术。
这次实验让我对单片机的应用有了更深刻的认识,并提高了我对数字电路设计和编程的能力。
同时,我还发现了实验过程中可能存在的问题和改进的空间。
例如,我可以进一步完善闹钟功能,加入更多的定时和报时功能,提高闹钟的多样化和实用性。
此外,我还可以优化程序的运行效率,提高系统的稳定性和响应速度。
总之,本次实验对我的学习和提高具有重要意义。
通过实践操作,我深入理解了微机原理闹钟的设计与实现,拓宽了我的知识面和实践能力。
我将继续深入学习和掌握微机原理和相关技术,为以后的学习和研究打下坚实的基础。
微机原理第6章 Proteus仿真平台的使用

8086模型的基本属性
属性
时钟 外部时钟
默认值
1MHz NO
描述
指定处理器的时钟频率。在外部时钟被选中的情况 下此属性被忽略。 指定是否使用内部时钟模式,或是响应已经存在 CLK引脚上的外部时钟信号。注意,使用外部时钟 模式会明显的减慢仿真的速度。 指定一个程序文件并加载到模型的内部存储器中。 程 序 文 件 可以 是 二 进 制文 件 、 与 MS-DOS兼 容 的 COM文件或是EXE格式的程序。 决定外部程序加载到内部存储器中的位置。 内部仿真存储区的位置。 内部仿真存储区的大小。
有智能识别功能的鼠标
鼠标对界面有智能识别功能,即鼠标会自动根据功能改变显示的式样
ISIS的基本操作
1、绘制原理图
绘制原理图是ISIS仿真的主要工作之一,必须在原理图编辑窗口中的 编辑区域内完成。
2、定制自己的元件
有三种方法定制自己的元件: (1)用PROTEUS VSM SDK 开发仿真模型,并制作元件; (2)在已有的元件基础上进行改造。例如,把元件改为总线接口的; (3)利用已制作好(现成)的元件。可以到网上下载一些新元件并把 它们添加到自己的元件库里面。
第6章 Proteus仿真平台的使用
Proteus入门
内容安排
6.1 Proteus简介 6.2 Proteus ISIS基本使用 6.3 Proteus ISIS下8086的仿真
6.1 Proteus简介
Proteus是英国Labcenter公司开发的电路分析 与实物仿真及印制电路板设计软件,它运行于 Windows操作系统上,可以仿真、分析各种模拟 电路与集成电路。Proteus提供了大量模拟与数字 元器件及外部设备,各种虚拟仪器,特别是它具有
微机原理6_控制转移类指令

还可用SAR、ROR和RCR指令
;将AX的最低位D0移进CF
jnc even
;标志CF=0,即D0=0:AX内是偶数,程序转移
add ax,1
;标志CF=1,即D0=1:AX内的奇数,加1
even: shr ax,1
;AX←AX÷2
第2章:例题2.22解答3 用JNS指令实现
mov bx,ax
ror bx,1
done: ……
第2章:例2.24 偶校验
;对DL寄存器中8位数据进行偶校验 ;校验位存入CF标志
2:将最低位用移位指令移至进位标志,判断进位标志是0, AX就是偶数;否则,为奇数
3:将最低位用移位指令移至最高位(符号位),判断符号 标志是0,AX就是偶数;否则,为奇数
第2章:例题2.22解答1 用JZ指令实现
test ax,01h
;测试AX的最低位D0(不用AND指令,以免改变AX)
jz even
第2章:无条件转移指令JMP(jump)
JMP label
;段内转移、相对寻址
;IP←IP+位移量
演示
JMP r16/m16
;段内转移、间接寻址
;IP←r16/m16
演示 演示
JMP far ptr label ;段间转移、直接寻址
;IP←偏移地址,CS←段地址
演示
JMP far ptr mem ;段间转移,间接寻址
第2章:例题2.22
题目:将AX中存放的无符号数除以2,如果是奇 数则加1后除以2 问题:如何判断AX中的数据是奇数还是偶数? 解答:判断AX最低位是“0”(偶数),还是“1” (奇数)。可以用位操作类指令
1:用逻辑与指令将除最低位外的其他位变成0,保留最低位 不变。判断这个数据是0,AX就是偶数;否则,为奇数
微机原理与接口技术实验报告

微机原理与接口技术实验报告微机原理与接口技术实验报告一、引言微机原理与接口技术是计算机科学与技术专业中的一门重要课程,通过学习该课程可以了解计算机硬件的基本原理和接口技术的应用。
本实验报告旨在总结和分析我们小组在该课程中进行的实验内容和实验结果,以及对所学知识的理解和应用。
二、实验目的本次实验的主要目的是通过实际操作,深入理解微机原理和接口技术的相关知识,掌握计算机硬件的基本原理和接口技术的应用方法。
具体实验目标如下:1. 熟悉计算机硬件的基本组成和工作原理;2. 学习并掌握接口技术的基本原理和应用方法;3. 能够使用接口技术实现不同设备之间的数据传输和通信。
三、实验内容本次实验主要包括以下几个方面的内容:1. 计算机硬件的基本组成和工作原理:通过拆解和组装计算机主机,了解主板、CPU、内存、硬盘等硬件组件的作用和相互连接方式,以及计算机的工作原理。
2. 接口技术的基本原理和应用方法:学习串口、并口、USB等接口的工作原理和应用场景,了解不同接口的特点和使用方式。
3. 使用接口技术实现数据传输和通信:通过编写程序和使用相应的接口设备,实现计算机与外部设备之间的数据传输和通信,如串口通信、并口通信等。
四、实验过程与结果在实验过程中,我们首先进行了计算机硬件的拆解和组装实验,通过拆解主机并观察各个硬件组件,深入了解了计算机的内部结构和工作原理。
然后,我们学习了串口和并口的基本原理和使用方法,并通过实际操作进行了串口和并口通信的实验。
最后,我们使用USB接口实现了计算机与外部设备之间的数据传输和通信。
在实验中,我们成功地通过串口实现了计算机与打印机之间的数据传输和通信,实现了打印机的控制和数据输出。
同时,我们还通过并口实现了计算机与外部设备之间的数据传输和通信,成功地控制了外部设备的运行和数据输入。
此外,我们还成功地使用USB接口实现了计算机与移动存储设备之间的数据传输和通信,实现了文件的读写和存储。
合工大微机原理课程设计第6题数字钟

overD: JMP con8
recoverLED: cli ;实现从BUF知LEDbuf功能的具体代码区
push si
push cx
PUSH BX
mov LedBuf+3,00h
mov LedBuf+4,00h
mov LedBuf+5,00h
mov si,0
;;;;;;;;;;;;;;;;;;;;;;;;初始化;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
push ax
push dx
MOV DX,port33
MOV AL,36H
OUT DX,AL
MOV DX,port00
MOV AL,00H
OUT DX,AL
5. 按“E”表示时钟开始运行。
6. 程序运行时,首先按“D”设置闹铃时间,然后按“C”设置时钟的时间,再按“E”让时钟开始运行。当当前时间运行到闹铃时间时,整个七段数码管屏幕闪烁字符“8”。
注:下面的代码在设置闹钟时会产生时间误差。读者有兴趣尝试的话可以自己改改,只需要调整调整几个缓冲区,使设置闹钟时使后台依然接受中断即可,设完闹钟使其恢复即可。
CBuf db 6 dup(0fh)
buf db 6 dup(?) ;临时存放时刻
buttonC DB 02H ;若C键被按则置1
buttonD DB 03H ;若D键被按则置1
buttonE DB 00H ;若E键被按则置1
jnz overd ;若SI不等06h即小于6,则跳到con8处,继续获取键值,直至6位闹钟设置完毕
MOV BUTTOND,00H ;闹钟设置完毕,使D键标志失效,使其不会继续设置闹钟,并将取出BUF内时间标志置1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答:由于源地址从2300h开始,而目的地址从2000h开始,根据实验前的分析,选择从数据块首地址开始传送数据。
回答如下问题:
(1)两片6264的片选信号(CE和CS)是如何产生的?他们的地址范围是多少?
答:
①CE的产生:在此题目中,ce的产生是由74ls138译码器中的y0输出而来,且在低电平有效。而y0的低电平输出决定于AD14,。因此当AD14为低电平的时候,经过译码器之后将会使得ce有效;
②CS的产生:cs在高电平的时候有效,即选片有效。它的高低电平取决于BHE以及AD0。当 为低电平的时候,奇存储体的 为高电平,即选片为奇地址存储体;当ad0为低电平的时候,选片为偶地址存储体。
如图(b):若是数据的传送从据块的首址开始,则将会出现数据块的重叠覆盖,即在移动完成后,目的数据块的首址开始存放的几个连续数据和末址之前的几个数据重复,从而造成源数据块末址的一些数据丢失,因此,数据的传送从数据块的末址开始;
如图(c):数据的传送从据块的首址开始,分析与图b的相反,若是数据的传送从据块的首址开始,其丢失的数据将是源数据块首址的一些数据。
一片的6264大小为8k=2^13=2000H,则两片的地址大小为4000h,又由于从7fffh开始,故地址范围为7fffh-bfffh。
(2)他们的数据线为何连接不同?
答:为了使得物理性质一模一样的6264分别作为奇地址存储体和偶地址存储体,所以偶地址存储体数据将在D7-D0上传输;奇地址存储体数据在D8-D15传输。
理论分析(这一千个存储单元最终存放了100到哪个数据之间的数据?):由于在代码中,我们利用al赋值,其数据范围在0-ffh之前,故这一千个存储单元最终存放了100到225再0到100这些数据之间的数据。
修改后程序如下:
CODE SEGMENT
ASSUMECS:CODE
START:
MOV AX,0;将ds段赋值为0,则将从ds段的第0个地址开始
MOV DS,AX
MOV SI,2300H;将指针指向物理地址为2300h处;
MOV CX,1000;由于要存入1000个字节,则在cx中赋值1000,将会在下面的语句中用到
MOV AL,100;从100开始赋值
;----------------------给从物理地址为2300h开始的地址赋值----------------------
FADR:MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
DEC CX
JNE FADR
JMP $
;-------------------------结束-------------------------------------------------------
CODEENDS
END START
实验六
一、实验要求
利用PROTEUS平台,进行存储器扩展。要求按照图6-1画图,并编写程序,实现存储器的写操作和读操作。要求从头到未组织一遍,包括建立asm文件,建立DSN文件,生成EXE文件(参阅本册实验指导P15~20页内容)。
二、实验目的
1、熟练掌握Proteus软件的使用。
2、理解存储器扩展原理及编程技巧。
存储器奇偶存储体扩展图
要求2:编程实现使扩展的存储芯片U1、U6内容显示如图6-3、6-4所示。要求通过字操作和字节操作两种方法实现要求。
参考程序(com结构,按字节实现)
ORG 0100H;该指令把位置计数器的值设置成表达式的值.
MOV CX,0065H;循环101次
MOV DX,0000H;置初值
3、加深对存储器读写的理解。
三、实验内容
【实验内容1】
在Proteus环境中完成程序仿真:程序要求把内存中一数据区(称为源数据块)传送到内存另一数据区(称为目的数据块)。源数据块和目的数据块在存贮中可能有三种情况,如下图所示。
分析上面三种情况的存贮:
对于两个数据块分离的情况:
如图(a):数据的传送从据块的首址开始,或者从数据块的末址开始均可。
MOV SI,2300H
MOV DI,2000H ;
;------------------------开始移动数据----------------------------------------
FADR:MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
DEC CX
JNE FADR
(3)地址线为何不直接与CPU的AD0相连?
AD0作为体信号连接偶地址存储体。
(4)图6-2中6264的外部地址从8000H开始,编程时应该怎么写?此时仿真时U4 O7引脚为什么出现高电平?
答:试验中已经将参考代码改了。在74ls138译码器中,只有在E1为高电平的时候才能有有效输出。
(5)如果6264的外部地址从C000H开始,图中应作哪些修改?
可以得出如下结论:当源数据块首址大于目的块首址时,从数据块首地址开始传送数据。当源数据块首址小于目的块首址时,从数据块末址开始传送数据。
(1)仿真8086存储块数据移动原理图
6-1 Proteus中仿真8086存储块数据移动原理图
(2)程序流程图
程序:
CODE SEGMENT
ASSUMECS:CODE
JMP $
;-------------------------结束-------------------------------------------------------
CODEENDS
END START
仿真结果:
红色部分为移动后的结果(2000h→23e8h)
(3)把这些程序放在emu8086中去远行,会有什么效果?对比一下这两个软件。
MOV BX,7fffH ;
MOV AX,0000H
;MOV DS,AX;DS置零
SIM:
MOV [BX],DL
INC DL
INC BX
LOOP SIM
INT 3H;停止在INT 3H
仿真结果如下:
程序(com结构,按字实现)
ORG 0100H
MOV CX,01FFH ;循环100次
MOV DX,0000H ;置初值
MOV [DI],AL
INC BX
INC DI
DEC CX
JNE FADR
JMP $
CODE ENDS
END START
PU_IN:MOV [SI],AL;先存入1000H开始的100个字节数据为1到100
INC AL
INC SI
LOOP PU_IN
MOV CX,100;由于后面部分会重新利用这些数据及地址,因此需要重新定义
MOV SI,1000H
MOV DI,1100H ;
;------------------------开始移动数据----------------------------------------
PU_IN:MOV [SI],AL;先存入2300H开始的1000个字节数据为100→225→0→100(由于al的数据范围,当超出此范围时,有进位,但进位只在al中显示剩余部分,也就有0→100的数据)
INC AL
INC SI
LOOP PU_IN
MOV CX,1000;由于后面部分会重新利用这些数据及地址,因此需要重新定义
MOV BX,8000H ;起始地址为偶数,因此作为按字访问时,是对准状态:低8位在偶地址体重,高8位在奇地址体中
MOV AX,0000H
MOV DS,AX ;DS置零
SIM:
MOV [BX],DX
INC DX
INC BX
INC BX
LOOP SIM
INT 3H ;停止在INT 3H仿真结果如下:
其中低8位在偶地址体重,高8位在奇地址体中。
3、实验报告要求:
(1)说说程序在对那些存储器单元(物理地址表示)进行移动数据,以及整个程序的功能是什么?
理论分析:程序在对物理地址为(01000h-01063h)的数据移动到物理地址为(01000h-01063h),一共100个数据。顾名思义,程序的功能就是对数据块进行移动。
仿真结果如下图所示:( 0000 0000 0000B,则应该使AD14=1,根据74ls138的真值表可得此时y7输出有效,故应该改成出下图即可:
要求3:请写出读存储器6264中数据的程序。
程序如下:
CODE SEGMENT
ASSUME CS:CODE
START:
ORG 0100H ;该指令把位置计数器的值设置成表达式的值.
emu8086中运行结果如图所示:
对比两个软件运行的结果可知,emu8086可以显示的地址范围较小,为
0h→7fh,而proteus地址范围大,可以一次性观察。
【实验内容2】
扩展8086存储系统,要求用两片6264(8KB)扩展连续的16KB的存储单元,地址从8000H开始。
(1)存储器奇偶存储体扩展图:
MOV CX,0065H ;循环101次
MOV DX,0000H ;置初值
MOV BX,7fffH ;
MOV AX,0000H
MOV DS,AX ;DS置零
SIM:
MOV [BX],DL
INC DL
INC BX
LOOP SIM
MOV CX,101
MOV BX,7fffH
MOV DI,1100H ;
FADR: MOV AL,[BX]