IO口实验

合集下载

单片机io口实验[单片机IO口控制实验实验报告]

单片机io口实验[单片机IO口控制实验实验报告]

单片机io口实验[单片机IO口控制实验实验报告]一、实验目的1、熟悉MCS-51的I/O结构;2、掌握MCS-51I/O的使用方法;3、掌握MCS-51的中断机制。

二、实验原理1、MCS-51单片机的硬件结构片内结构:2、内部数据存储器:3、SFR的名称及其分布:4、I/O端口地址:5、P0P3端口功能总结:P0P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MU某以进行转换。

而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MU某P0口的MU某的一个输入端为“地址/数据〞信号。

P2口的MU某勺一个输入信号为“地址〞信号。

在4个口中只有P0口是一个真正的双向口,P1P3口都是准双向口。

原因:P0口作数据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。

为此。

P0口的输出缓冲器应为三态门。

P0口中输出三态门是两只场效应管组成,所以是一个真正的双向口。

P1P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的一准双向口。

P3口的口线具有第二功能,为系统提供一些控制信号。

因此P3口增加了第二功能控制逻辑。

这是P3口与其它各口的不同之处。

6、P0口结构及特点:⑴P0口结构与运作1个输出锁存器,用于进行输出数据的锁存;2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;1个多路开关MU某它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。

在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;两只场效应管组成的输出驱动电路。

⑵P0口的特点P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。

P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。

而用作通用I/O口时,于引脚上需要外接上拉电阻,端口不存在高阻状态,此时P0口只是一个准双向口;为保证引脚上的信号能正确读入,在读入操作前应首先向锁存器写1;单片机复位后,锁存器自动被置1;一般情况下,如果P0口已作为地址/数据复用口时,就不能再用作通用I/O口使用;P0口能驱动8个TTL负载。

简单IO拓展实验报告

简单IO拓展实验报告

简单I/O口扩展实验实验报告作者:一、实验目的1、熟悉74LS273,74LS244的应用接口方法。

2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。

二、实验设备CPU挂箱、8086CPU模块。

三、实验内容逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。

四、实验原理介绍本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。

五、实验步骤1、实验接线:(表示相互连接)CS0 CS244; CS1CS273;平推开关的输出K1~K8 IN0~IN7(对应连接); O0~O7LED1~LED8。

2、编辑程序,单步运行,调试程序3、调试通过后,全速运行程序,观看实验结果。

4、编写实验报告。

六、实验提示74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。

七、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。

例如:K2置于L位置,则对应的LED2应该点亮。

八、程序框图(实验程序名: T244273.ASM)开始初始化读输入至AL输出AL结束九、程序源代码清单assume cs:codecode segment publicorg 100hstart: mov dx,04a6h ;控制寄存器地址mov ax,90h ;设置为A口输入,B口输出out dx,axmov al,0fehstart1:mov dx,04a2hout dx,almov bl,almov dx ,04a0hin al,dxtest ax,01hjz strat2test ax,02hjz strat3test ax,04hjz strat4test ax,08hjz strat5test ax,10hjz strat6test ax,20h jz strat7 test ax,40h jz strat8 test ax,80h jz strat2 mov al ,blrol al,1mov bl,al mov cx,3000h add:loop addjmp start1strat2:mov al,bl mov dx,04a2hout dx,almov bl, aljmp start1;暂停K1strat3:mov al,bl mov dx,04a4hout dx,alror al,1mov bl, almov cx,3hadd2:loop addjmp start1;全亮K2strat4:mov al,bl mov dx,04a8hout dx,alror al,1mov bl, almov cx,3000hadd3:loop add、jmp start1;流水K3strat5:mov al,bl mov dx,04aahout dx,alror al,1mov bl, almov cx,3hadd4:loop addjmp start1;全亮K4strat6:mov al,bl mov dx,04adhout dx,alror al,1mov bl, almov cx,3000hadd5:loop addjmp start1strat7:mov al,bl mov dx,04achout dx,alror al,1 mov bl, al mov cx,30h add6:loop add jmp start1strat8:mov al,blmov dx,04aehout dx,alror al,1mov bl, almov cx,300hadd7:loop addjmp start1strat9:mov al,blmov dx,04b0hout dx,alror al,1mov bl, almov cx,3hadd8:loop add8jmp start1code endsend start十、实验总结通过本实验我们懂得了用锁存器、三态门扩展简单并行输入、输出口的方法。

简单io口扩展实验报告

简单io口扩展实验报告

简单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口的输入输出控制,为后续的硬件控制和应用开发打下了基础。

简单io口扩展实验报告

简单io口扩展实验报告

简单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口扩展,并达到了预期的结果。

实验一简单IO口扩展实验

