北京工业大学电子工程设计--二阶实验报告

北京工业大学电子工程设计--二阶实验报告
北京工业大学电子工程设计--二阶实验报告

电子工程设计第二阶段报告

小型温度测量与控制系统

专业:通信工程小组: 10组

成员:刘志斌 12024228 高培元 12024215

指导教师:高新

完成日期:2014.12.20

摘要:

第一阶段我们已经完成了电源板和变送器。本学期的第二阶段要求是完成这个系统中单片机,A/D,D/A转换电路和显示与键盘控制电路部分。

温度控制系统总体概述

(一)、总述

电子工程设计训练是一门综合理论知识,实践操作,电子电路系统的设计、实现、调试、故障排查等方面的综合性训练。第一阶段只完成了电源以及变送器部分。本阶段工作量非常大,需要完成单片机,数模,模数转换电路和显示与键盘控制电路部分,并且完成测温系统的测试。

(二)设计任务与要求

一、设计任务

设计、制作并调试单片机,数模,模数转换电路和显示电路共四个模块。二、设计要求

1.单片机:具有独立电路板结构。

片选信号:6个,

地址信号:4个,

数据总线:AD0~AD7,

I/O口线:P3口,P1口。

2.数/模(D/A)转换电路:具有独立电路板结构。

输入范围:00H ~ 0FFH,

对应输出:-10V~+10V,

电源供电:+5V,±12V。

3.模/数(A/D)转换电路: 独立电路板结构

输入信号范围:0V~+5V

分辨率:8bit

精度:1LSB

转换时间:< 1ms

4.显示与键盘控制电路:

4 位7 段数码显示,

前 3 位含小数点独立电路板安装结构

0 ~ 9数字输入键及若干功能设置按键控制

(三)单片机应用电路

一、电路设计方案

1.芯片介绍

MCS-51系列单片机有众多性能优异的兼容产品、成熟的开发环境、世界上最大的单片机客户群、高性价比、畅通的供货渠道,是初学者的首选机型。8051是MCS-51系列单片机早期产品之一,内建一次性可编程只读存储器 ( PROM ) ,只需要很少的外围元件即可组成最小系统。所以我们选择8051作为我们的单片机

2.安装结构

3.电路方案的确定

通过比较,我们最后选定相对容易实现的部分地址译码,无总线驱动的方案,因为这样可以简化电路。电路图如下:

二、电路的调试

$include (C8051F020.inc)

LOOP: LCALL Init_Device

MOVX A , @DPTR

MOV DPTR, #0000H

MOVX A , @DPTR

MOV DPTR, #2000H MOVX A , @DPTR

MOV DPTR, #4000H MOVX A , @DPTR

MOV DPTR, #6000H MOVX A , @DPTR

SJMP LOOP

$include (Init_Device.inc)

END

正确输出波形如图所示:

用示波器观察C1~ C4引脚,应有图示的波形输出。如果没有输出或者彼此关系错乱,都表明电路中存在故障。

3.原理及功能分析

(1)电路工作原理

①C8051的P3口为数据/地址复用端口,为了得到低8位地址,需要数据/

地址分离电路。C8051通过A13、A14、A15三口输出信号给74LS138 译码器,经过芯片译码后输出6个片选信号,当输出相应地址时输出相应片选。译码器的E1、E2口接低,E3口接高,7、9两口制空。

②C8051接收信号后需要数据/地址分离电路,而74LS373锁存器便充当了

这一功能。373从8051的D0~D7口接收到信号后将信号分离,数据信号从锁存器的Q0~Q3口输出,地址信号从锁存器的D0~D7口输出。

(四) 数/模(D/A)转换电路

一、电路设计方案

1、DAC8032芯片介绍

数模转换器是整个控制系统将计算机输出的数字信号转化成模拟信号的重要部件,它的特性直接影响温度转换的精度。其转换的精度主要由数模转换器的位

数和V ref结合电子工程设计的实际要求,结合高性价比的原则我们选择了8位

2、安装结构

3、电路的选择

输出方式:与数字量成比例的电流输出/与数字量成比例的电压输出/数字量

和参考电压的相乘输出。

二、电路主要参数计算

D/A 转换器用于将数字量转换成模拟量,他的输入粮食数字量D ,输出量为模拟量V O ,要求输出的模拟量与输入的数字量成正比,即:

O R V D V =?

其中V R 为基准电压。

1

1

2

1200

2

2

22n n n i n n i i D d d d d -----==++

+=∑

将D 带入O R V D V =?得到:1

2n i O i R

i V d V

-==

∑。

三、电路调试

运行D/A 测试程序数/模数据显示窗口将有相应,数据显示,数据为从00—FF 顺序递增并不断循环。另外输出管脚会有锯齿波。

测试程序如下:

$include (C8051F020.inc) LCALL Init_Device MOV DPTR,#4000H ABC: MOVX @DPTR,A

INC A CALL DELAY JMP ABC DELAY: MOV R7,#01H

JJJ: MOV R6,#20H DJNZ R6,$ DJNZ R7,JJJ RET

$include (Init_Device.inc) END

输出波形如图:

(五) 模/数(A/D)转换电路

一.ADC0804芯片介绍

芯片参数:

工作电压:+5V,即VCC=+5V。

模拟输入电压范围:0~+5V,即0≤Vin≤+5V。

分辨率:8位,即分辨率为1/2=1/256,转换值介于0~255之间。

转换时间:100us(fCK=640KHz时)。

转换误差:±1LSB。

参考电压:2.5V,即Vref=2.5V。

二.安装结构

原理说明:模数转换器,是将模拟电信号转变成计算机能识别的数字信号。在模数转换中,应根据测量精度要求,考虑转换电路的精度和分辨率,并力求降低成本。模数转换有多种方法可以实现,如采用电压/频率变换器,以频率或脉宽来计算温度,也可以采用A/D变换器或其它方法。如采用A/D变换器,应考虑转换器输入阻抗和变送器输出阻抗对信号的衰减可能引起的测试误差,并尽量降低这一误差。板间连接应注意保护。根据课设要求,温度0~100 C

的变化是用电压0~5V表示的,转成数字表示,即0~FFH。

