当前位置:文档之家› S5802带限流 三合一5V 1 A输入输出

S5802带限流 三合一5V 1 A输入输出

S5802带限流 三合一5V 1 A输入输出
S5802带限流 三合一5V 1 A输入输出

_______________________________________________________

XySemi Inc - 1 - https://www.doczj.com/doc/4d561743.html, S5802-SIP of Power Bank Total Solution GENERAL DESCRIPTION

S5802 is one SIP that it integrates Li-Battery Charge management 、Li-Battery

Protection and Boost converter in only TSSOP16-PP package.

This SIP can charge with 1A current and also can output 5V 1A to load such as smart phone or MID.

It only need few components and can reduce the BOM area and BOM cost.

FEATURES

z Charger input voltage-4.5V to 6V z Charger current-MAX 1A

z Boost converter-MAX 20V output z Boost converter-MAX 5V 1A

z Boost converter Frequency-1.2MHz z Li Protection OCU-4.25V ODU-2.9V z Li Protection OCP-3A z Have UVLO 、OTP 、Short protection z TSSOP16-PP Package

APPLICATIONS

? Power bank for MID 、PAD ?

Power bank for Smart Phone

Figure 1. Typical Application Circuit1

____________________________________________________________________________________________________

ORDERING INFORMATION

PART NUMBER TEMP RANGE VIN OUTPUT VOLTAGE (V)

CHARGE CURRENT

PACKAGE PINS S5802

-40°C to 85°C

4.5~6V

ADJ

1A

TSSOP-PP 16

PIN CONFIGURATION

Figure 2. PIN Configuration

PIN DESCRIPTION

PIN NUMBER PIN NAME PIN DESCRIPTION

1,2

SW

Boost Converter’s Switching pin

3,12 B+

Li-Battery’s Positive Pole ,pin 3 should be bypassed with a 1uF capacitor as close as

possible, Pin12 should be bypassed with a 10uF capacitor as close as possible 4 BSOC

Boost Converter’s current limit setting pin ,For 5Vout 1A application ,you can select

250K~300Kohm resistor to GND 5 BSEN Boost Converter’s Enable pin 6

FB

Boost Converter’s Feedback pin. it can set 5Vout with two resistors.

7 CHRG Open-Drain Charge Status Output , When the battery is charging, the CHRG pin is

pulled low by an internal N-channel MOSFET. When the charge cycle is completed,

CHRG pin will be in a high-impedance state. 8 CHEN Charge Enable Pin

9

PROG Charge Current Program, Charge Current Monitor and Shutdown Pin.

10 CHSTD The completion of battery charging instructions side. When the battery charge is

complete, CHSTD pulled low by internal switches, indicating the completion of

charging. In addition, CHSTD pin will be in a high-impedance state. 11

CHIN

Positive Input Supply Voltage, should be bypassed with at least a 10uF capacitor.

S5802

____________________________________________________________________________________________________

13 VPB

The Power Supply of Li-Protection section ,Should connect 0.1uF capacitor between

Vpb and B- as close as possible and 100ohm resistor to B+ 14,15 B- Li-Battery’s Negative Pole 16,17

GND

Ground and EPAD

ABSOLUTE MAXIMUM RATINGS

(Note: Do not exceed these limits to prevent damage to the device. Exposure to absolute maximum rating conditions for long periods may affect device reliability.)

PARAMETER VALUE UNIT

Supply Voltage VIN ;CHRG\CHEN\CHSTD Voltage -0.3 to 7 V FB Voltage ;Vpb Voltage ;B+\B-; BSEN pin; BSOC voltage -0.3 to 5 V SW Voltage Vin+0.3 to 15 V PROG Voltage

-0.3~CHIN+0.3

V Icharge 1.2 A

PROG Pin current

1.2 mA Operating Ambient Temperature -40 to 85 °C Maximum Junction Temperature 150 °C Storage Temperature

-55 to 150 °C Lead Temperature (Soldering, 10 sec)

260

°C

ELECTRICAL CHARACTERISTICS

(V IN = 3.6V, T A = 25°C unless otherwise specified)

PARAMETER SYMBOL TEST CONDITIONS

MIN TYP MAX UNIT

Input Voltage Range CHIN 4.5 6.0V Regulated Charge Voltage Vfloat

0°C ≤T A ≤85°C, Icharge = 40mA

4.158 4.2 4.242V PROG pin Voltage Vprog R PROG =1k, Current mode

0.93 1.0 1.07V R PROG =2k,Current mode

450 500 550mA R PROG =1k,Current mode

900 1000 1100

mA Charge current Icharge Standby mode,Vbat=4.2V

0 -2.5 -6 uA Trickle charge current Itrikl Vbat

100

110

mA Trickle charge Threshold Voltage

Vtrikl

R PROG =10K ,Vbat Rising

2.8 2.9

3.0V Trickle voltage hysteresis voltage

Vtrhys R PROG =10K 60

80

110

mV CHRG pin Output low voltage

Vchrg Ichrg =5mA 0.35 0.6V CHSTD pin Output low voltage

Vchstd Ichstd =

5mA

0.35 0.6

V

FUNCTIONAL DESCRIPTION

NORMAL OPERATION

S5802 integrates Li-Battery Charger 、Li-Battery Protection and Boost converter in only TSSOP16-PP package

Adapter inputs 5V voltage and charges the battery. After the battery is full, get off the adapter . And then we can boost up to 5V to charge the mobile advices when they is empty.

