输入输出流实验

合集下载

java输入输出流实验报告总结

java输入输出流实验报告总结

java输入输出流实验报告总结Java输入输出流是Java中非常重要的概念,也是Java程序设计的基础。

在Java 程序中,输入输出流用于处理与设备之间的数据传输,例如键盘、鼠标、文件等。

Java的输入输出流主要包含两种类型:字节流和字符流。

字节流以字节为最小读写单位,而字符流以字符为最小读写单位。

Java的输入流有很多种类型,例如:InputStream、ByteArrayInputStream、FileInputStream等。

这些输入流的共同特点是读取外部数据到程序中。

Java的输出流也有多种类型,例如:OutputStream、ByteArrayOutputStream、FileOutputStream等。

这些输出流的共同特点是将程序中的数据输出到外部。

下面将以实验报告的形式进行总结,详细介绍Java输入输出流的原理和使用方法。

实验一:字节流输入输出1. 实验目的:掌握字节流输入输出的基本使用方法。

2. 实验内容:编写一个程序,实现从文件中读取数据,然后将数据输出到另一个文件中。

3. 实验步骤:a. 创建一个输入流对象,用于读取原始文件的数据。

b. 创建一个输出流对象,用于将读取到的数据输出到目标文件中。

c. 循环读取输入流中的数据,直到读取到文件末尾。

d. 将读取到的数据写入输出流中。

e. 关闭输入流和输出流。

4. 实验结果:成功读取原始文件中的数据,并将数据输出到目标文件中。

实验二:字符流输入输出1. 实验目的:掌握字符流输入输出的基本使用方法。

2. 实验内容:编写一个程序,实现从键盘输入文字,然后将文字输出到屏幕上。

3. 实验步骤:a. 创建一个字符输入流对象,用于读取键盘输入的文字。

b. 创建一个字符输出流对象,用于将读取到的文字输出到屏幕上。

c. 循环读取输入流中的文字,直到读取到换行符。

d. 将读取到的文字写入输出流中。

e. 关闭输入流和输出流。

4. 实验结果:成功从键盘输入文字,并将文字输出到屏幕上。

实验一 P1口输入、输出实验

实验一 P1口输入、输出实验

实验一P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。

二.实验目的1.学习P1口的使用方法。

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

三. 实验电路及连线实验一时,P1.0-P1.7接L0-L7。

实验二时,P1.0-P1.7接K0-K7,PO0-PO7接L0-L7。

CS273接8300H。

四.实验说明1.P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对于程序DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS五.实验框图程序框图:TP1A.ASM主程序框图TP1B.ASM主程序框图六.附加实验内容1、用P1口的P1.0-P1.3作输出口接4个发光二极管,P1.4-P1.7作输入口接4个拨动开关,将开关的状态读进来并在发光二极管上显示。

七.实验报告要求1、书写实验目的、实验内容、实验连线、以及实验中的观察结果;2、画出流程图、编写实验程序,写出实验的心得体会。

io流实验报告心得

io流实验报告心得

io流实验报告心得在进行io流实验的过程中,我学到了很多关于输入输出流的知识,也对其使用方法有了更深入的了解。

通过这次实验,我不仅巩固了之前学到的知识,还学到了一些新的技巧和注意事项。

我了解到io流是用于处理输入输出的一种机制,它把数据从一个地方传输到另一个地方。

在实验中,我通过使用FileInputStream和FileOutputStream类来创建输入输出流对象,并使用它们来读取和写入数据。

通过使用这些类,我可以操作各种类型的文件,包括文本文件和二进制文件。

在实验的过程中,我发现输入输出流的使用是非常灵活的。

无论是读取文件还是写入文件,都可以根据具体的需求选择合适的方法和参数。

例如,通过使用BufferedReader类,我可以一次读取一行文本,而不是逐个字符读取。

这样可以提高效率,并且使代码更加简洁易读。

我还学到了一些关于异常处理的知识。

在实验中,我发现在使用io 流时,很容易出现各种异常,例如文件找不到、文件权限不足等。

为了避免程序崩溃,我学会了使用try-catch语句来捕获和处理这些异常。

通过使用这些语句,我可以在出现异常时进行相应的处理,例如输出错误信息或者进行重试操作。

在实验中,我还学到了关于流的关闭操作。

在使用io流时,一定要记得在使用完毕后关闭流,以释放系统资源。

我学会了使用try-finally或try-with-resources语句来确保流的正确关闭。