3.电路的选择

二、电路主要参数计算

(1) 8位数模转换电路主要技术指标:

分辨率 --- 8位:表示能够分辨的最小电压变化

DATA 为 1 时的 Vi 表示最小电压变化 误差 --- ±1LSB 转换时间 --- 100微秒

三、电路调试

调试程序如图:

$include (C8051F020.inc) LCALL Init_Device

ABC: MOV DPTR,#2000H MOVX @DPTR,A CALL DELAY

MOV DPTR,#2000H MOVX A,@DPTR CALL DELAY JMP ABC

DELAY: MOV R7,#02H JPP: MOV R6,#0H DJNZ R6,$ DJNZ R7,JPP RET

$include (Init_Device.inc)

8

2

ref i V Data V V ?=≈∑

END

结果在示波器上显示锯齿波,波形在-10V~+10V上即可。

(六)显示与键盘控制电路

一、电路设计方案

基本显示控制方式有静态和动态两种,我们选择了静态电路显示控制方式与矩阵键盘电路方案。静态显示电路方案:使用的元件多,成本相对较高。但每位独立控制,程序设计比较简单,适用于显示位数较少的场合。矩阵键盘电路方案:按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。

2.安装结构

3.电路的选择

静态显示电路方案:使用的元件多,成本相对较高。每位独立控制,程序设计比较简单,适用于显示位数较少的场合。使用74LS273,采用此方案。

键盘接口方法

矩阵键盘电路方案:按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。采用此方案。

原理图如下:

二.电路调试

(1)显示电路模块调试

按照图进行电源板焊接完毕,而后再次认真查线一遍然后再开始测试。测试时,将电源板,单片机,显示电路正确连接。按正确加电顺序供电,如果一切正常可以开始进一步的测试。运行显示模块测试程序,如果电路工作正常,在4个数码管上应有数字 0-9 滚动显示。否则,说明电路存在故障。

调试程序如图:

#include "C8051F020.h"

#include "absacc.h"

#include "data_define.c"

#define DP1 XBYTE[0x0000]

#define DP2 XBYTE[0x0001]

#define DP3 XBYTE[0x0002]

#define DP4 XBYTE[0x0003]

#define TIMER 0x8000

#include "Init_Device.c"

unsigned char table[ ]={0xC0,0xF9,0xA4,0xB0,0x99,

0x92,0x82,0xF8,0x80,0x90};

void delay(void);

void display(unsigned char x,y);

void main(void)

{

unsigned char i,num=0;

Init_Device();

DP1=DP2= DP3=DP4=0xff;

while(1)

{

for(num=0;num<10;++num)

{

i++;

if(i<=4) display(i,num);

else { i=1; display(i,num);}

delay( );

}

}

}

void display(unsigned char x,y)

{ if (x=1) DP1=table[y];

else if(x=2) DP2=table[y];

else if(x=3) DP3=table[y];

else DP4=table[y];

}

void delay(void)

{ unsigned int i;

for(i=0;i

}

(1)键盘控制模块调试:

运行键盘控制电路的测试程序,如果电路工作正常,在键盘上每按 1 个键,都会通过 2 位数码显示管,显示相应的行编码和列编码。否则,说明电路存在故障。

调试程序如图:

#include "C8051F020.h"

#include "absacc.h"

#include "data_define.c"

#define DP1 XBYTE[0x0000]

#define DP2 XBYTE[0x0001]

#define KEY_WR XBYTE[0x0002]

#define KEY_RD XBYTE[0x0003]

#define linescan1 0xfe

#define linescan2 0xfd

#define linescan3 0xfb

#define linescan4 0xf7

#define TIMER 0x8000

#include "Init_Device.c"

unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,

0x92,0x82,0xF8,0x80,0x90}; void display(unsigned char x,y);

void main(void)

{

unsigned char l_val,r_val,r_state,temp,conter;

DP1 = DP2 = 0xff;

Init_Device();

while(1)

{

for( l_val = 1;l_val < 5;++l_val )

{

switch( l_val )

{

case 1: KEY_WR = linescan1; break;

case 2: KEY_WR = linescan2; break;

case 3: KEY_WR = linescan3; break; case 4 : KEY_WR = linescan4;

}

if(r_state=~KEY_RD&0x1f)

for(r_val=1,temp=1; r_val<6;++r_val,temp=temp<<1)

if((r_state&temp)!=0) display(l_val,r_val); }

}

}

void display(unsigned char x,y)

{

DP1=table[x];

DP2=table[y];

}

(七)温度测量

1.内容与原理

2.实验程序如下:

#include "C8051F020.h"

#include "absacc.h"

#include "data_define.c"

#include "Init_Device.c"

#define DP1 XBYTE[0x2000]

#define DP2 XBYTE[0x2001]

#define DP3 XBYTE[0x2002]

#define DP4 XBYTE[0x2003]

#define KEY_WR XBYTE[0x2004]

#define KEY_RD XBYTE[0x2005]

#define ADC XBYTE[0x0000]

#define DAC XBYTE[0x4000]

#define linescan1 0xfe

#define linescan2 0xfd

#define linescan3 0xfb

#define linescan4 0xf7

#define TIMER 0x8000