Li-Battery Charger can set charge current by PROG resistor. Normal charging current is set from 0.5A to 1A. It will go into trickle charge mode to protect Li-Battery when BAT voltage is below 2.9V. Li-Battery Protection can detect the battery cell’s status such as Vcu 、Vcl ,Temp 、short-cut 、Over-current and take action to protect battery cell.

Boost section can give us 5V 1A capacity to mobile devices.

THERMAL OR SHORT-CUT PROTECTION

A thermal shutdown is implemented to prevent damages due to excessive heat and power dissipation. Typically the thermal shutdown threshold is 150℃ .When the thermal shutdown is triggered the device stops switching until the temperature falls below typically 136℃.Then the device starts switching again.

If the Boost converter’s Vout is short to GND ,the IC will shut down and you should recharge the battery to get rid of this status.

CHEN 、BSEN voltage Ven

0.3 1 1.5V

Recharge Battery threshold Voltage

ΔVrecg V FLOAT - V RECHRG 100 200mV Overcharge Detection

Voltage of Li BAT-Protection V CU 4.225 4.25 4.275V Overcharge Release Voltage of Li BAT-Protection V CL 4.075 4.10 4.125V Overdischarge Detection

Voltage of Li BAT-Protection V DL 2.85 2.9 2.95

V

Overdischarge Release

Voltage of Li BAT-Protection V DR

2.95

3.0 3.05V

Overdischarge Current1 Detection of Li BAT-Protection

I IOV1 (V B+)-(V B -)=

3.5V 2.1 3 3.9 A

Load Short-Circuiting Detection of Li BAT-Protection

I SHORT (V B+)-(V B -)=3.5V 10 20 30 A

Boost output voltage range Vout 20 V

Regulated Feedback Voltage V FB

1.118 1.2 1.212V

Peak Inductor Current I PEAK Rset=150K Vin=3.3V Vout=5V 0.8 1 1.2 A Peak Inductor Current I PEAK Rset=500K Vin=3.3V Vout=5V

2.2 2.55 2.9

A

Boost Convert

Oscillator Frequency

F OSC

0.9 1.2 1.5MHz

APPLICATION INFORMATION

INDUCTOR SELECTION

In normal operation, the inductor maintains continuous current to the output. The inductor current has a ripple that is dependent on the inductance value. The high inductance reduces the ripple current.

Selected inductor by actual application:

Manufa cturer Part Number Inductance (uH) DRC max

(Ohms)

Dimensions L*W*H(mm3)

2.2 0.049

3.3 0.065

4.7 0.08 LQH44PN

10 0.16

4*4*1.7 2.2 0.030

3.3 0.044

4.7 0.058 Murata

LQH5BP

10 0.106

5*5*2 2.2 0017 3.3 0.027 TDK SPM6530T

4.7 0.036

7.1*6.5*3 744373 24022

2.2 0.061

4.4*4.05

WURT

H 744777004 4.7

0.025

7.3*7.3*4.5

Table 1. Recommend Surface Mount Inductors

If output voltage is 5V ,you can use 2.2uH~ 4.7uH, If output voltage is 12V, 4.7uH~ 10uH is OK , Normal application: Input 3.3V (3.6V or 4.2V) to Output 5V 9V 12V ;

Input 5V to Output 9V 12V

CAPACITOR SELECTION

The input capacitor reduces input voltage ripple to the converter, low ESR ceramic capacitor is highly recommended. For power bank application, A 10uF ceramic capacitor is used. The input capacitor should be placed as close as possible to CHIN and GND. Such as Murata GRM21BR60J106 or TDK C3216X5R1A106M A low ESR output capacitor is required in order to maintain low output voltage ripple. one 10~22uF ceramic output capacitor is suitable for most applications. Such as GRM21BR60J226 or TDK C3216X5R1A226M B+-Pin 3 should be bypassed with a 1uF capacitor as close as possible , B+-Pin12 should be bypassed with a 10uF capacitor as close as possible.

SET CHARGE CURRENT

The charge current is programmed by connecting a 1% resistor, R PROG , PROG pin to ground. When charging in constant-current mode, this pin servos to 1V. In all modes, the voltage on this pin can be used to measure the charge current using the following formula: I charge = (V PROG /R PROG ) ?1000.

OUTPUT VOLTAGE PROGRAMMING

The output voltage is set by a resistive divider according to the following equation:

Typically choose R2=30K and determine R1 from the following equation:

For example, you can select R2=31.5K R1=100K to set 5Vout

DIODE SELECTION

According to max Iout and max Vout, you can select suitable diode. Normally we select diode If=(1.5~2)*Ioutmax and VR=(1.5~2)*Voutmax. For high efficiency,suggest that you select low Vf Schottky diode.

For example, 5V 1Aout power bank application, you can select MBRA210LT3 or SS24. Using MBRA210LT3, you can get higher efficiency.

OC SETTING( SETTING CURRENT LIMIT)

S5802 can be adjusted SW current limit by one resistor connected with BSOC pin。The setting sheet is as below( Vbattery=3.3V V out=5V )---Only list the typical Ilim number,the actual data may be in +/- 20% above them ,because of some discrete data from IC and resistor.

Rset

(ohm)Ilim(typ)

500K 2.7A

400K 2.5A

300K 2.3A

250K 2.1A

200K 1.5A

180K 1.3A

150K 1A

120K 0.7A

100K 0.45A

For 3V~4.2Vin to 5V 1A out , 250Kohm is suitable.

PCB LAYOUT GUIDE

1)It is desirable to maximize the PCB copper area connecting to GND pin to achieve the best thermal and noise performance. If the board space allowed, a ground plane is highly desirable 2)C IN must be close to Pins CHIN and GND. The loop area formed by C IN and GND must be minimized.

