当前位置:文档之家› 输入输出答案1

输入输出答案1

输入输出答案1
输入输出答案1

输入输出

一、选择题

1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将A;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。

如printf(“%d,%d”,a,b,c);

只输出a和b的值,c不输出

A)不予输出B)输出空格

C)照样输出D)输出不定值或0

2.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 B 。

A)不予接收

B)并不给出出错信息,但不可能得出正确信息数据

C)能接受正确输入

D)给出出错信息,不予接收输入

3.下列说法正确的是 D 。

A)输入项可以是一个实型常量,如scanf("%f",4.8);

B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);

D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);

4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 B

main()

{

int a;float x;

printf("input a,x:");

输入语句

输出语句

}

输入形式input a,x:3 2.1

输出形式a+x=5.10

A)scanf("%d,%f",&a,&x);

printf("\na+x=%4.2f",a+x);

B)scanf("%d %f",&a.&x);

printf("\na+x=%4.2f",a+x);

C)scanf("%d %f",&a,&x);

printf("\na+x=%6.1f",a+x);

D)scanf("%d %3.1f",&a,&x);

printf("\na+x=%4.2f",a+x);

5.以下程序的输出结果是 D 。

main()

{

int i=010,j=10,k=0x10;

printf("%d,%d,%d\n",i,j,k);

A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16

6.以下程序的输出结果是A。

main()

{

int i=011,j=11,k=0x11;

printf("%d,%d,%d\n",i,j,k);

}

A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,16

7.以下程序的输出结果是 B 。

#include

main()

{printf("%d\n",NULL);}

NULL是符号常量,他的定义在stdio.h中

A)不确定的值(因变量无定义)B)0

C)-1 D)1

8.以下程序的输出结果是 B 。

main()

{

char c1='6',c2='0';

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);

}

A)因输出格式不合法,输出出错信息B)6,0,6,102

C)6,0,7,6 D)6,0,5,7

9.设有如下定义

int x=10,y=3,z;

则语句

printf("%d\n",z=(x%y,x/y));

的输出结果是A。

A)3 B)0 C)4 D)1

10.设有如下定义

int x=10,y=5,z;

则语句

printf("%d\n",z=(x+=y,x/y));

的输出结果是 D 。

A)1 B)0 C)4 D)3

11.以下程序的输出结果是 D 。

main()

{int x=10,y=10;

printf("%d %d\n",x--,--y);

}

A)10 10 B)9 9 C)9 10 D)10 9

12.写出下面程序的输出结果A。

main()

{int x;

x=-3+4*5-6;printf("%d",x);

x=3+4%5-6;printf("%d",x);

x=-3*4%6/5;printf("%d",x);

x=(7+6)%5/2;printf("%d",x);

}

A)11 1 0 1 B)11 -3 2 1 C)12 -3 2 1 D)11 1 2 1

13.写出下面程序的输出结果A。

main()

{

int x,y,z;

x=y=1;

z=x++-1;printf("%d,%d\t",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z);

}

A)2,0 3,0 B)2,1 3,0 C)2,0 2,1 D)2,1 0,1

14.写出下面程序的输出结果 C 。

main()

{

int i,j;

i=20;j=(++i)+i;printf("%d",j);

i=13;printf("%d %d",i++,i);

}

A)42 14,13 B)41 14,14 C)42 13 13 D)42 13 14

15.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,代表换行符)

1 2

A B C

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 C 。注意:12之间有空格,abc之间也有空格

A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();

B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();

C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);

D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);

16.若已知a=10,b=20,则表达式!a

A)10 B)20 C)1 D)0

17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为 C 。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字符,左补空格D)输出错误信息

18.以下C程序,正确的运行结果是 B 。

main()

{

long y=-34567;

printf("y=%-8ld\n",y);

printf("y=%-08ld\n",y);

printf("y=%08ld\n",y);

printf("y=%+8ld\n",y);

}

A)y= -34567 B)y=-34567

y=- 34567 y=-34567

y=-0034567 y=-0034567

y=-34567 y= -34567

C)y=-34567 D)y= -34567

y=-34567 y=-0034567

y=-0034567 y=00034567

y=-34567 y=+34567

19. C程序的基本编译单位是 C 。

A)函数B)文件C)源文件D)子程序

20.设有如下定义和执行语句,其输出结果为:A。

int a=3,b=3;

a = --

b + 1; printf(“%d %d”,a,b);

A)3 2 B)4 2 C)2 2 D)2 3

21.根据定义和数据的输入方式,输入语句的正确形式为:A。

已有定义:float a1, a2;

数据的输入方式: 4.523

3.52

A)scanf(“%f %f ”, &a1,&a2);

B)scanf(“%f ,%f ”, a1, a2);

C)scanf(“%4.3f ,%3.2f ”, &a1,&a2); 注意:%4.3f %3.2f是错的,f前不能规定数

据精度

D)scanf(“%4.3f %3.2f ”, a1,a2);

22.以下程序的输出结果是:。

main( )

{ int I=012, j=12, k=0x12;

printf(“%d,%d,%d\n”,I, j, k );

A)10, 12, 18 B)12, 12, 12

C)10, 12, 12 D)12, 12, 18

23. 以下程序的输出结果是:(注:▂表示空格) D 。

main( )

{ printf(“\n*s1=%8s*”, “china”);

printf(“\n*s2=%-5s*”, “chi”) ; }

A)*s1=china▂▂▂* B)*s1=china▂▂▂*

*s2=chi* *s2=chi▂▂*

C)*s1=▂▂▂china* D)*s1=▂▂▂china*

*s2=▂▂chi * *s2=chi▂▂*

二.填空题

1.C语言中的语句可分为5类,即表达式语句、函数调用语句、空语句、控制语句、复合语句。

2.由一次函数调用加一个分号构成一个函数调用语句。

3.putchar函数的作用是输出一个字符。

4.printf是C语言提供的标准输出函数,它的作用是把数据按制定的格式输出到显示器。

5.printf函数的“格式控制”包括两部分,他们是格式字符和普通字符。

6.对不同类型的语句有不同的格式字符。例如: d 格式字符是用来输出十进制整数,