unsigned char data table []={0xC0,0xF9,0XA4,0XB0,0x99,0x92,0x82,0Xf8,0x80,0x90}; unsigned char key[4][4]={0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f'};

void delay(void);

void main(void)

{

unsigned char l_val,r_val,r_state,temp,conter;

unsigned char b=0,key_test;

unsigned char x=0,target,now;

int y=0,z=0; //wendu

int shiwei,gewei; //jianpan

int diff1=128;

DP1=DP2=DP3=DP4=0xff;

Init_Device();

while(1)

{

ADC=x;

delay();

x=ADC;

x=(x*100)/256;

y=x%10;DP4=table[y];

z=(x/10);DP3=table[z];

for(l_val=1;l_val<5;++l_val)

{

switch(l_val)

{

case 1: KEY_WR=linescan1; break;

case 2: KEY_WR=linescan2; break;

case 3: KEY_WR=linescan3; break;

default: KEY_WR=linescan4;

}

if(r_state=~KEY_RD&0x0f)

for(conter=1,r_val=1,temp=1;conter<5;++conter,++r_val,temp=temp<<1) if((r_state&temp)!=0)

{

key_test=key[r_val-1][l_val-1];

switch(key_test)

{

case 'd': b=0;break; //十位

case 'a': b=1;break; //个位

case 'b': b=2;break; //开始

}

if(b==0)

{

if(r_val==1&&l_val==1)

{shiwei=0;DP1=table[0];}

if(r_val==1&&l_val==2)

{shiwei=1;DP1=table[1];}

if(r_val==1&&l_val==3)

{shiwei=2;DP1=table[2];}

if(r_val==1&&l_val==4)

{shiwei=3;DP1=table[3];}

if(r_val==2&&l_val==1)

{shiwei=4;DP1=table[4];}

if(r_val==2&&l_val==2)

{shiwei=5;DP1=table[5];}

if(r_val==2&&l_val==3)

{shiwei=6;DP1=table[6];}

if(r_val==2&&l_val==4)

{shiwei=7;DP1=table[7];}

if(r_val==3&&l_val==1)

{shiwei=8;DP1=table[8];}

if(r_val==3&&l_val==2)

{shiwei=9;DP1=table[9];}

}

if(b==1)

{

if(r_val==1&&l_val==1)

{gewei=0;DP2=table[0];}

if(r_val==1&&l_val==2)

{gewei=1;DP2=table[1];}

if(r_val==1&&l_val==3)

{gewei=2;DP2=table[2];}

if(r_val==1&&l_val==4)

{gewei=3;DP2=table[3];}

if(r_val==2&&l_val==1)

{gewei=4;DP2=table[4];}

if(r_val==2&&l_val==2)

{gewei=5;DP2=table[5];}

if(r_val==2&&l_val==3)

{gewei=6;DP2=table[6];}

if(r_val==2&&l_val==4)

{gewei=7;DP2=table[7];}

if(r_val==3&&l_val==1)

{gewei=8;DP2=table[8];}

if(r_val==3&&l_val==2)

{gewei=9;DP2=table[9];}

}

}

target=shiwei*10+gewei;

now=z*10+y;

if(b==2)

{

if(target>now)

diff1=255;

else if(target

diff1=0;

else

diff1=128;

}

DAC=diff1;

delay();

}

}

}

void delay(void)

{

unsigned int i;

for(i=0;i

}

3.调试过程:连接电路并运行程序。观察测温系统数字显示,应跟随调试台设置温度变化并与调试台设置温度接近。若测量温度与设置温度相差过大的调试,则需调整变送器。调试台设置低端温度,变送器进行零点校准,调试台设置高端温度,变送器进行满度校准。

4. 实验结果:

(八) 心得体会

第二阶段我们一共完成了测温系统中的单片机,A/D转换,显示键盘电路,D/A 转换一共四块电路板。第二阶段的难度相比第一阶段来说是更加的高,听老师说一块显示键盘电路就比之间的所有板子都难。虽然有了第一阶段的一些经验积累,但在焊接过程中依然出现了许多问题,而且第二阶段需要自己设计程序,这更增加了难度。

第二阶段的电路板的难度主要在于焊接。一是需要的线数量大,二是焊点非常密集。这样不仅增加了焊接布线的难度,同时在焊接过程中很容易出现失误。在一开始的单片机的焊接中还比较顺利,因为焊点排列比较整齐,所以布线很少有交叉,焊接自然就比较顺利。检测也可以运行。AD这块版是最简单的一块,只用了一个芯片,也是很顺利地完成了。DA这块版也是比较简单,但焊完之后却不出数,查线后发现有根地线没接。接上后就好了。

最头疼的就属显示键盘电路这块板子了。尤其是显示电路,基本上每个焊点都有2到3根的线。大大的增加了焊接难度。再加上我们的布线不同于大多数同学,导致用的程序也不一样,在我们修改了口地址之后,显示电路就可以运行了。

但是我们在键盘版上耽误的时间最多,焊接完成之后出不来数,按键盘也没有反应。因为我们显示电路与其他组不同,所以程序又要自己编。可当程序可以运行后却发现键盘依旧没反应。之后经过几次的查线也没有结果。我们就不知道到底是程序的错误还是排线的错误。一个下午我们都没有进展,最后只能改动显示电路,这也是没办法了,而且很有可能连之前的显示结果也出不来。其中换线的过程更是繁琐,完成之后连原来的显示版也坏了。我们几乎快崩溃了,又查了几遍线,依然没有进展。又是一个下午的枯燥的查线。最终发现我们的地线虚焊了,138上有一根线断了。还好最后在测试阶段终于成功了。

最后的测温系统,将6块板子组合在一起进行测试。这次测试需要自己编写程序,这需要一定的能力,这里我们借鉴了其他组的程序,在读懂之后就进行了测试。在之前我们每块板子单个都通过了测试,通上程序之后果然就显示了正确的结果。我们组算是最后几个验收的组了,终于在最后一次课上成功了,我们激动的心情无法用语言来形容。

通过这次的课程,我们切身体会到该门课程重要性。它给我们提供了一个从理论到实践的平台。但我们在设计这一环节还要努力,这次课程所用的电路都是老师给出的,给了我们很多启发。在这其中,我们摸索出了一些学习电子技术的经验,也提高了动手能力与耐心。在今后的学习过程中,我们会更加努力。争取让自己的水平更上一层楼。

在这学期我们第一次尝试去完成一个电子系统。在这个过程中遇到了诸多的困难,但我们都顽强的客服了,我们的动手能力得到了锻炼,让我们明白纸上的电路转换为实际的系统,需要付出百倍的努力和耐心才能实现。

最后感谢高新老师的耐心教导和帮助。

九)附录

一、参考文献

1.电子工程设计训练任务书(信息控制与通信部分) 北京工业大学出版社

2.模拟电子技术基础(第四版) 童诗白,华成英高等教育出版社

电子设计实验报告

电子技术课程设计报告

目录 1. 电子琴 (2) (1.1 )设计要求 (2) (1.2 )设计的作用. 目的 (2) (1.3 )设计的具体实现 (3) (1.4)心得体会、存在问题和进一步的改进意见等 (7) (1.5)附录 (8) (1.6 )参考文献 (9) (1.7 )附图 (9) 2. 温度控制电路 (10) 2.1 )设计要求 (10) (2.2 )设计的作用. 目的 (10) (2.3 )设计的具体实现 (10) (2.4)心得体会、存在问题和进一步的改进意见等12 (2.5)附录 (12) (2.6 )参考文献 (13) 3. ...................................................... 信号发生器13 (3.1 )设计要求 (13) (3.2 )设计的作用. 目的 (13) (3.3 )设计的具体实现 (14) (3.4)心得体会、存在问题和进一步的改进意见等 (17) (3.5)附录 (17) (3.6 )参考文献 (17) 4. ...................................................... 音频放大器18 (4.1 )设计要求 (18) (4.2 )设计的作用. 目的 (18) (4.3 )设计的具体实现 (18) 4.4)心得体会、存在问题和进一步的改进意见等 (21) (4.5) .......................................... 附录21