C B+ or C pb is the same

3)The PCB copper area associated with SW pin must be minimized to avoid the potential noise problem.

4)The components R1 and R2, and the trace connecting to the FB pin must NOT be adjacent to the SW net on the PCB layout to avoid the noise problem

5)Please make sure that the big current circuits are board and short to reduce the circuit Rdson is minimum,for example,please place the Positive pole of Li-Battery Cell close to Pin12-B+(not Pin 3) as possible to reduce B+ big current circuits’ Rdson.

BIG CURRENT CIRCUIT As above(Heavy lines)

TYPICAL PERFORMANCE CHARACTERISTICS

(L=2.2uH-SPM6530T2R2, CIN=10uF, C BAT+=10uF,Cout=22uF, D=MBRA210LT3 Vin=5V if not mentioned)

BATTERY CHARGER CURVE

5V OUT EFFICIENCY (Include Li-Protection IC)

PWM SWITCHING CONTINUOUS PWM SWITCHING DISCONTINUOUS CONDUCTION MODE CONDUCTION MODE

In order to increase the driver current capability of S5802 and improve the temperature of package, Please ensure Epad and enough ground PCB to release energy.

PROUCT CHANGE NOTICE LIST

NO Updated date Version update Update content 1 2013-3-26 Rev 0.1 Create datasheet

第五章 过程输入输出通道技术汇总

第五章过程通道 在计算机控制系统中,为了实现对生产过程的控制,要将对象的控制参数及运行状态按规定的方式送入计算机,计算机经过计算、处理后,将结果以数字量的形式输出,此时需将数字量变换为适合生产过程控制的量,因此在计算机和生产过程之间,必须设置完成信息的传递和变换装置,这个装置称为过程输入输出通道,也叫I/O通道。 5.1过程输入输出通道概述 过程输入输出通道由模拟量输入输出通道和开关量输入输出通道组成。过程输入输出通道在微型计算机和工业生产过程之间起着信号传递与变换的纽带作用。 5.1.1 模拟量输入通道的一般结构 过程参数由传感元件和变送器测量并转换为电压(或电流)形式后送至多路开关;在微机的控制下,由多路开关将各个过程参数依次地切换到后级,进行放大、采样和A/D转换,实现过程参数的巡回检测。 5.1.2 模拟量输出通道的基本结构 多D/A结构的模拟量输出通道中的D/A转换器除承担数字信号到模拟信号转换的任务外,还兼有信号保持作用,即把微机在t=kT 时刻对执行机构的控制作用维持到下一个输出时刻t=(k+1)T。这是一种数字保持方式,送给D/A转换器的数字信号不变,其模拟输出信号便保持不变。 共享D/A结构的模拟量输出通道中的D/A转换器只起数字信号到模拟信号的转换作用,信号保持功能靠采样保持器完成。这是一种模拟保持方式,微机对通路i(i=1,2,...,n)的控制信号被D/A转换器转换为模拟形式后,由采样保持器将其记忆下来,并保持到下一次控制信号的到来。 多D/A形式输出速度快、工作可靠、精度高,是工业控制领域普遍

采用的形式。 5.1.3 开关量(数字量)输入通道的基本结构 开关量输入通道又称为数字量输入通道,该通道的任务是把被控对象的开关状态信号(或数字信号)送给计算机、或把双值逻辑的开关量变换为计算机能够接收的数字量送给计算机,简称DI通道。 典型的开关量输入通道通常由以下几部分组成: 1.信号变换器:将生产过程的非电量开关量转换为电压或电流的双值逻辑值。 2.整形变换电路:将混有毛刺之类干扰的输入双值逻辑信号或其信号前后沿不符合要求的输入信号整形为接近理想状态的方波或矩形波,然后再根据系统要求变换为相应形状的脉冲信号。 3.电平变换电路:将输入的双值逻辑电平转换为与CPU兼容的逻辑电平。 4.总线缓冲器:暂存数字量信息并实现与CPU数据总线的连接。 5.接口逻辑电路:协调各通道的同步工作,向CPU传递状态信息并控制开关量的输入、输出。 5.1.4 开关量(数字量)输出通道的基本结构 开关量(数字量)输出通道的任务是把计算机输出的数字信号(或开关信号)传送给开关型的执行机构(如继电器或指示灯等),控制它们的通、断或亮、灭,简称DO通道。其典型结构中锁存输出的主要作用是锁存CPU输出的数据或控制信号,供外部设备使用;隔离部件的作用是为防止干扰;功放的作用则是为把计算机输出的微弱数字信号转换成能对生产过程进行控制的驱动信号。 下面分别展开说明四种过程通道的组成及应用。

数据类型与输入输出

学生实验报告 学号 : 日期 : 2014-06-22 系别计算机科 学与技术 专业 计算机科学与 技术(师) 班级姓名 课程名称C语言程序设计 课程 类型 专业课学时数2 实验 名称 数据类型与输入\输出函数 实验目的 进一步熟悉VC++6.0集成开发环境的使用方法; 掌握C语言三种基本数据类型的特点; 掌握基本输入/输出函数的功能和使用要求; 积累VC++6.0进行程序调试经验。 实验要求: 熟悉如何定义一个整型、字符型、实型: 掌握不同的类型数据之间赋值的规律; 掌握scanf,printf函数的使用方法; 实验内容 。1.新建工程EXP2_1并编辑下列程序,编译连接运行。/*C source program example*/ #include"stdio.h" main() { int a,b,sum; printf("Hello, C! "); a=123;b=456; sum=a+b; printf("sum is %d\n",sum); }