c 格式字符是用来输出一个字符,s 格式字符是用来输出一个字符串。

7.%-ms表示如果串长< m,则在m列范围内,字符串向左靠,右补空格。

8.如果要输出字符“&”,则应该在“格式控制”字符串中用% c 表示。

9.getchar函数的作用是从键盘接受一个字符。

10.符号“&”是取地址运算符,&a是指取变量a的地址。(&是双目运算符则表示按位与,&是单目运算符则表示取地址)

11.scanf函数中的“格式控制”后面应当是地址表列,而不是输入表列。

12.C语言中的空语句就是; 。

13.复合语句是由一对{} 括起来的若干语句组成。

14.分析下面程序:

#include

main()

{

int x=2,y,z;

x*=3+2;printf("%d\n",x);

x*=y=z=4;printf("%d\n",x);

x=y=z;printf("%d\n",x);

x=(y=z);printf("%d\n",x);

}

程序的输出结果为。:

10

40

4

4

15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。jia=70.000000

jian=30.000000

cheng=1000.000000

chu=2.5000000

程序:

#include

void main(void)

{ (1)

a=50.0;b=20.0;

printf("jia=%f\n", (2) );

printf("jian=%f\n" (3) );

printf("cheng=%f\n", (4) );

printf("chu=%f\n", (5) );

}

(1)float a,b;

(2)a+b

(3)a-b

(4)a*b

(5)a/b

将缺少的部分填在空白处。

16.下列程序的输出结果是65A

#include

main()

{char a;

a='A';

printf("%d%c",a,a);

}

17.分析下面程序

main()

{

int x=2,y,z;

x*=3+2;printf("%d\n",x);

x*=y=z=4;printf("%d\n",x);

x=y=1;

z=x++-1;printf("%d,%d\n",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z);

}

程序的输出结果是

10

40

2,0

3,0

18.分析下面程序

main()

{

int x,y;

x=16,y=(x++)+x;printf("%d\n",y);

x=15;printf("%d,%d\n",++x,x);

x=20,y=x-- +x;printf("%d\n",y);

x=13;printf("%d,%",x++,x);

}

程序的输出结果是

32

16,15

40

13,13

19.以下程序的输出结果为:3.140000,3.142____(中间没有空格)____。

main( )

{ float a=3.14, b=3.14159;

printf(“%f, %5.3f\n”,a,b); }

20.以下程序的输出结果为:___a

_________。

#include

main( )

{ char c1,c2;

c1=…a?;

c2=…\n?;

printf(“%c%c”,c1,c2); }

三、编程题

1.从键盘上输入一个大写字母,要求改用小写字母输出。

#include "stdio.h"

void main()

{char c1,c2;/*c1是用来存放输入的字符,c2存放小写字符*/

printf("input charact:");

c1=getchar();/*或者 scanf("%c",&c1);*/

if(c1>='A'&&c1<='Z')/*判断c1是否是大写字母*/

{c2=c1+32; /*大写改小写*/

putchar(c2);

}

}

2.请编写一个程序,能显示出以下两行文字。

I am a student.

I love China.

#include "stdio.h"

void main()

{printf("I am a student.\n"); printf("I love China.\n");

}

或者

#include "stdio.h"

void main()

{puts("I am a student."); puts("I love China."); }

实验一 数字量输入输出实验

实验一数字量输入输出实验 一、实验目的 1.熟悉教学板电路及其结构。 2.掌握利用μVision C51 软件编辑、调试(包括仿真调试、单步调试)、运行单片机 程序的步骤和方法,掌握利用STC-ISP V39软件和下载线将程序写入单片机的方 法。 3.通过实验熟悉51单片机的并行I/O口,并掌握它们的应用。 4.掌握矩阵键盘、LED动态显示的工作原理。 二、实验设备 PC机一台、实验教学板一块。 三、实验准备 1.阅读实验讲义附录一、实验教学板电路图和附录二、μVision软件使用说明 2.按实验题目要求设计好硬件电路,画出电路原理图,设计出相应程序,并给程序加 上较详细的注释。 四、实验内容 1. 1.实验线路如附图所示,51单片机的P0口输出接8个发光二极管的阴极,P 2.4经 NPN三极管9011控制发光管的阳极。P3口支持一个8位行列式键盘,其中P3.4~P3.7 供键盘扫描输出,P3.2、P3.3作键盘扫描输入。 2.实验要求:编程实现键盘对发光二极管的控制,每按一个按键,使对应的二极管点 亮。 2.51单片机P0口输出同时接4个数码管的阴极,P2.0~P2.3,经NPN三极管9011接数码管的阳极,该端口用于分别控制相应数码管的导通。 实验要求:编程实现对任意按键动作的次数进行计数(最大99次),同时将计数值实时显示。 五、实验步骤 1.将实验板与PC机通过COM口连接。启动PC机,进入μVision软件环境,选择建立 新工程文件,即可开始输入源程序。 2.完成汇编、编译、连接,若有错误,则修改源程序,直至编译、连接通过为止。 3.接上实验板上的电源。 3.运行“STC-ISP V39.EXE”,将程序代码下载到实验板的单片机中。操作的顺序是:1)选择单片机(MCU TYPE)型号。 如:“STC89C51RC”要与实验板上所装单片机的型号一至。 2)打开文件(Open File)。 即把要下载到单片机的程序文件(已通过编译了的机器码文件——二进制(.Bin)或十六进制(.Hex)的)调到“文件缓冲区”,这时可看到右边的“文件缓冲 区”有数字变化。 3)选择串行通信口。 选对时,软件上的小灯会变绿。否则小灯是灰色。且在左下窗口提示“出错信息”。

单片机数字量输入输出实验