(4.6 )参考文献 (21) 简易电子琴设计报告 一.设计要求本设计是基于学校实验室的环境,根据实验室提供的实验条件来完成设计任务,设计一个简易电子琴。 (1).按下不同琴键即改变RC 值,能发出C 调的八个基本音阶,采用运算放大器构成振荡电路,用集成功放电路输出。 (2).选择电路方案,完成对确定方案电路的设计。计算电路元件参数并记录对应不同音阶时的电路参数值、元件选择、并画出总体电路原理图,阐述基本原理。(3).连接安装调试电路。 (4).写出设计总结报告。 二. 设计的作用、目的 1. 学会用仿真软件对设计的原理图进行仿真。培养创新能力和创新思维,锻炼学生 自学软件的能力,通过查阅手册和文献资料,培养独立分析问题和解决问题的能 力。 2. 培养学生正确的设计思想,理论联系实际的工作作风,严肃认真、实事求是的科 学态度和勇于探索的创新精神。 3. 通过课程设计,使学生在理论计算、结构设计、工程绘图、查阅设计资料、标准 与规范的运用和计算机应用方面的能力得到训练和提高。

程序设计基础实验报告

《程序设计基础》 实验报告 专业班级: 姓名: 学号:

实验一 面向过程的简单程序设计 1.实验目的要求 (1) 使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程, 初步了解C++程序的特点。 (2) 掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运 算符和表达式的使用。 (3) 掌握赋值语句的使用。 (4) 掌握数据的输入输出方法。 2.实验内容 (1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。 <1> d c b a x -++ <2> 11 11+++x x <3> sinX+cosX+tan -1 X <4> e x+y +e x-y <5> log 10(1+21x +) <6> 22b a -+??b a - (其中??a 表示取不大于a 的最大整数)。 <1> #include using namespace std; int main() { float x,a,b,c,d,e; cin>>x>>a>>b>>c>>d; e=x+(a+b)/(c-d); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sqrt(1+1/(x+1/(x+1)));

cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sin(x)+cos(x)+1/tan(x); cout< #include #include using namespace std; int main() { double x,y,z; cin>>x>>y; z=exp(x+y)+exp(x-y); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=log(1+sqrt(1+x*x)); cout< #include #include using namespace std; int main()

北京工业大学实验报告

北京工业大学实验报告

————————————————————————————————作者:————————————————————————————————日期: ?

BEIJINGUNIVERSITYOF TECHNOLOGY 实验报告 课程名称:计算机网络应用 学院:经济与管理学院 专业:管理科学与工程 组 11 号: 14110206 陈浩良报告 人: 14110213 郝楠 14110214 邓刘祥鹤 14110217 苏晗实验日期:2015年11 月30 日报告日期:2015年12月 5 日 学期:2015–2016学年第1学期成绩:评语:

教师签字: 评阅日期: ? 分工情况 实验一直通:苏晗、陈浩良 交叉:郝楠、邓刘翔鹤实验三苏晗、郝楠、陈浩良 实验四苏晗、陈浩良 实验五郝楠、陈浩良 试验六苏晗、郝楠

实验一 实验报告要求: 1.说明直通双绞线和交叉双绞线的使用场合 2.说明直通双绞线和交叉双绞线的构成 3.制作直通双绞线和交叉双绞线过程中遇到的问题和解决方法 1. 交叉线一般用来直接连两台电脑的,也就是网卡--网卡 直通线一般用来连接网络设备(比如路由器,交换机,HUB,ADSL 等)与电脑,或者是网络设备与网络设备(除非特殊说明,一般都支持)之间相联。 2. 直通线的双绞线做法是:两端双绞线都做成:橙白- 橙- 绿白 - 蓝- 蓝白-绿-棕白- 棕 3. 交叉线的做法是,网线的两端一边按橙白- 橙- 绿白- 蓝 -蓝白- 绿- 棕白- 棕做,另一端按绿白- 绿-橙白- 蓝-蓝白- 橙-棕白- 棕做 实验三 实验报告要求: 1.对比OSI模型,简述TCP/IP工作过程 2.描述IP地址、子网掩码的配置方法 3.说明在测试过程中使用了哪些网络命令及命令的意义

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.360docs.net/doc/219507437.html, https://www.360docs.net/doc/219507437.html,,能输出https://www.360docs.net/doc/219507437.html,和https://www.360docs.net/doc/219507437.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

大学程序设计基础实验报告 (2)

**大学程序设计基础实验报告 实验名称:实验三分支结构 实验目的: 1、掌握IF-ELSE语句使用。 2、掌握ELSE-IF语句使用。 3、熟悉SWITCH语句使用。 实验内容: 在本地电脑中新建一个文件夹,用于存放C程序,文件夹的名字要求是“学号姓名-实验序号”,如E:\ 1920115555张三-03。启动C-Free,完成如下各题。 1、编程题:输入参数a,b,c,求一元二次方程ax2+bx+c=0的根(①a、b、c都为0,②a 和b为0,c不为0,③a为0,b不为0,c任意,④a不为0,且a、b、c满足b2-4ac ≥0,⑤a不为0,且a、b、c满足b2-4ac<0)。 2、编程题:输入职工的月薪salary,计算并输出应缴纳的个人所得税tax。tax=rate * (salary –850),rate的计算方式如下: 当salary <= 850,则rate = 0; 当850 < salary <= 1350,则rate = 5%; 当1350 < salary <= 2850,则rate = 10%; 当2850 < salary <= 5850,则rate = 15%; 当salary > 5850,则rate = 20%;。 3、编程题:根据输入的3个边长a、b、c,判断它们是否能构成三角形,若能构成三 角形,则进一步判断此三角形是哪种类型的三角形(等边三角形、等腰三角形、直角三角形和一般三角形。等腰直角算作等腰)。 4、编程题:输入一个形式如“操作数运算符操作数”的表达式,对2个整数进行乘、 除或求余运算。【请分别用if语句和switch语句实现此题功能】 上交作业的方法: 1.将程序代码及注释和运行程序的窗口复制到实验结果下方对应的题号上,并把这 次实验上机操作中遇到的问题及解决方法、心得等填好完成实验报告。 2.保存以上所有按要求已调试通过,并形成.c(或.cpp)和.exe文件到以自己的“学 号姓名-03”命名的文件夹中,并将以自己的“学号姓名”命名的文件夹压缩后上 交到ftp://10.172.250.252:1161中的“作业上传”文件夹下的“报告上交02”文件 夹下的子文件夹“源文件压缩上交”中,同时把以“学号姓名-03”命名的word 文档上交到“报告上交03”文件夹下的另一子文件夹“word文件上交”中。 特别提醒:每次上传的文件名一定要是“学号姓名-实验序号. doc”(如1720115555张

北京工业大学电子工程设计--二阶实验报告

电子工程设计第二阶段报告 小型温度测量与控制系统 专业:通信工程小组: 10组 成员:刘志斌 12024228 高培元 12024215 指导教师:高新 完成日期:2014.12.20

摘要: 第一阶段我们已经完成了电源板和变送器。本学期的第二阶段要求是完成这个系统中单片机,A/D,D/A转换电路和显示与键盘控制电路部分。 温度控制系统总体概述 (一)、总述 电子工程设计训练是一门综合理论知识,实践操作,电子电路系统的设计、实现、调试、故障排查等方面的综合性训练。第一阶段只完成了电源以及变送器部分。本阶段工作量非常大,需要完成单片机,数模,模数转换电路和显示与键盘控制电路部分,并且完成测温系统的测试。 (二)设计任务与要求 一、设计任务 设计、制作并调试单片机,数模,模数转换电路和显示电路共四个模块。二、设计要求 1.单片机:具有独立电路板结构。 片选信号:6个, 地址信号:4个, 数据总线:AD0~AD7, I/O口线:P3口,P1口。 2.数/模(D/A)转换电路:具有独立电路板结构。 输入范围:00H ~ 0FFH, 对应输出:-10V~+10V, 电源供电:+5V,±12V。 3.模/数(A/D)转换电路: 独立电路板结构 输入信号范围:0V~+5V 分辨率:8bit 精度:1LSB 转换时间:< 1ms 4.显示与键盘控制电路: 4 位7 段数码显示, 前 3 位含小数点独立电路板安装结构 0 ~ 9数字输入键及若干功能设置按键控制

(三)单片机应用电路 一、电路设计方案 1.芯片介绍 MCS-51系列单片机有众多性能优异的兼容产品、成熟的开发环境、世界上最大的单片机客户群、高性价比、畅通的供货渠道,是初学者的首选机型。8051是MCS-51系列单片机早期产品之一,内建一次性可编程只读存储器 ( PROM ) ,只需要很少的外围元件即可组成最小系统。所以我们选择8051作为我们的单片机 2.安装结构 3.电路方案的确定 通过比较,我们最后选定相对容易实现的部分地址译码,无总线驱动的方案,因为这样可以简化电路。电路图如下:

2011-年全国大学生电子设计竞赛实验报告

2011 年全国大学生电子设计竞赛实验报告 一、实验目的 1、熟练掌握各种常用实验仪器的使用方法。 2、熟悉LM324运放的典型参数及应用。 3、掌握PDF 资料的查询与阅读方法。 4、掌握电子设计与调试的基本流程及方法。 二、实验内容 设计要求: 使用一片通用四运放芯片LM324组成电路框图见图1,实现下述功能: 1. 使用低频信号源产生100.1sin 2()i U f t V =∏,f 0 =500Hz 的正弦波信号,加至 加法器输入端。 2. 自制三角波产生器产生T=0.5ms (±5%),V p-p =4V 的类似三角波信号1o u ,并加至加法器的另一输入端。 3. 自制加法器,使其输出电压U i2 = 10U i1+U o1。 4. 自制选频滤波器,滤除1o u 频率分量,得到峰峰值等于9V 的正弦信号2o u ,2o u 用示波器观察无明显失真。 5.将1o u 和2o u 送入自制比较器,其输出在1K Ω负载上得到峰峰值为2V 的输出电压3o u 。 方案论证与数值计算: 由于电源只能选用+12V 和+5V 两种单电源,由稳压电源供给,而

LM324N具有宽的单电源或双电源工作电压范围,单电源:3-30V,双电源:1.5V-15V,经过试验我们选择双电源供电,所以进行电源的搭建

三角波发生部分: 方案一: 三角波发生器电路按照由方波经过积分电路得到,需要两个放大器,不满足实验要求。 方案二: 利用RC充放电模拟三角波,通过两个电位器分别来调节周期和峰峰值至实验要求的值。达到合理利用现有资源高效达到要求的目的。因此我们采用方案二。题目要求三角波发生器产生的周期为T=0.5ms,Vpp=4V的类似三角波。我们由公式T=2*R14*C1*ln(1+2*R3/R15)另外运放1端输出电压设为U,则Uo1=(R15/(R15+R1))*U。选取电容为较常见的47nf , 计算得R1=2R14;R14=0-5K,所以取R1为0-10k;得到R15=0-10K; 加法器部分

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

北京工业大学实验报告1

1.有一硅单晶片,厚0.5mm,其一面上每107个硅原子包含两个镓原子,另一个面经处理后含镓的浓度增高。试求在该面上每107个硅原子需包含几个镓原子,才能使浓度梯度为2×10-26原子/m3m硅的晶格常数为0.5407nm。 2.为研究稳态条件下间隙原子在面心立方金属中的扩散情况,在厚0.25mm的金属薄膜的一个端面(面积1000mm2)保持对应温度下的饱和间隙原子,另一端面为间隙原子为零。测得下列数据: 温度(K)薄膜中间隙原子的溶解度 (kg/m3) 间隙原子通过薄膜的速率 (g/s) 122314.40.0025 113619.60.0014 计算在这两个温度下的扩散系数和间隙原子在面心立方金属中扩散的激活能。 3.一块含0.1%C的碳钢在930℃渗碳,渗到0.05cm的地方碳的浓度达到0.45%。在t>0的全部时间,渗碳气氛保持表面成分为1%, 4.根据上图4-2所示实际测定lgD与1/T的关系图,计算单晶体银和多晶体银在低于700℃温度范围的扩散激活能,并说明两者扩散激活能差异的原因。 5.设纯铬和纯铁组成扩散偶,扩散1小时后,Matano平面移动了1.52×10-3cm。已知摩尔分数C Cr=0.478时,dC/dx=126/cm,互扩散系数为1.43×10-9cm2/s,试求Matano面的移动速度和铬、铁的本征扩散系数D Cr,D Fe。(实验测得Matano 面移动距离的平方与扩散时间之比为常数。D Fe=0.56×10-9(cm2/s)) 6.对于体积扩散和晶界扩散,假定Q晶界≈1/2Q体积,试画出其InD相对温度倒数1/T的曲线,并指出约在哪个温度范围内,晶界扩散起主导作用。 7.γ铁在925℃渗碳4h,碳原子跃迁频率为1.7×109/s,若考虑碳原子在γ铁中的八面体间隙跃迁,(a)求碳原子总迁移路程S;(b)求碳原子总迁移的均方根位移; (c)若碳原子在20℃时跃迁频率为Γ=2.1×10-9/s,求碳原子的总迁移路程和根均方位移。 8.假定聚乙烯的聚合度为2000,键角为109.5°,求伸直链的长度为L max与自由旋转链的均方根末端距之比值,并解释某些高分子材料在外力作用下可产生很大变形的原因。(l=0.154nm,h2=nl2) 9.已知聚乙烯的Tg=-68℃,聚甲醛的Tg=-83℃,聚二甲基硅氧烷的Tg=-128℃,试分析高分子链的柔顺性与它们的Tg的一般规律。 10.试分析高分子的分子链柔顺性和分子量对粘流温度的影响。 11.有两种激活能分别为E1=83.7KJ/mol和E2=251KJ/mol的扩散反应。观察在温度从25℃升高到600℃时对这两种扩散的影响,并对结果作出评述。

人竞赛抢答器实验报告

数电实验报告 姓名:侯婉思 专业:通信工程 班级:1111 学号: 指导老师:田丽娜 四人竞赛抢答器实验报告 一.前言 现今,形式多样、功能完备的抢答器已广泛应用于电视台、商业机构、学校、企事业单位及社会团体组织中,它为各种知识竞赛增添了刺激性、娱乐性,在一定程度上丰富了人们的业余生活。 对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。 本文介绍了一种用74系列常用集成电路设计的高分辨率的4路抢答器。该抢答器为全数字集成电路设计,具有分组数多、分辨率高等优点。该抢答器除具有基本的抢答功能外,还具有优先能力,定时及复位功能。主持人通过控制开关使抢答器达到复位的功能。 二.实验目的 1. 学习并掌握抢答器的工作原理及其设计方法 2. 熟悉各个芯片的功能及其各个管脚的接法。 3. 灵活运用学过的知识并将其加以巩固,发散思维,提高学生的动手能力和思维的缜密。 三.设计任务与要求 1、设计任务 设计一台可供4名选手参加比赛的竞赛抢答器。选手抢答时,数码显示选手组号。 2.设计要求: 抢答器的基本功能: 1.设计一个智力抢答器,可同时供四名选手或四个代表队参加比赛,编号为一,二,三,四,各用一个抢答按钮,分别用四个按钮S0——S3表示。 2.给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管清零)。 3.抢答器具有数据锁存和显示的功能,抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,此外,要封锁输入电路,实现优先锁存,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止。