运行结果: 2 .练习程序的简单调试 去掉程序EXP2_1.c中语句 sum=a+b; 的分号,观察编译错误并记录和分析说明。 把EXP2_1.c程序中的main改为mian,观察程序出错情况并记录分析。将程序EXP2_1.c中语句 printf("sum is %d\n",sum); 中" 换为”,观察编译错误并记录和分析说明。

分析结果:不管是将“sum=a+b;”改为“sum=a+b”,还是将“main”函数改为“mian”,都出现错误,因而得不到正确的运行结果。 3.新建工程EXP2_2,按下列要求在该工程工作空间编写一个文件名为:EXP2_2.c 的程序。 定义3个int变量和一个实数型变量average,计算并输出3个整数的平均值average,即average=(x+y+z)/3,其中x,y,z的值通过变量初始化方式赋值x=5,y=4,z=2,输出average的值。 实验要求: 1)调试运行程序并观察运行结果。

第2章 基本数据类型与输入输出

第2章基本数据类型与输入输出 2·1字符集与关键字 组成C语言的字符(字符集)包括: 26个小写字母a~z 26个大写字母A~Z 10个数字0~9 其它可以显示的字符+-*/=,._:;?\”’~|!#%&()[]{}^<> 空白字符空格、制表、换行、回车等等 在C源程序中,编译器识别的基本元素是“语言符号“,包括: 关键字 标识符 常量(文字常量) 运算符 标点字符 关键字是C编译器中具有特定意义的单词。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 2·2基本数据类型 整形 字符型单精度型 实型(浮点型) 枚举型双精度型 数组类型 数据类型构造类型结构体类型 公用体型 指针类型

当声明一个对象(变量或常量)时,必须说明是什么数据类型(简称“类型“); 对象类型的描述确定了其内存所占空间大小,也确定了其表示范围; 对象类型的描述确定了其所能进行的操作; 在不同的计算机上,每个对象类型所占用的内存空间的长度不一定相同。 基本数据类型的分类 整数类型 符号表现形式数据长度数值范围 带符号int 32 -2147483648~2147483647 short 16 -32768~32767 long 32 -2147483648~2147483647 无符号unsigned int 32 0~4294967295 unsigned short 16 0~65535 unsigned long 32 0~4294967295 实数类型 符号表现形式数据长度数值范围 带符号float 32 7位精度 double 64 15~16位精度 字符类型 符号表现形式数据长度数值范围 带符号char 8 -128~127 无符号unsigned char 8 0_255 2·3变量 在程序运行过程中,其值可以改变的量称为变量。一个变量有一个名字,在内存中占据一定的存储空间。

第二章 过程输入通道与接口

第二章过程输入通道与接口 过程通道是在微机和生产过程之间设置的信息传送和转换的连接通道,它包括数字量输入通道、模拟量输入通道、数字量输出通道、模拟量输出通道。 主要知识点: ? 2.1 输入通道的结构与信号交换:A/D转换器、D/A转换器、光电耦合隔离器的工作原理、模拟量输入通道的结构组成、香农定理 ? 2.2 模拟量输入通道中的常用放大器 ? 2.3 A/D转换器与单片机接口电路 2.1 输入通道的结构与信号交换 根据信号来源及种类的不同,输入通道相应分为数字量输入通道和模拟量输入通道。(P17 表2.1.1 输入信号分类与通道对照表) 数字信号,包括开关信号、脉冲信号。它们是以二进制的逻辑“1”和“0”或电平的高和低出现的。如开关触点的闭合和断开,指示灯的亮和灭,继电器或接触器的吸合和释放,马达的启动和停止,晶闸管的通和断,阀门的打开和关闭,仪器仪表的BCD 码,以及脉冲信号的计数和定时等。 模拟信号,包括电流信号、电压信号。用来描述被控对象的过程参数如温度、压力、流量、液位、重量等。 在微机的各种接口中,完成外设信号到微机所需数字信号转换的,称为模拟∕数字转换(A/D 转换Analog to Digital Converter)器;完成微机输出数字信号到外设所需信号转换的,称为数字∕模拟转换(D/A转换Digital to Analog Converter)器。 2.1.1 数字量输入通道 数字量输入通道(DI 通道)的任务是把生产过程中的数字信号转换成计算机易于接受的形式。 信号调理电路:虽然都是数字信号,不需进行A/D 转换,但对通道中可能引入的各种干扰必须采取相应的技术措施,即在外部信号与单片机之间要设置输入信号调理电路。 凡在电路中起到通、断作用的各种按钮、触点、开关,其端子引出均统称为开关信号。在开关输入电路中,主要是考虑信号调理技术,如调理、防抖、光电隔离、整形、电平转换、RC滤波、过电压保护、反电压保护等。 1、输入信号调理电路 典型的输入信号调理电路如P18,图2.1.1所示。功能如下: 稳压管D2把过压和瞬态尖峰电压嵌位在安全电平上

实验十一 流类库与输入/输出

实验十一流类库与输入/输出(2学时) 一、实验目的 1.熟悉流类库中常用的类及其成员函数的用法。 2.学习标准输入输出及格式控制。 3.学习对文件的应用方法(二进制文件、文本文件)。 二、实验任务 1.观察以下程序的输出,注意对输出格式的控制方法; //labll—1.cpp #include Using namespace std; #define D(a)<<#a<

第9章流类库与输入输出