一、实验目的 1.熟悉教学板电路及其结构。 2.掌握利用μVision C51 软件编辑、调试(包括仿真调试、单步调试)、运行单片机程序的步骤和方法,掌握利用STC-ISP V39软件和下载线将程序写入单片机的方 法。 3.通过实验熟悉51单片机的并行I/O口,并掌握它们的应用。 4.掌握矩阵键盘、LED动态显示的工作原理。 二、实验设备 PC机一台、实验教学板一块。 三、实验内容 1.实验线路如附图所示,51单片机的P0口输出接8个发光二极管的阴极,P 2.4经NPN 三极管9011控制发光管的阳极。P3口支持一个8位行列式键盘,其中P 3.4~P3.7供键盘扫描输出,P3.2、P3.3作键盘扫描输入。 实验要求:编程实现键盘对发光二极管的控制,每按一个按键,使对应的二极管点亮。 2.51单片机P0口输出同时接4个数码管的阴极,P2.0~P2.3,经NPN三极管9011接数码管的阳极,该端口用于分别控制相应数码管的导通。 实验要求:编程实现对任意按键动作的次数进行计数(最大99次),同时将计数值实时显示。 四、实验步骤 1.将实验板与PC机通过COM口连接。启动PC机,进入μVision软件环境,选择建立 新工程文件,即可开始输入源程序。 2.完成汇编、编译、连接,若有错误,则修改源程序,直至编译、连接通过为止。 3.接上实验板上的电源。 4.运行“STC-ISP V39.EXE”,将程序代码下载到实验板的单片机中。操作的顺序是:1)选择单片机(MCU TYPE)型号。 如:“STC89C51RC”要与实验板上所装单片机的型号一至。 2)打开文件(Open File)。 即把要下载到单片机的程序文件(已通过编译了的机器码文件——二进制(.Bin)或十六进制(.Hex)的)调到“文件缓冲区”,这时可看到右边的“文件缓冲区”有数字变化。 3)选择串行通信口。 选对时,软件上的小灯会变绿。否则小灯是灰色。且在左下窗口提示“出错信息”。 4)下载:按“Download/下载”按键下载。 5)把实验板上的供电的直流电源拔掉或关掉3秒钟再插入或打开电源(为单片机上电复位)。 5.观察单片机运行情况,验证程序是否能完成题目给出的控制要求,若不能达到要求,分析原因、查找错误,修改源程序,再次汇编、连接,重新下载、运行,直至达到题目的控制要求。 五、遇到的问题及原因: 1.实验一,把程序烧进单片机后,发现按键时,LED灯乱亮,经检查是LED等亮的数

C语言中文件_数据的输入输出_读写

C语言中文件,数据的输入输出,读写. 文件是数据的集合体,对文件的处理过程就是对文件的读写过程,或输入输出过程。 所谓文件是指内存以外的媒体上以某种形式组织的一组相关数据的有序集合。文件分类: 顺序文件,随机文件。 文本文件和二进制文件。 文本文件也称为ASCII文件,在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。 文本文件可以在屏幕上按字符显示,源程序文件就是文本文件,由于是按字符显示,所以能读懂文件内容。 二进制文件是按二进制编码方式来存放的。这里主要讨论文件的打开,关闭,读,写,定位等操作。 文件的存取方法 C程序的输入输出(I/O)有两种方式:一种称为标准I/O或流式I/O,另一种称为低级I/O。流式I/O是依靠标准库函数中的输入输出函数实现的。低级I/O利用操作系统提供的接口函数(称为底层接口或系统调用)实现输入输出,低级I/O 主要提供系统软件使用。 在C语言中用一个FILE类型的指针变量指向一个文件,(FILE类型是系统在stdio.h中定义的描述已打开文件的一种结构类型),这个指针称为文件指针。FILE *指针变量标识符; 如 FILE *fp; 文件的打开与关闭 所谓打开文件,指的是建立文件的各种有关信息,并使文件指针指向该文件,以便对它进行操作。 关闭文件则是断开指针与文件之间的联系,也就禁止再对该文件进行操作。 1、fopen 函数原型:FILE *fopen(const char *filename,const char *mode); Fopen函数用来打开一个文件,前一部分用来说明文件路径及文件名,后一部分mode指出了打开文件的存取方式;返回值是被打开文件的FILE型指针,若打开失败,则返回NULL。打开文件的语法格式如下: 文件指针名=fopen(文件名,使用文件方式); 文件指针名必须被说明为FILE类型的指针变量。 FILE *fp; fp=fopen(“C:\\Windowss\\abc.txt”,”r”); 注意用两个反斜杠\\来表示目录间的间隔符。 存取文件的模式是一个字符串,可以由字母r,w,a,t,b及+组合而成,各字符的含

带格式的输出语句及输入语句

带格式的输出语句及输入语句 一、输入语句(读语句) 在程序中可以用赋值语句给变量获得一个确定的值,但是变量的值经常变化,尤其初始化时,则必须使用输入语句──读语句,将更为方便。读语句是在程序运行时由用户给变量提供数据的一种很灵活的输入动作,它有两种格式: 1.读语句的一般格式: read(<变量名表>); readln[(<变量名表>)]; 其中变量名表是用逗号隔开的若干个变量名组成的。 功能:从标准输入(即INPUT,一般对应着键盘)中读入数据,并依次赋给相应的变量。 说明: ①read和readln是标准过程名,它们是标准标识符。 ②执行到read或readln语句时,系统处于等待状态,等待用户从键盘上输入数据,系统根据变量的数据类型的语法要求判断输入的字符是否合法。如执行read(a)语句,a是整型变量,则输入的字符为数字字符时是合法的,合法的情况下将输入的整数赋给变量a。 ③在输入数值型(整型或实型)数据时,数据间要用空格或回车分隔开各个数据,一定要输入足够个数的数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据足够,读语句执行结束,程序继续运行。 例3. 设a、b、c为整型变量,需将它们的值分别赋以10,20,30,写出对应下列语句的所有可能输入格式。 Read(a,b,c); 解 根据③,即可列出所有可能输入格式 (a)10□20□30←┘ (b)10□20←┘ 30←┘ (c)10←┘ 20□30←┘ (d)10←┘ 20←┘ 30←┘ 其中"←┘"表示回车键。 ④read语句与readln语句的第一个区别是:

read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。如: Read(a,b); Read(c,d); Read(e); 如果输入数据行如下: 1□2□3□4□5□6□←┘ 则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。 Readln则不同,在读完本Readln语句中变量所需的数据后,该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。 例4 设要达到例1同样的目的,但语句改为: readln(a,b);readln(c) 则例3中的4种输入格式只有(b)(d)是有效的. ⑤readln语句与read语句的第二个区别是:read后一定要有参数表,而readln 可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车。 例5 设有下列语句: read(a,b,c); readln(d,e); readln; readln(f,g); 其中,所有变量均为整型。再设输入的数据如下: 1□2←┘ 3□4□5□6□7□8←┘ 9□10←┘ 11←┘ 12□13←┘ 列表给出每个变量的值.

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

ControlLogix数字量输入输出控制

实验 ControlLogix数字量输入输出控制 一、实验目的 了解RSLinx软件的基本用法 了解RSLogix5000编程的基本方法与逻辑设计 使用ControlLogix进行数字量输入输出控制 二、实验任务 RSLogix5000编程仿真十字路口彩灯控制 三、实验设备和软件 实验设备: 网络控制平台、导线若干、380V电源、PC机 实验软件:RSLinx、RSLogix5000 四、实验步骤 步骤一:连线 本实验中,用导线将位于控制台上的数字输入区的I0插口与点动/自锁按钮区插孔C7,I1与插孔C8连起来,把SB7作为启动按钮,SB8作为停止按钮。数字输入区中的GND-0 (17)端口与24V电源-相连,C7,C8所对应的COM端口(即和其同一列的COM端口)与24V电源+相连。控制台中数字输出区的O0-O5分别用导线和指示灯区的L1-L3,L9-L11这个六个插孔一一对应相连;在指示灯区,从左端数起的三个COM端均应与24V(-)相连;数字输出区的DC-0插孔应与电源24V(+)相连,RTN OUT-0与电源24V(-)相连。 步骤二:RSLinx的设置 1、运行RSLinx,单击菜单栏中的“Communication/Configure Drivers…”,弹出“Configure Driver Types”的对话框(图 2.1)。单击“Available Driver Types”的下拉箭头,选择添加驱动程序,由于PC机和ControlLogix5555是通过以太网连接,所以这里选“Ethernet devices”。

图2.1 选好“Ethernet devices”后,单击“Add New”,就出现如图2.2的对话框,单击OK。 图2.2 2、单击“Add New”按钮,弹出“Add New RSLinx Driver”窗口。输入新驱动的名称,如:AB_ETH-1, AB_ETH1-2等。单击“OK”按钮,弹出如图2.3的窗口。在Station Maping窗口栏中,对应“Station 0”,填入“Host Name”。该PLC模块在内网的地址:192.168.0.211,相应填入,则组态成功。(注意,此时ControlLogix5555必须已加上电源)。

pascal-带格式的输出语句及输入语句

1.文件的打开与保存 2.文件的输入与输出语句(结合常量与变量、数的科学记数法) 3.类型:溢出的理解 带格式的输出语句及输入语句 一、写语句的输出格式 在pascal语言中输出数据时是可以按照一定格式的,对整数隐含的输出形式为按十进制数形式。对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。 事实上,输出语句中的每个输出项中的表达式之后可以加上格式说明,若输出项后没有加格式说明,则数据按系统隐含的格式输出,还可加上一定格式符号按特定格式输出。 ⒈隐含的输出格式 pascal语言为整型量、实型量、布尔型量和字符串( 用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列) ,一个数据所占的宽度称为"场宽"或"字段宽"。系统给出的隐含场宽称为标准场宽。每一种pascal版本给定的标准场宽不尽相同。下表给出标准pascal和pc机上两种pascal版所规定的标准场宽。 标准场宽 ━━━━━━━━━━━━━━━━━ 数据类型标准pascal Turbo pascal ───────────────── integer 10 实际长度 real 22 17 布尔型10 4或5 字符串串长串长 ━━━━━━━━━━━━━━━━━ 在Turbo Pascal系统中,对于整型字符串的输出都是按数据本身长度输出,对于布尔型数据(只有True和False两种值),TRUE为4列,FALSE为5列,一律采用大写输出。而real 型数据的输出时,则按17列输出,其中第一列为符号位,正号不显示,后四位为"E±nn",中间的12列为尾数部分。如: writeln(sqrt(75)); 则输出□8.6602540379E+00。 而writeln(sqrt(81)); 则输出□9.0000000000E+00。 有时,在程序中往往根据实际情况,需要自己定义场宽。 ⒉指定场宽 在写语句中输出项含有格式符号时,就是为了指定场宽。 ⑴指定单场宽. 格式:write(表达式:N)或writeln(表达式:N),其中N为自然数,指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据实际长度小于指定场宽时,则一律"向右

数据的存储与输入输出

第3章_数据的存储与输入输出 1.什么是数据? 首先我们来看一看什么是数据? 简单的来讲,数据就是有用的信息。例如,一首歌,一部电影,一篇文章,一个数字,这些都是数据。 2.数据与数据类型 接下来我们来看一看什么是数据类型? 数据类型就是对数据的分类。 3.数据存储 那我们的数据究竟是怎样存储到计算机里面的呢?电影,歌曲那些我们先不管,我们先来看一下最基本的数,我们一起来研究一下平时生活中最常见的数字是怎么存储到计算机里面的。在学习数字在计算机里面怎么存储之前,我们需要先了解两个知识点,那就是内存和进制。 4.内存 在介绍数字的存储之前,我们要先来看一个东西,内存。事实上,随着大家以后编写程序的深入,大家会发现,我们编写程序的时候,最多的就是和内存打交道。 大家都知道,我们的CPU就是计算机的大脑,所有的数据处理都是在CPU里面进行的。但是,CPU在进行数据处理之前,总得有数据传到它那里,它才能进行处理吧,而究竟哪个部件负责将数据传给CPU呢?那就是内存。也就是说,我们的CPU总是从内存里面读取数据并进行操作的。比如说你要播放硬盘上的一部电影,那也是先将硬盘上的电影传入到了内存,然后再由我们的CPU进行操作的。 内存里面有很多个单元格,每个格子称之为一位,每一个格子,也就是说每一位,可以存储一个0或者一个1。位(bit)是我们内存的最小存储单位。最早的CPU是8位CPU,一次性从内存中读取8个格子,也就是8位。所以我们把8位又称之为一个字节(byte),字节是我们内存的基本存储单位。 5.进制和进制转换 数据在我们的计算机中是以二进制的形式来表示的。在C语言中,整型常量通常还以八进制,十进制和十六进制3种方式来表示的。 ①二进制 什么叫做二进制,简单的说,就是逢二进一,目前的计算机全部都是采用的二进制系统。二进制中只有0和1,没有2这个数。为什么采用二进制呢?因为我们的二进制中每一位数都可以用任何具有两个稳定状态的元件来表示,所以二进制易于用电子方式来实现。 ②八进制 逢八进一,所以没有8这个数字。八进制整常数必须以0开头作为八进制数的前缀。比如04,017等。八进制数通常是无符号数。 例如,下面的数是合法的八进制整数