这样可以避免资源泄漏的问题,同时也可以提高程序的性能。

通过这次实验,我还了解到了一些关于文件的操作。

在实验中,我学会了如何创建文件和文件夹,如何遍历文件夹中的文件,以及如何删除文件和文件夹。

这些知识对于日常的文件操作非常有用,可以帮助我们更好地管理和处理文件。

总的来说,通过这次io流实验,我对输入输出流有了更深入的了解,学到了一些新的技巧和注意事项。

我相信这些知识将在我的编程生涯中发挥重要的作用。

同时,这次实验也让我更加熟悉了Java编程语言,提高了我的编程能力。

数字量输入输出实验

数字量输入输出实验

数字量输入输出实验一、实验目的了解P1口作为输入输出方式使用时,CPU 对P1口的操作方式。

二、实验环境1、软件环境要求Windows XP操作系统以及Keil C51 单片机集成开发环境。

2、硬件环境要求电脑一台,TD-51单片机系统,开关及LED显示单元,单次脉冲单元。

三、实验内容编写实验程序,将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。

提高部分:LED灯控制要求:通过KK1实现LED灯工作方式即时控制,完成LED灯左循环、右循环、间隔闪烁功能。

四、实验分析P1口是8位准双向口,每一位均可独立定义为输入输出,输入位置1。

通过A的左/右移位及赋值55H、0AAH,再将A值送入P1,可实现LED灯左循环、右循环、间隔闪烁功能。

五、实验步骤(一)基础实验程序及实验程序流程图如下。

实验程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV P1,#0F0H ;将开关状态送入P1高位MOV A,P1 ;送入ASWAP A ;高低位互换MOV P1,A ;将开关状态送入P1低位JMP MAIN ;循环SJMP $END程序流程图:图1 LED开关控制显示功能图图2 实验接线图实验步骤:1. 按图2所示,连接实验电路图,图中“圆圈”表示需要通过排线连接;2. 编写实验程序,编译链接无误后进入调试状态;3. 运行实验程序,观察实验现象,验证程序正确性;4. 按复位按键,结束程序运行,退出调试状态;5. 自行设计实验,验证单片机其它IO 口的使用。

(二)提高实验程序及实验程序流程图如下。

实验程序:实验程序流程图:ORG 0000HLJMP MAINORG 0100HMAIN:KT: ;检查KK1SETB P3.3JNB P3.3,KTCLR P3.3LL1: ;左循环MOV A,#01HX1:MOV P1,ACALL DELAYRL ASETB P3.3JNB P3.3,X1CLR P3.3LL2: ;右循环MOV A,#80HX2:MOV P1,ACALL DELAYRR ASETB P3.3JNB P3.3,X2CLR P3.3LL3: ;间隔闪烁MOV A,#55HMOV P1,ACALL DELAYMOV A,#0AAHMOV P1,ACALL DELAYSETB P3.3JNB P3.3,LL3CLR P3.3JMP KTDELAY: ;延时子程序MOV R2,#00H图3 实验流程图MOV R3,#00HABC:DJNZ R2,ABCDJNZ R3,ABCRETSJMP $END实验步骤:(1)按图4连接实验电路;(2)编写实验程序,编译、链接无误后启动调试;(3)运行实验程序,每按一次KK1+,观察实验现象;(4)验证程序功能,实验结束按复位按键退出调试。

实验一 顺序结构与输入输出

实验一 顺序结构与输入输出
一般格式:printf(“格式串”,[表达式1,表达式2,……,表达式n]);
2、掌握C++中的基本输入/输出
掌握:1)cout代表c++的输出流。
cin代表c++的输入流。
它们都是在头文件“iostream”中定义。
2)"cout"必须与"<<"一起使用,“<<”起到插入的作用。
在一条语句中可以多次使用“<<”输出多个数据。
如:cout<<a<<b<<endl;(输出a,b的值。)
3)用“cin”实现输入,必须与“>>”一同使用,“>>”起到提取的作用。
同样的在一条语句中可以多次使用“>>”输入多个数据。
如:cin>>a>>b;(输入a,b的值。)
4)输入输出是注意不能写成“cout<<a,b<<endl;”,"cin>>a,b;"
main()
{
char a,b;
int c;
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
}
A)1 2 34B)1, 2, 34
C)’1’,’2’,34D)12 34
问题2在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示12 34,则应修改程序中的哪条语句?怎样修改?
上机前编写好以下程序(1-4为填空,5为程序改错)。上机输入和调试自己所编的程序,检查实验结果是否正确,上机结束后,整理实验报告,并把实验报告电子版上传到ftp://192.168.80.204服务器上。