实验一简单IO口扩展实验
六、实验提示
8255a是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255a有三个8位的输入输出端口,通常将a端口作为输入用,b端口作为输出用,c端口作为辅助控制用,本实验也是如此。实验中,8255a工作于基本输入输出方式(方式0)
七、实验结果
程序全速运行后,逻辑电平开关的状态改变应能在led上显示出来。例如:
四、实验原理介绍
本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路
五、实验步骤
1.实验接线
cs0 cs8255;pa0~pa7平推开关的输出k1~k8;pb0~pb7发光二极管的输入led1~led8
2.编程并全速或单步运行
3.全速运行时拨动开关,观察发光二极管的变化。当开关某位置于l时,对应的发光二极管点亮,置于h时熄灭。
四、实验原理介绍
本试验用到两部分电路:脉冲产生电路、8253定时器/计数器电路
五、实验步骤
1.试验连线
CS0<->CS8253OUT0<->8253CLK2OUT2<->LED1CLK3<->8253CLK0,
2.编程调试程序
3.全速运行,观察试验结果
六、实验提示
8253是计算机系统中经常使用的可编程定时器/计数器,其内部有三个相互独立的计数器,分别称为T0,T1,T2。8253有多种工作方式,其中方式3为方波方式。当计数器设好初值后,计数器递减计数,在计数值的前一半输出高电平,后一半输出地电平。试验中,T0、T1的时钟由CLK3提供,其频率为750KHz。程序中,T0的初值设为927CH(37500十进制),则OUT0输出的方波周期为(37500*1/750000=0.05s)。T2采用OUT0的输出为时钟,则在T2中设置初值为n时,则OUT2输出方波周期为n*0.05s。n的最大值为FFFFH,所以OUT2输出方波最大周期为3276.75s(=54.6分钟)。可见,采用计数器叠加使用后,输出周期范围可以大幅度提高,这在实际控制中是非常有用的。

接口实验一 IO口输入、输出实验

接口实验一   IO口输入、输出实验

贵州大学实验报告纸系别电科班级电科091班姓名学号课程名称微机接口技术成绩评定教师签名实验时间2012年 5 月11日实验一 I/O口输入、输出实验一、实验目的学习单板方式下扩展简单I/O接口的方法。

学习微处理器的编程技术。

二、实验内容数据口扩展74LS244输入数据,数据口扩展74LS273输出数据。

输入端接八位逻辑电平输出,输出端接八位逻辑电平显示,编写一个程序,读入开关状态并输出显示。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图1、74LS244介绍:74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。

每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开。

74LS244的引脚如图1-1A所示。

图1-1A 74LS244 图1-1B 74LS2732、74LS273介绍:74LS273是八D型触发器,带清除端。

本实验用74LS273输出数据,通过片选信号和写信号将数据总线上的值锁存在74LS273中,同时在74LS273的输出端口输出数据,当数据总线上的值撤消以后,由于74LS273能锁存信号,74LS273的输出端保持不变,直到有新的数据被锁存。

74LS273的引脚如图1-1B所示。

图1-2 74LS244扩展输入电路本实验需要用到CPU模块(F3区)、八位逻辑电平输出模块(E4区)、八位逻辑电平显示模块(B5区)、扩展输入模块(F2区)、扩展输出模块(F1区)。

扩展输入电路原理图参见图1-2,扩展输出电路原理图参见图1-4,八位逻辑电平输出电路原理图参见图1-3,八位逻辑电平显示电路原理图参见图1-5。

图1-3 八位逻辑电平输出图1-4 74LS273扩展输出电路图1-5 八位逻辑电平显示五、实验程序1、实验修改后程序:;//**************************************************************** ;文件名: In_Out for 8088;功能: I/O口输入、输出实验;接线: 用8位数据线连接八位逻辑电平输出模块的JD1E到扩展输入模块的JD2C;; 八位逻辑电平显示模块的JD4B到扩展输出模块的JD1C;; 用导线连接CPU模块的8000H到扩展输入模块的CS_244;; 8100H到扩展输出模块的CS_273。

实验三 单片机IO口实验

实验三 单片机IO口实验

实验三单片机I/O口实验(P3和P1口应用)一、实验目的⑴掌握P3口、P1口简单使用。

⑵学习延时程序的编写和使用。

二、实验内容P3.3口做输入口,外接脉冲,每输入一个脉冲,P1口按十六进制加一,P1口做输出口,编写程序,使P1口接的8个发光二极管L0—L7按16进制加一方式点亮发光二极管。

三、实验原理图四、实验程序框图五、实验步骤⑴按图连接线路:系统扩展区1的P3.3用插针连至K0, P1.0—P1.7用插针连至L0-L7;⑵在闪动“P.”状态,按PCDBG键;⑶单击DVCC图标;⑷在系统设置选项中设定仿真模式为内程序、内数据;⑸在主菜单中选择联接;⑹选择实验指南/实验项目选择/单片机I/O口实验(P3和P1口应用),再选择实验指南/程序,打开该实验源程序⑺再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑻连续运行实验程序(内程序,内数据);。

⑼开关K0每拨动一次,L0—L7发光二极管按16进制方式加一点亮。