第十章 输入输出系统习题

第十章输入输出系统习题 一、单项选择题: 1、“总线忙”信号是由__ __建立的。 A.获得总线控制权的设备B.发出“总线请求”的设备 C.总线控制器D.CPU 2、在不同速度的设备之间传送数据__ __。 A.必须采用同步控制方式B.必须采用异步控制方式 C.可以选用同步方式,也可选用异步方式D.必须采用应答方式 3、挂接在总线上的多个部件___ _。 A.只能分时向总线发送数据,并只能分时从总线接收数据 B.只能分时向总线发送数据,但可同时从总线接收数据 C.可同时向总线发送数据,并同时从总线接收数据 D.可同时向总线发送数据,但只能分时从总线接收数据 4、总线从设备是____。 A.掌握总线控制权的设备 B.申请作为从设备的设备 C.被主设备访问的设备D.总线裁决部件 5、假设某系统总线在一个总线周期中传输4个字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是__ __。 A.10 MB/s B.20 MB/s C.40 MB/s D.80 MB/s 6、波特率表示传输线路上____。 A.信号的传输速率B.有效数据的传输速率 C.校验信号的传输速率D.干扰信号的传输速率 7、中断系统中的断点是指____。 A.子程序入口地址B.中断服务子程序入口地址 C.中断服务程序入口地址表D.中断返回地址 8、显示器的主要参数之一是分辨率,其含义是____。 A.显示屏幕的水平和垂直扫描频率 B.显示屏幕上光栅的列数和行数 C.可显示不同颜色的总线 D.同一个画面允许显示不同颜色的最大数目 9、下列选项中,能引起外部中断的事件是____。 A.键盘输入B.除数为0 C.浮点运算下溢D.访存缺页 10.CPU响应中断时,最先完成的两个步骤是_ __和保护现场信息。 A.开中断 B.恢复现场 C.关中断 D.不可屏蔽中断 11、在独立编址方式下,存储单元和I/O设备是靠来区分的。 A.不同的地址代码B.不同的地址总线 C.不同的指令和不同的控制信号D.上述都不同 12、计算机系统的输入/输出接口通常是__ __。 A.CPU与存储器之间的交界面B.存储器与打印机之间的交界面 C.主机与外围设备之间的交界面D.CPU与系统总线之间的交界面 13.根据连线的数量,总线可分为串行总线和_____ ___总线

实验一输入输出接口实验

实验一输入、输出接口实验 一、实验要求 1、P1 口做输出口,接八只发光二极管。 2、P3.0,P3.1 作输入口接两个拨动开关 3.要求若P3.0单独闭合,则LED灯从L7-L0循环闪烁,每次亮一个,若P3.1单独闭合,则led灯从L0-L7闪烁,每次亮一个。若P3.0 P3.1同时闭合,则所有灯一起闪烁,闪烁间隔为1S。若P3.0 P3.1全部断开,则所有灯全不亮。 4、将闪烁间隔修改为30MS,观察现象。 二、实验目的 1、学习 I/0 口的使用方法。 2、学习延时子程序的编写和使用。 三、实验设备 1、IPC-610研华工控机一台, 2、伟福LAB2000P教学实验系统。 四、实验电路及连线 五、实验说明 1、P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当 P1口用为输入口时,必须先对它置1。若不先对它置1,读入的数据是不正确的。 2、8051 延时子程序的延时计算问题,对于程序 Delay: MOV R6,#0H MOV R7,#0H DelayLoop: DJNZ R6,DelayLoop DJNZ R7,DelayLoop RET 查指令表可知 MOV,DJNZ 指令均需用两个机器周期,在 6MHz 晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为: ((256×2+2)×256+4)×2=263176

六、实验报告 1、解释为什么P1端口作为输入口时,需先对它置1,才能读取正确的外部输入数据? 2、画出完整的实验电路原理图 2、整理实验程序

连线 连接孔 1 连接孔 2 1 P1.0 L0 2 P1.1 L1 3 P1.2 L2 4 P1.3 L3 5 单脉冲输出 T0 实验二 外中断及定时、计数器实验 一、实验目的 1、掌握外部中断的运用方法,本实验中采用边沿触发模式。 2、学习 8051 内部 T0 T1 定时/计数器使用方法。 3、掌握中断处理程序的编程方法。 二、实验内容及要求 1、用单次脉冲申请外中断INTO ,采用边沿触发模式,在外中断处理程序中对输出信号灯LED6(P3.1控 制)进行反转(采用CPL 指令) 2、8031 内部定时计数器 T0,按计数器模式和方式2工作,对 P3.4(T0)引脚进行计数。将其数值按二进制数在 P1 口驱动 LED 灯上(L0,L1,L2,L3)显示出来。 3、用 T1作定时器中断方式计时,实现每一秒钟LED7(L7)(P3.0控制)灯闪烁一次 三、实验设备 1、IPC-610研华工控机一台。 2、伟福LAB2000P 教学实验系统。 四、实验电路及连线 注意: 本实验中,“单次脉冲”同时作为计数脉冲输入T0引脚,同时也引到引脚INTO 申请外部中断,本实验中将要求同时开放外部中断INTO 和T1的定时中断这两个中断。 五、实验说明 1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验T0使用的是计数器。T1使用的是定时器。 2.本实验中内部T0起计数器的作用。外部事件计数脉冲由 P3.4 引入定时器 T0。 单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能 检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、定时器有关的寄存器有工作方式寄存器 TMOD 和控制寄存器 TCON 。TMOD 用于设置定时器/计数器 连线 连接孔 1 连接孔 2 1 P3.0 L7