单片机原理及应用实验二报告

单片机原理及应用实验二报告

单片机原理及应用实验二报告实验二:单片机IO口的输入输出实验一、实验目的:1.理解并掌握单片机IO口的输入输出原理;2.掌握基础的输入输出编程技巧;3.熟悉单片机实验的基本流程和实验报告格式。

二、实验器材:1.STM32F103C8T6开发板2.LED灯3.电阻(220Ω)4.面包板、杜邦线等。

三、实验原理:单片机的IO口是实现与外部器件进行通信的重要接口,通过编程,我们可以控制IO口的状态(低电平或高电平)来实现对外部器件的控制或检测。

IO口的输入输出原理主要有两种:1.三态输出方式:通过设置IO口的DDR寄存器来将IO口设置为输出模式(推挽输出),并通过设置IO口的ODR寄存器来控制IO口的输出状态为低电平或高电平;2.上拉输入方式:通过设置IO口的DDR寄存器来将IO口设置为输入模式,同时设置IO口的CR寄存器的PUPD位为上拉使能,通过读取IO口的IDR寄存器可以获取IO口的输入状态。

四、实验步骤:1.连接电路:将STM32F103C8T6开发板的VDD和VSS(即5V和GND)分别连接到面包板的3V3和GND,将LED的阳极(长脚)连接到STM32F103C8T6开发板的PA0引脚,将LED的阴极(短脚)通过一个220Ω的电阻连接到GND。

2. 打开Keil uVision5软件,创建一个新的工程,并选择适合的芯片型号(STM32F103C8T6)。

3.编写代码实现将PA0引脚设置为输出模式,并控制LED的亮灭。

五、实验代码:```c#include "stm32f10x.h"void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);int main(void)GPIO_Configuration(;while (1)GPIO_SetBits(GPIOA, GPIO_Pin_0); // 点亮LEDGPIO_ResetBits(GPIOA, GPIO_Pin_0); // 关闭LED}```六、实验结果与分析:七、实验心得:本次实验主要学习了单片机IO口的输入输出原理,了解了三态输出方式和上拉输入方式,并通过实际编写代码的方式,在STM32F103C8T6开发板上实现了控制LED的亮灭。

采用全数字化视频和声音发送接口HDMI的视频流输入输出实验

采用全数字化视频和声音发送接口HDMI的视频流输入输出实验

采用全数字化视频和声音发送接口HDMI的视频流输入输出实验本实验基于ECE-CV K7-75T FPGA开发板实现。

软件使用Vivado 2018.1。

基于HDMI的视频流输入输出实验1 HDMI概述HDMI高清多媒体界面(英语:High Definition MulTImedia Interface)是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号。

HDMI可用于机顶盒、DVD播放机、个人计算机、电视游乐器、综合扩大机、数字音响与电视机等设备。

HDMI可以同时发送音频和视频信号,由于音频和视频信号采用同一条线材,大大简化系统线路的安装难度。

图1 HDMI硬件实物如图1,红框为ECE-CV板的HDMI输入输出接口,最高支持到1080P@60HZ的图像输入和输出功能。

图2 HDMI_IN 和HDMI_OUT原理图如图2所示为ECE底板的HDMI_IN和HDMI_OUT的原理图,下面对ECE-EDA和ECE-CV 的HDMI接口的引脚介绍如表1所示:表1 ECE-CV板HDMI接口引脚介绍信号名称Kintex7引脚标号电平备注HDMI_RX0_PR25TMDS_33HDMI接收数据0正HDMI_RX1_PT24TMDS_33HDMI接收数据1正HDMI_RX2_PT22TMDS_33HDMI接收数据2正HDMI_RX_CLK_PN21TMDS_33HDMI接收时钟正HDMI_RX_CECP24LVCMOS33HDMI遥控器信号HDMI_RX_HPDN24LVCMOS33HDMI 热插拔检测信号HDMI_RX_SDAM25LVCMOS33HDMI IIC数据HDMI_RX_SCLL25LVCMOS33HDMI IIC时钟HDMI_TX0_PM21TMDS_33HDMI发送数。

i0口输入输出实验报告

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秒的延时程序并说明计算方法。

实验六:基本输入输出实验

实验六:基本输入输出实验