六、实验代码ORG 0000HLJMP STARTORG 0100HSTART:MOV A,#00HMOV P1,AHA1S1:JB P3.3,HA1S1MOV R2,#10HLCALL DELAYJB P3.3,HA1S1HA1S2:JNB P3.3,HA1S2MOV R2,#10HLCALL DELAYJNB P3.3,HA1S2INC APUSH ACCMOV P1,APOP ACCAJMP HA1S1 DELAY: P USH 02H DELAY1: PUSH 02H DELAY2: PUSH 02H DELAY3: DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND七、实验现象及结果分析。

最新实验报告_IO口扩展实验

最新实验报告_IO口扩展实验

最新实验报告_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口,还通过实践加深了对相关理论知识的理解。

实验二 IO口的输入与输出

实验二  IO口的输入与输出
实验一 软件和硬件的认识
主讲人:
宋淇
一、实验目的:
了解IO口的结构 熟源自IO口的特性 掌握IO口的控制二、实验仪器:

ATmage16实验板 一块 ISP单片机下载线 一条 PC机 一台
三、实验原理:
作为通用数字I/O 使用时,AVR 所有的I/O 端口都具有真正的读- 修改 - 写功能。这意味着用SBI 或CBI 指令改变某些管脚的方向( 或者是端口电 平、禁止/ 使能上拉电阻) 时不会改变其他管脚的方向( 或者是端口电平、 禁止/ 使能上拉电阻)。输出缓冲器具有对称的驱动能力,可以输出或吸收 大电流,直接驱动LED。所有的端口引脚都具有与电压无关的上拉电阻。 并有保护二极管与VCC 和地相连,如 Figure23 所示。在控制I/O时,分别 由方向寄存器DDRX与数据寄存器PORTX控制I/O的状态,如下表。
Figure 23. I/O 引脚等效原理图
所有的寄存器和位以通用格式表示:小写的“x” 表示端口的序号, 而小写的“n” 代表位的序号。但是在程序里要写完整。例如,PORTB3 表示端口B 的第3 位,而本节的通用格式为PORTxn。物理I/O 寄存器和 位定义列于P63“I/O 端口寄存器的说明” 。 每个端口都有三个I/O 存储器地址: 数据寄存器 – PORTx、 数据方向 寄存器 – DDRx 和端口输入引脚地址– PINx。数据寄存器和数据方向寄 存器为读/ 写寄存器,而端口输入引脚为只读寄存器。但是需要特别注 意的是,对PINx 寄存器某一位写入逻辑"1“ 将造成数据寄存器相应位的 数据发生"0“ 与“1“ 的交替变化。当寄存器MCUCR 的上拉禁止位PUD 置位时所有端口引脚的上拉电阻都被禁止。
端口引脚配置图

实验二 IO 口实验

实验二 IO 口实验