数据存储方式

数据存储的几种方式: 总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络。其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式;数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等;网络,则用于比较重要的事情,比如科研,勘探,航空等实时采集到的数据需要马上通过网络传输到数据处理中心进行存储并进行处理。对于Android平台来讲,它的存储方式也不外乎这几种,按方式总体来分,也是文件,数据库和网络。但从开发者的角度来讲它可以分为以下五种方式: 1.SharedPreferences共享偏好2.Internal Storage内部存储空间3.External Storage外部存储空间4.SQLite Database数据库5.Internet网络这几种方式各自有各自的优点和缺点,要根据不同的实际情况来选择,而无法给出统一的标准。下面就各种方式谈谈它们的优缺点,以及最合适的使用情况:1.Shared Preferences共享偏好SharedPreferences是用来存储一些Key/Value类似的成对的基本数据类型,注意,它只能存储基本数据类型,也即int, long, boolean, String, float。事实上它完全相当于一个HashMap,唯一不同的就是HashMap中的Value可以是任何对象,而SharedPreferences中的值只能存储基本数据类型(primitive types)。对于它的使用方法,可以参考Android Developer Guide,这里不重复。如此来看,最适合SharedPreferences的地方就是保存配置信息,因为很多配置信息都是Key/Value。事实上,在Android当中SharedPreferences使用最多的地方也是用来保存配置(Settings)信息,系统中的Settings中这样,各个应用中的Settings也是这样。并且,Android中为了方便的使用SharedPreferences 保存配置信息,它来专门有PreferenceActivity用来封装。也就是说如果你想在应用程序中创建配置(Settings),你可以直接使用PreferenceActivity和一些相关的专门为Preference封装的组件,而不用再直接去创建,读取和保存SharedPreference,Framework中的这些组件会为你做这些事。再谈谈一些使用SharedPreference时的技巧,它只能保存基本数据类型,但假如我想保存一个数组,怎么办?可以把数据进行处理,把它转化成一个String,取出的时候再还原就好了;再如,如想保存一个对象,怎么办,同样,可以把对象序列化成为字符序列,或转成String(Object.toString()),或是把它的HashCode(Object.hashCode())当成Value 保存进去。总之,SharedPreferences使用起来十分的方便,可以灵活应用,因为它简单方便,所以能用它就尽量不要用文件或是数据库。 1.Internal Storage内部存储空间所谓的内部存储与外部存储,是指是否是手机内置。手机内置的存储空间,称为内部存储,它是手机一旦出厂就无法改变,它也是手机的硬件指标之一,通常来讲手机内置存储空间越大意味着手机价格会越贵(很多地方把它称为手机内存,但我们做软件的知道,这并不准确,内存是指手机运行时存储程序,数据和指令的地方;这里应该是手机内部存储的简称为内存,而并非严格意义上的内存)。内部存储空间十分有限,因而显得可贵,所以我们要尽可能避免使用;另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽,手机也就无法使用了。所以对于内部存储空间,我们要尽量避免使用。上面所谈到的Shared Preferences和下面要谈到的SQLite数据库也都是存储在内部存储空间上的。Android本身来讲是一个Linux操作系统,所以它的内部存储空间,对于应用程序和用户来讲就是“/data/data"目录。它与其他的(外部的存储)相比有着比较稳定,存储方便,操作简单,更加安全(因为可以控制访问权限)等优点。而它唯一的缺点就是它比较有限,比较可贵。虽然,可以非常容易的知道程序本身的数据所在路径,所有的应用程序的数据路径都是“/data/data/app-package-name/”,所有的程序用到的数据,比如libs库,SharedPreferences

计算机组成原理第八章输入输出系统

第八章输入输出系统 一、填空题; 1.直接内存访问(DMA)方式中,DMA控制器从CPU完全接管对A.______的控制,数据交换不经过CPU,而直接在内存和B.______之间进行。 2.通道是一个特殊功能的A.______ ,它有自己的B.______ 专门负责数据输入输出的传输控制。 3.并行I/O接口A.______ 和串行I/O接口B.______ 是目前两个最具有权威性的标准接口技术。 4.在计算机系统中,CPU对外围设备的管理,除了程序查询方式、程序中断方式外,还有A.______方式、B.______方式和C.______方式。 5.程序中断方式控制输入输出的主要特点是,可以使A 和B 并行工作。 6.DMA控制器按其A 结构,分为B 型和C 型两种。 7.通道是一个特殊功能的A ,它有自己的B 专门负责数据输入输出的传输控制,CPU只负责C 功能。 8.通道有三种类型:A 通道、B 通道、C 通道。 二、选择题: 1.下面有关“中断”的叙述,______是不正确的。 A.一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中断请求 B.CPU响应中断时暂停运行当前程序,自动转移到中断服务程序 C.中断方式一般适用于随机出现的服务 D.为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继续执行程 序,必须进行现场保存操作 2.中断向量地址是______。 A. 子程序入口地址 B. 中断服务例行程序入口地址 C. 中断服务例行程序入口地址的地址 D. 主程序返回地址 3.在数据传送过程中,数据由串行变并行或由并行变串行,其转换是通过______。 A. 移位寄存器 B. 数据寄存器 C. 锁存器 D. 指令寄存器 4.采用DMA方式传送数据时,每传送一个数据要占用______的时间。 A. 一个指令周期 B. 一个机器周期 C. 一个时钟周期 D. 一个存储周期 5.发生中断请求的条件是______。 A. 一条指令执行结束 B. 一次I/O操作开始 C. 机器内部发生故障 D. 一次DMA操作开始 6.为了便于实现多级中断,保存现场最有效的方法是采用______。 A. 通用寄存器 B. 堆栈 C. 存储器 D. 外存 7.采用串行接口进行七位ASCII码的传送,带有一位奇校验位、一位起始位和一位停止位,当波特率为4800波特时,字符传送速率为___。 A.480 B. 436 C. 685 D. 240 8.在单级中断系统中,CPU一旦响应中断,则立即关闭___标志,以防止本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。 A.中断允许 B. 中断请求 C. 中断屏蔽

