实验二 I-O口输入、输出实验报告
微机原理实验报告 IO实验
《微机原理及应用技术》课程实验报告实验一片内输入、输出实验【预习内容】1.二进制、十进制及十六进制的表示方法及相互转换方法。
二进制XXXXB如1111B 十进制XX如15 十六进制0xXX如0x0f相互转换方法:十进制转二进制方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
二进制转十进制方法为:把二进制数按权展开、相加即得十进制数。
二进制转十六进制方法为:4位二进制数按权展开相加得到1位十六进制数。
(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。
十六进制转二进制方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
十进制转十六进制有两种方法间接法把十进制转成二进制,然后再由二进制转成十六进制。
直接法把十进制转十六进制按照除16取余,直到商为0为止。
十六进制转成十进制方法为:把十六进制数按权展开、相加即得十进制数。
2.C语言基本数据类型、定义方式以及赋值范围。
(1)整数类型(2)浮点类型3.写出至少一种软件延时程序并说明原理。
基本原理:利用循环结构反复执行空语句占用指令周期,实现等待延时。
void Delay1ms() //@12.000MHz{unsigned char i, j;i = 2;j = 239;do{while (--j);} while (--i);}4.掌握for循环及while循环,掌握if语句及switch语句。
for语句for (/*初始化 int i=0*/; /*判断条件 i<count*/; /*执行语句 i++*/) {/* code */}while语句while (/* condition */){/* code */}do{/* code */} while (/* condition */);switch/case语句switch (/*表达式*/){case/*值1*/ : /* code */; break;case/*值2*/ : /* code */; break;...default : /* code */break;}If/if-else语句if (/* condition */){/* code */}else if (/* condition */){/* code */}else{/* code */}5.什么是单片机?什么是单片机最小系统?单片机最小系统三要素是什么?单片机(Microcontrollers,亦称MCU),即单芯片微型计算机,包括了CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。
单片机实验二
单片机实验报告二系部名称:专业班级:学号:姓名:指导教师:实验成绩日期实验二单片机I/O口实验——模拟开关灯一、实验要求利用单片机、按钮开关和发光二极管,构成一个模拟开关灯的系统。
单片机P3.0引脚接开关,P1.0接发光二极管的阴极,当开关闭合时,发光二极管亮;开关打开时,发光二极管灯灭。
二、实验目的1.了解单片机I/O口输入输出的使用。
2.掌握单片机I/O口位操作的编程。
3.掌握简单的分支程序的设计。
三、实验内容1.开关状态的检测单片机的P3.0脚接有一个按钮开关K,单片机对开关K状态的检测是检测单片机的P3.0端口的输入电平,只有高低电平两种。
当开关K闭合时,即P3.0脚输入为低电平;当开关K打开时,P3.0脚输入为高电平。
2.输出控制使用共阳极发光二极管,阳极接+5V,阴极接P1.0端口。
当P1.0端口输出高电平,即P1.0=1时,这时发光二极管D1熄灭;当P1.0端口输出低电平,即P1.0=0时,这时发光二极管D1亮。
源代码:ORG 00HSTART: JB P3.0,X1CLR P1.0AJMP START X1 : SETB P1.0AJMP STARTEND四、实验结果五、实验心得通过本次实验基本了解了用单片机设计开关灯的工作流程,通过编写汇编程序实现了开关灯的设计,复习并更加掌握汇编语言,进一步掌握了P1口和P3口的功能,复习了汇编语言中跳转指令的用法。
实验中不时出现一些小的错误,让我深刻体会到,理论与实践的差距。
我们应该多做实验,提高自己的动手能力。
实验二 IO 口方式基础应用实验
电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:单片机原理与接口技术实验班级:姓名:学号:组别:实验名称:实验二I/O 口方式基础应用实验实验时间:成绩:一、实验目的和任务1、掌握80C51单片机程序的调试与下载方法。
2、掌握80C51单片机并口的特性及程序控制方法。
3、掌握步进电机转向、转速和角度控制原理。
4、掌握步进电机与单片机的接口及程序控制方法。
二、实验原理简介P0口控制8个发光管的电路结构,P0口某口线输出低电平时,相应的发光管点亮,口线输出高电平时发光管熄灭。
在做发光管相关实验时,应将实验箱上LED101~LED108发光管右上侧的拨码开关JUMP2拨到ON一侧,使发光管限流电阻公共端连接到MCU1电源正极(即Vcc端)。
VccMCU1JUMP2STC12C5A60S239 L101 470ΩP0.038 L102 470ΩP0.137 L103 470ΩP0.236 L104 470ΩP0.335 L105 470ΩP0.434 L106 470ΩP0.533 L107 470ΩP0.632 L108 470ΩP0.7图2-1 发光管控制电路步进电机是一种将电脉冲转化为角位移的执行机构,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
由于步进电动机能直接接受数字量,所以特别适合利用单片机进行控制。
ZSC-1实验箱MCU1利用P2口的高4位控制一个四相步进电机(其最小步距角为5.625°/64),如图3-1所示。
某口线输出低电平时,相应的功率三极管导通,其所连接的一相线圈通电,口线输出高电平时线圈断电。
程序以单4拍、双4拍或4-8拍方式依次输出各相序字,就可控制步进电机转动,颠倒相序顺序,可改变步进电机的转向。
改变各相序字之间的时间间隔可控制步进电机的转速。
图3-1中4个独立按键可用于电机控制命令的输入。
单片机流水灯实验报告
单片机流水灯实验报告电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2 流水灯实验时间: xx-10-21 班级:电信092 姓名:蔡松亮学号: 910706247一、实验目的:进一步熟悉keil仿真软件、proteus仿真软件的使用。
了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理:MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。
每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行I/O端口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
以P1口为例,内部结构如下图所示:图 P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O 口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。
三、实验环境:硬件:PC机,基本配置CPU PII以上,内存2G 软件:keil 2, Proteus 7.5四、实验内容及过程:1、用Proteus画流水灯电路图流程:1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:图 1 打开搜索元器件窗口2)、搜索添加元器件,如图2 所示:图2 搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。
简单i o口扩展实验报告
简单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口输入、输出实验
贵州大学实验报告纸系别电科班级电科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。
i0口输入输出实验报告
竭诚为您提供优质文档/双击可除i0口输入输出实验报告篇一:实验二I-o口输入、输出实验报告单片机实验报告2姓名学号时间地点实验题目I/o口输入、输出实验一、实验目的1.学习I/o口的使用方法。
2.学习延时子程序、查表程序的编写和使用。
二、实验仪器和设备pc机、wAVe软件、仿真器+仿真头、实验板、电源等。
三、实验说明本实验1通过单片机的I/o口控制LeD的亮灭,从而观察I/o口的输出。
实验2通过单片机的I/o口接受按键动作信息,然后通过LeD和数码管指示。
通过本实验学生可以掌握单片机I/o口输入输出的控制方法,同时也可以掌握单片机延时子程序、查表程序的编写和调试方法。
要求预先编写好程序并通过伟福仿真软件调试。
四、实验内容1、p0口做输出口,接八只LeD,编写程序,使LeD循环点亮,间隔0.5秒。
2、p1.0--p1.7作输入口接拨动开关s0--s7;p0.0--p0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,同时将开关编号(0—7)显示在LeD数码管上。
编程时应注意p1作为输入口时应先置1,才能正确读入值。
五、实验电路连线p0.0----LeD0p1.0-----s0p0.1----LeD1p1.1-----s1p 0.2----LeD2p1.2-----s2p0.3----LeD3p1.3------s3p 0.4----LeD4p1.4------s4p0.5----LeD5p1.5------s5 p0.6----LeD6p1.6------s7p0.7----LeD7p1.7------s8 实验1:p0口循环点灯实验2:p1、p0口输入输出agfbabcdefgh(dp)eh(dp)实验2:LeD数码管各段与I/o的连接dcp2.0p2.1p2.2p2.3p2.4p2.5p2.6p2.7六、程序框图及程序p0口循环点灯oRg0000hmoVA,#07FhLp:moVp0,ARRALcALLDeLAYLcALLDeLAYsJmpLpDeLAY:moVR2,#0FAhL1:moVR3,#0FAhL2:DJnZR3,L2DJnZR2,L 1ReT;设定程序汇编起始地址;设置初始值01111111;点亮LeD0;将A里面的值循环右移一位;调用延时子程序;循环点亮LeD灯;0.25s的延时程序;2*250=500us;500*250*2=250000us;返回主程序p1口输入/输出oRg0000Loop:moVA,p1cJneA,0FFh,LeDsJmpLoopLeD:moVp0, AAcALLDeLAYmoVR5,#00hLoop1:RRcAJncLoop2IncR5sJmpLoo p1Loop2:moVDpTR,#TAbmoVA,R5;设定起始地址;读p1口;查询是否有按键按下;等待;有键按下,将值读入p0;调用延时子程序;置计数初值=0;输入右移1位;若cy=0,则数码显示;cy=1,则计数加1;跳回继续移位;所查表的首地址赋给DpTR;计数值做偏移量moVp1,#0FFh;p1口置1moVcA,@A+DpTRmoVp2,A;显示相应按键值sJmpLoopTAb:Db60h,0DAh,0F2h,66h;Db0b6h,0beh,0e0h,0Feh;DeLAY:moVR2,#0FAhL1:moVR3,#0FAhL2:DJnZR3,L2DJnZR2,L1ReT;0.25s的延时程序;2*250=500us;500*250*2=250000us;返回主程序七、思考题1、实验1欲改变LeD循环的方向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算方法。
单片机原理及其应用实验报告
用导线将实验箱中的P1.0~P1.7分别与LED发光二极管L1~L8相连。INT0
与负脉冲相连(硬件在实验箱的具体位置可以参照文档最后面的附图)。
程序:
C语言程序
# include<regx51.h>
unsigned char STATE;
unsigned char s0;
/*---延时子程序(有参函数),t=n*10ms---*/
/*---定时器0中断程序---*/
ET0P:DEC A ;A减1
MOV TH0,#4CH
MOV TL0,#00H
RETI
END
实验现象:
可以看到用P1口所接的8路LED表示的二进制数每隔0.5s加1。
P1=P1<<1;
if(P0_1!=0|P0_0!=0)
break;
}
}
if(P0_1==0&P0_0==1)
{
P1=0x80;
for(i=1;i<=8;i++)
{delay(100);
P1=P1>>1;
if(P0_1!=0|P0_0!=1)
break;
}
}
if(P0_1==1&P0_0==0)
{
P1=0x01;
END
实验现象:
可以看到LED1大致亮1s后灭1s,如此循环。
(2)实验内容:
I/O口做输入口,一个I/O口接一个拨动开关,另一个I/O口接一个LED发光二极管,单片机读取开关的状态并通过LED显示出来。
有关说明:P0口是一组漏极开路型双向I/O口,也即地址/数据总线复用口。
对端口写“1”可作为高阻抗输入端用。
i o口扩展实验报告
i o口扩展实验报告I/O口扩展实验报告引言:I/O口扩展是指通过外部设备将计算机的输入输出接口扩展,以满足更多的输入输出需求。
本实验旨在通过实际操作,了解I/O口扩展的原理、应用和实现方法。
一、实验目的本实验的目的是通过使用I/O口扩展模块,实现对计算机的输入输出接口的扩展,掌握I/O口扩展的基本原理和实现方法。
二、实验器材1.计算机2.I/O口扩展模块3.连接线4.外部设备(如LED灯、按钮等)三、实验步骤1.连接I/O口扩展模块与计算机:将I/O口扩展模块通过连接线与计算机的相应接口连接好。
2.编写控制程序:根据实验要求,编写相应的控制程序,以实现对外部设备的控制。
3.运行程序:将编写好的控制程序加载到计算机中,并运行程序。
4.观察实验结果:观察外部设备是否按照预期进行相应的输入输出操作。
四、实验结果与分析通过实验,我们成功地实现了对计算机的输入输出接口的扩展。
通过编写相应的控制程序,我们可以实现对外部设备的控制,例如通过按钮控制LED灯的亮灭。
这样的扩展可以使计算机能够与更多的外部设备进行交互,提供更多的功能和应用。
五、实验原理I/O口扩展的原理是通过外部设备与计算机的输入输出接口进行连接,实现对计算机的输入输出功能的扩展。
通常情况下,计算机的输入输出接口是有限的,而外部设备的种类和数量却是多种多样的。
通过使用I/O口扩展模块,我们可以通过扩展接口的方式,将更多的外部设备与计算机进行连接,实现更多的输入输出功能。
六、实验应用I/O口扩展在实际应用中具有广泛的应用价值。
例如,在工业自动化控制中,通过I/O口扩展可以实现对各种传感器和执行器的控制,从而实现对生产过程的监控和控制。
在智能家居领域,通过I/O口扩展可以实现对家电设备的智能控制,提高生活的便利性和舒适度。
此外,I/O口扩展还可以应用于仓储物流、智能交通等领域,为各种设备和系统的控制提供更多的接口和功能。
七、实验总结通过本次实验,我们对I/O口扩展的原理、应用和实现方法有了更深入的了解。
51单片机-IO口实验报告
《信息技术综合实践》课程实验报告
1.打开KeiluVision2应用程序,新建一个工程,将IO.c文件添加到新建的工程中(将头文件中的头文件中的regx修改为reg),在输出中选择生成相应的HEX文件并保存到相应文件夹中
2.打开KeiluVision2应用程序,新建一个工程,将IO.c文件添加到新建的工程中(将头文件中的头文件中的regx修改为reg),在输出中选择生成相应的HEX文件并保存到相应文件夹中,进行文件的编译和调试。
3.进行实验箱的连线。
4.打开下载器,擦除并将生成的HEX文件调入Flash,然后选择“自动”。
5.通过示波器观察实验现象
5.1 示波器波形图
5.1.1(i的范围是小于500,波形图如下所示)
由图可知:当不修改i的范围时,波形的频率比较高,约在150Hz左右。
5.1.2(将代码中i的范围修改为小于20000,波形图如下所示)
由图可知:将i的范围变大以后,波形的频率变低并且稳定在5Hz左右。
5.2 小灯闪烁视频
(灯亮时的图片)。
i o扩展实验报告
i o扩展实验报告I/O扩展实验报告引言:I/O(Input/Output)扩展是指通过外部设备或接口扩展计算机的输入和输出功能,以满足更多的需求。
在本次实验中,我们将探索I/O扩展的原理和应用,并通过实际操作来验证其效果。
1. 实验目的本次实验的目的是通过使用I/O扩展设备,了解其原理和应用,并掌握相关的操作技巧。
2. 实验材料本次实验所需的材料包括:计算机、I/O扩展设备、连接线等。
3. 实验步骤3.1 连接I/O扩展设备首先,将I/O扩展设备与计算机通过连接线连接好。
确保连接的稳固和正确。
3.2 驱动程序安装根据I/O扩展设备的型号和厂商提供的驱动程序,将其安装到计算机中。
确保驱动程序的版本与计算机系统兼容。
3.3 配置I/O扩展设备打开计算机的设备管理器,找到新安装的I/O扩展设备。
根据设备的说明书,进行相应的配置,如设置输入输出端口、中断等。
3.4 编写测试程序根据实验需求,编写相应的测试程序。
程序应能够通过I/O扩展设备实现输入和输出的功能。
3.5 运行测试程序将编写好的测试程序运行起来,观察I/O扩展设备的反应。
检查输入输出是否正常,是否符合预期。
4. 实验结果与分析通过实验,我们可以得到以下结果和分析:4.1 I/O扩展设备的功能验证通过编写的测试程序,我们可以验证I/O扩展设备的输入输出功能是否正常。
如果输入输出正常,说明I/O扩展设备的配置和驱动程序安装都是正确的。
4.2 I/O扩展设备的应用I/O扩展设备可以广泛应用于各个领域,如工业自动化、家庭娱乐等。
通过扩展计算机的输入输出功能,可以实现更多的操作和控制。
4.3 I/O扩展设备的局限性尽管I/O扩展设备可以扩展计算机的输入输出功能,但其也存在一些局限性。
例如,扩展设备的接口类型和计算机的接口类型必须匹配,否则无法正常连接和使用。
5. 实验总结通过本次实验,我们了解了I/O扩展的原理和应用,并通过实际操作验证了其效果。
I/O扩展设备可以为计算机提供更多的输入输出功能,满足不同领域的需求。
单片机流水灯实验报告
单片机流水灯实验报告电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2 流水灯实验时间: xx-10-21 班级:电信092 姓名:蔡松亮学号: 910706247一、实验目的:进一步熟悉keil仿真软件、proteus仿真软件的使用。
了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理:MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。
每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行I/O端口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
以P1口为例,内部结构如下图所示:图 P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O 口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。
三、实验环境:硬件:PC机,基本配置CPU PII以上,内存2G 软件:keil 2, Proteus 7.5四、实验内容及过程:1、用Proteus画流水灯电路图流程:1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:图 1 打开搜索元器件窗口2)、搜索添加元器件,如图 2 所示:图2 搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。
单片机实验报告(相当不错,有具体实验结果分析哦)
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
单片机实验报告2
《单片机应用系统设计》实验报告院系:仪器科学与工程学院专业:测控技术与仪器实验室:机械楼5楼同组人员:评定成绩:审阅教师:硬件实验一I/O口输入/输出及控制实验Ⅰ、I/O口输入/输出实验一、实验目的1、学习单片机I/O口的使用方法2、学习延时子程序的编写和使用二、实验内容1、I/O口输出:P1口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。
2、I/O口输入/输出:P1.0、P1.1做输入口接两个拨动开关;P1.2、P1.3做输出口,接两个发光二极管。
编写程序读取开关状态,将此状态在发光二极管上显示出来。
编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
三、实验步骤1、I/O口输出硬件连接连线连接孔1 连接孔21 P1.0 L02 P1.1 L13 P1.2 L24 P1.3 L35 P1.4 L46 P1.5 L57 P1.6 L68 P1.7 L7MCS51的P1口循环点灯2、I/O口输入/输出硬件连接连线连接孔1 连接孔21 K4 P1.02 K5 P1.13 P1.2 L44 P1.3 L5MCS51的P1口输入/输出3、实验说明(1)对于MCS51,P1口是准双向口。
它作为输出口时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置“1”,否则读入的数据容易产生错误。
(2)8051延时子程序的延时计算问题,对于程序DELAY:MOV R6, #0HMOV R7, #0HDELAYLOOP:DJNZ R6, DELAYLOOPDJNZ R7, DELAYLOOPRET查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间为:12/12MHZ=1ms,该延时子程序延时:(256X255+2)X2X1us=130ms。
4、分别连接硬件并执行相关程序,记录结果。
四、提高要求修改I/O口输出程序,先1、3、5、7灯亮,延时后2、4、6、8灯亮,交替点亮。
单片机《输入输出口》实验报告
实验一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软件。
java输入输出实验报告
java输入输出实验报告Java输入输出实验报告引言:Java是一种广泛应用的编程语言,其输入输出(Input/Output,简称I/O)功能对于程序的交互和数据处理至关重要。
本实验旨在通过实际操作,探索Java中的输入输出机制,并深入了解其原理和应用。
一、实验目的通过本次实验,我们的目标是:1. 理解Java中的输入输出概念和基本原理;2. 掌握Java中的标准输入输出流(System.in和System.out)的使用;3. 学会使用Java中的文件输入输出流,实现对文件的读写操作;4. 熟悉Java中的异常处理机制,处理输入输出过程中的异常情况。
二、实验环境本次实验所需的环境和工具如下:1. Java开发工具(如Eclipse、IntelliJ IDEA等);2. 一台配置良好的计算机。
三、实验过程1. 标准输入输出流的使用在Java中,标准输入流(System.in)用于接收用户的输入,标准输出流(System.out)用于向屏幕输出信息。
我们可以通过Scanner类来实现对标准输入流的读取,通过System.out.println()方法实现对标准输出流的输出。
下面是一个示例代码:```javaimport java.util.Scanner;public class StandardIOExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入您的姓名:");String name = scanner.nextLine();System.out.println("您好," + name + "!欢迎使用Java输入输出功能。
"); }}```2. 文件输入输出流的使用除了标准输入输出流,Java还提供了FileInputStream和FileOutputStream类,用于实现对文件的读写操作。
单片机实验报告
1.I/O口实验实验目的:掌握单片机通用I/O端口使用方法,掌握I/O数据输入输出方法实验内容:将P1.0-P1.3接发光二极管的LED1-LED4,当开关为全1时LED循环右移,当开关为全0时LED循环左移,当开关为0101时LED以5000ms/次闪烁,其他情况灭。
程序:#include <reg51.h>void delay(){unsignedint i;i= 50000;while(i)i--;}main(){unsigned char a,b;a=0xee;b=0x00;while(1){if(P2==0xff){P1=a;a=(a<<7)+(a>>1);delay();}else if(P2==0x0f){P1=a;a=(a>>7)+(a<<1);delay();}else if(P2==0x5f){if(b==0x00){P1=b;b=0xff;}else {P1=b;b=0x00;}delay();}else{P1=0xff;delay();}}}2.I/O口扩展实验(交通灯)实验目的:学习单片机扩展简单I/O方法;掌握通过总线输入输出的编程方法;掌握扩展总线接口芯片的地址分配方法。
实验内容:初始状态两个路口红灯全亮,5秒后转入状态A状态A:东西方向通车,东西绿,南北红。
5秒后东西绿灭,黄灯闪两秒后进入状态B状态B:南北方向通车,南北绿,东西红。
5秒后东西绿灭,黄灯闪两秒后进入状态A程序:#include<reg51.h>xdata unsigned char cs_273_at_0xffff;const unsigned char Led_const[]={0xbb;0xbe;0xbd;0xbf;0xeb;0xdb;0xfb;};void delay1(){unsignedint i;i=625000;while(i)i--;}void delay2(){unsignedint i;i=50000;while(i)i--;}main(){unsigned char j;while(1){cs_273=Led_const[0];delay1();cs_273=Led_const[1];delay1();for(j=0;j<5;j++){cs_273=Led_const[2];delay2();cs_273=Led_const[3];delay2();}cs_273=Led_const[4];delay1();for(j=0;j<5;j++){cs_273=Led_const[5];delay2();cs_273=Led_const[6];delay2();}}}3.电子琴实验目的:学习单片机发出不同音调的原理及编程方法;进一步熟练定时器的应用;掌握蜂鸣器的使用方法。
实验二_I_O输入输出实验
a b cde f gh(dp) 实验二 I/O 口输入、输出实验一、实验目的1. 学习I/O 口的使用方法。
2. 学习延时子程序、查表程序的编写和使用。
二、实验说明本实验1通过单片机的I/O 口控制LED 的亮灭,从而观察I/O 口的输出。
实验2通过单片机的I/O 口接受按键动作信息,然后通过LED 和数码管指示。
通过本实验学生可以掌握单片机I/O 口输入输出的控制方法,同时也可以掌握单片机延时子程序、查表程序的编写和调试方法。
要求预先编写好程序并通过伟福仿真软件调试。
三、实验内容1、P0口做输出口,接八只LED (L1—L8),编写程序,使LED 循环点亮,间隔0.5秒。
2、P1.0--P1.7作输入口接拨动开关K1—K8;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,同时将开关编号(1—8)显示在共阴极LED 数码管上。
编程时应注意P1作为输入口时应先置1,才能正确读入值。
四、实验电路连线P0.0 ---- L1 P1.0 ----- K1 P0.1 ---- L2 P1.1 ----- K2 P0.2 ---- L3 P1.2 ----- K3 P0.3 ---- L4 P1.3 ----- K4 P0.4 ---- L5 P1.4 ----- K5 P0.5 ---- L6 P1.5 ----- K6P0.6 ---- L7 P1.6 ----- K7 P0.7 ---- L8 P1.7 ----- K8实验1:P0口循环点灯 实验2:P1、P0口输入输出a b c d e f g h(dp)P2.0P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7实验2: 共阴极LED 数码管各段与I/O 的连接五、实验仪器和设备PC 机、WA VE 软件、仿真器+仿真头、实验板、电源等。
六、参考程序框图P1口输入/输出框图七、思考题1、实验1欲改变LED循环的方向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名学号
时间地点
实验题目I/O口输入、输出实验
一、实验目的
1. 学习I/O口的使用方法。
2. 学习延时子程序、查表程序的编写和使用。
二、实验仪器和设备
PC机、WA VE软件、仿真器+仿真头、实验板、电源等。
三、实验说明
本实验1通过单片机的I/O口控制LED的亮灭,从而观察I/O口的输出。
实验2通过单片机的I/O口接受按键动作信息,然后通过LED和数码管指示。
通过本实验学生可以掌握单片机I/O口输入输出的控制方法,同时也可以掌握单片机延时子程序、查表程序的编写和调试方法。
要求预先编写好程序并通过伟福仿真软件调试。
四、实验内容
1、P0口做输出口,接八只LED,编写程序,使LED循环点亮,间隔0.5秒。
2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,同时将开关编号(0—7)显示在LED数码管上。
编程时应注意P1作为输入口时应先置1,才能正确读入值。
五、实验电路连线
P0.0 ---- LED0 P1.0 ----- S0
P0.1 ---- LED1 P1.1 ----- S1
P0.2 ---- LED2 P1.2 ----- S2
P0.3 ---- LED3 P1.3 ------ S3
P0.4 ---- LED4 P1.4 ------ S4
P0.5 ---- LED5 P1.5 ------ S5
P0.6 ---- LED6 P1.6 ------ S7
P0.7 ---- LED7 P1.7 ------ S8
实验1:P0口循环点灯实验2:P1、P0口输入输出
a b c
d
e
f g
h(dp)
a b c d e f g h(dp)
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
实验2: LED 数码管各段与I/O 的连接
六、程序框图及程序
P0口循环点灯
ORG 0000H
;设定程序汇编起始地址 MOV A,#07FH ;设置初始值01111111 LP: MOV P0,A ;点亮LED0
RR A ;将A 里面的值循环右移一位 LCALL DELAY ;调用延时子程序 LCALL DELAY SJMP LP ;循环点亮LED 灯
DELAY: MOV R2,#0FAH ;0.25S 的延时程序 L1: MOV R3,#0FAH L2: DJNZ R3,L2 ;2*250=500us
DJNZ R2,L1 ;500*250*2=250000us RET ;返回主程序
P1口输入/输出
ORG 0000 ;设定起始地址
MOV P1,#0FFH ;P1口置1
LOOP: MOV A,P1 ;读P1口
CJNE A,0FFH,LED ;查询是否有按键按下
SJMP LOOP ;等待
LED: MOV P0, A ;有键按下,将值读入P0
ACALL DELAY ;调用延时子程序
MOV R5 ,#00H ;置计数初值=0
LOOP1: RRC A ;输入右移1位
JNC LOOP2 ;若Cy=0,则数码显示
INC R5 ;Cy=1,则计数加1
SJMP LOOP1 ;跳回继续移位
LOOP2: MOV DPTR,#TAB ;所查表的首地址赋给DPTR
MOV A,R5 ;计数值做偏移量
MOVC A,@A+DPTR
MOV P2,A ;显示相应按键值
SJMP LOOP
TAB:DB 60H,0DAH,0F2H,66H ;
DB 0B6H,0BEH,0E0H,0FEH ;
DELAY: MOV R2,#0FAH ;0.25S的延时程序
L1: MOV R3,#0FAH
L2: DJNZ R3,L2 ;2*250=500us
DJNZ R2,L1 ;500*250*2=250000us
RET ;返回主程序
七、思考题
1、实验1欲改变LED循环的方向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算方法。
答:改变LED循环的方向仅需要将(RR A)改成(RL A)即可。
循环的时间间隔由单条语句执行的时间和执行次数共同决定。
DELAY: ;1S的延时程序
DEL: MOV R7,#20
DEL1: MOV R6,#246
DEL2: MOV R5,#100
DEL3:DJNZ R5,DEL3 ;2*100=200μS
DJNZ R6,DEL2 ;(200+1+2)*246=49938μS
DJNZ R7,DEL1 ;(49938+1+2)*20=998820us
2、51单片机I/O口的输入/输出逻辑电平是多少?其负载能力有多大?若用I/O 口控制一个继电器(工作电压12V,工作电流100mA)电路该如何设计?
答:51单片机I/O口的输入/输出逻辑电平是5V。
若要用I/O口控制一个继电器,可串接一个100欧的降压电阻实现驱动。