实验六:P3.0口输入、P1.0口输出实验一、实验目的:1、掌握P3口、P1口的简单使用。

2、了解并掌握80C51单片机I/O口的基本输入、输出功能。

二、实验器材:1、计算机一台2、Keil Uvision4软件一套三、实验内容:1、P1作为输出口,接8个发光二极管,P3.0口输入一脉冲,控制P1口按16进制加一方式点亮发光二极管。

2、P0作为输出口,接8个发光二极管,P1口作为输入口,接8个开关,通过任意组合开关的输入状态,得到不同的输出状态。

四、实验原理:1、由80C51组成的单片机系统在通常情况下,P0口分时复用作为低8位地址、数据总线,P2口提供高8位地址,P3口用作第二功能,只有P1口通常用作I/O口。

P1口是8位准双向口,它的每一位都可独立的定义为输入或输出,因此,既可以作为8位的并行I/O口,也可作为8位的输入输出端。

2、当某一口工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。

五、程序框图:(b)实验2参考流程图(a)实验1参考流程图六、实验步骤:1、打开Keil程序,执行菜单命令“Project”“New Project”,创建一个项目(基本输入输出),并选择单片机型号为AT89C51 。

2、执行菜单命令“File”“New”创建文件,输入源程序,保存为“基本输入输出.ASM”。

在“Project”栏的文件项目管理窗口中右击文件组,选择“Add Files to Group ‘Source Group1’”将源程序“基本输入输出.ASM”添加到项目中。

3、执行菜单命令“Project”“Options for Target ‘Target1’”,在弹出的对话框中选择“Output”选项卡,选中“Creat HEX File”。

4、执行菜单命令“Project”。

“Build Target”,编译源程序,如果编译成功,则在“Output Window”窗口中显示没有错误,并创建了“基本输入输出.HEX”文件;如果有错误,双击该窗口中的错误信息,则在源程序窗口中指示错误语句。

实验一 开关量输入输出实验

实验一  开关量输入输出实验

实验一开关量输入输出实验
一、实验要求
1.利用ATC89C51单片机的P1口作开关量输出口,连接8个LED发光二极管;
2.在单步模式(debug菜单下的step over,F10)下,循环点亮这8个LED管(流水灯);
3.画出AT89C51实现上述功能的完整电路图,包括单片机电源、复位电路、晶振电路和控制电路。

4.完成全部程序和电路调试工作。

5. 先在proteus下运行程序,有时间再尝试用keil 与proteus联调。

二、实验目的
1.掌握AT89C51单片机的最基本电路的设计;
2.了解单片机I/O端口的使用方法;
三、设计提示
1. 硬件电路图
可参考switch controll.DSN,请删除无关电路。

2. 程序框架
start:
mov r0,0
again:
….. ;从tab表中获取相应数值(请补充相应指令)
mov p1,a
inc r0 ;r0+=1
jmp again
tab: db 01h,02h,04h,08h,10h,20h,40h,80h; 数值表(具体数值可自行修改)
feh,fdh,fbh,f7h,efh,dfh,bfh,7fh
(db是伪指令,定义一个byte的内容单元,上述的语句是定义了包含8个元素的数组,每个元素占据1个byte)。

end
四、主要元件。

P1口输入输出实验

P1口输入输出实验

实验一 P1口输入输出一.实验目的(1)进一步熟悉51单片机外部引脚线路连接;(2)验证常用的51指令;(3)学习简单的编程方法;(4)掌握单片机全系统调试的过程及方法;(5)学习P1口的有关功能作用以及使用方法。

二.实验说明P1口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。

作为输出口时,不需要在片外接上拉电阻,P1口“读引脚”输入时,必须先向锁存器写1;三.实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来四.实验原理以实验机上74LS273做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

循环时间由定时器控制。