数据的输出输入

3.4数据的输入和输出 3.4.1输入输出的举例 利用printf函数进行数据的输出程序,现在再介绍一个包含输入和输出的程序。 3.4.2有关数据输入输出的概念 Puchar(输出字符)getchar(输入字符) 3.4.3用printf函数输出函数 在C语言中来实现输入输出的主要是printf函数和scanf函数,这两个函数是格式输入输出函数。 一,printf函数的一般格式为 printf(格式控制,输出列表) printf(“%d,%c\n”,i,c)括号包含两部分;(1)“格式控制”是用双撇号括起来的一个字符串,称“转换控制字符串”简称字符格式串。包含两个信息。 1,格式声明,格式声明是由%和格式字符组成,如%d,%f。他的作用是将输出的数据转换为指定格式然后输出。格式声明总是以%字符开始的。 2,普通字符,普通字符即输出时需要原样输出的字符。例如上面的printf函数,中的双撇号内的逗号,空格,和换行符。也可以包含其他字符。 二,输出列表是程序需要输出的一些数据,可以是常量,变量,或表达式。 Printf(参数1,参数2,参数4.。。。。。。。。。。参数N) 参数1是是格式控制字符串,参数2,3.。。是需要的数据。在执行时将参数2以后按参数1所指定的格式输出,参数1是必须有的。 三,格式字符 (1)d格式符 用来输出一个十进制整数,可以在声明格式中指定输出数据的域宽(所占的列数)如%5d,指定数据占5列。 (2)c格式符 用来输出一个字符。 (3)s格式符 用来输出一个字符串 (4)f格式符 用来输出实数(包括但双精度,长双精度),以小数形式输出。有几种用法:1,基本型,用%f。不指定输出函数的长度,由系统根据数据的实际情况决定的列数。一般情况是,实数部分全部输出,小数部分输出6位。2,指定数据的宽度和小数位数,用%m.nf。3,输出的数据向左对齐。%-m.nf。与2的格式相同,只是当数据长度不超过m时,数据想左对齐,右端用空格表示。 (5)e格式式 输出以指数形式输出。如果不指出数据所占的宽度和数字部分的小数位数。一般情况下小数部分占6位。也可以用%m.ne。形式格式声明。其中e可以是大写。 (6)i格式符 作用与%d一样。 (7)o格式符 以八进制形式输出。其中没有符号。全都是正数。 (8)x格式符: 以十六进制输出,同样用%lx表示长型数据。

ControlLogix数字量输入输出控制

ControlLogix数字量输入输出控制

实验 ControlLogix数字量输入输出控制 一、实验目的 了解RSLinx软件的基本用法 了解RSLogix5000编程的基本方法与逻辑设计 使用ControlLogix进行数字量输入输出控制二、实验任务 RSLogix5000编程仿真十字路口彩灯控制三、实验设备和软件 实验设备: 网络控制平台、导线若干、380V 电源、PC机 实验软件:RSLinx、RSLogix5000 四、实验步骤 步骤一:连线 本实验中,用导线将位于控制台上的数字输入区的I0插口与点动/自锁按钮区插孔C7,I1与插孔C8连起来,把SB7作为启动按钮,SB8作为停止按钮。数字输入区中的GND-0 (17)端口与24V电源-相连,C7,C8所对应的COM端口(即和其同一列的COM端口)与24V电源+相连。控制台中数字输出区的O0-O5分别用导线和指示灯区的L1-L3,L9-L11这个六个插孔一一对应相连;在指示灯区,从左端数起的三个COM端均应与24V(-)相连;数字输出区的DC-0插孔应与电源24V(+)相连,RTN OUT-0与电源24V(-)相连。 步骤二:RSLinx的设置 1、运行RSLinx,单击菜单栏中的“Communication/Configure Drivers…”,弹

出“Configure Driver Types”的对话框(图2.1)。单击“Available Driver Types”的下拉箭头,选择添加驱动程序,由于PC机和ControlLogix5555是通过以太网连接,所以这里选“Ethernet devices”。 图2.1 选好“Ethernet devices”后,单击“Add New”, 就出现如图2.2的对话框,单击OK。

开关量输入实验

4.2 开关量输入实验 4.2.1 实验目的 掌握iCAN4050输入、输出控制原理及应用。 4.2.2 实验设备及器件 PC 机一台 iCAN实验教学开发平台一台 4.2.3 实验内容 能够利用 iCAN4050 模块检测开关量输入信号。 4.2.4 实验要求 要求能够掌握 iCAN4050 模块输入输出基本原理。 4.2.5 实验步骤 系统接线连接 上电运行 输入检测 实验总结 4.2.6 实验预习要求 阅读iCAN4050功能模块简介、数据手册 阅读iCAN实验教材中相关实验 掌握iCAN4050功能模块输入、输出控制原理 4.2.7 数字量输入检测 1.输入检测连接线 该实验主要利用iCAN4050模块检测1路开关量输入信号,其中开关(SW0)分布于PCB上,PCB 板为内嵌在iCAN实验平台表面上,PCB板全局图如图 4.9 所示:

图4.9 PCB 板正面俯视图 在 iCAN 实验平台上我们已经将 iCAN4050 输入控制信号线与 PCB 板上的SW0 连接,用户也可以尝试检测 SW1—SW7 的开关输入信号。(注意:iCAN4050 模块的 COM 端与 PCB 板上 GND 相连接) 表4.3 信号连接线标记号定义 提示:iCAN 实验平台连接线已经标准化,无需用户自行连接;若由于其他外界因素导致实验平台的连接线脱离或段开,用户可以根据以上表格提供的信息连线;若用户需要根据实际需要在此实验平台上开发可以根据端子排端口号定义重新连线,此时不一定利用原来标准化的模块来控制对象。 2.系统连线正面俯视图 如图 4.10 所示为 iCAN4050 检测开关量输入的简单框图,该图是为 iCAN 实验教学平台的正面俯视图,绿色线为开关输出信号与模块之间的控制线,红色为电源线,蓝色为 CAN 通信线。 图 4.10 系统连线框图