C语言程序设计基础实验报告6【VIP专享】

实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9}, i; /************found************/ /************found************/ s = a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5}, i, j, min; clrscr();

北京工业大学电子实验报告压控阶梯波发生器(数字类)

北京工业大学 课程设计报告 学院电子信息与控制工程 专业 班级组号 题目1、压控阶梯波发生器 2、基于运放的信号发生器设计姓名 学号 指导老师 成绩 年月日

压控阶梯波发生器(数字类)(一)设计任务 在规定时间内设计并调试一个由电压控制的阶梯波发生器。 (二)设计要求 1、输出阶梯波的频率能被输入直流电压所控制,频率控制范围为600Hz至1000Hz。 2、输出阶梯波的台阶级数为10级,且比例相等。 3、输出阶梯波的电压为1V/级。 4、输入控制电压的范围0.5V至0.6V。 5、电路结构简单,所用元器件尽量少,成本低。 (三)调试要求 利用实验室设备和指定器件进行设计、组装和调试,达到设计要求,写出总结报告。 (四)方案选择 在压频转换部分存在两种方案。 1、Lm358组成压频转换电路; 2、NE555构成压频转换电路。 方案论证 数字电路精确度较高、有较强的稳定性、可靠性和抗干扰能力强,数字系统的特性不易随使用条件变化而变化,尤其使用了大规模的继承芯片,使设备简化,进一步提高了系统的稳定性和可靠性,在计算精度方面,模拟系统是不能和数字系统相比拟的。数字系统有算术运算能力和逻辑运算能力,电路结构简单,便于制造和大规模集成,可进行逻辑推理和逻辑判断;具有高度的规范性,对电路参数要求不严,功能强大。为了得到更精彩的波形采用数模混合方案。 (五)实验元器件和芯片 运算放大器Lm358,TTL电路74LS20、74LS161、74LS175,CMOS缓冲器CD4010,稳压管,二极管1N4148,电位器,电容,电阻。 (六)设计方案 整体设计思路:

压频转换→计数器→权电阻→运放=>阶梯波 利用Lm358组成压频转换电路;使用CD4010缓冲,形成可被数字电路识别的矩形波信号;74LS161与74LS20组合构成十进制计数器;利用74LS175提高负载、整流信号,并组成权电阻网络;最后利用运放放大信号,并输出。仿真电路图:

微弱信号检测装置(实验报告)剖析

2012年TI杯四川省大学生电子设计竞赛 微弱信号检测装置(A题) 【本科组】

微弱信号检测装置(A题) 【本科组】 摘要:本设计是在强噪声背景下已知频率的微弱正弦波信号的幅度值,采用TI公司提供的LaunchPad MSP430G2553作为系统的数据采集芯片,实现微弱信号的检测并显示正弦信号的幅度值的功能。电路分为加法器、纯电阻分压网络、微弱信号检测电路、以及数码管显示电路组成。当所要检测到的微弱信号在强噪音环境下,系统同时接收到函数信号发生器产生的正弦信号模拟微弱信号和PC机音频播放器模拟的强噪声,送到音频放大器INA2134,让两个信号相加。再通过由电位器与固定电阻构成的纯电阻分压网络使其衰减系数可调(100倍以上),将衰减后的微弱信号通过微弱信号检测电路,检测电路能实现高输入阻抗、放大、带通滤波以及小信号峰值检测,检测到的电压峰值模拟信号送到MSP430G2553内部的10位AD 转换处理后在数码管上显示出来。本设计的优点在于超低功耗 关键词:微弱信号MSP430G2553 INA2134 一系统方案设计、比较与论证 根据本设计的要求,要完成微弱正弦信号的检测并显示幅度值,输入阻抗达到1MΩ以上,通频带在500Hz~2KHz。为实现此功能,本设计提出的方案如下图所示。其中图1是系统设计总流程图,图2是微弱信号检测电路子流程图。 图1系统设计总流程图 图2微弱信号检测电路子流程图