实验原理
• GPIO(General Purpose I/O,通用输入 输出接口) ( 输出接口) ,通用输入/输出接口 也称为并行I/O(parallel I/O),是最基本的I/O形式, 也称为并行 ( ),是最基本的 形式, ),是最基本的 形式 由一组输入引脚、输出引脚或输入/输出引脚组成 输出引脚组成, 由一组输入引脚、输出引脚或输入 输出引脚组成, CPU对它们能够进行存取操作。有些 对它们能够进行存取操作。 对它们能够进行存取操作 有些GPIO引脚能够通 引脚能够通 过软件编程改变输入/输出方向 输出方向。 过软件编程改变输入 输出方向。 • 一个双向 一个双向GPIO端口(D0)的简化功能逻辑图如图所 端口( ) 端口 图中PORT为数据寄存器和 为数据寄存器和DDR(Data 示,图中 为数据寄存器和 ( Direction Register)为数据方向寄存器。 )为数据方向寄存器。
IO 口实验
实验目的
• 掌握 掌握S3C2410X 芯片的 芯片的I/O 控制寄存器 的配置; 的配置; • 通过实验掌握 通过实验掌握ARM 芯片使用 芯片使用I/O 口控 显示; 制LED 显示; • 了解 了解ARM 芯片中复用 芯片中复用I/O 口的使用方 法。
实验设备
• ฀ 硬件:Embest EduKit-III 实验平台, Embest ARM 标准/增强型仿真器套件, • PC 机。 • ฀ 软件:Embest IDE for ARM 集成开发 环境,Windows 98/2000/NT/XP。
1. S3C2410X I/O 口控制寄存器
• 端口控制寄存器(G中,大多数的管脚都复用, 所以必须对每个管脚进行配置。端口控制 寄存器(PnCON)定义了每个管脚的功能。 • 如果GPF0-GPF7 和GPG0-GPG7 在掉电 模式使用了弱上拉信号,这些端口必须在 中断模式配置。

单片机实验 IO口的输入输出实验.

单片机实验 IO口的输入输出实验.

实验二 I/O口输入、输出实验一、实验目的1. 学习I/O口的使用方法。

2. 学习延时子程序、查表程序的编写和使用。

二、参考程序框图三、程序设计1、P0口循环点亮程序 ORG 0030HSTART : MOV P2,#00H; //消影 MOV A ,#01H; // LOOP : MOV P2 ,A; //点亮一个led 灯ACALL DELAY; //延时500ms RL A; //左移一位 AJMP LOOP; //跳转循环DELAY : MOV R7,#10; //延时程序 DE1 : MOV R6,#200; DE2 : MOV R5,#123; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET END2、I/O口输入输出(方法一)ORG 0000H;START : MOV P2,#00H; //初始化 MOV P0,#00H;MOV P1,#0FFH; //p1口初始化给ffh 值 MOV DPTR,#TABLE; //表地址存入DPTR MOV 50H,#0FEH; //比较初值载入地址50h L0 :MOV A,P1; //按键消抖 CJNE A,#0FFH,L1; AJMP L0; L1 :MOV A,P1;CJNE A,#0FFH,LL1; AJMP L0;LL1 :CJNE A,50H,LL2; //是否与地址50h 中数据相等 MOV P0,A; //相等输出对应led 灯 MOV A,#00H; MOVC A,@A+DPTR;MOV P2,A; //输出表格数据到数码管 LCALL DELAY; //延时LJMP START; //返回程序开头 LL2 :XCH A,50H; //交换数据 RL A; //左移XCH A,50H; //再次交换,此时地址50h 中数据左移一位 INC DPTR; //表格数据地址加一 LJMP LL1; //返回继续比较DELAY : MOV R7,#01H; //延时程序 DE1 : MOV R6,#28H; DE2 : MOVR5,#5AH; DJNZ R5,$;DJNZ R7,DE1; RETTABLE : ;//DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH; //表格数据 END程序二(方法二)ORG 0000HMOV P2,#00H; //I./O口初始化 MOV P1,#0FFH; //P1口赋FFH 初值 MOVP0,#00H;START : MOV P2,#00H; //P2清0; MOV P0,#00H; //P0清0; MOV R1 ,P1;MOV A,R1; //读P1口CJNE A,#0FFH,L1; //是否有数据输入AJMP START; //无输入则跳转,继续查询 LCALL DELAY;L1 : MOV R1,P1; //消除按键抖动 MOV A,R1;CJNE A, #0FFH,LL1; AJMP START;LL1 : CJNE A,#0FEH,LL2; //是否按键1输入MOV P2,#06H; //是则P2输出相应的按键号码 CPL A; //A取反MOV P0,A; //输出到P0口 LCALL DELAY; //延迟AJMP LP; //跳转到LPLL2 : CJNE A,#0FDH,LL3; //是否按键2输入 MOV P2,#5BH; //以下同上 CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL3 : CJNE A,#0FBH,LL4; //判断按键3是否按下 MOV P2,#4FH; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL4 : CJNE A,#0F7H,LL5; //判断按键4是否按下CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL5 : CJNE A,#0EFH,LL6; //判断按键5是否按下 MOV P2,#6DH; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL6 : CJNE A,#0DFH,LL7; //判断按键6是否按下 MOV P2,#7DH; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL7 : CJNE A,#0BFH,LL8; //判断按键7是否按下 MOV P2,#07H; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL8 : CJNE A,#7FH,LP; //判断按键8是否按下 MOV P2,#7FH; CPL A; MOVP0,A;LCALL DELAY;LP : AJMP START; //跳转回程序开头 DELAY : MOV R7,#01H; //延时程序DE1 : MOV R6,#28H; DE2 : MOV R5,#5AH; DJNZ R5,$; DJNZ R6,DE2; DJNZR7,DE1; RET END四、思考题1、LED 循环方向更改:RL A; 改成 RR A;1S 的延时程序: DELAY : MOV R7,#20; //延时程序DE1 : MOV R6,#200; DE2 : MOV R5,#123;DJNZ R5,$;DJNZ R6,DE2;DJNZ R7,DE1; RET 2、提高电阻阻值3、一般为5V 或者3.3V 。

io口实验报告

io口实验报告

io口实验报告IO口实验报告引言:IO口(Input/Output Port)是计算机硬件中的一种通信接口,用于与外部设备进行数据交互。

本实验旨在通过对IO口的实际应用,深入了解IO口的原理和使用方法。

一、实验目的通过本次实验,我们的目标是掌握IO口的基本原理和操作方法,了解IO口在计算机系统中的重要性,并能够熟练地使用IO口进行数据输入和输出。

二、实验装置本次实验所需的装置包括一台计算机、IO口接口板、连接线和外部设备(如LED灯、按钮等)。

三、实验过程1. 连接IO口接口板将IO口接口板与计算机通过连接线连接好,并确保连接稳固。

接口板上通常会有标识,根据标识将连接线插入正确的接口。

2. 配置IO口参数打开计算机,并进入操作系统。

根据计算机型号和操作系统的不同,配置IO口参数的具体步骤可能会有所不同。

一般来说,可以通过设备管理器或者控制面板中的设备设置选项来进行配置。

3. 进行IO口输入实验将一个按钮连接到IO口接口板的输入端口上。

通过编写简单的程序代码,实现当按钮按下时,计算机能够读取到IO口的输入信号,并作出相应的反应,如显示一个提示信息或者改变屏幕上的图像。

4. 进行IO口输出实验将一个LED灯连接到IO口接口板的输出端口上。

通过编写程序代码,实现当计算机发出IO口的输出信号时,LED灯能够亮起。

可以尝试不同的输出信号模式,如闪烁、渐变等,以观察LED灯的不同反应。

5. 拓展实验除了按钮和LED灯,还可以尝试连接其他外部设备,如蜂鸣器、温度传感器等,以进一步探索IO口的应用。

通过编写相应的程序代码,实现与这些设备的交互,并观察其效果。

四、实验结果与分析通过以上实验操作,我们可以得到以下实验结果:1. IO口输入实验:当按下按钮时,计算机能够读取到IO口的输入信号,并作出相应的反应。

这说明IO口能够实现数据的输入,为计算机提供外部信息。

2. IO口输出实验:当计算机发出IO口的输出信号时,LED灯能够亮起。

IO口输入、输出实验

IO口输入、输出实验

实验一I/O口输入、输出实验2010.04.20一、实验目的:了解LED二极管的工作原理。

掌握LED二极管亮灭左右移的编程方法。

二、实验原理:八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮。

我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。

表1三、实验电路原理图四、程序框图实验程序:START: MOV ACC,#0FEH ;ACC中先装入LED1亮的数据(二进制的11111110)MOV P1,ACC ;将ACC的数据送P1口MOV R0,#7LOOP1: RL A ;将ACC中的数据左移一位MOV P1,A ;把ACC左移后的数据送p1口显示ACALL DELAY ;调用延时子程序DJNZ R0,LOOP1 ;没有移动够7次继续移动MOV R1,#7LOOP2: RR A ;将ACC中的数据右移一位MOV P1,A ;把ACC右移后的数据送p1口显示ACALL DELAYDJNZ R1,LOOP2AJMP START ;移动完7次后跳到开始重来,以达到循环流动效果;----- 延时子程序 -----DELAY: MOV R2,#255D1: MOV R3,#255DJNZ R3,$DJNZ R2,D1RET ;延时子程序结束,返回到调用处的下一句END ;程序结束实验现象:实验实现了单一灯的左移右移。

开始时P1.0口的LED点亮,然后P1.1→P1.2→P1.3→┅→P1.7的LED依次点亮,实现了右移。

当P1.7的LED点亮后,P1.6→P1.5→P1.4→┅→P1.0口的LED又依次点亮,实现了左移。

然后循环,从而实现灯的循环左右移。

实验结论:通过单片机对P1口赋值,然后利用移位RL和RR指令使相应的LED点亮,可以实现灯的左右移。

单片机io口控制实验报告

单片机io口控制实验报告

单片机io口控制实验报告单片机实验报告实验名称:I/O 口控制姓名:张昊学号:110404247 班级:通信 2 班时间:20__.11.19南京理工大学紫金学院电光系一、实验目的1、学习 I/O 口的使用。

2、学习延时子程序的编写和使用。

3、掌握单片机编程器的使用和芯片烧写方法。

二、实验原理1、广告流水灯实验(1)做单一灯的左移右移,八个发光二极管 L1~L8 分别接在单片机的P1.0~P1.7 接口上,输出“0”的时候,发光二极管亮,开始时P1.0->P1.1->P1.2->P1.3->...->P1.7->P1.6->...P1.0 亮,重复循环。

(2)系统板上硬件连线:把“单片机系统”A2 区的 J61 接口的P1.0~P1.6端口与 D1 区的 J52 接口相连。

要求:P1.0 对应着L1,P1.1 对应L2,......,P1.7 对应着 L8。

P1 口广告流水灯实验原理图如下程序设计流程:流程图如下2、模拟开关实验(1)监视开关 K1(接在 P3.0 端口上),用发光二极管 L1(接在单片机P1.0 端口上)显示开关状态,如果开关合上,L1 亮,开关打开,L1 熄火。

(2)系统板上硬件连线:把“单片机系统”A2 区的 P1.0 端口用导线连接到 D1 区的 LED1 端口上;把“单片机系统”A2 区的P3.0 端口用导线连接到 D1 区的 KEY1 端口上;实验原理图如下图程序设计流程否是二、实验内容1、流水灯#include<reg51.h> sbit p10=P1^0; sbit p11=P1^1; sbit p12=P1^2; sbit p13=P1^3; sbit p14=P1^4; sbit p15=P1^5; sbit p16=P1^6; sbit p17=P1^7;unsigned char count=0; bit flag; void main { 开始开关闭合否 L1 灭 L1 亮P1=0_ff; TMOD=0_01; TH0=55536/256; TL0=55536%256;EA=1; ET0=1; TR0=1; while(1) { p10=0; while(flag==0);flag=0; p10=1;p11=0; while(flag==0); flag=0; p11=1;p12=0; while(flag==0); flag=0; p12=1;p13=0; while(flag==0);flag=0; p13=1;p14=0; while(flag==0); flag=0; p14=1;p15=0; while(flag==0); flag=0; p15=1;p16=0; while(flag==0);flag=0; p16=1;p17=0; while(flag==0); flag=0; p17=1; } } void t0_srv interrupt 1 { TH0=55536/256; TL0=55536%256; count++; if(count==10) { flag=1;count=0; } } 2、模拟开关#include<reg51.h> sbit p30=P3^0; sbit p10=P1^0; void main {while(1) { if(p30==0)p10=0; elsep10=1; } }三、小结与体会通过本次实验学会了 I/O 口的使用,学会了延时子程序的编写和使用以及掌握了单片机编程器的使用和芯片烧写方法。

单片机io口实验结论

单片机io口实验结论

单片机io口实验结论单片机IO口实验结论单片机IO口是单片机与外部设备交互的重要接口,通过IO口可以实现输入输出功能。

在进行单片机IO口实验的过程中,我们得出了以下几点结论。

1. 单片机IO口具有输入和输出功能。

通过设置相应的寄存器,可以将IO口配置为输入或输出模式。

输入模式时,可以读取外部信号的状态;输出模式时,可以向外部设备发送信号。

2. 单片机IO口具有高低电平控制能力。

通过设置相应的寄存器,可以将IO口输出高电平或低电平信号。

高电平一般表示逻辑1,低电平表示逻辑0。

通过控制IO口的高低电平,可以与其他设备进行通信。

3. 单片机IO口具有上拉和下拉功能。

当IO口配置为输入模式时,可以通过上拉或下拉电阻来确保输入信号的稳定性。

上拉电阻使得输入信号在未连接时保持高电平,下拉电阻使得输入信号在未连接时保持低电平。

4. 单片机IO口具有中断功能。

通过配置相应的寄存器和中断向量表,可以使IO口在特定条件下触发中断。

当IO口输入信号满足中断触发条件时,可以立即响应中断并执行相应的中断服务程序。

5. 单片机IO口的电流限制。

在使用IO口时,需要注意IO口的电流限制。

如果连接的外部设备需要较大的电流驱动能力,可以通过外部电流放大器或继电器等方式来实现。

6. 单片机IO口的电压范围。

在使用IO口时,需要了解IO口的电压范围。

不同的单片机IO口电压范围可能有所不同,需要根据具体的需求选择合适的单片机型号和IO口。

7. 单片机IO口的电平转换。

当单片机与其他设备进行通信时,可能存在电平不匹配的情况。

可以通过电平转换电路来实现不同电平之间的转换,以确保通信的稳定性。

8. 单片机IO口的使用限制。

在使用IO口时,需要遵守单片机的使用规范和限制。

例如,不同的IO口可能有不同的功能限制、电流限制和电压范围限制,需要根据具体的芯片手册进行配置。

总结:单片机IO口是单片机与外部设备交互的重要接口,通过IO 口可以实现输入输出功能。

单片机实验报告二 单片机IO口实验

单片机实验报告二 单片机IO口实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019.4.16 实验成绩:实验二单片机I/O口实验(一)实验目的1.掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时程序的编写。

2.熟练掌握STC型开发板的使用方法和注意事项。

3.掌握应用STC_ISP烧录过程;(二)设计要求利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。

其中流水灯的变化形式多样。

(三)实验原理STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现:1.设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添加。

根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。

图12.Keil uVision4环境设置:选择菜单命令Project →Options for Target →Debug,选中“STC Monitor-51 Driver”,勾选“Load Application at Startup”选项和“Run to main()”选项,如图2所示。

单击图2右上角的“settings”按钮,弹出硬件参数设置对话框,如图2所示,根据仿真电路所使用的串口号(本机所用为串口5)选择串口端口,如图3所示:图2图33.STC15单击串口TTL电平通信模块结构如图4所示,P1.6、P1.7、P4.6、P4.7所连接的LED灯为共阳极LED,控制对应I/O口为低电平即可点亮LED。

单片机《输入输出口》实验报告

单片机《输入输出口》实验报告

实验一I/O口输入输出实验一、实验目的1. 掌握单片机的并行I/O口的接口结构、驱动能力特点和应用处理方法;2. 掌握单片机I/O引脚作为输出引脚的使用方法;3. 掌握单片机I/O口配置方法4. 掌握利用单片机I/O口设计单片机应用程序用输入控制输出的方法;5. 掌握单片机控制程序的结构。

二、实验原理及实验内容实验要求:利用单片机并行口做不规则花样流水灯,流水花样不低于16个。

实验原理:1.LED原理图2.STC15的IO口原理P6m0为0时,P6m1为0时,IO口模式为准双向口(传统8051 I/O口模式,弱上拉)灌电流可达20mA,拉电流为270微安,由于制造误差,实际为270~150微安* P6m0为0时,P6m1为1时,为推挽输出(强上拉输出,可达20mA,要加限流电阻)* P6m0为1时,P6m1为0时,(为高阻输出电流既不能流入也不能流出)P6m0为1时,P6m1为1时,为开漏(Open Drain),内部上拉电阻断开。

开漏模式即可读取外部状态也可以对外输出(高低电平)。

按照表格寄存器内容,我们对8个LED1,也就是P6口进行配置,当P6输出低电平时LED被点亮。

所以配置如下:P6M1 &= 0x00;P6M0 &= 0x00; //作为普通IO口,为弱上拉sbit KEY1=P2^0;sbit KEY2=P2^1;//定义两个按键由于STC15F2K60S2寄存器初始化时默认是:P6M1=0x00;P6M0 = 0x00;3.程序流程图主循环程序流程图三、实验程序#include <STC15.h>#include <intrins.h>#define Uchar unsigned char#define Uint unsigned intint LED[]={0xfc,0xf3,0xcf,0x3f,0xe7,0xdb,0xbd,0x7e,0x7e,0xbd,0xdb,0xe7, 0xfe,0xfb,0xef,0xbf,0xfd,0xf7,0xdf,0x7f};void P6Init()//IO口初始化函数{P6M0=0X00;P6M1=0X00;}void delay3s(void) //误差0us{unsigned char a,b,c;for(c=189;c>0;c--)for(b=230;b>0;b--)for(a=33;a>0;a--);}void main(){Uchar i=0;P0Init();while(1){for(i=0;i<20;i++){P6=LED[i];delay3s();}}}四、实验仪器和设备4.使用了keil软件Proteus 8 Professional软件。

单片机实验IO口的输入输出实验

单片机实验IO口的输入输出实验

单片机实验IO口的输入输出实验单片机实验是一种很好的学习方式,通过对单片机的实验可以快速地提高对单片机的了解,这对于工程师来说是非常有用的。

本文将主要介绍单片机实验中的IO口的输入输出实验。

IO口是单片机上一个非常重要的部分,在单片机实验中,IO口的输入输出是一个非常常见的实验。

IO口可以接收和发送电信号,它可以连接到开关、LED灯、继电器等,可以实现很多功能。

当我们需要将一个信号输入到单片机中时,我们需要使用IO口的输入功能。

当我们需要从单片机中输出一个信号时,我们需要使用IO口的输出功能。

在单片机实验中,我们需要测试IO口的输入功能是否正常。

测试IO口的输入功能有很多方法,其中一个方法是使用开关。

我们需要将一个开关连接到单片机的某个IO口上,当开关打开时,单片机能够获取到一个高电平信号,当开关关闭时,单片机能够获取到一个低电平信号。

通过这种方法我们可以测试单片机的IO口的输入功能是否正常。

我们可以通过编写一个程序,来判断单片机是否正常地读取到开关状态。

下面是一个范例程序:上面的程序中,我们通过判断P2口的高低电平状态,来控制P0口的输出状态。

当P2口接到高电平时,P0口的输出引脚变为高电平,LED灯就会亮。

当P2口接到低电平时,P0口的输出引脚变为低电平,LED灯就会灭。

与IO口的输入实验类似,我们也可以测试IO口的输出功能。

我们可以将一个LED灯连接到单片机的某个IO口上,当我们需要将信号输出时,单片机会控制IO口的输出引脚,从而控制LED灯的亮灭。

下面是一个范例程序:四、总结IO口的输入输出实验是单片机实验中非常常见的实验。

通过这个实验,我们能够测试单片机的IO口的输入输出功能是否正常。

在实际工作中,我们也经常需要控制开关、LED 灯、继电器等,这时候就需要使用IO口来实现控制。

因此,对于工程师来说,掌握IO口的输入输出实验是非常重要的。

实验二单片机IO口的使用

实验二单片机IO口的使用

实验二单片机IO口的使用实验目的:掌握单片机IO口的使用方法,了解IO口的输入输出功能。

一、实验介绍在单片机系统中,IO口是通过端口来实现与外部设备的通信。

IO口可以用来输入控制信号或者输出数据信号,是单片机与外部世界交互的重要接口。

二、实验器材与工具1.单片机开发板2.扁平灯泡3.蜂鸣器4.电阻、电容等元器件5.逻辑分析仪三、实验步骤1.简单的IO口输出实验将一个扁平灯泡连接到单片机的一个IO口上,并将该IO口配置为输出模式。

实验中,可以通过控制该IO口的高低电平来控制灯泡的亮灭。

2.IO口输入实验将一个开关连接到单片机的一个IO口上,并将该IO口配置为输入模式。

实验中,可以读取该IO口的电平状态,来判断开关的状态。

3.组合实验将多个扁平灯泡和开关连接到单片机的IO口上,并通过控制和读取IO口的电平状态来实现各种功能。

可以实现灯泡的闪烁、扁平灯泡的亮度调节、蜂鸣器的控制等功能。

四、实验原理1.IO口模式设置单片机内部有寄存器用于控制IO口的工作模式。

通过设置相应的寄存器来将指定的IO口配置为输入或者输出模式。

2.IO口输出控制IO口的输出控制是通过操作相应的寄存器来实现的。

输出操作可以将指定的IO口设置为高电平或者低电平。

3.IO口输入读取IO口的输入读取也是通过操作相应的寄存器来实现的。

读取操作可以获取指定IO口的电平状态,以判断外部设备的状态。

五、实验总结通过这次实验,我学会了单片机IO口的配置与使用方法。

IO口是单片机与外部设备交互的重要接口,掌握了IO口的使用方法后,可以实现各种功能,如灯光控制、开关检测等。

同时,我也了解到了IO口的原理和应用场景,为以后的电子设计打下了基础。

基础实验-实验六 IO接口实验

基础实验-实验六 IO接口实验

• 发光二极管LED1~LED4的正极接S2C2410板上的3.3V高电

5 实验原理
6 实验步骤
1.参照模板,新建一个工程GPIO.mcp,添加相应的文件, 并修改GPIO的工程设置; 2.创建Main.c文件,并加入到工程文件GPIO.mcp中; 3.为Main.c文件的主任务maintask添加如下的语句:
//灯亮 //延迟 //灯灭 //延迟
6 实验步骤
4.编译GPIO工程; 5.下载程序并运行,观察结果。
7 实验报告要求
• 说明如何用两盏灯的状态组合循环显示
00—11.
void Main(void) { int i; Port_Init(); while (1) { Led_Display(0x0f); for (i=0; i<0xfffff; i++); Led_Display(0x00); for (i=0; i<0xfffff; i++); } }
//初始化I/O
5 实验原理
压,负极通过限流电阻分别与S2C2410的GPF4~GPF7引脚 连接。 • 四盏灯的分配如下: LED1 红色LED EINT4/GPF4 LED2 红色LED EINT5/GPF5 LED3 绿色LED EINT6/GPF6 LED4 绿色LED EINT7/GPF7 • 这四个引脚属于端口F,已经配置为输出口。通过向 GPFDAT寄存器中相应的位写入0或1,可以使引脚 GPF4~GPF7输出低电平或高电平。当GPF4~GPF7输出低电 平时,LED点亮;当GPF4~GPF7输出高电平时,LED熄灭。
2 实验内容 1.学习如何在ADS集成开发环境中编辑 编译和调试程序; 2.熟悉S3C2410上I/O配置寄存器,编程 实现实验板上的发光二极管 LED1~LED4依次点亮和熄灭。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IO口实验:
参见基础实验1、2、3.(课件第2章单片机结构.doc)
1.输入输出综合实验(查询方式,1S由软件延时控制):要求:每一次按键,蜂鸣器响一次。

同时要求LED1~LED8循环点亮。

1)初始状态或按下KEY1键(松开后保持),只点亮一只LED
灯,每隔1秒右循环显示,移到LED8后回到LED1。