五.实验流程六.实验源程序ORG 0000H ;程序入口AJMP RIGHT ;跳向标号RIGHT处ORG 0030H ;程序RIGHT: MOV R0,#08H ;置移位次数MOV A,#0FFH ;置全1CLR C;将Cy清零RIGHT1: RRC A ;由于进位Cy=0,所以带进位的循环右移会出现灯的亮灭MOV P1,A ;输出至P1口,控制LEDCALL DELAY ;调用延时子程序DJNZ R0,RIGHT1 ;R0-1,不为0则转移到标号RIGHT1处AJMP RIGHT ;绝对转移至RIGHT处;***************************************************************************** ; /*延时子程序*/;***************************************************************************** ;使用不停的跳转来实现延时,DELAY: MOV R5,#10DELAY1: MOV R6,#50DELAY2: MOV R7,#250DJNZ R7,$DJNZ R6,DELAY2 ;R6-1,不为0则转移至DELAY2,执行2*200*10usDJNZ R5,DELAY1 ;R5-1,不为0则转移至DELAY1,执行2*10usRET ;退出子程序执行END七.硬件设计(1)P1口某一I/O口线反转输出电路(2) P1口输出电路八.实验连接图九.实验原理图:十.仿真器的设置步骤:仿真模式设置:8752 模式。

数字信号的输入输出实验报告

数字信号的输入输出实验报告
第2页共2页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级姓名学号
实验名称数字信号的输入输出实验日期2012年11月20日
1、实验用。
2、学会使用multiflex2-avr控制器的数字信号的输入输出。
二、实验要求
使用1个按键控制4个LED灯交替闪烁,当按键没有按下时,4个LED灯常亮;当按键按下时,4个LED灯1,2,3,4交替闪烁,闪烁时间间隔为1S。
3、连接调试器,选择下载模式,编译和下载程序。
4、观察实验结果,修改错误程序,直到满足实验要求。
五、实验结果
当按键没有按下时,4个LED灯常亮;当按键按下时,4个LED灯交替闪烁,闪烁时间间隔是1S。
六、实验小结
通过这次实验,让我学会了用Northstar图形化开发环境的编程,让我对硬件有了更深刻的了解。同时也让我知道了同学之间合作的重要性。希望自己能有更大一步的提高。
3、实验仪器
Multiflex2-AVR控制器1个直流稳压电源1个
多功能调试器1个连接PC机的USB线1条
计算机1台按键1个
LED灯4个
四、实验步骤
1、新建NORthstar文档,进行相应的工程设置。
2、按照下图编程
第1页共2页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级姓名学号
实验名称数字信号的输入输出实验日期2012年11月20日

java输入输出流实验报告总结】

java输入输出流实验报告总结】

java输入输出流实验报告总结】Java输入输出流实验报告总结在本次实验中,我们学习了Java的输入输出流的概念和用法。

输入输出流是Java中用于处理输入和输出操作的工具。

通过输入流,我们可以将外部数据输入到程序中进行处理,通过输出流,我们可以将程序中的数据输出到外部文件或设备上。

在本次实验中,我们通过几个具体的示例来探索输入输出流的不同用法和特性,以期更好地理解和掌握它们的使用。

首先,我们学习了如何使用FileInputStream和FileOutputStream这两个类来进行字节流的输入和输出操作。

这两个类分别用于从指定文件中读取字节数据和将字节数据写入到指定文件中。

通过这两个类,我们可以实现文件的拷贝、移动、创建等功能。

同时,我们还了解了如何使用BufferedInputStream和BufferedOutputStream这两个类来提高读写效率。

这两个类可以通过缓存数据来减少对底层系统的IO操作次数,从而提高读写速度。

接下来,我们学习了如何使用FileReader和FileWriter这两个类进行字符流的输入和输出操作。

这两个类与字节流的输入输出类似,但它们处理的是字符数据。

通过这两个类,我们可以读取和写入文本文件中的字符数据。

我们还了解了字符编码和字符集的概念,并学习了如何使用InputStreamReader和OutputStreamWriter来进行字符流和字节流之间的转换。

除了字节流和字符流,我们还学习了对象流的使用。

对象流可以将Java 对象直接写入到文件中,也可以从文件中读取Java对象。

这在处理一些复杂的对象数据时非常有用。

我们通过使用ObjectInputStream和ObjectOutputStream这两个类,实现了对象的读写操作。

需要注意的是,被写入和读取的对象必须实现Serializable接口,否则会抛出NotSerializableException异常。

在实验过程中,我们还探索了如何使用标准输入输出流。

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点亮,可以实现灯的左右移。

实验1输入输出实验

实验1输入输出实验

实验1 输入输出实验一、实验目的1. 掌握ARM的通用输入输出接口工作原理。

2. 学习编程实现GPIO的方法,掌握I/0的功能复用,并能熟练的配置。

二、实验内容1. 通过按键输入开关量。

2. 在实验箱的主板上点亮LED灯LED1、LED2和LED3(分别接GPC5、GPC6和GPC7),并轮流闪烁。