第9章流类库与输入输出 9.1 本章提要 (1)C++语言提供一个用于输入/输出(I/O)操作的类族,这些操作是以对数据敏感 的方式实现的。类族提供了对预定义类型进行输入/输出操作的能力,程序员也 可以利用这个类族进行自定义类型的输入/输出操作。 (2)标准输出操作方法 ①将插入符作用在流对象cout上,可输出显示整型数、浮点数,字符和字符串。 ②使用成员函数put( )可输出一个字符 ③使用成员函数write( )可输出一个字符串 (3)标准输入操作方法 ①将提取符作用在流对象cin上,可输入整型数、浮点数、字符和字符串。 ②使用成员函数get( )可输入一个字符,使用成员函数getline( )可输入—行字符。 ③使用成员函数read( )可读取一个字符串。 (4)格式化输入输出的两种方式 ①使用标志字和成员函数 ②使用操作子 (5)磁盘文件的输入和输出,包括: ①磁盘文件的打开和关闭操作 ②文本文件的读写操作 ③二进制文件的读写操作 ④随机访问数据文件 9.2 程序举例 下面是一个展示用不同方法(使用重载运算符和成员函数)对标准的输入输出流对象(cin和cout)进行操作的例子。 例9-1 用不同方法操作流对象 //ch9_1.cpp 标准设备的输入输出 #include void main() { char buffer1[80],buffer2[80],buffer3[80];

cout<<"Please enter a sentence:"<>buffer1; cout< void main() { //设置整数流的格式和基数 int x=123; cout<<"dec: "<

C语言数据的输入与输出

C语言数据的输入与输出 一.Printf函数 函数原型在头文件stido.h中(使用时可以不包括) printf函数的返回值等于成功输入得数据的个数 1.printf函数得一般调用形式 printf(格式控制字符串,输出项列表) 格式控制字符串包括: (1)格式指示符 格式:%[标志][宽度][.精度][ [ h|l ] <类型>] (2)转义字符 如:'\n' , '\0' (3)普通字符 如:printf("max=%d,min=%d\n", a, b); “max=”和“,min=”是普通字符;“%d”是格式指示符;“\n”是转义字符; a和b是输出类表中的输出项(可以是常量、变量、或表达式)。 2.print函数中常用得格式控制说明 (1)数据类型控制字符 (2)数据类型修饰符 数据类型修饰符在%和数据类型控制符之间 如:长整型 "%ld" ,短整型 "%hd" (3)输出数据所占得宽度与精度

1)在%与格式字符之间插入一个整数来指示输出宽度。 若指定得输出宽度不够,系统自动以数据实际值得宽度作为输出宽度;如果指定的输出宽度多于数据实际所需宽度,数据右对齐,左边补以空格。 如:printf("%5d\n",42); \*输出结果: 42*\ 2)float或double类型得实型数可以用“整数1.整数2”的形式在指定总宽度的同时指定小数位得宽度。“整数1”指定输出数据得总宽度(小数点也要计算在内),“整数2”称之为精度,即小数位的位数。 注意:输出数据得实际精度并补取决与格式控制中的域宽和小数得位宽,而是取决于数据在计算机内的存储精度。 (4)标志控制字符 1)输出数据左对齐的标志字符“-”,在指定输出宽度之前。 如:printf("%-5d##\n",24); \*输出结果:24 ##*\ 2)输出数字总是带正负号得标志字符“+”,在%和格式字符之间(或指定得输出宽度前) 如:printf("%+d,%+d\n",100,-200); \*输出结果:+100,-200*\ 3)在输出数据前加前导0,可以在指定输出宽度得同时,在数据前面得多于空格处填以数字0。 如:printf("%05d\n",59); \*输出结果:00059*\ 二.Scanf函数 函数原型在头文件stdio.h中(使用时可以不包括) Scanf函数的返回值等于成功输入得数据的个数。 1.scanf函数得一般调用形式 scanf(格式控制字符串,地址列表) 格式控制字符串:%[*][输入数据宽度][ h|l ]<类型> 地址列表是各变量得地址,如:&a,&b

过程输入输出通道技术模板

第五章过程输入输出通道技术 在计算机控制系统中, 为了实现对生产过程的控制, 要将对象的控制参数及运行状态按规定的方式送入计算机, 计算机经过计算、处理后, 将结果以数字量的形式输出, 此时需将数字量变换为适合生产过程控制的量, 因此在计算机和生产过程之间, 必须设置完成信息的传递和变换装置, 这个装置称为过程输入输出通道, 也叫I/O通道。 5.1过程输入输出通道概述 过程输入输出通道由模拟量输入输出通道和开关量输入输出通道组成。过程输入输出通道在微型计算机和工业生产过程之间起着信号传递与变换的纽带作用。 5.1.1 模拟量输入通道的一般结构 过程参数由传感元件和变送器测量并转换为电压( 或电流) 形式后送至多路开关; 在微机的控制下, 由多路开关将各个过程参数依次地切换到后级, 进行放大、采样和A/D转换, 实现过程参数的巡回检测。 5.1.2 模拟量输出通道的基本结构 多D/A结构的模拟量输出通道中的D/A转换器除承担数字信号到模拟信号转换的任务外, 还兼有信号保持作用, 即把微机在t=kT 时刻对执行机构的控制作用维持到下一个输出时刻t=(k+1)T。这是一种数字保持方式, 送给

