实验一 简单IO口扩展实验
- 格式:docx
- 大小:14.29 KB
- 文档页数:6
实验一简单I/0口扩展实验一、实验目的利用74LS244和74IS273扩展I/0口。
二、实验内容1、熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
三、实验原理图四、实验步骤1、连线:将74LS244(IC25)的输入SI0~SI7分别与逻辑电平开关电路的KI~K8相连,从I/0地址片选信号CS0~ CS7\中任选一个与74LS244的片选信号(CSU10\)相连(例如CS0\)。
将74LS273(IC24)的输出S00~S07分别与发光二极管电路的Ll~L8相连。
从I/O地址片选信号CS0\~CS7\中任选一个与74LS273的片选信号(CSU8\)相连(如CS1\)。
2、编辑程序,单步运行,调试程序。
3、调试通过后,全速运行,观察实验结果。
4、编写实验报告。
五、实验说明用逻辑电平开关作为74LS244(IC25)的输入,用发光二极管作为74L S273(IC24)的输出编程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。
逻辑电平开关拨上时为5V,拨下时为0V。
发光二极管输入“1”为亮、“0”为灭。
从74LS244读入的数据应求反后从输出口输出。
在8086CPU中有四个16位通用数字寄存器,其中仅AX(AH,AL)有输入输出功能。
本实验通过输入语句(IN),将开关运输入存到AL中,再通过输出语句(OUT)将AL值输出到发光二极管,从而实现开关控制发光二极管。
当开关量换作其他形式控制输入,发光二极管换作其他形式控制对象,输入数据后对输入最作一定的运算处理再输出时,就实现了计算机控制。
同时这些输入输出点均为I /O扩展口,当输入和输出的点位较多时,这种扩展十分必要。
六、实验程序框图(实验程序名T1.ASM)七、实验程序1 assume cs:code2 0000 code segment public3 org 100h4 0100 BA 04A0 start: mov dx, 04a0h ;74LS244地址5 0103 EC in al, dx ;读输入开关量6 0104 BA 04B0 mov dx, 04b0h ;74LS273地址7 0107 EE out dx, al ;写发光二极管8 0108 EB F6 jmp srart9 010A code ends10 end start实验二 8255并行口实验一、实验目的利用8255A实现并行口实验。
简单io口扩展实验报告
简单IO口扩展实验报告
本次实验旨在学习如何通过简单IO口扩展模块对单片机的IO口进行扩展,实现多个IO口的输入输出功能。
我们需要了解简单IO口扩展模块的基本原理和工作方式。
简单IO 口扩展模块通过与单片机的SPI总线进行通信,实现对其内部寄存器的读写操作,从而实现对IO口的扩展。
在实验中,我们使用STM32F103C8T6开发板和简单IO口扩展模块,通过连接它们的SPI总线,可以将扩展模块的IO口与开发板的IO口进行连接,实现IO口的扩展。
具体连接方式如下图所示:
(此处省略图片)
接下来,我们需要进行程序设计。
在初始化时,需要设置SPI总线的相关参数,然后对扩展模块进行初始化,将其内部寄存器中的数据清零。
然后,通过读写寄存器的方式,可以对扩展模块的每个IO 口进行配置,设置其输入输出状态、上下拉电阻等参数。
在程序中,我们可以通过读取扩展模块的输入口状态,判断是否有外部信号输入,根据需要进行相应的操作。
例如,当输入口接收到高电平信号时,可以控制某个输出口输出高电平信号,从而实现控制设备的功能。
在实验中,我们可以通过连接LED和按键来进行简单的IO口扩展实验。
将LED连接到扩展模块的输出口,按键连接到扩展模块的输入口,通过控制按键输入信号,实现对LED的控制。
总的来说,本次实验通过学习简单IO口扩展模块的原理和工作方式,掌握了通过SPI总线进行IO口扩展的方法,实现了对单片机多个IO口的输入输出控制,为后续的硬件控制和应用开发打下了基础。
使用74HC595实现I/O口的扩展一、实验目的1. 了解74HC595(串入并出)基本原理和使用2. 了解数码管的基本原理和驱动方式3. 学会使用74HC595来驱动静态数码管二、实验器材C51单片机开发板(含74HC595芯片,静态数码管)1块8PIN排线1根数据线1根三、实验原理1. 数码管数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管(还有一种“米”字型的数码管,其段数更多),八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),其基本原理是:将所有LED的一端(正极、负极均可)连在一起作为一个公共端,然后通过分别控制这组LED的另一个端口来使部分LED点亮,从而达到显示一定字形的目的。
(1)数码管的分类按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
我们在实际使用中一定要搞清楚数码管是共阴极的还是共阳极的。
(2)数码管段、位引脚的确定(以4位8段数码管为例)数码管引脚测量分三步:极性判断(共阳极还是共阴极)、公共端判断(位选端口)、段码端判断(段选端口)。
首先要确定数码管是共阴极还是共阳极的:找一个3到5V的直流电源,准备几个1K或者几百欧姆的电阻。
将电源的正极串接一个电阻后连在数码管的任意一个脚上,然后将电源的负极逐个接到数码管的其余引脚上,观察数码管的某一段是否会点亮,如果全部引脚试过都没有亮的,那么将电源正极(串电阻)换一个引脚再试,直到有一个LED发光,这时固定电源负极不动,电源正极(串电阻)逐个接到数码管的其余引脚上,如果有8段LED都亮,说明该数码管是共阴极的。
简单i o口扩展实验实验报告简单I/O口扩展实验实验报告引言:简单I/O口扩展实验是一项基础的电子实验,通过扩展I/O口,可以实现对外部设备的控制和数据交互。
本实验旨在通过实际操作,了解I/O口扩展的原理和应用。
实验目的:1. 了解I/O口的基本概念和工作原理;2. 学习使用I/O口扩展芯片实现对外部设备的控制;3. 掌握I/O口扩展的编程方法和应用技巧。
实验器材和材料:1. Arduino开发板;2. I/O口扩展芯片;3. 连接线;4. 外部设备(如LED灯、蜂鸣器等)。
实验步骤:1. 连接Arduino开发板和I/O口扩展芯片。
将I/O口扩展芯片的引脚与Arduino开发板的数字引脚相连,确保连接正确可靠。
2. 编写程序。
使用Arduino开发环境,编写程序代码,实现对I/O口扩展芯片的控制。
根据实际需求,可以选择控制外部设备的开关、亮度、频率等。
3. 上传程序。
将编写好的程序上传到Arduino开发板,确保程序能够正确运行。
4. 运行实验。
运行程序,观察外部设备的状态变化。
通过改变程序中的参数,可以实现对外部设备的不同控制效果。
实验结果与分析:通过实验,我们成功地实现了对外部设备的控制。
通过改变程序中的参数,我们可以控制外部设备的开关、亮度、频率等。
这说明I/O口扩展技术具有很大的应用潜力,可以实现对各种外部设备的控制和数据交互。
实验总结:通过本次实验,我们深入了解了I/O口扩展的原理和应用。
通过编写程序,我们掌握了I/O口扩展的编程方法和应用技巧。
通过实验,我们成功地实现了对外部设备的控制,这为我们进一步研究和应用I/O口扩展技术奠定了基础。
实验中遇到的问题和解决方法:在实验过程中,我们遇到了一些问题,如连接错误、程序错误等。
我们通过仔细检查连接和程序代码,逐一解决了这些问题。
这提醒我们在实验中要认真细致,仔细检查和排除错误,以保证实验的顺利进行。
实验的局限性和改进方向:本次实验只是简单地介绍了I/O口扩展的基本原理和应用,还有很多相关的知识和技术需要进一步学习和探索。
实验三简单 I/O口扩展实验一——交通灯控制实验一、实验目的:1. 学习在单片机系统中扩展简单 I/O接口的方法。
2. 学习数据输出程序的设计方法。
3. 学习模拟交通灯控制的实现方法。
二、实验设备:EL-8051-III 型单片机实验箱三、实验内容:扩展实验箱上的 74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。
四、实验原理:要完成本实验,首先必须了解交通路灯的亮灭规律。
本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。
不妨将 L1(红、 L2(绿、 L3(黄做为东西方向的指示灯,将 L5(红、 L6(绿、 L7(黄做为南北方向的指示灯。
而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮, 东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。
闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,重复上述过程。
各发光二极管的阳极通过保护电阻接到 +5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。
五、实验原理图六、实验步骤:1. 实验箱 244/273 PORT单元的 O0~O7接实验箱上发光二极管 L1~L8;2.74LS273的片选 CS273接片选信号 CSO (CPLD ENCODER UNIT ,此时74LS273的片选地址为 CFA0H ~CFA7H 之间任选 ;3.运行实验程序,观察 LED 显示情况是否与实验内容相符 ;七、程序框图:八、参考程序:T3.ASMNAME T3 ;I/O口扩展实验一PORT EQU 0CFA0H ;片选地址 CS0CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV A,#11H ;两个红灯亮,黄灯、绿灯灭ACALL DISP ;调用 273显示单元(以下雷同 ACALL DE3S ;延时 3秒LLL: MOV A,#12H ;东西路口绿灯亮 ; 南北路口红灯亮ACALL DISPACALL DE10S ;延时 10秒MOV A,#10H ;东西路口绿灯灭 ; 南北路口红灯亮 ACALL DISPMOV R2,#05H ;R2中的值为黄灯闪烁次数TTT: MOV A,#14H ;东西路口黄灯亮 ; 南北路口红灯亮 ACALL DISPACALL DE02S ;延时 0.2秒MOV A,#10H ;东西路口黄灯灭 ; 南北路口红灯亮 ACALL DISPACALL DE02S ;延时 0.2秒DJNZ R2,TTT ;返回 TTT ,使东西路口黄灯闪烁五次 MOV A,#11H ;两个红灯亮,黄灯、绿灯灭ACALL DISPACALL DE02S ;延时 0.2秒MOV A,#21H ;东西路口红灯亮 ; 南北路口绿灯亮 ACALL DISPACALL DE10S ;延时 10秒MOV A,#01H ;东西路口红灯亮 ; 南北路口绿灯灭 ACALL DISPMOV R2,#05H ;黄灯闪烁五次GGG: MOV A,#41H ;东西路口红灯亮 ; 南北路口黄灯亮 ACALL DISPACALL DE02S ;延时 0.2秒MOV A,#01H ;东西路口红灯亮 ; 南北路口黄灯灭 ACALL DISPACALL DE02S ;延时 0.2秒DJNZ R2,GGG ;返回 GGG ,使南北路口 ; 黄灯闪烁五次 MOV A,#03H ;两个红灯亮,黄灯、绿灯灭ACALL DISPACALL DE02S ;延时 0.2秒JMP LLL ;转 LLL 循环DE10S: MOV R5,#100 ;延时 10秒JMP DE1DE3S: MOV R5,#30 ;延时 3秒JMP DE1DE02S: MOV R5,#02 ;延时 0.2秒 DE1: MOV R6,#200DE2: MOV R7,#126DE3: DJNZ R7,DE3DJNZ R6,DE2DJNZ R5,DE1RETDISP: MOV DPTR,#PORT ;273显示单元 CPL A MOVX @DPTR,ARETEND。
简单IO口扩展实验报告1. 背景在实际应用中,我们经常需要扩展计算机的输入输出(IO)接口,以满足不同的需求。
而简单IO口扩展就是一种常见且重要的扩展方式。
通过简单IO口扩展,我们可以将计算机连接到更多的外部设备,如传感器、执行器等,从而实现更多功能和应用。
2. 分析2.1 简单IO口介绍简单IO口是指通用输入输出接口,它可以通过数字信号来进行数据的输入和输出。
每个简单IO口通常包括一个输入引脚和一个输出引脚。
通过控制这些引脚的电平状态,我们可以实现数据的输入和输出。
2.2 简单IO口扩展方法简单IO口可以通过不同的方法进行扩展,常见的方法包括:•并行接口:使用并行接口可以同时传输多个位的数据。
它通常使用多条数据线和一些控制线来实现高速数据传输。
•串行接口:使用串行接口可以逐位地传输数据。
它通常使用一条数据线和一些控制线来实现较低速率但更简洁的数据传输。
•USB接口:USB(Universal Serial Bus)是一种常见的数字串行总线接口,它可以连接多种设备,并提供高速数据传输和供电功能。
•SPI接口:SPI(Serial Peripheral Interface)是一种常用的串行外设接口,它可以连接多个外设,并以主从模式进行数据传输。
•I2C接口:I2C(Inter-Integrated Circuit)是一种常见的串行通信接口,它可以连接多个外设,并使用两条线路进行数据传输。
2.3 简单IO口扩展实验本次实验旨在通过简单IO口扩展方法,将计算机与外部设备进行连接,并实现数据的输入和输出。
具体步骤如下:1.确定要使用的简单IO口扩展方法,如并行接口、串行接口等。
2.根据选择的扩展方法,准备相应的硬件模块和连接线缆。
3.将硬件模块与计算机进行连接,确保电气连通性。
4.编写相应的驱动程序或使用现有的驱动程序,以实现与硬件模块的通信。
5.运行程序并测试扩展功能。
3. 结果经过实验测试,我们成功地实现了简单IO口扩展,并达到了预期的结果。
简单i o口扩展实验报告简单I/O口扩展实验报告引言在现代科技发展的浪潮下,电子设备的功能和复杂性不断提升。
然而,对于初学者来说,了解和掌握电子设备的基本原理和操作方法是非常重要的。
本实验旨在通过简单的I/O口扩展实验,帮助初学者更好地理解和应用I/O口扩展技术。
一、实验目的本实验的主要目的是通过使用I/O口扩展技术,实现电子设备与外部设备的交互功能。
具体目标包括:1. 了解I/O口扩展的基本原理和应用场景;2. 学习使用I/O口扩展芯片进行输入输出控制;3. 实现简单的电子设备与外部设备的交互功能。
二、实验器材1. Arduino开发板;2. I/O口扩展芯片;3. 电阻、电容等基本电子元件;4. 连接线、面包板等实验工具。
三、实验步骤1. 连接电路将Arduino开发板与I/O口扩展芯片通过连接线连接起来,按照电路图进行正确的连接。
确保电路连接无误后,将其连接到电源。
2. 编写程序在Arduino开发环境中,编写程序以实现所需的输入输出控制功能。
通过调用相应的库函数,配置I/O口扩展芯片的输入输出模式,并编写相应的逻辑控制代码。
3. 烧录程序将编写好的程序烧录到Arduino开发板中,确保程序能够正确运行。
4. 实验验证运行程序后,通过操作外部设备,如按钮、LED灯等,验证I/O口扩展功能的正确性。
观察外部设备的状态变化,以及Arduino开发板的响应情况。
四、实验结果与分析通过实验,我们成功实现了I/O口扩展技术的应用。
通过编写程序,我们可以根据需要配置I/O口扩展芯片的输入输出模式,并通过控制逻辑实现与外部设备的交互功能。
在实验过程中,我们发现通过I/O口扩展技术,可以实现大量的输入输出控制。
例如,我们可以通过按钮控制LED灯的开关,通过传感器获取环境温度并进行相应的控制,通过继电器控制电机等。
这些功能的实现,不仅提高了电子设备的灵活性和可扩展性,也为我们提供了更多的创造空间。
然而,我们也发现在实际应用中,I/O口扩展技术还存在一些挑战和限制。
最新实验报告_IO口扩展实验在本次实验中,我们的目标是通过硬件和软件的结合,扩展微控制器的输入输出(IO)口,以适应更复杂的应用场景。
实验的主要步骤和发现如下:1. 实验目的:- 理解IO口扩展的基本原理。
- 学习如何通过外部硬件设备增加IO口的数量。
- 掌握相应的软件编程技巧以控制扩展的IO口。
2. 实验材料:- 微控制器开发板(如Arduino或Raspberry Pi)。
- 扩展IO模块(例如16路IO扩展板)。
- 跳线和面包板。
- 电阻、LED灯、按键开关等基本电子元件。
3. 实验步骤:- 首先,我们将扩展IO模块通过I2C、SPI或其他通信协议与微控制器连接。
- 确保所有连接正确无误后,对微控制器进行上电测试,检查扩展模块是否被正确识别。
- 编写代码以初始化扩展模块,并为每个新增的IO口分配适当的功能(如输入、输出、PWM等)。
- 通过编写测试程序,验证每个IO口的功能性,例如通过点亮LED 灯或读取按键状态。
4. 实验结果:- 成功实现了IO口的扩展,新增的IO口能够按照程序指令执行相应的输入输出任务。
- 在测试过程中,所有LED灯均能按预期亮起和熄灭,按键状态也能被准确读取。
- 通过对扩展IO口的编程实践,加深了对微控制器IO口配置和电子电路设计的理解。
5. 实验结论:- IO口扩展是提升微控制器应用灵活性的有效手段,可以满足更多复杂的控制需求。
- 通过选择合适的扩展模块和编写正确的程序代码,可以轻松实现IO口的增加和功能的扩展。
- 实验中遇到的问题主要与硬件连接和程序编写有关,通过仔细检查和调试,所有问题均得到解决。
6. 后续改进方向:- 探索更多类型的IO扩展模块,如带有模拟输入的模块,以适应更广泛的应用。
- 优化软件代码,提高IO口的响应速度和稳定性。
- 研究如何通过网络或无线通信实现IO口的远程扩展和控制。
通过本次实验,我们不仅学会了如何物理上扩展微控制器的IO口,还通过实践加深了对相关理论知识的理解。
实验一简单I / O口扩展实验
一、实验目的
1、熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
二、实验设备
CPU挂箱、8086CPU模块。
三、实验内容
逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
四、实验原理介绍
本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
五、实验步骤
1、实验接线:
CS0 :CS244
CS1 :CS273
K1~K8 :I0~I7(对应连接)
O0~O7 :LED1~LED8
2. 编辑程序,单步运行,调试程序。
3. 用K1控制LED1、LED2,K2控制LED3、LED4,K3控制LED5、LED6,
K4控制LED7、LED8
4. 调试通过后,全速运行程序,观看实验结果。
5..编写实验报告。
六、实验提示
74LS244或74LS273的片选信号可以改变,如连接CS2,此时应同时修改程序中相应的地址;LED发光二极管为共阴结构,注意电平逻辑。
七、实验结果
程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2应该点亮。
程序框图如下:
程序源代码清单:
assume cs:code
code segment public
org100h
start:mov dx,04a6h
mov ax,90h
out dx,ax
mov al,0feh
start1:
mov dx,04a0h
in al,dx
test ax,01h
test ax,02h jz start3
test ax,04h jz start4
test ax,08h jz start5
test ax,10h jz start6
test ax,20h jz start7
test ax,40h jz start8
test ax,80h jz start9
mov al,bl
mov dx,04b2h
out dx,al
rol al,1
mov bl,al
mov cx,3000h
add:
jmp start1
start2:mov al,bl
mov dx,04b2h
out dx,al
ror al,1
mov bl,al
mov cx,6000h
add1:
loop add1
jmp start
start3: mov al,bl
mov dx,04b2h
out dx,al
ror al,1
mov bl,al
mov cx,3000h
add2:
loop add2
jmp start
start4: mov al,bl
mov dx,04b2h
out dx,al
rol al,1
mov bl,al
mov cx,3000h
add3:
loop add3
jmp start
start5: mov al,bl
mov dx,04b2h
out dx,al
rol al,1
mov bl,al
mov cx,1500h
add4:
loop add4
jmp start
start6: mov al,bl
mov dx,04b2h
out dx,al
ror al,1
mov bl,al
mov cx,1500h
add5:
loop add5
jmp start
start7: mov bl,00h
mov al,bl
mov dx,04b2h
out dx,al
jmp start
start8: mov bl,55h
mov al,bl
mov dx,04b2h
out dx,al
jmp start
start9: mov bl,0ffh mov al,bl
mov dx,04b2h
out dx,al
jmp start
code ends
end start。