三、预备知识1. 用EW ARM集成开发环境,编写和调试程序的基本过程。

2. ARM应用程序的框架结构。

3. 了解GPIO。

四、实验设备及工具硬件:ARM嵌入式开发平台,PC机,JTAG仿真器。

软件:操作系统WindowsXP/7,EWARM集成开发环境,仿真器驱动程序,超级终端通讯程序。

五、实验原理及说明编写程序,当用户在实验箱上按下“INTKEY”键时,在中断服务子程序中将相关信息打印到串口中,并显示在超级终端上。

1. 上拉电阻和下拉电阻上拉就是将不确定的信号通过一个电阻箝位在高电平,电阻同时起限流作用,下拉同理;上拉是对器件注入电流,下拉是输出电流。

1)一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。

2)数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定。

3)I/O端口驱动有的可以设置,有的不可以设置,有的是内置,有的是需要外接。

I/O 端口的输出通过一个电阻和电源连接在一起的时候,该电阻成为上拉电阻,也就是说,如果该端口正常时为高电平。

通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平。

当一个接有上拉电阻的端口设为输入状态时,它的常态就为高电平,用于检测低电平的输入。

4)上拉电阻是用来解决总线驱动能力不足时提供电流的,是拉电流;下拉电阻是用来吸收电流的,也就是我们通常所说的灌电流。

5)接电组就是为了防止输入端悬空。

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

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

实验一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软件。

数字电路实验:常用数字逻辑门输入输出特性测试

数字电路实验:常用数字逻辑门输入输出特性测试

五、实验任务
1.反相器电压传输特性的测试 1)用示波器实测电源电压VDD 【测试提示】:
用数字示波器测试直流信号电压值时,应选择参数平 均值(Vavg),而不是峰峰值(Vpp)或幅值(Vamp),否则 测到的只是直流的纹波。
示波器垂直因数不宜过大或过小。垂直因数过大可能 影响测试精度,垂直因数过小当电压值变化时波形容易超出 屏幕显示范围,不便观察。一般设置为(1V—2对输出的影响测试
• 按图3.3.7连接电路,输 入加入1KHz TTL信号,
测试输出波形的上升时 间(trise)。在输出和地 之间加入0.01μ电容,
测试此时输出波形的上 升时间(trise)。比较两 次测量结果有何不同并 加以分析。
0.01μF
思考题
• 本实验中你实测的输出逻辑电平的范围是 多少?
辑电平未定义区域。造成电路工 作不正常。
5V电源下 CMOS非门电压传输特性
VTH=VDD/2
• 影响 TTL门电路工作速度的主要因素是电路内部管子的开 关特性、电路结构及内部的各电阻阻数值。电阻数值越大, 工作速度越低。管子的开关时间越长,门的工作速度越低。
• 影响CMOS电路工作速度的主要因素在于电路的外部,即 负载电容CL。CL是主要影响器件工作速度的原因,由CL 所决定的影响CMOS门的传输延时约为几十纳秒。
门的输出电压VO 随输入电压Vi 而变化的曲线VO=f(Vi)
称为门的电压传输特性。
VOUT
VTH
• 当负载电路所需驱动电流增大时, 5.0 输出特性就不像理论值那样理想
了,逻辑门的输出电压值与规定
值之间有较明显的差异。
• 当负载电路所需驱动电流过大时, 逻辑门的输出电压值就会落在逻

输入输出流软件课程设计

输入输出流软件课程设计

输入输出流软件课程设计一、课程目标知识目标:1. 让学生理解输入输出流的基本概念,掌握其在软件开发中的应用;2. 使学生掌握输入输出流的常用类及方法,并能正确运用;3. 帮助学生了解文件操作的基本原理,学会使用输入输出流进行文件读写。

技能目标:1. 培养学生运用输入输出流进行数据传输和文件操作的能力;2. 提高学生分析问题、解决问题的能力,能够运用所学知识设计简单的输入输出流软件;3. 培养学生的团队协作能力,学会与他人共同完成课程设计。

情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发学习动力;2. 培养学生严谨、认真的学习态度,养成良好的编程习惯;3. 培养学生面对困难时的耐心和毅力,提高克服问题的信心。

本课程针对高年级学生,在教学过程中注重理论与实践相结合,充分考虑学生的认知特点和能力水平。

课程目标明确,将知识、技能和情感态度价值观三者有机结合,旨在帮助学生掌握输入输出流的核心知识,提高实际编程能力,培养良好的学习态度和价值观。

通过本课程的学习,使学生能够独立完成简单的输入输出流软件设计,为后续专业课程打下坚实基础。

二、教学内容1. 输入输出流基本概念:介绍输入输出流的概念、作用及其在软件开发中的应用场景,让学生从宏观上了解输入输出流的重要性。

2. 输入输出流常用类及方法:详细讲解InputStream、OutputStream、Reader、Writer等常用类的功能及其方法,并通过实例演示其用法。

3. 文件操作:讲解文件的基本概念,如何使用输入输出流进行文件的创建、读取、写入和删除等操作,以及文件路径和文件编码的相关知识。

4. 输入输出流应用实例:通过案例教学,让学生学会在实际项目中运用输入输出流,如实现文件复制、文本加密解密等功能。

5. 课程设计:指导学生进行输入输出流软件的设计与实现,培养学生独立分析问题、解决问题的能力。

教学内容依据课程目标进行选择和组织,与课本紧密关联。

c++输入输出流实验报告

c++输入输出流实验报告

实验四输入输出流实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:代码分析:1)在输入时调用getline()以换行符作为输入姓名时的结束标志,已达到输入空格的目的2)输出时采用resetiosflags(ios::right)实现结束向左对齐,用setw(8)实现输出域宽为8,使用一系列的格式控制字符来实现输出格式的控制。