1 加法器设计的选择 方案一:采用通用的同相/反相加法器。通用的加法器外接较多的电阻,运算繁琐复杂,并且不一定能达到带宽大于1MHz,所以放弃此种方案。 方案二:采用TI公司的提供的INA2134音频放大器。音频放大器内部集成有电阻,可以直接利用,非常方便,并且带宽能够达到本设计要求,因此采用此方案。 2 纯电阻分压网络的方案论证 方案一:由两个固定阻值的电阻按100:1的比例实现分压,通过仿真效果非常好,理论上可以实现,但是用于实际电路中不能达到预想的衰减系数。分析:电阻的标称值与实际值有一定的误差,因此考虑其他的方案。 方案二:由一个电位器和一个固定的电阻组成的分压网络,通过改变电位器的阻值就可以改变其衰减系数。这样就可以避免衰减系数达不到或者更换元器件的情况,因此采用此方案。 3 微弱信号检测电路的方案论证 方案一:将纯电阻分压网络输出的电压通过反相比例放大电路。放大后的信号通过中心频率为1kHz的带通滤波器滤除噪声。再经过小信号峰值电路,检测出正弦信号的峰值。将输出的电压信号送给单片机进行A/D转换。此方案的电路结构相对简单。但是,输入阻抗不能满足大于等于1MΩ的条件,并且被测信号的频率只能限定在1kHz,不能实现500Hz~2KHz 可变的被测信号的检测。故根据题目的要求不采用此方案。 方案二:检测电路可以由电压跟随器、同相比例放大器、带通滤波电路以及小信号峰值检测电路组成。电压跟随器可以提高输入阻抗,输入电阻可以达到1MΩ以上,满足设计所需;采用同相比例放大器是为了放大在分压网络所衰减的放大倍数;带通滤波器为了选择500Hz~2KHz的微弱信号;最后通过小信号峰值检测电路把正弦信号的幅度值检测出来。这种方案满足本设计的要求切实可行,故采用此方案。 4 峰值数据采集芯片的方案论证 方案一:选用宏晶公司的STC89C52单片机作为。优点在于价格便宜,但是对于本设计而言,必须外接AD才能实现,电路复杂。

北工大matlab作业实验报告

北工大MATLAB实验报告 完成日期:2018.12

目录 实验一用FFT进行谱分析 (3) 一、实验内容 (3) 二、实验过程 (3) 三、实验代码 (4) 四、实验结果及分析 (5) 五、实验心得 (5) 实验二噪声数据的抑制 (6) 一、实验内容 (6) 二、实验过程 (7) 三、实验结果分析 (14) 四、实验心得 (15) 参考文献 (15)

实验一用FFT进行谱分析 一、实验内容 FFT的用途之一是找出隐藏或淹没在噪声时域信号中信号的频率成分。本题要求用FFT 对试验数据进行谱分析,指出数据包含的频率成份。 提示:首先建立试验数据。过程推荐如下:生成一个包含两个频率成分的试验信号,对这个信号加入随机噪声,形成一个加噪信号y。(试验数据参数推荐为:数据采样频率为1000Hz,时间区间从t=0到t=0.25,步长0.001秒,噪声的标准偏差为2,两个频率成分的试验信号可取50Hz和120Hz)。 (1)绘制加噪信号y它的波形。 (2)求出含噪声信号y的离散傅立叶变换(取它的FFT),(FFT试验参数推荐为:256点)。 (3)求出信号的功率谱密度(它是不同频率所含能量的度量),并绘制功率谱图,标记出两个频谱峰值对应的频率分量。 二、实验过程 1.打开matlab软件,根据实验要求,用已知条件求出重要参数: N=256; n=0:N-1; t=n/fs; 2.绘制加入了噪声信号的y图象: y=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(size(t)); subplot(2,2,1); plot(y);title('y的波形'); 3.对y求付里叶变换: Y=fft(y,N); 4.绘制Y的幅值图象: fudu=abs(Y); f=n*fs/N; subplot(2,2,2) plot(f,fudu); 5.抽取256点进行绘图:

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

C++程序设计实验报告5