D/A转换器的数字信号不变, 其模拟输出信号便保持不变。 共享D/A结构的模拟量输出通道中的D/A转换器只起数字信号到模拟信号的转换作用, 信号保持功能靠采样保持器完成。这是一种模拟保持方式, 微机对通路i( i=1, 2, ..., n) 的控制信号被D/A转换器转换为模拟形式后, 由采样保持器将其记忆下来, 并保持到下一次控制信号的到来。 多D/A形式输出速度快、工作可靠、精度高, 是工业控制领域普遍采用的形式。 5.1.3 开关量( 数字量) 输入通道的基本结构 开关量输入通道又称为数字量输入通道, 该通道的任务是把被控对象的开关状态信号( 或数字信号) 送给计算机、或把双值逻辑的开关量变换为计算机能够接收的数字量送给计算机, 简称DI通道。 典型的开关量输入通道一般由以下几部分组成: 1.信号变换器: 将生产过程的非电量开关量转换为电压或电流的双值逻辑值。 2.整形变换电路: 将混有毛刺之类干扰的输入双值逻辑信号或其信号前后沿不符合要求的输入信号整形为接近理想状态的方波或矩形波, 然后再根据系统要求变换为相应形状的脉冲信号。 3.电平变换电路: 将输入的双值逻辑电平转换为与CPU兼容的逻辑电平。 4.总线缓冲器: 暂存数字量信息并实现与CPU数据总线的连接。 5.接口逻辑电路: 协调各通道的同步工作, 向CPU传递状态信息并控制开

C语言数据类型及输入输出函数

实验二C语言数据类型及输入输出函数 一、实验目的 1、熟悉C语言编译环境Turbo C 2.0; 2、熟悉C语言的基本数据类型; 3、熟悉C语言的基本输入及输出函数; 4、使用TC编写简单的程序。 二、预习并思考 1.C语言所包括的基本数据类型 1)整型 整型数据可以有哪几种表示形式?(十进制,八进制,十六进制) 基本整型,短整型,长整型,字符型 两种表现形式 1在定义时使用: 比如十进制表示: int a=12; 八进制表示: int a=012; 十六进制表示:int a=0x12; 2 在输出时使用: Printf(“%d”,a);/*十进制数*/ Printf(“%o”,a);/*八进制数*/

Printf(“%h”,a);/*十六进制数*/ 这几种类型的数据应该如何定义?怎么区分? 整型 int “%d” 长整型 long int “ %ld” 字符型 char “%c” 整型数据的范围是多少?超出以后会如何? 整型数据范围:-32768~32767 超出后,依次从最小开始计数 比如32768 显示出来是-32768 2)实型

实型数据分为单精度float和双精度double两种,它们存储时分别占据多大的内存空间? Float -2^32~2^31-1,占四个字节 Double -2^64~2^63-1,占八个字节 3)字符型 一个字符的数据范围有多大? 0~256 如何理解字符数据和整型数据之间的关系?字符和字符串之间的关系是什么,存储时有何区别? 字符人们使用的记号,抽象意义上的一个符号。 '1', '中', 'a', '$', '¥', …… 字符串在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表

实验六C++的流类库与输入输出

实验 6 C++的流类库与输入输出 一、实验目的 1. 掌握C++格式化的输入输出方法。 2. 掌握重载运算符“<<”和“>>”的方法。 3. 掌握磁盘文件的输入输出方法。 二、实验准备及要求 在开始实验前,应回顾或复习相关内容。 需要一台主算机,其中安装有Visual C++ 6.0集成开发环境软件。 三、实验内容与结果 1. 下面给出的test7_1_1.cpp程序用于打印九九乘法表,但程序中存在错误。请上机调试,使得此程序运行后,能够输出如下所示的九九乘法表。 * 1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81 //test7_1_1.cpp #include #include using namespace std; int main() { int i,j; cout<<"*"<<"\t"; for(i=1;i<=9;i++)

cout< #include using namespace std; int main() { char ch; int i=0; ifstream file; file.open(“xyz.txt”,ios::in); if( !file ) { cout<<”xyz.txt cannot open”<

c++流类库与输入输出习题答案

1.概念填空题 1.1头文件iostream中定义了4个标准流对象cin,cout,cerr,clog。其中标准输入流对象为cin,与键盘连用,用于输入;cout为标准输出流对象,与显示器连用,用于输出。 1.2用标准输入流对象cin与提取操作符>>连用进行输入时,将空格与回车当作分隔符,使用get()成员函数进行输入时可以指定输入分隔符。 1.3每一个输入输出流对象都维护一个流格式状态字,用它表示流对象当前的格式状态并控制流的格式。C++提供了使用格式控制函数与操作子函数来控制流的格式的方法。 1.4 C++根据文件内容的数据格式可分为两类:文本文件和二进制文件。前者存取的最小信息单位为字节,后者记录。 1.5文件输入是指从文件向内存读入数据;文件输出则指从内存向文件输出数据。文件的输入输出首先要打开文件;然后进行读写;最后关闭文件。 1.6文本文件是存储ASCII码字符的文件,文本文件的输入可用cin从输入文件流中提取字符实现。文本文件的输出可用cout将字符插入到输出文件流来实现。程序在处理文本文件时需要(需要/不需要)对数据进行转换。 1.7二进制文件是指直接将计算机内的数据不经转换直接保存在文件中。二进制文件的输入输出分别采用read()、write() 成员函数。这两个成员函数的参数都是2个,分别表示读写缓冲区和字节数。 1.8设定、返回文件读指针位置的函数分别为seekg,tellg;设定、返回文件写指针位置的函数分别为seekp,tellp。 2 简答题 2.1 为什么cin输入时,空格和回车无法读入?这时可改用哪些流成员函数? 2.2 文件的使用有它的固定格式,试做简单介绍。 2.3 在ios类中定义的文件打开方式中,公有枚举类型open_mode的各成员代表什么文件打开方式? 2.4 简述文本文件和二进制文件在存储格式、读写方式等方面的不同,各自的优点和缺点。 2.5 文本文件可以按行也可以按字符进行复制,在使用中为保证能完整复制要注意哪些问题? 2.6 文件的随机访问为什么总是用二进制文件,而不用文本文件? 2.7 怎样使用istream和ostream的成员函数来实现随机访问文件? 3.选择题 3.1要进行文件的输出,除了包含头文件iostream外,还要包含头文件(C )。 A.ifstream B.fstream C.ostream D.cstdio 3.2执行以下程序: char *str; cin>>str; cout<