2. 重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。

商品的信息由编号、商品名和价格。

假如商品类Merchandise的框架如下:class merchandise{public:Merchandiss();~Merchandiss();friend istream& operator>>(istream& in,Merchandiss& s);friend ostream&operator<<(ostream& out,Merchandiss& s);private:int no;char *name;double price;};要求实现该类,并编写以下的main函数对该类进行操作。

int main(){ Merchandise mer;cin>>mer;cout<<mer;return 0;}实验代码:#include<iostream>using namespace std;class merchandise{out<<s.no<<' '<<<<' '<<s.price<<endl;return out;}int main(){merchandise mer;cin>>mer;cout<<mer;return 0;}实验结果:实验分析:先定义一个商品的类,构造函数定义为无参函数在函数体中将name置为空,其他为0.在重载>>时使用getline函数,输入name以’\n’作为结束标记重载<<时直接输出。

输入输出函数的实训报告

输入输出函数的实训报告

一、实训目的通过本次实训,使学生掌握C语言输入输出函数的使用方法,熟悉标准输入输出流,能够编写简单的C语言程序实现数据的输入和输出。

二、实训环境计算机、C语言编译环境(如Visual Studio、Code::Blocks等)三、实训原理C语言中的输入输出函数主要涉及标准输入输出流,包括标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。

标准输入输出流是C语言提供的一种特殊的文件流,通常与键盘和屏幕相关联。

1. 标准输入(stdin):用于从键盘读取数据。

2. 标准输出(stdout):用于将数据输出到屏幕。

3. 标准错误输出(stderr):用于输出程序错误信息。

常用的输入输出函数如下:1. scanf():从标准输入读取数据,并按照指定的格式进行格式化。

2. printf():将格式化后的数据输出到标准输出。

3. getchar():从标准输入读取一个字符。

4. putchar():将一个字符输出到标准输出。

四、实训过程1. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取一个整数和一个浮点数,并分别赋值给整型变量和浮点型变量。

(2)使用printf()函数将读取的整数和浮点数输出到屏幕。

(3)使用getchar()函数从键盘读取一个字符,并使用putchar()函数将读取的字符输出到屏幕。

2. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取一个字符串,并存储在字符数组中。

(2)使用printf()函数将读取的字符串输出到屏幕。

3. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取两个整数,并计算它们的和。

(2)使用printf()函数将计算结果输出到屏幕。

五、实训结果1. 编写程序实现以下功能:```#include <stdio.h>int main() {int num;float fnum;printf("请输入一个整数:");scanf("%d", &num);printf("请输入一个浮点数:");scanf("%f", &fnum);printf("整数:%d\n浮点数:%f\n", num, fnum);return 0;}```2. 编写程序实现以下功能:```#include <stdio.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);printf("字符串:%s\n", str);return 0;}```3. 编写程序实现以下功能:```#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("和:%d\n", sum);return 0;}```六、实训总结1. 通过本次实训,掌握了C语言输入输出函数的使用方法,熟悉了标准输入输出流。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学
实验报告
课程名称: Java
实验序号:上机实践9 实验名称:统计英文单词&读取Zip文件
班级:计算机3 姓名:卢志敏
同组人:实验日期: 2008 年 12 月 29 日
教师签字:
一、实验目的
掌握RandomAccessFile类的使用。