LED1LED8
…………………………
LED1LED8
2)按下KEY2键(松开后保持),同时点亮相邻的两只LED
灯,每隔1秒右循环显示,移到LED8后回到LED1。

LED1LED8
3)按下KEY2键(松开后保持),同时点亮间隔的两只LED
灯,每隔1秒右循环显示,移到LED8后回到LED1。

LED1LED8
4)按下KEY2键(松开后保持),点亮一只LED灯,每隔1
秒多点亮一只LED灯,直到LED灯全亮,然后回到一只LED点亮状态循环。

LED1LED8
LED1LED8
…………………………
LED1LED8
5)按下KEY3键(松开后保持),同时点亮相邻的两只LED
灯,隔1秒后再次增加点亮相邻的两只LED灯,直到全亮后再隔1秒点亮123456,后又1234,直到全灭后重新循环。

LED1LED8
LED1LED8
…………………………
LED1LED8
…………………………
LED1LED8
6)按下KEY键(松开后保持),开始点亮LED1灯,隔1秒
后点亮23,再隔1秒点亮345,隔1秒后5678,隔1秒后8,隔1秒后76 ,隔1秒后654,隔1秒后4321,隔
1秒后1重复。

LED1LED8
LED1LED8
LED1LED8
…………………………
LED1LED8
7)按下KEY3键(松开后保持),开始点亮LED1、LED8灯,
隔1秒后点亮12、78,再隔1秒点亮123、678,直到全亮后再隔1秒点亮123、678,后又12、78,直到点亮LED1、LED8灯后重新循环。

LED8
LED1LED8
…………………………
LED1LED8
LED8
…………………………
LED8。

相关文档
最新文档