常用视频输入输出格式

一、传输接口 按照发展先后来概述: (1)CVBS:Composite Video Broadcast Signal,复合视频广播信号。 它是最早期的一种图像数据传输方法,是将模拟视频信号和声音信号结合,并调制到视频载波之前的一种格式。复合视频包含色差(色调和饱和度)和亮度信息,并将它们同步在消隐脉冲中,用同一信号传输。这种接口有3根线:白(左声道)、红(右声道)、黄(视频信号),如图所示: 由于是采用亮度和色度信号频谱间置方法复合在一起,所以会导致亮、色的串扰以及清晰度降低等问题。 (2)S-video:即S端子,它是将亮度信号Y和色度信号C分开传输,这样就可确保亮度和色度信号不相互干扰。 (3)VGA:Video Graghic Array,又叫显示绘图阵列,它采用非对称分布的15Pin 连接方式,共有15针,分成3排,每排5个孔。 (4)DVI:Digital Visual Interface,即数字视频接口。它采用全数字传输,可有效降低干扰和提高性能。对于DVI接口,有很多规范,常见的是DVI-D(Digital)和DVI-I(Integrated),DVI-I只能传输数字信号,可以用它来连接显卡和平板电视等。 (5)HDMI:High Definition Multimedia Interface,即高清晰度多媒体接口。它与DVI不同,可以同时传输视频和音频信号,由于音频和视频信号采用同一条电缆,可大大简化系统的安装。 除了上述有代表性的接口之外,另外还有一些典型接口,比如:色差分量接口(三基色输入)、SCART(欧洲通用视频接口)、BNC端口输入(R、G、B、行同步、场同步5个连接头),SDI(串行数字接口)等等。 二、视频输出的数字信号格式 相关名词: ITU:International Telecommunications Union (国际电信联盟) ITU-R:Radiocommunication sector of ITU (国际电信联盟无线电通信部门)CCIR:International Radio Consultative Committee (国际无线电咨询委员会)

二、数字量输入输出

第二部分数字量I/O 目录 1 DO、DI硬件原理 2 2.1 CPC板的电路图 3 2.1.1 所用I\O口 4 2.1.2 485通讯口7 2.1.3 显示电路的设计8 2.1.4 晶振模块8 2.1.5 上层板的原件清单9 2.2 输入板I/O原理图 10 2.2.1 电路原理11 2.2.2 输入底板的原件清单12 2.3 输出板I/O电路图 13 2.3.1 反向驱动器ULN2003 芯片 14 2.3.2 输出底板的原件清单14 2.4 通讯部分15 3 DI、DO软件部分设计 16 3.1 通讯方式16 3.1.1 Modbus 协议 16 3.1.2 CRC校验17 3.1.3 莫尼康RTU 17 3.1.4 看门狗程序19 3.2 计算机界面的设计20 3.3 输入板的程序设计21 3.4 输出板的程序设计24 4 DI、DO的应用26 4.1 数字输入板的应用26 4.2 数字输出板的应用32 5. 数字量输入程序清单37 6.数字量输出程序清单 49

硬件部分由程序下载口,状态显示,复位,信息通信,I/O口,AD,DA等几部分组成,软件部分采用MODBUS通信协议,CRC校验,看门狗程序,数据传送等部分组成。 1.DO、DI硬件原理 输入板电路分为上层板电路和底板电路,其中上层板电路以Atmega128为核心,主要实现显示状态、控制端口、数据处理和通讯的功能。设计如下:

1.1 CPU 板硬件原理图 图2-2 输入输出上层板电路 1 234567816 1514131211109S1 5.1K Rs 1 5.1K Rs 25.1K Rs 35.1K Rs 45.1K Rs 55.1K Rs 65.1K Rs 75.1K Rs 8P A 3 P A 4P A 5P A 6P A 7P D 5P D 6P D 7VCC

第10章 输入输出系统

第10章输入输出(I/O)系统 一、选择题(每题2分) 12.串行接口是指()。 A.主机和接口之间、接口和外设之间都采用串行传送 B.主机和接口之间串行传送,接口和外设之间并行传送 C.主机和接口之间并行传送,接口和外设之间串行传送 D.系统总线采用串行总线 【分析】主机的工作速度较快,因此主机和接口之间采用并行传送;外设的工作速度较慢,因此接口和外设之间采用串行传送。 【答案】C 35.为了便于实现多级中断,保存现场信息最有效的办法是采用______。 A 通用寄存器 B 堆栈 C 存储器 D 外存 【答案】B 35.为了便于实现多级中断,保存现场信息最有效的办法是采用______。 A 通用寄存器 B 堆栈 C 存储器 D 外存 【答案】B 70. 当采用______对设备进行编址情况下,不需要专门的I/O指令组。 A.统一编址法 B.单独编址法 C.两者都是 D.两者都不是 【答案】A 71. 下面有关“中断”的叙述,______是不正确的。 A.一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中 断请求 B.CPU响应中断时暂停运行当前程序,自动转移到中断服务程序 C.中断方式一般适用于随机出现的服务 D.为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继 续执行程序,必须进行现场保存操作 【答案】A 95. 周期挪用(窃取)方式常用于______中。

A. 直接内存存取方式的输入/输出 B. 直接程序传送方式的输入/输出 C. CPU的某寄存器与存储器之间的直接传送 D. 程序中断方式的输入/输出 【答案】A 114. 采用DMA方式传送数据时,每传送一个数据就要用一个______时间。 A. 指令周期 B. 机器周期 C. 存储周期 D. 总线周期 【答案】C 二、填空题(每题2.5分) 3.按照传输数据格式不同划分,总线数据通信方式可分为串行总线和____________两类。 【答案】并行总线 4.对I/O数据传送的控制方式,可分为:程序直接控制方式、______________、DMA方式、_____________和外围处理机方式。 【答案】程序中断方式、通道控制方式 5.计算机系统的输入输出接口是(C)之间的交接界面。 A.CPU与存储器B.存储器与外围设备 C.主机与外围设备D.CPU与系统总线

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