微机接口实验报告
- 格式:docx
- 大小:303.15 KB
- 文档页数:20
微机与接口技术实验报告微机与接口技术实验报告引言微机与接口技术是计算机科学中的重要领域,它涉及到计算机与外部设备之间的通信和数据传输。
本实验报告旨在介绍微机与接口技术的基本概念、实验过程和结果,以及对实验结果的分析和讨论。
一、实验目的本实验旨在通过设计和实现一个简单的数据输入输出接口,加深对微机与接口技术的理解。
具体目标包括:1. 理解接口技术的基本原理和工作方式;2. 掌握接口电路的设计和实现方法;3. 学会使用编程语言控制接口电路进行数据输入输出。
二、实验原理1. 接口技术的基本原理接口技术是计算机与外部设备之间进行数据传输的关键。
通过接口电路,计算机可以与各种外部设备进行通信,实现数据的输入和输出。
接口电路通常由硬件和软件两部分组成,硬件部分负责物理连接和信号转换,而软件部分则负责控制和管理数据传输。
2. 接口电路的设计和实现接口电路的设计需要考虑多个因素,包括外部设备的接口标准、数据传输速率、数据格式等。
常用的接口标准包括串行接口(如RS-232)和并行接口(如Centronics接口)。
设计接口电路时,需要根据具体需求选择合适的接口标准,并合理设计电路结构和信号处理方式。
3. 编程语言控制接口电路为了实现数据的输入和输出,需要使用编程语言控制接口电路。
常用的编程语言包括C、C++和Python等。
通过编写相应的程序,可以控制接口电路进行数据传输,并实现与外部设备的交互。
三、实验过程1. 硬件设计与连接根据实验要求,设计并连接适当的硬件电路,包括接口芯片、电阻、电容等。
确保电路连接正确,且与计算机的接口兼容。
2. 软件编程使用C语言编写程序,实现对接口电路的控制。
程序应能够实现数据的输入和输出,并确保数据的正确传输和处理。
3. 实验操作根据实验要求,进行相应的实验操作。
包括数据输入和输出测试、数据传输速率测试、数据格式转换测试等。
记录实验过程中的数据和结果。
四、实验结果分析1. 数据输入输出测试通过实验操作,测试接口电路的数据输入和输出功能。
微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。
实验一,微机原理。
在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。
通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。
同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。
实验二,接口技术。
在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。
我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。
实验三,实验综合。
在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。
通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。
总结。
通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。
微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。
希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。
以上就是本次实验的实验报告,希望对大家有所帮助。
感谢大家的阅读!。
微机原理与接口技术实验报告实验目的:本次实验旨在通过实际操作,加深对微机原理与接口技术的理解,掌握接口技术的基本原理和应用方法,提高学生的动手能力和实际应用能力。
实验内容:1. 学习并掌握微机原理与接口技术的基本知识;2. 了解并熟悉常见的接口技术及其应用;3. 进行实际操作,设计并完成一个简单的接口电路。
实验仪器与设备:1. 个人电脑;2. 电子元件,电阻、电容、集成电路等;3. 实验板、示波器、示教电脑等。
实验步骤:1. 阅读相关的微机原理与接口技术的教材,了解基本原理;2. 学习常见的接口技术,例如并行接口、串行接口等;3. 进行实际操作,设计一个简单的接口电路,包括硬件设计和软件编程;4. 调试电路,确保接口电路能够正常工作;5. 编写实验报告,总结实验过程和实验结果。
实验结果与分析:经过实际操作,我们成功设计并完成了一个简单的接口电路。
在实验过程中,我们深入理解了微机原理与接口技术的相关知识,掌握了接口技术的基本原理和应用方法。
通过调试电路,我们验证了接口电路的正常工作,加深了对接口技术的理解。
结论:本次实验使我们更加深入地了解了微机原理与接口技术,提高了我们的动手能力和实际应用能力。
通过设计和完成接口电路,我们对接口技术有了更加直观的认识,为今后的学习和工作打下了坚实的基础。
总结:微机原理与接口技术是计算机专业的重要课程,通过实验学习,我们不仅加深了对知识的理解,还提高了动手能力和实际应用能力。
希望同学们能够认真对待每一次实验,不断提升自己的能力,为未来的发展打下坚实的基础。
至此,本次微机原理与接口技术实验报告完毕。
微机接口技术实验报告并行接口实验系别: 计算机科学与技术完成时间:2012-5-15一、实验目的1.熟悉并行接口电路;2.掌握8255并行接口芯片及8253定时器的应用及其编程技术。
二、实验内容及要求通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时扬声器(模拟电子琴)做高8度和低8度循环发音:1. 控制步进电机转动和电子琴发音;2.使用K0控制步进电机顺逆时针转动和电子琴发高低音;3.使用K1控制步进电机和电子琴速度(分快和慢两种速度);4.使用K2启动和停止步进电机转动和电子琴发音。
三、实验原理1、可编程并行芯片8255A并行接口即同时在多根I/O线上,以数据字节或字为单位实现CPU通过I/O端口与I/O 设备或被控制对象之间的信息传递,如计算机与打印机,A/D和D/A转换器,开关量接口等。
8255及其改进型8255A是最广泛应用的并行I/O接口。
8255A的主要性能参数如下:(1)8255A内共有4个端口,分别为口A、口B、口C和控制端口。
前三个端口为8位并行I/O端口,常用于传送数据信息;控制端口是用于接收CPU送来的控制命令,即控制字。
(2)8255A芯片可以三种不同的工作方式与I/O设备进行数据传输,具体方式由控制字来设定。
(3)8255与CPU之间交互信息可以使用中断方式进行。
它内部有三个中断源,分别产生与方式1(1个)和方式2(2个)中。
(4)8255A所有信号与TTL信号兼容,可直接与CPU的三总线连接使用。
(5)8255A使用单一的+5V电源,单项时钟。
8255A的三种工作方式:方式0——基本的输入/输出方式,方式1——选通的输入/输出方式,方式2——双向的输入/输出方式。
本次实验采用方式0,将口A和口B作为输出,分别控制步进电机的旋转和电子琴的发音,口C作为控制输入端。
根据端口编址及寻址方式,设定端口A的地址为288H,端口B地址为289H,端口C地址为28AH,控制端口的地址为28BH。
微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。
一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。
根据显示屏上的自检信息,可以判断计算机硬件的工作状态。
2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。
首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。
在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。
通过观察实验结果,判断串口通信是否正常。
3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。
首先,将并行口接口连接到计算机主机。
然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断并口通信是否正常。
4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。
首先,将USB接口连接到计算机主机。
然后,在计算机中安装相应的驱动程序。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断USB接口是否正常工作。
5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。
首先,将计算机连接到局域网中的其他计算机。
然后,进行相应的设置,包括IP地址、子网掩码等。
通过编写程序,实现计算机之间的数据交互。
观察实验结果,判断网络接口是否正常工作。
三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。
通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。
实验二初级程序的编写与调试实验一、实验目的1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序.2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出.3、掌握各种寻址方法以及简单指令的执行过程.二、实验内容1.设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换.请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试.程序:MOV AX,3000MOV BX,5000MOV SP,2000PUSH AXPUSH BXPOP AXPOP BXHLT2.设DS=当前段地址,BX=0300H,SI=0002H请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入OAH,OBH,OCH,ODH,OEH.在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?-E 300 0A,0B,0C,0D,0E-AMOV BX,0300MOV SI,0002MOV AX,BXMOV AX,0304MOV AX,[0304]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI] HLT3.设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成. 程序:MOV AX,0002MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXMOV CL,1SHL AX,CLHLT实验四加法及判断程序的编写与调试一、实验目的1.熟练掌握编写汇编语言源程序的基本方法和基本框架.2.学会编写顺序结构,分支结构和循环结构的汇编程序3.掌握程序中数据的产生与输入输出的方法.二、实验内容1.用汇编语言编写一个加法程序:1325+9839请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出.程序:DATA SEGMENTDATA1 DB '5','2','3','1'DATA2 DB '9','3','8','9'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1LEA DI,DATA2MOV CX,4MOV AH,0 NEXT:MOV AL,[SI]ADC AL,[DI]ADC AL,AHMOV AH,0AAAADD AL,30HMOV [DI],ALINC DIINC SILOOP NEXTMOV CX,5ADD AH,30HMOV [DI],AH NEXT1:MOV DL,[DI]MOV AH,02INT 21HDEC DILOOP NEXT1MOV AH,4CHINT 21H CODE ENDSEND START2.假设有一组数据:5,-4,0,3,100,-51,请编写一程序,判断:每个数是否大于0?等于0?还是小于0?并输出其判断结果,即即:1当X>0Y=0当X=0-1 当X<0程序:DATA SEGMENTDATA1 DB 5, -4, 0 ,3,100,-51STRING1 DB'Y=1','$'STRING2 DB'Y=0','$'STRING3 DB'Y=-1','$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1MOV CX,6NEXT: MOV AL,[SI]CMP AL,0JZ NEXT1JNS NEXT2JS NEXT3NEXT1: MOV DX,OFFSET STRING2MOV AH,09HINT 21HJMP NEXT4NEXT2: MOV DX,OFFSET STRING1MOV AH,09HINT 21HJMP NEXT4NEXT3: MOV DX,OFFSET STRING3MOV AH,09HINT 21HNEXT4: INC SILOOP NEXTMOV AH,4CHINT 21HCODE ENDSEND START实验五大小写字母互换程序的编写与调试一、实验目的进一步熟悉汇编语言源程序的编写方法及宏汇编程序的使用方法二、实验内容设内存数据区有大小写混合英文ASCII码字母: ‘AbCdEfGChinaAgriculturalUniversity’。
最新微机接口实验报告实验目的:1. 熟悉微机接口的基本原理和功能。
2. 掌握微机接口的编程和操作技巧。
3. 通过实验加深对微机接口技术的理解。
实验环境:- 微机接口实验箱- 个人电脑- 相关软件和驱动程序实验内容:1. 实验一:了解微机接口的基本结构和工作原理。
- 学习微机接口的基本概念,包括数据总线、地址总线、控制总线等。
- 观察实验箱中的微机接口模块,识别各部分的功能。
2. 实验二:编写简单的输入输出程序。
- 使用汇编语言或C语言编写程序,实现对微机接口的控制。
- 通过程序实现LED灯的点亮和熄灭,以及按键的读取。
3. 实验三:中断和DMA操作。
- 学习中断的基本概念和处理流程。
- 实现一个基于中断的键盘输入程序。
- 了解DMA的工作原理,并编写相应的数据传输程序。
实验步骤:1. 准备实验环境,确保所有设备和软件均已正确安装和配置。
2. 按照实验指导书的要求,逐步完成各个实验项目。
3. 在实验过程中记录关键步骤和结果,以便撰写实验报告。
4. 对遇到的问题进行分析和解决,记录解决方案。
实验结果:1. 成功理解微机接口的基本结构和功能。
2. 编写的输入输出程序能够正确控制LED灯和读取按键状态。
3. 中断和DMA操作实验顺利完成,实现了预期的功能。
实验结论:通过本次实验,加深了对微机接口技术的理解,掌握了基本的编程和操作技能。
实验中遇到的问题和挑战也有助于提高解决问题的能力。
通过实践,更加明确了理论知识与实际应用之间的联系。
建议和反思:- 在实验过程中,应更加注重对理论知识的应用,以提高实验效率。
- 对于复杂的问题,应采取分步解决的策略,避免在实验中出现混乱。
- 未来应加强实验前的准备工作,确保实验能够顺利进行。
微机原理与接口技术实验报告实验一,微机原理实验。
1. 实验目的。
本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。
3. 实验步骤。
(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。
(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。
(3)了解存储器与I/O接口的基本概念和工作原理。
(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。
通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。
实验二,接口技术实验。
1. 实验目的。
本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。
3. 实验步骤。
(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。
(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。
(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。
(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。
通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。
总结。
通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。
希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。
微机接口实验报告实验一:显示程序实验(2021年4月22日)1、实验目的及实验内容实验目的:1.掌握在PC机上以十六进制数形式显示数据的方法2.掌握部分DOS功能调用的使用方法3.熟悉Tddebug调试环境和Turbo Debugger的使用实验内容及说明:本实验要求将指定的数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。
0~9的ASII码为:30H~39H,转换时,直接在原数据后面加上30H即可;A以后的数据ASII码为:41H~ 在原数据上加上7H,再加上30H即可。
实验中可使用DOS功能调用(INT21H)。
1.显示单个字符入口:AH=02H调用参数:DL=输出字符 2.显示字符串入口:AH=09H调用参数:DS:DX:串地址,’$’为结束字符 3.键盘输入并回显入口:AH=01H调用参数:AL=输出字符若不回显,入口:AH=07H 或 AH=10H 4.返回DOS系统入口:AH=4CH调用参数:AL=返回码2、实验环境及实验步骤实验环境:PC机一台实验步骤:1.运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序。
显示部分实验流程图如下:2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接3.使用Run菜单中的Run运行程序,观察运行结果4.使用Run菜单中的Debug调试程序,观察调试过程中的数据传输指令执行后各寄存器及数据区的内容5.更改数据区中的数据,考察程序的正确性本实验的显示部分试验流程如图所示取字节的高4位N数据是否大于等于A?Y是A-F,加7H转换成ASCH码送屏幕显示取字节的低四位数据是否大于等于A?NY是A-F,加7H转换成ASCH码送屏幕显示3、实验过程与分析(1).取字节的高四位的实现首先将一个字节读入寄存器,将该字节同0F0H相与,即可将该字节的高四位保持不变而第四位变为全0。
然后将相与后的字节右移四位即得到原始字节的高四位。
实验报告
课程名称微机原理及接口技术
实验名称实验报告(一):小灯闪烁仿真实验
实验目标:利用Keil的仿真实验环境,编程实现使连接到P1.0引脚的小灯亮灭闪烁。
请图文结合详细描述实验流程与实验结果,给出带注释的源代码以及实验结论等。
1.实验流程
·新建一个工程项目文件,并取名为“led闪烁”,同时选择目标器件AT89C51。
由于是汇编语言,故而选择“否”
·将文件添加到项目中并键入程序
创建文件,保存为“led闪烁.asm”,并将文件添加到项目中。
将程序键入。
·为工程项目设置软硬件调试环境并生成.hex文件。
·程序文件的编译·软件仿真、调试
在调试窗口调试,观察P1观察口。
运行程序可观察到P1窗口闪烁变化。
2. 实验结果
·编译结果
·P1.0引脚的小灯亮灭闪烁结果
3. 带注释的源代码
4. 实验结论、建议和意见
实验结论:
利用Keil的仿真实验环境,可以通过设置延时来编程实现并观察到P1.0引脚的小灯亮。
微机接口实验报告实验一汇编语言程序设计实验一、实验目的熟悉汇编语言程序设计及TD-PITE80X86实验环境的使用。
二、实验设备PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。
三、实验内容在数据段定义5个16进制数据,转换为它们的ASCII码,并显示在屏幕上。
四、实验步骤(1)完成汇编程序格式,编写实验程序。
程序代码:STACKS SEGMENT STACKDW 128 DUP(?)STACKS ENDSDATAS SEGMENTlq DB 72H,0fAH,1BH,10H,05HDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXXOR CX,CXMOV CX,05HMOV BX,OFFSET lqA1:MOV AL,[BX]PUSH BXMOV BL,16DIV BLPUSH AXDIV BLMOV DL,AHADD DL,30HCMP DL,39HJB A2ADD DL,7A2:MOV AH,02HINT 21HPOP AXMOV DL,AHADD DL,30HCMP DL,39HJB A3ADD DL,7A3:MOV AH,02HINT 21HMOV DL,'H'INT 21HMOV DL,' 'INT 21HPOP BXINC BXLOOP A1MOV AX,4C00HINT 21HCODES ENDSEND START(2)编译、链接无误后装入系统。
(3)先运行程序,待程序运行停止。
(4)通过键入D命令查看程序运行的结果。
(5)可以反复测试几组数据,观察结果,验证程序的正确性。
五.实验小结与体会很久没有做过汇编程序,这是两年多以来的第一个汇编程序感觉对以前学过的东西有种既熟悉而又生疏的感觉。
平时在课上老师教的和作业写的大都是一段程序,然而要想写一个完整的程序还是十分的生疏的,也有很多没有注意到的但是很简单的地方,比如说字母开头的16进制数的前面是要加0的,当时没注意,还纳闷为什么不对,后来想起上课老师说过的才记起来。
总之做了这个程序复习了很多几乎都要忘记的东西,不如说各个寄存器的作用,如何将16进制数的高8位和低8位分开送入DL中用系统调用功能显示,以及将字符转换为ascII码表示,这些都让我的编程基础奠定不少。
实验二 8259中断控制实验一、实验目的1. 掌握8259中断控制器的工作原理。
2. 学习8259的应用编程方法。
3. 掌握8259级联方式的使用方法。
二、实验设备PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。
三、实验内容及步骤1.中断控制器8259简介在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。
该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。
从片的INT 连接到主片的IR2信号上构成两片8259的级联。
在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。
8259的内部连接及外部管脚引出如图2.1:INTR 串口0MIR6MIR7SIR1图2.1 8259内部连续及外部管脚引出图8259内部各寄存器:7ICW1图2.2 初始化命令字1寄存器主片功能:初始化命令字1从片功能:决定中断请求信号为电平触发还是边沿触发7ICW2中断向量地址图2.3 初始化命令字2寄存器主片功能:初始化命令字2从片功能:包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是IR1的向量号,依此类推7ICW3(主片)图2.4 主片初始化命令字3寄存器7ICW3(从片)图2.5 从片初始化命令字3寄存器主片功能:初始化命令字3,用于识别从8259设备连接到主控制器的IR 信号,内部的从8259连接到主8259的IR2信号上从片功能:初始化命令字3,表明内部从控制器级联到主片的IR2信号上7ICW4图2.6 初始化命令字4寄存器主片功能:初始化命令字4,选择特殊全嵌套或全嵌套模式,使能中断自动结束方式 从片功能:和主片一样7OCW1图2.7 操作命令字1寄存器寄存器功能:中断屏蔽操作寄存器,可屏蔽相应的中断信号OCW2图2.8 操作命令字2寄存器寄存器功能:改变中断优先级和发送中断结束命令。
7OCW3图2.9 操作命令字3寄存器寄存器功能:使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断服务寄存器7POLL图2.10 程序状态字寄存器寄存器功能:表明连接到8259上的设备是否需要服务,如果有中断请求,该字表明当前优先级最高的中断请求2、8259单中断实验实验接线图如图2.11所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上逐个字符输出自定义的“Hello world ”字符串.实验连线图:2.11 8259单中断实验接线图3、实验步骤:(1)按图2.12连接实验线路。
(2)输入程序,编译、链接无误后装入系统。
程序代码:SSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDSDATA SEGMENTwod DB ‘Hello world’,’$’INDEX DW 0DATA ENDSCODE SEGMENTASSUME CS:CODESTART:MOV AX,DATAMOV DS,AXMOV BX,OFFSET wodMOV INDEX,BXPUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7 ;取中断入口地址MOV SI, 003CH ;中断矢量地址MOV [SI], AX ;填IRQ7的偏移矢量MOV AX, CS ;段地址MOV SI, 003EHMOV [SI], AX ;填IRQ7的段地址矢量CLIPOP DS;初始化主片8259MOV AL, 11HOUT 20H, AL ;ICW1MOV AL, 08HOUT 21H, AL ;ICW2MOV AL, 04HOUT 21H, AL ;ICW3MOV AL, 01HOUT 21H, AL ;ICW4MOV AL, 6FH ;OCW1OUT 21H, ALSTIAA1: NOPJMP AA1MIR7:STICALL DELAYPUSH BXMOV BX,INDEXMOV AL,[BX]CMP AL,’$’JNE NEXTMOV BX,OFFSET wodMOV AL,[BX]NEXT:INC BXMOV INDEX,BXPOP BXINT 10H ;显示字符7MOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, AL ;中断结束命令IRETDELAY: PUSH CXMOV CX, 0F00HAA0:PUSH AXPOP AXLOOP AA0POP CXRETCODE ENDSEND START(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符相应字符,说明响应了中断(按一次KK1+显示一个字符) 五.实验小结与体会第一次做实验仪器与汇编语言代码配合显示输出结果的实验,这个实验能让我对微机接口这门课的一些核心知识更加了解,例如芯片的初始化,以及根据老师的需求选择不同的的8259芯片的内部寄存器初始化,已达到对主片和从片进行操作的目的,这也是课堂上老师讲解这门课程的重要内容,这个实验让我更深地了解了该芯片的工作方式和原理,让我的微机接口学习受益匪浅。
实验三 8254定时/计数器应用实验一、实验目的1. 掌握8254的工作方式及应用编程。
2. 掌握8254典型应用电路的接法。
二、实验设备PC机一台,TD-PITE实验装置或TD-PITC实验装置一套,示波器一台。
三、实验内容计数应用实验。
编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’N次后,产生一次计数中断,并在屏幕上显示一个字符。
四、实验原理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是输出波形的频率。
图3.1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。
8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
图3.1 8254的内部接口和引脚8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标识位来区分。
控制字格式如表3.1—3.3所示。
表3.1 8254的方式控制字格式8254实验单元电路图如下图所示:图3.2 8254实验电路原理图五、实验步骤计数应用实验编写程序,将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动4次后产生中断请求,在屏幕上显示字符和这是第几次中断。
实验步骤:1.实验接线如图3.3所示。
图3.3 8254计数应用实验接线图2.编写实验程序,经编译、链接无误后装入系统。
程序代码:A8254 EQU 06c0HB8254 EQU 06c2HC8254 EQU 06c4HCON8254 EQU 06c6HSSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSDATA SEGMENTLQ db 'OutPut ',0dh,0ah,'$'STRING db '1234'DATA ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACK, DS:DATASTART:MOV AX,DATAMOV DS,AXPUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET IRQ6 ;取中断入口地址MOV SI, 0038H ;中断矢量地址MOV [SI], AX ;填IRQ6的偏移矢量MOV AX, CS ;段地址MOV SI, 003AHMOV [SI], AX ;填IRQ6的段地址矢量CLIPOP DS;初始化主片8259MOV AL, 11HOUT 20H, AL ;ICW1MOV AL, 08HOUT 21H, AL ;ICW2MOV AL, 04HOUT 21H, AL ;ICW3MOV AL, 01HOUT 21H, AL ;ICW4MOV AL, 0BFH ;OCW1OUT 21H, AL;8254MOV DX, CON8254MOV AL, 10H ;计数器0,方式0OUT DX, ALMOV DX, A8254MOV AL, 01H ;testOUT DX, ALMOV SI,OFFSET STRINGSTIAA1: NOPJMP AA1IRQ6: ;计数器8254初始化MOV DX, A8254MOV AL, 01HOUT DX, ALmov ah,9mov dx,offset LQINT 21HMOV AH,02HMOV DX, [SI]INT 21H ;显示INC SIMOV AL, 20HOUT 20H, AL ;中断结束命令IRETCODE ENDSEND START3.运行程序,按动KK1+产生单次脉冲,观察实验现象。