《程序设计基础》 实验报告 学号:2016211990 姓名:王贯东 班级:16-计算机科学与技术-1班

学院:计算机与信息学院 实验五指针 1.实验目的要求 (1)掌握指针的概念,学会定义和使用指针变量。 (2)学会使用数组指针和指向数组的指针变量。 (3)学会使用字符串指针和指向字符串的指针变量。 (4)了解指向指针的指针的概念以及其使用方法。 (5)掌握指针、引用、数组做函数参数的传递机制。 (6)*学会使用指向函数的指针变量。 2.实验设备 Visual C++ 6.0 3.实验内容 (1)阅读下面程序,写出其运行结果。

<1> #include sub ( int x , int y , int *z ) { *z = y – x ; } void main( ) { int a,b,c; sub( 10 , 5 , &a ) ; sub( 7, a, &b ) ; sub( a, b, &c ) ; cout << a <<‘,’<< b <<‘,’<< c << endl ; } 解:输出-5,-12,-7 <2> #include #include void main()

{ int stre ( char[ ] ) ; char str [ 10 ] , *p = str ; gets ( p ) ; cout << stre ( p ) << endl ; } int stre ( char str[ ] ) { int num = 0 ; while( * ( str + num ) != ’\0’ ) num ++ ; return ( num ) ; } 解:题目库函数少了 。该正后,输入1234,输出4 (2)编写程序实现下列问题的求解。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。 #include using namespace std; int turn (int *p1,int *p2)

北京工业大学微机原理实验报告

微机原理实验报告 —实验二熟悉汇编程序建立 及其调试方法 姓名:刘莹莹 学号:13024104

一、实验目的 1、熟悉汇编语言源程序的框架结构,学会编制汇程序。 2、熟悉汇编语言上机操作的过程,学会汇编程序调试方法。 二、实验内容 1、学习编写汇编语言源程序的方法,了解数据存放格式。 2、阅读给出的程序,找出程序中的错误。 3、通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。 三、实验预习 1、阅读实验指导第一章的内容,了解汇编语言程序建立、汇编、链接、调试的全过程。 2、下面的汇编语言源程序有错误的,试给程序加注释。通过调试手段找出程序中的错误并修改之。写出程序的功能,画出程序流程图。(1)程序修改前: STACKSG:SEGMENT PARA STACK ‘STACK’ ;不能有冒号DB 256 DUP(?) STACKSG ENDS DATASG: SEGMENT PARA ‘DATA’;不能有冒号BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 COUNT EQU 20 MAX DW ? DATASG ENDS CODESG: SEGMENT ;不能有冒号ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100H BEGIN MOV DS, DATASG ;BEGIN: 应改为MOV AX , DATASG MOV DS, AX LEA SI ,BLOCK

电子设计大赛实验报告

2014年江苏省大学生电子设计竞赛实验报告 无线电能传输装置(F题) 2014年8月15日 摘要:本设计基于磁耦合式谐振荡电路来进行无线电能传输,点亮LED灯。由于输入和输出都是直流电 的形式,因此本系统将分为以下四个部分:第一部分为驱动电路(DC-AC),为使直流分量转化成交流电并通过耦合线圈将电能传输给负载,采用LC谐振的方式让回路中电容和电感构成一个二阶LC谐振电路,驱动MOS管形成交流电。第二部分为发射电路(AC-AC),应用电磁感应原理,在二次线圈中产生感应电流并输给接受电路。第三部分为电能转换电路(AC-DC),输出的感应交流电经整流桥桥式整流后流入升压电路。第四部分为升压电路(DC-DC),对整流之后的直流进行升压,防止整流后的电压无法驱动LED。本设计分模块搭建并对各个部分电路进行原理分析。在调试时,采用分模块调试,根据调试结果修改参数,最终形成一个完整的稳定系统。 关键词: 磁耦合式谐振荡电路LC振荡电路桥式整流DC-DC升压 [Abstract] The design is based on magnetic resonance oscillation circuit coupled to the wireless power transmission, lit LED lights. Since the input and output are in the form of direct current, so the system will be divided into the following four parts: The first part of the drive circuit (DC-AC), is converted into alternating current so that the DC component and the power transmission through the coupling coil to the load, using LC resonant circuit in a manner so that the capacitance and inductance form a second order LC resonant circuit, the AC drive MOS tube formation. The second part is the transmitter circuit (AC-AC), application of the principle of electromagnetic induction,

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以Java技术为主讲授,Java语言是当前最流行的网络编程语言。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JA V A中的基本方法和技术,能够熟练使用JA V A设计、编写程序,特别是基于TCP/IP的Socket 编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。通过实验,提高学生使用Java语言程序设计开发的能力,提高应用面向对象技术分析和解决实际问题的能力,并在此基础上强化学生的实践意识、提高其分析问题、解决问题的能力以及动手能力和创新能力。 二实验要求 要求学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JAVA中的基本方法和技术,能够熟练使用JAVA设计、编写程序,特别是基于TCP/IP的Socket编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。要注意培养学生良好的编程习惯,自始至终贯彻课程中所介绍的程序设计风格。为保证尽量在统一安排的上机时间内完成程序设计任务,学生应事先做问题分析,并做静态检查。学生应记录实验中所遇到的问题,并写出详细的实验报告。课前准备上机程序,上机认真调试,课后撰写实验报告,实验报告包括实验目的、实验内容、源程序、实验结果及分析。

. 实验一java基本语法 实验目的: 了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 实验要求: 1、编写一个声明Java不同数据类型变量的程序。 2、编写使用不同选择结构的程序。 3、编写使用不同循环结构结构的程序。 实验内容: 1、编写一个声明Java不同数据类型变量的程序。 public class DataTypes { public static void main(String args[]) { byte b=127; short s=32767; int i=2147483647; long l=9223372036l;//为什么long表示的数比Int还小? char c='c'; float f=1.23F; double d=0.9E-3; boolean bool=true; System.out.println(" b="+b); System.out.println(" s="+s); System.out.println(" i="+i); System.out.println(" l="+l); System.out.println(" c="+c); System.out.println(" f="+f); System.out.println(" d="+d); System.out.println(" bool="+bool); }

相关文档
最新文档