掌握ZipInputStream流的使用。

二、实验环境
WinXp SP 3
三、实验要求
实验1
使用RandomAccessFile流统计一篇英文中的单词,要求如下:
(1)一共出现了多少个英文单词。

(2)有多少个互不相同的单词。

(3)给出每个单词出现的频率,并将这些单词按频率大小顺序显示在一个Text--Area中。

实验2
读取,并将中含有的文件重新存放到当前目录中的book文件夹中,即将的内容解压到book文件夹中。

四、实验步骤和内容
实验1
源代码:
import .*;
import class WordStatistic
{ Vector allWords,noSameWord;
WordStatistic()
{ allWords=new Vector();
noSameWord=new Vector();
}
public void wordStatistic(File file)
{try { RandomAccessFile inOne=new RandomAccessFile(file,"rw");;
import class StatisticFrame extends Frame implements ActionListener
{ WordStatistic statistic;
TextArea showMessage;
Button openFile;
FileDialog openFileDialog;
Vector allWord,noSameWord;
public StatisticFrame()
{ statistic=new WordStatistic();
showMessage=new TextArea();
openFile=new Button("Open File");
(this);
add(openFile,;
add(showMessage,;
openFileDialog=new FileDialog(this,"打开文件对话框",;
allWord=new Vector();
noSameWord=new Vector();
setSize(350,300);
setVisible(true);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ (0);
}
});
validate();
}
public void actionPerformed(ActionEvent e)
{ ();
();
(null);
(true);
String fileName=();
if(fileName!=null)
{ (new File(fileName));
allWord=();
noSameWord=();
("\n"+fileName+"中有"+()+"个英文单词"); ("\n其中有"+()+"个互不相同的英文单词"); ("\n按使用频率排列: \n");
int count[]=new int[()];
for(int i=0;i<();i++)
{ String s1=(String)(i);
for(int j=0;j<();j++)
{ String s2=(String)(j);
if(s2))
count[i]++;
}
}
for(int m=0;m<();m++)
{ for(int n=m+1;n<();n++)
{ if(count[n]>count[m])
{ String temp=(String)(m);
((String)(n),m);
(temp,n);
int t=count[m];
count[m]=count[n];
count[n]=t;
}
}
}
for(int m=0;m<();m++)
{
("\n"+(String)(m)+":"+count[m]+"/"+()+"="+*count[m])/());
}
}
}
}
public class StatisticMainClass
{ public static void main(String args[])
{ new StatisticFrame();
}
}
实验2
源代码
import .*;
import class ReadZipFile
{
public static void main(String [] args)
{ File f = new File("");
File dir = new File("Book");
byte b[] = new byte[100];
();
try{ ZipInputStream in = new ZipInputStream(new FileInputStream(f));
ZipEntry zipEntry =null;
while((zipEntry=())!=null)
{
File file = new File(dir,());
FileOutputStream out = new FileOutputStream(file);
int n=-1;
"的内容");
while((n=(b,0,100))!=-1)
{ String str= new String(b,0,n);
(b,0,n);
}
();
}
();
}
catch(IOException ee)
{
}
}
}
运行效果截屏:
五、实验后的练习
在StatisticFrame的showMessage中增加单词按字典序排序输出的信息。

解答:
在中加入如下代码:
Vector sortWord=new Vecor(noSameWord);
("\n按字典排序: \n");
for(int i=0;i<();i++)
{
if((int)(String)(i).charAt(0)>(int)(String)(i+1).charAt(0)) //比较相邻两个单词首字母在字母表中的大小顺序
{ tempStr=(String)(i);
(i)=(i+1);
(i+1)=tempStr;
} //如果前面的大于后面的则对调
}
for(int k=0;k<();k++)
("\n"+(String)(k));
六、心得体会
1.RandomAccessFile类中的seek(long a)方法用来移动流的读写位置,getFilePointer()方法可以获取当前流的读写位置。

2.Vector()对象可以使用add(Object o)方法把对象自动添加到向量末尾。

3. ZipInputStream流必须指向一个字节流的子类的实例。

4.使用ZipInputStream流之前要先使用getNextEntry()方法找到压缩文件中的下一个内容,然后开始读取。

相关文档
最新文档