数据类型、运算符和简单的输入输出实验报告

嘉应学院计算机学院 实验报告 一、实验目的和要求 (1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。 (2)掌握对各种数值型数据的正确输入方法。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 (4)学会编写和运行简单的应用程序。 (5)进一步熟悉C程序的编辑、编译、连接和运行的过程 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有 错,及时改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”, 根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果 是否正确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容:编译以下题目的程序并调试运行。 实验① (一)在Visual C++6.0中输入教材第3章第4提给出的程序:

(1)对程序进行编译,将该程序进行连接,运行该程序。 (2)如果将程序第4,5行改为 C1=197; C2=198; 再次进行编译并连接运行。 (3)将程序第三行改为 int c1,c2; 对程序进行编译、连接和运行。 实验② (二)输入第3章第5题的程序。即: 用下面的scanf 函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=`A`,c2=`a`。 运行时分别按以下方式输入数据,观察输出结果,分析原因。 ① a=3,b=7,x=8.5,y=71.82,A,a ↙ ② a=3 b=7 x=8.5 y=71.82 A a ↙ ③ a=3 b=7 8.5 71.82 A a ↙ ④ a=3 b=7 8.5 71.82Aa ↙ ⑤ 3 7 8.5 71.82Aa ↙ ⑥ a=3 b=7↙ 8.5 71.82↙ A ↙ a ↙ ⑦ a=3 b=7↙ 8.5 71.82↙ Aa ↙ ⑧ a=3 b=7↙ 8.5 71.82Aa ↙ 实验③ 输入以下程序: #include int main() {int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("%f %e",&x,&y); scanf("%c%c",&c1,&c2); printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return 0; } #include int main() {char c1,c2; c1=97; c2=98; printf(“%c,%c\n ”,c1,c2); printf(“%d%d\n ”,c1,c2); return 0; }

输入输出以及数据类型的错误

说说C特殊的输入输出格式: 输入: 1. scanf可以滤去一些不想要的东西。 举例说明如下: 比如: 输入:a = 1,b = 2; scanf(“a = %d,b = %d”, &a, &b); 再比如: scanf("%d %*d %d",&a, &b); 输入1 2 3回车(系统将1赋予m,将3赋予n,因为*号为忽略输入修饰符,表示跳过它相应的数据所以2不赋予任何变量) 2. 字符串输入 getchar(), scanf(“%c”); scanf(“%s”), gets()区别 其中getchar() 和scanf(“%c”)的功能是一样的。 这两个函数读入的是输入流中当前位置的字符,比如: scanf(“%d”,&n); c = getchar(); 假设输入67/ (假设“/”代表回车),则第一个scanf读入一个整数67后,当前输入流的位置是67之后,即指向回车符,所以第二个getchar()读入的就是一个回车符了,即 c = …\n?。 同样,gets()也是从当前位置读入一行字符串。 比如: scanf(“%d”,&n); gets(str); 此时读入字符数组中的字符串就是“\n” 了 所以通常在用scanf读入一个非字符串的类型之后,如果要读入字符,或字符数组,都用一个额外的getchar()把回车符读掉,若后面跟的不止一个回车符,可能还有多余的空格的话,就用gets()读掉。 和以上不同的是,scanf(“%s”) 读入的时候是会忽略掉空格,回车和制表符的。并且以空格,回车和制表符作为字符串结束的标志。 也就是说,scanf("%s")其实是比较特殊的,它一定会等到所有空白符结束,一直等到它要等的字符串出现,它才读取,在字符串出现之前,出现的所有空白符都会忽略掉。 经常会有这样的题,输入第一行是一个整数,接下来每行的第一个是一个字符,用来表示某种操作,后面再跟一些数据,比如: 4 A 100 2 B 23 A 23 89 B 34 像这种输入就需要小心,读入字符时不要读成回车符。 为了防止意外,我一般是这样处理这类输入的: char model[2]; Scanf(“%d”,&n); for(…,…,…) {

数据类型、运算符和简单的输入输出

《C语言程序设计》课程实验报告 ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

一、相关知识 1.整型常量就是整常数,可以用三种进制形式表示: (1).十进制数:以非0数字开头的数。如123,-123等,其每个数字位可以是0~9。 (2).八进制数:以数字0开头的数。如0123,-0123等,其每个数字位可以是0~7。 (3).十六进制数:以0x(或0X)开头的数。如0xffff,0x1111,-0x123等,其每个数字位可以是0~9、A~F(或a~f)。 2. 实型常量在C语言中又称为实数或浮点数。在C语言中,实数只采用十进制。它有两种表示形式: (1).十进制形式。这种形式的数由整数部分、小数点和小数部分组成(注意必须有小数点)。如:1.24,0.345,.222,234.0,333.,0.0等。 (2).指数形式。这种形式由三部分组成:实数部分、字母E或e和整数部分。象123x1022可以表示为123E22或123e22。要注意,字母E或e之前必须有数字,之后的数字必须为整数。如e3、2.1e3.5、2.7e、e等都不是合法的指数形式。 3.字符常量 (1)C语言中的字符常量是用单引号(‘)括起来的一个字符。 如’A’、’x’、’D’、’?’、’3’、’X’等都是字符常量。 (2)C语言中还规定有另一类字符常量,它们以'\'开头,被称作转义字符,意思是将反斜杠(\)后面的字符转变成另外的意义。 4. 整型变量 整型变量可分为:基本型、短整型、长整型和无符号型。无符号型又分为无符号整型、无符号短整型和无符号长整型。 5.实型变量 C实型变量分单精度(float型)和双精度(double型)两类。 6.基本算术运算符: + 加/ 取正(双目运算符/ 单目运算符) - 减/ 取负(双目运算符/ 单目运算符) * 乘(双目运算符) / 除(双目运算符) % 整除取余(双目运算符) 7.算术表达式 由算术运算符、括号将数值型的运算元素连接起来,其值为数值量的式子。其中:运算元素可为常量、变量、函数调用等。 8.自增、自减运算符 ++i 前臵自增;先自加1,后引用; i++ 后臵自增;先引用,后自加1 ; --i 前臵自减;先自减1,后引用; i--后臵自减;先引用,后自减1 ; 9.赋值运算时的类型转换

实验八 流类库与输入输出

实验报告 课程:面向对象技术学号:1010431079 姓名:郝祥海 班级:2010级计算机软件(嵌入式系统)1班 教师:周晓 计算机科学与技术系

实验八流类库与输入输出 一、实验目的及要求 1.熟悉流类库中常用的类及其成员函数的用法; 2.掌握标准输入/输出及格式控制; 3.掌握对文件的应用方法。 二、实验环境 硬件:计算机软件:Microsoft Visual C++ 三、实验内容 1.声明一个学生类数组,输入数据,显示出来,使用I/O流把此数组的内容写入磁盘文件,再显示出文件内容。学生类具有的属性如下:姓名name、学号number、班号classno、性别sex、出生日期birthday,其中“出生日期”声明为一个“日期”类内嵌子对象。 四、实验结果(附截图) 五、总结 通过本次实验,我了解到流是一种抽象,它负责在数据的生产者和消费者之间建立联系,并管理数据的流动。我对文件的输入输出流有了更深的了解。 六、附录(源程序清单) #include #include #include using namespace std; class Student{

public: Student(string n,int nu,int cl,char s); string GetName(){return name;} int GetNumber(){return number;} int GetClassno(){return classno;} char GetSex(){return sex;} private: string name; int number; int classno; char sex; }; Student::Student(string n,int nu,int cl,char s):name(n),number(nu),classno(cl),sex(s){} int main(){ Student a[3] = {Student("Frank",101,1,'M'), Student("Lucy",201,2,'W'), Student("Mike",301,3,'M')}; int i; for(i=0;i<3;i++) { cout << "姓名\t" << a[i].GetName() << "\t学号\t" << a[i].GetNumber() << "\t班号\t" << a[i].GetClassno() <<"\t性别\t"<

基本数据类型与输入输出

评分 签名 日期湖南商学院实验报告 课程名称C++语言程序设计 实验名称基本数据类型与输入输出专业班级 姓名 学号 实验日期第二周星期节实验地点 2011—2012学年度第下学期

一、实验目的 1.掌握C++语言中的简单数据类型及输入输出方法。 2.学会利用学习的数据类型与输入输出方法,编制简单的C++程序。 3.弄清基本数据类型的字节宽度和范围表示。 二、实验内容 1.编写一个程序,输出基本数据类型char, short, int, long, float, double的数据类型的长度。 #include void main() { cout<<"The length of \"char\" is:"<>称为抽取操作符,其作用是从cin流中提取字符。 #include #include void main() { float r,h,l,s,sq,vq,vz; const float pi=3.14; cout<<"请输入圆半径r,圆柱高h:"<>r>>h; l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=4.0/3.0*pi*r*r*r; vz=pi*r*r*h; cout<<"圆周长为: l="<

D(T.setf(ios::left, ios::adjustfield);) D(T.fill('0');) D(T << "fill char: " << T.fill() << endl;) D(T.width(8);) T << i << endl; D(T.setf(ios::right, ios::adjustfield);) D(T.width(8);) T << i << endl; D(T.setf(ios::internal, ios::adjustfield);) D(T.width(8);) T << i << endl; D(T << i << endl;) // Without width(10) D(T.unsetf(ios::showpos);) D(T.setf(ios::showpoint);) D(T << "prec = " << T.precision() << endl;) D(T.setf(ios::scientific, ios::floatfield);) D(T << endl << f << endl;) D(T.setf(ios::fixed, ios::floatfield);) D(T << f << endl;) D(T.setf(0, ios::floatfield);) D(T << f << endl;) D(T.precision(16);) D(T << "prec = " << T.precision() << endl;) D(T << endl << f << endl;) D(T.setf(ios::scientific, ios::floatfield);) D(T << endl << f << endl;) D(T.setf(ios::fixed, ios::floatfield);) D(T << f << endl;) D(T.setf(0, ios::floatfield);) D(T << f << endl;) D(T.width(8);) T << s << endl; D(T.width(36);) T << s << endl; D(T.setf(ios::left, ios::adjustfield);)

相关主题
文本预览
相关文档 最新文档