接口实验报告
- 格式:doc
- 大小:1.30 MB
- 文档页数:12
接口技术实验报告接口技术实验报告导言:接口技术在现代科技发展中扮演着重要的角色。
它是不同系统之间进行数据交换和通信的桥梁,为各种设备和软件提供了互联互通的能力。
本实验旨在通过实际操作,深入了解接口技术的原理和应用。
一、实验目的本次实验的目的是探索接口技术在实际应用中的作用和效果。
通过搭建一个简单的接口系统,我们可以了解接口的基本原理、数据传输方式以及如何进行接口的配置和测试。
二、实验设备和材料本次实验所需的设备和材料包括:一台计算机、一个串口转USB线缆、一块开发板、一根网线。
三、实验步骤1. 连接计算机和开发板将串口转USB线缆的USB接口插入计算机的USB接口,然后将串口转USB线缆的串口接口插入开发板的串口接口上。
2. 配置串口参数打开计算机的设备管理器,找到串口转USB线缆所对应的串口号,记录下来。
然后打开开发板上的串口配置界面,将串口号设置为与计算机上一致。
3. 编写测试程序使用C语言编写一个简单的测试程序,通过串口与开发板进行通信。
程序中包括发送数据和接收数据的功能,可以进行双向通信测试。
4. 运行测试程序将编写好的测试程序下载到开发板上,然后在计算机上运行相应的接收程序。
通过观察计算机上的输出和开发板上的LED灯状态,判断数据的传输是否成功。
5. 测试结果分析根据实际测试结果,分析接口技术的稳定性和可靠性。
如果数据传输成功率较高,说明接口配置正确,接口技术应用良好。
四、实验结果与讨论通过本次实验,我们成功搭建了一个简单的接口系统,并进行了数据传输测试。
实验结果显示,接口技术在数据传输方面表现出较高的稳定性和可靠性。
通过合理的配置和编程,我们能够实现计算机与外部设备之间的数据交换和通信。
接口技术的应用范围非常广泛,涉及到计算机、通信、自动化控制等领域。
例如,USB接口被广泛应用于外部设备的连接,如打印机、扫描仪等;串口接口则常用于嵌入式系统和单片机的通信;网口接口则用于实现计算机之间的局域网通信等等。
最新精选全文完整版(可编辑修改)《计算机接口技术》实验报告专业:电信息科学与技术班级:姓名:学号:年月日实验一:8255A并行口实验实验目的:掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容:一、实验原理实验原理图如图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。
二、实验线路连接(1) CS-8255插孔连译码输出Y7插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3三、实验软件清单见随机光盘,文件名为H8255-2.ASM四、实验步骤1、按图5-9连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073H ;设置控制端常量IOAPT EQU 0070H ;设置数据端口A地址常量IOBPT EQU 0071H ;设置数据端口B地址常量IOCPT EQU 0072H ;设置数据端口C地址常量IOBDATA EQU 0500HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式0OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式0输出MOV DX,IOBPT ;读PB口数据存0601H单元IN AL,DXnot almov al,00hnopnopMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPT ;写方式控制字均为输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;置PB0,PB4~PB6为1,其余为0MOV AL,DS:[0501H]OR AL,0FH ;使PB0~PB3为1,PB4~PB7为0OUT DX,AL ;即熄灭红灯,点亮绿灯MOV DX,IOCPT ;使PC1,PC4~PC6为1,其余为0MOV AL,0FH ;使PC0~PC3为1,PC4~PC7为0OUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ;使2,4路口绿灯亮,1,3口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭2,4路口绿灯OUT DX,ALMOV CX,8H ;只计数器值为8IOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,01011111B ;点亮2,4路口黄灯OUT DX,ALCALL DELAY2 ;短暂延时and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2MOV AL,10100101B ;点亮1,3口红灯和2,4路口绿灯OUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭掉红灯OUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,10101111B ;点亮1,3路口黄灯OUT DX,ALCALL DELAY2and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2JMP IOLED0 ;循环DELAY1: PUSH AXPUSH CX ;延时子程序MOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DH ADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START实验二:定时/计数器实验目的:1. 学会8253芯片和微机接口原理和方法。
实验名称:编程接口技术应用实验日期:2023年X月X日实验地点:XX大学计算机实验室实验目的:1. 理解编程接口的基本概念和作用。
2. 掌握编程接口的常见类型及其应用场景。
3. 学会使用编程接口进行实际项目开发。
实验内容:一、实验背景随着计算机技术的飞速发展,编程接口(API)已成为软件开发中不可或缺的一部分。
编程接口允许不同的软件组件之间进行通信,提高了软件的可重用性和扩展性。
本实验旨在通过实际操作,加深对编程接口的理解和应用。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#三、实验步骤1. 理解编程接口的基本概念编程接口是指一组预定义的函数、类、方法和数据结构,用于实现不同软件组件之间的交互。
编程接口包括以下几种类型:(1)函数接口:通过函数声明和函数调用实现接口。
(2)类接口:通过类定义和对象创建实现接口。
(3)接口:通过接口定义和实现接口实现接口。
2. 学习常见编程接口(1).NET Framework API:提供丰富的类库,包括Windows窗体、WPF、 等。
(2)Java API:提供Java标准库、Java Web开发库等。
(3)Python API:提供Python标准库、第三方库等。
3. 使用编程接口进行实际项目开发(1)创建一个简单的Windows窗体应用程序。
(2)在应用程序中添加一个按钮,并为按钮添加点击事件处理程序。
(3)在事件处理程序中,使用编程接口实现以下功能:- 显示一个消息框,提示用户“按钮被点击了!”。
- 获取当前时间,并显示在应用程序的标签控件中。
4. 实验结果与分析通过本实验,我们成功创建了一个简单的Windows窗体应用程序,并实现了以下功能:- 使用函数接口实现按钮点击事件处理。
- 使用.NET Framework API显示消息框。
- 使用.NET Framework API获取当前时间,并显示在标签控件中。
一、实验目的1. 了解接口地址的概念和作用。
2. 掌握接口地址的制作方法。
3. 提高网络编程能力。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 网络工具:Wireshark三、实验原理接口地址,即IP地址,是计算机网络中用于标识每个网络设备的地址。
在互联网中,每个设备都需要一个唯一的IP地址才能进行通信。
接口地址的制作主要包括公网IP地址和私有IP地址。
1. 公网IP地址:由互联网服务提供商(ISP)分配,用于在互联网中唯一标识一个设备。
2. 私有IP地址:用于局域网内部,不会在互联网中公开。
四、实验步骤1. 制作公网IP地址(1)使用Python的socket库获取本机的公网IP地址。
```pythonimport socketdef get_public_ip():try:s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect(('8.8.8.8', 80))ip = s.getsockname()[0]except Exception as e:print("获取公网IP地址失败:", e)finally:s.close()return ippublic_ip = get_public_ip()print("公网IP地址:", public_ip)```(2)使用Wireshark抓包工具验证公网IP地址。
2. 制作私有IP地址(1)使用Python的socket库获取本机的私有IP地址。
```pythonimport socketdef get_private_ip():try:s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('192.168.1.1', 80))ip = s.getsockname()[0]except Exception as e:print("获取私有IP地址失败:", e)finally:s.close()return ipprivate_ip = get_private_ip()print("私有IP地址:", private_ip)```(2)使用Wireshark抓包工具验证私有IP地址。
一、实验目的1. 了解光纤接口的基本原理和结构。
2. 掌握光纤接口的测试方法和性能指标。
3. 熟悉光纤连接器的使用和维护。
4. 通过实验,加深对光纤通信原理的理解。
二、实验原理光纤接口是光纤通信系统中连接光纤与光纤、光纤与设备的关键部件。
其主要功能是实现光信号的传输和转换。
本实验主要研究单模光纤接口,包括光纤连接器、光纤耦合器、光纤适配器等。
光纤连接器是连接两根光纤的部件,常用的连接器有FC、SC、LC、ST等类型。
光纤耦合器用于连接两根或多根光纤,实现光信号的合并或分离。
光纤适配器用于连接不同类型的光纤连接器。
三、实验仪器与设备1. 光纤测试仪2. 光纤连接器(FC、SC、LC、ST等)3. 光纤耦合器4. 光纤适配器5. 光纤跳线6. 光纤光源7. 光功率计8. 光纤显微镜四、实验步骤1. 光纤连接器连接测试(1)将两根光纤分别插入FC连接器中。
(2)使用光纤测试仪检测两根光纤之间的连接质量,包括插入损耗、回波损耗等指标。
(3)记录测试数据,分析连接质量。
2. 光纤耦合器测试(1)将两根光纤分别插入光纤耦合器中。
(2)使用光纤测试仪检测两根光纤之间的耦合效果,包括耦合效率、插入损耗、回波损耗等指标。
(3)记录测试数据,分析耦合效果。
3. 光纤适配器测试(1)将不同类型的光纤连接器分别插入光纤适配器中。
(2)使用光纤测试仪检测适配器连接质量,包括插入损耗、回波损耗等指标。
(3)记录测试数据,分析适配器连接质量。
4. 光纤连接器外观检查(1)使用光纤显微镜观察光纤连接器的外观,检查光纤端面是否平整、是否有划痕等。
(2)记录观察结果。
五、实验结果与分析1. 光纤连接器连接测试结果显示,插入损耗和回波损耗均在可接受范围内,连接质量良好。
2. 光纤耦合器测试结果显示,耦合效率较高,插入损耗和回波损耗均在可接受范围内,耦合效果良好。
3. 光纤适配器测试结果显示,适配器连接质量良好,插入损耗和回波损耗均在可接受范围内。
p1口输入输出实验报告p1口输入输出实验报告引言:计算机科学领域的发展使得我们能够使用各种各样的设备与计算机进行交互。
而在这个过程中,输入输出接口的设计和实现显得尤为重要。
本篇文章将围绕p1口输入输出接口展开讨论,介绍其原理、实验过程以及实验结果。
一、p1口输入输出接口的原理p1口是一种通用输入输出接口,它可以连接各种外部设备,如键盘、鼠标、打印机等。
p1口的原理是通过电信号的传输来实现与外部设备的交互。
具体来说,p1口通过发送和接收电压信号来进行通信,从而实现输入输出的功能。
二、实验过程1. 准备工作在进行实验前,我们需要准备一台计算机和一些外部设备,如键盘、鼠标和打印机。
将这些设备连接到计算机的p1口上。
2. 输入实验首先,我们进行输入实验。
在连接好设备后,我们可以通过键盘向计算机输入一些字符。
计算机会将这些字符接收并进行处理。
我们可以通过编写一个简单的程序来实现字符的显示和处理。
在程序中,我们可以使用相应的函数来获取键盘输入,并将其显示在屏幕上。
通过这个实验,我们可以验证p1口的输入功能是否正常工作。
3. 输出实验接下来,我们进行输出实验。
在程序中,我们可以使用相应的函数来控制打印机输出指定的内容。
通过这个实验,我们可以验证p1口的输出功能是否正常工作。
4. 实验结果通过实验,我们可以得出以下结论:- p1口的输入功能正常工作,可以准确地接收键盘输入的字符。
- p1口的输出功能正常工作,可以控制打印机输出指定的内容。
三、实验总结p1口作为一种通用输入输出接口,具有广泛的应用。
通过本次实验,我们对p1口的原理和功能有了更深入的了解。
p1口的输入功能可以使计算机接收外部设备的输入信号,从而实现与用户的交互。
p1口的输出功能可以使计算机控制外部设备进行相应的操作,从而实现对外部环境的影响。
在今后的学习和工作中,我们可以进一步探索p1口的应用,提高计算机与外部设备的交互效率。
结语:通过本次实验,我们对p1口输入输出接口有了更深入的理解。
java接口实验报告实验报告:Java接口实验一、实验目的通过本次实验,我们希望达到以下目的:1. 深入理解Java接口的概念、特点和用途。
2. 掌握如何定义、实现和使用接口。
3. 理解接口在多态性中的作用。
4. 掌握如何使用接口来设计可扩展的代码。
二、实验内容1. 定义一个接口,并实现该接口。
2. 使用接口实现多态性。
3. 通过接口设计可扩展的代码。
三、实验步骤及结果步骤1:定义一个接口首先,我们定义一个名为"Shape"的接口,该接口包含一个计算面积的方法。
```javapublic interface Shape {double getArea();}```步骤2:实现接口接下来,我们创建两个类(Circle和Rectangle),分别实现Shape接口。
每个类都提供了一个计算面积的方法。
Circle类:```javapublic class Circle implements Shape {private double radius;private static final double PI = ;public Circle(double radius) {= radius;}Overridepublic double getArea() {return PI radius radius;}}```Rectangle类:```javapublic class Rectangle implements Shape {private double width;private double height;public Rectangle(double width, double height) {= width;= height;}Overridepublic double getArea() {return width height;}}```步骤3:使用接口实现多态性现在,我们创建一个名为"ShapeDisplay"的类,该类接受一个Shape对象,并使用该对象的getArea方法来计算面积。
实验名称:系统接口设计与实现实验日期:2023年3月10日实验地点:计算机实验室一、实验目的1. 理解系统接口的概念和作用。
2. 掌握系统接口的设计原则和实现方法。
3. 学会使用常用的接口技术,如API、Web服务等。
4. 提高编程能力和团队协作能力。
二、实验内容1. 系统接口概述2. 系统接口设计3. 系统接口实现4. 系统接口测试三、实验原理系统接口是软件系统中各个模块之间进行交互的桥梁,它定义了模块之间通信的规则和方式。
良好的系统接口设计可以提高系统的可维护性、可扩展性和可复用性。
四、实验步骤1. 系统接口概述首先,我们需要了解系统接口的概念和作用。
系统接口是软件系统中各个模块之间进行交互的桥梁,它定义了模块之间通信的规则和方式。
良好的系统接口设计可以提高系统的可维护性、可扩展性和可复用性。
2. 系统接口设计(1)确定接口需求:根据系统需求分析,确定各个模块之间需要交互的数据和功能。
(2)定义接口规范:根据接口需求,定义接口的输入、输出参数、返回值等。
(3)设计接口协议:根据接口规范,设计接口的通信协议,包括数据格式、传输方式等。
(4)编写接口文档:将接口规范和协议整理成文档,以便其他开发者理解和使用。
3. 系统接口实现(1)选择编程语言:根据项目需求和团队熟悉程度,选择合适的编程语言进行接口实现。
(2)编写接口代码:根据接口规范和协议,编写接口代码,实现模块之间的交互。
(3)测试接口:编写测试用例,对接口进行测试,确保接口功能的正确性和稳定性。
4. 系统接口测试(1)编写测试用例:根据接口规范和协议,编写测试用例,涵盖接口的所有功能。
(2)执行测试用例:使用测试工具或手动执行测试用例,检查接口的输出是否符合预期。
(3)分析测试结果:对测试结果进行分析,找出接口中存在的问题,并进行修复。
五、实验结果与分析1. 实验结果本次实验成功实现了系统接口的设计与实现,包括接口需求分析、接口规范定义、接口协议设计、接口代码编写和接口测试。
一、实验目的1. 了解人机接口的基本概念和原理。
2. 掌握常见的人机交互设备的使用方法。
3. 通过实验,提高人机交互系统的设计能力和实际操作能力。
二、实验内容1. 人机接口基本概念和原理2. 常见的人机交互设备操作3. 人机交互系统设计三、实验环境1. 硬件环境:计算机、键盘、鼠标、触摸屏、显示器、打印机等。
2. 软件环境:操作系统、应用程序等。
四、实验步骤1. 人机接口基本概念和原理学习(1)了解人机接口的定义、作用和分类;(2)学习人机交互设备的原理和特点;(3)分析人机接口设计的原则和方法。
2. 常见的人机交互设备操作(1)键盘操作:学习键盘布局、按键功能、快捷键的使用;(2)鼠标操作:学习鼠标的基本操作、滚轮使用、鼠标指针的移动和定位;(3)触摸屏操作:学习触摸屏的原理、操作方法和注意事项;(4)显示器操作:了解显示器的分辨率、刷新率、色彩调整等参数;(5)打印机操作:学习打印机的连接、设置、打印文档等操作。
3. 人机交互系统设计(1)分析用户需求,确定人机交互系统的功能;(2)设计人机交互系统的界面布局、操作流程和交互方式;(3)实现人机交互系统功能,并进行测试和优化。
五、实验结果与分析1. 实验结果通过本次实验,我们掌握了人机接口的基本概念和原理,熟悉了常见的人机交互设备的操作方法,并成功设计了一个简单的人机交互系统。
2. 实验分析(1)人机接口是计算机系统的重要组成部分,直接影响用户的使用体验。
因此,在进行人机接口设计时,要充分考虑用户的需求,确保界面简洁、操作方便;(2)人机交互设备的选择和配置应根据实际应用场景和用户需求进行,以提高系统性能和用户体验;(3)在设计人机交互系统时,要遵循一定的设计原则,如一致性、直观性、易用性等,以降低用户的学习成本和误操作概率。
六、实验总结本次实验使我们对人机接口有了更深入的了解,提高了人机交互系统的设计能力和实际操作能力。
在今后的学习和工作中,我们将继续关注人机接口技术的发展,不断优化人机交互系统,为用户提供更好的使用体验。
第1篇一、实验目的1. 理解接口处理的基本概念和流程。
2. 掌握使用PHP编写API接口的方法和步骤。
3. 学习如何使用json-server模拟接口数据。
4. 熟悉使用Postman进行接口测试和自动化测试。
二、实验环境1. 操作系统:Windows 102. 编程语言:PHP3. 开发工具:Visual Studio Code4. API模拟工具:json-server5. 接口测试工具:Postman三、实验内容1. PHP API接口编写(1)创建接口文件首先,我们需要创建一个PHP文件作为API接口,例如`api.php`。
```php<?php// api.php// 设置返回内容为JSON格式header('Content-Type: application/json');```(2)处理请求在`api.php`中,我们需要获取客户端发送的请求,并根据请求类型(GET或POST)进行处理。
```php// 获取请求类型$method = $_SERVER['REQUEST_METHOD'];// 处理GET请求if ($method === 'GET') {// 获取请求参数$name = $_GET['name'];// 模拟从数据库查询用户信息$userInfo = ['name' => '张三','age' => 25,'email'=>'********************'];// 返回JSON数据echo json_encode($userInfo);}// 处理POST请求if ($method === 'POST') {// 获取请求数据$jsonData = file_get_contents('php://input');$userData = json_decode($jsonData, true);// 模拟保存用户信息到数据库// ...// 返回JSON数据echo json_encode(['status' => 'success']); }```2. 使用json-server模拟接口数据(1)安装json-server```bashnpm install -g json-server```(2)创建数据文件创建一个名为`db.json`的文件,并添加以下内容:```json{"users": [{"id": 1,"name": "张三","age": 25,"email":"********************"},{"id": 2,"name": "李四","age": 30,"email":"****************"}]}```(3)启动json-server```bashjson-server --watch db.json```3. 使用Postman进行接口测试(1)测试GET请求在Postman中创建一个新的请求,选择HTTP方法为GET,并设置请求URL为`http://localhost:3000/users`。
接口与通讯实验报告实验一可编程定时计数器8253一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、编程提示8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ四·实验原理图五、实验流程图六实验代码及注释ioport equ 0ff00h-0280h;定义宏io8253a equ ioport+283hio8253b equ ioport+280hcode segmentassume cs:codestart :mov al,10hmov dx,io8253a;输入端口地址out dx,al;延时mov dx,io8253bmov al,0fh;初始化out dx,al;延时l: in al,dxcall disp;调用子程序push dx;入栈mov ah,06hmov dl,0ffhint 21hpop dx;出栈jz l;转lmov ah,4ch;已完,退出int 21hdisp proc near;定义范围为段内push dxand al,0fh;初始化almov dl,alcmp dl,9;比较jle numadd dl,7num : add dl,30hmov ah,02hint 21hmov dl,0dhint 21hmov dl,0ahint 21hpop dxretdisp endpcode endsend start七.实验报告1.8255简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
2.8255外部特性及引脚功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A1=0,A0=0时,PA口被选择;当A1=0,A0=1时,PB口被选择;当A1=1,A0=0时,PC口被选择;当A1=1.A0=1时,控制寄存器被选择3.三种工作方式8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在以下三种方式下工作。
方式0————基本输入输出方式;方式1————选通输入/出方式;方式2————双向选通输入/输出方式;对应的引脚工作方式:PA0~PA7:工作于三种方式中的任何一种;PB0~PB7:不能工作于方式二;PC0~PC7:不能工作于方式一或二;本次实验用到的是0方式,故在此着重了解0方式0方式——基本输入/输出方式,特点为:8255一次初始化只能把某个并行端口置成输入或输出,即单向输入/输出;不要求固定的联络(应答)信号,无固定的工作时序和固定的工作状态字;适用于无条件或查询方式与CPU交换数据,不能采用中断方式交换数据。
因此0方式使用起来不受什么限制。
功能:A端口做数据端口(8位并行);B端口做数据端口(8位并行);C端口做数据端口(4位并行,分高四位和低四位),或作位控,按位输出逻辑1或0。
实验二可编程并行接口(8255方式)一实验说明一、实验目的掌握8255方式0的工作原理及使用方法。
二、实验内容1.实验电路如图20,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2. 编程从8255C口输入数据,再从A口输出.三、编程提示1、8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH2、参考流程图(见图21):二实验原理图三实验流程图实验代码及注释ioport equ 0ff00h-0280hio8255a equ ioport+288h;设置端口a地址为288h io8255b equ ioport+28bh;设置端口b地址为28bh io8255c equ ioport+28ah;设置端口c地址为28ah code segmentassume cs:codestart:mov dx,io8255b;设置输出端口,并且输出信息mov al,89hout dx,al;负脉冲宽度延时inout:mov dx,io8255c;设置输入端口in al,dx;查BUSY是否为0mov dx,io8255aout dx,almov dl,0ffhmov ah,06hint 21hjz inout;跳转mov ah,4ch;已完,退出int 21hcode endsend start四、实验报告1.8253简介8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。
输出锁存器的值是通过程序设置的。
输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。
CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用2.8253外部特性及引脚功能8253分为两类连接信号线(1)面向CPU的信号线数据线D0-D7,地址线,CS(片选信号),A0,A1(片内端口地址),读/写线,RD(I/O 读信号),WR(I/O写信号)。
(2)面向I/O设备的信号线时钟脉冲信号CLK0-CLK2(输入),用作计数脉冲;门控信号GATE0~GATE2(输入),用于定时/计数的启动/停止、允许/禁止。
输出信号OUT0-OUT2(输出),用于实现对I/O设备的定时/技术操作。
3.8253的命令字8253的三个命令字是:方式命令,锁存命令和读回命令。
其中方式命令是在本片使用时必须要使用的,其他两个命令则根据需要使用。
需要注意的是,这三个命令同用一个端口,按方式命令在先,其他命令在后的顺序写入命令端口。
(1)方式命令其作用是初始化8253,8253开始工作之前都要用方式命令字对其进行初始化设置。
工作命令方式格式如下:8位命令字分为4个字段,计数器选择字段(D7D6),读写指示选择字段(D5D4),工作方式选择字段(D3D2D1),数码制选择字段(D0)(2)锁存命令锁存命令是将当前计数值锁存到暂存寄存器,为了读出被锁存的内容还要发一条命令从暂存寄存器中读取。
8位命令字分为两个字段:计数器选择字段(D7,D6),锁存命令特征值(D5,D4)(3)读回命令与前面的锁存命令不同,它既能锁存计数值又能锁存状态信息,而且一条读回命令可以锁存3个计数器的当前数值和状态,格式如下:其中D1D2D3分别用于选择三个计数器,写1表示选中,写0反之;D4D5分别用于选择是读取当前状态还是读取当前计数值,写0表示要读取,写1表示不读取。
与执行锁存命令一样,执行读回命令只是把计数器的当前值与状态信息锁存到暂存寄存器,为了读出被锁存的内容,还要发一条读命令从暂存寄存器中读取。
4.8253的工作方式8253有六种工作方式,本实验用道的是0方式,故在此主要介绍0方式。
0方式功能:0方式做事件计数器,计数器的大小就是计数初值。
其特点是计数结束,输出端OUT产生0->1的上升沿。
计数结束自动停止,不需外加停止信号。
0方式的基本波形是:当写入计数初值后,启动计数器开始计数,OUT信号变为低电平,并维持低电平到减法计数器的内容到0为止时,停止工作,OUT信号变为高电平,并维持高电平到再次写入新的计数值。
5.8253的初始化1.设置命令方式字选择某一计数器,首先要向该计数器写入命令方式字,以确定该计数/定时器的工作方式。
2.设置计数初值按照方式命令字中RW1RW0字段的规定写入计数初始值,程序举例:MOV DX,307H ;命令口MOV AL,10110110B ;2号计数器的方式命令字OUT DX,ALMOV DX,306H ;2号计数器数据口MOV AX,533H ;计数初值OUT DX,AL ;送低字节到2号数据口MOV AL,AHOUT DX,AL ;送低字节到2号数据口实验三模数转换器一、实验目的了解模/数转换的基本原理,掌握ADC0809的使用方法。
二、实验内容1、实验电路原理图如图38。
通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。
启动IN0开始转换: Out 0298 0读取转换结果: In 02982、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。