当前位置:文档之家› 课程设计---Ping程序设计与实现

课程设计---Ping程序设计与实现

课程设计---Ping程序设计与实现
课程设计---Ping程序设计与实现

课程设计

课程名称____计算机网络_____

题目名称_Ping程序设计与实现

学生学院____计算机学院____

专业班级____08计科4班___

学号_______

2011年 1 月8 日

一、课程设计目的

本次课程设计的目的旨在通过网络相关程序的编写,使我们能深入理解TCP/IP协议机制,以及初步掌握基于Winsocket的网络编程技术。同时巩固相关的理论知识,为以后程序开发打下良好而又坚实的基础。

二、知识准备

1、ICMP协议

互联网控制信息协议(Internet CONTROL Message Protocol),用于错误报告和调试。该协议是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。我们可以通过Ping命令发送ICMP回应请求消息并记录收到ICMP回应回复消息,通过这些消息来对网络或主机的故障提供参考依据。

常见ICMP报文有响应请求报文,目标不可到达、源抑制和超时报文,此外还有时间戳报文。2、Ping工作原理

Ping的原理就是首先建立通道,然后发送包,对方接受后返回信息,这个包至少包括以下内容:发送的时候,包的内容包括对方的ip地址和自己的地址,还有序列数;回送的时候包括双方地址,还有时间等,主要是接受方在都是在操作系统内核里做好的,时刻在监听。Ping程序生成一个icmp“回送请求”,将其发送给目的主机。通过检测是否可以收到目标主机的应答,便可以知道网络的连通性。

(3) Tracert 工作原理

透过向目标发送不同 IP 生存时间 (TTL) 值的ICMP回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP已超时”的消息发回源系统。Tracert 先发送 TTL 为 1 的响应数据包,并在随后的每次发送过程将 TTL 递增1,直到目标响应或 TTL 达到最大值,从而确定路由。透过检查中间路由器发回的“ICMP已超时”的消息确定路由。

三、界面设计及数据结构的说明

1 、MFC界面设计建立流程

步骤一:打开VC6.0,点击文件选项,在project选项卡中选择MFC Appwizard(exe),项目名称为ping。

步骤二:在新窗口中选择窗口类型为基于对话框的类型。

步骤三:设置界面选项

步骤四:设置窗口类型

步骤五:选择相应类,点击finish完成。

界面建立成功后添加相应按钮及功能模块。主界面设计如下:

2、数据结构的定义及说明

(1)定义IP头部

typedef struct _IpHeader

{

unsigned int HeaderLength:4; // 头部长度

unsigned int Version:4; // IP版本号

unsigned char TypeOfService; // 服务类型

unsigned short TotalLength; // 收发包的总长度

unsigned short Identification; // 唯一校验符

unsigned short FragmentationFlags; // 标志位

unsigned char TTL; // 生存时间

unsigned char Protocol; // 协议类型 (TCP, UDP 等)

unsigned short CheckSum; // IP头部校验和

unsigned int sourceIPAddress; // 源地址

unsigned int destIPAddress; // 目的地址

} IpHeader;

(2)定义ICMP头部

typedef struct _IcmpHeader

{

BYTE IcmpType; //icmp类型

BYTE IcmpCode; //编码类型

USHORT IcmpChecksum; //icmp校验和

USHORT IcmpId;

USHORT IcmpSeq; //icmp序列号

ULONG IcmpTimestamp; // 头部无标准定义,但仍需保留

} IcmpHeader;

(3)CIcmp类

class CIcmp : public CSocket

{

public:

BOOL OpenNewSocket(HWND hWnd, unsigned int NotificationMessage, long NotifyEvents);

BOOL OpenNewSocket(HWND hWnd, unsigned int NotificationMessage, long NotifyEvents, int AFamily, int AType, int AProtocol);

int CloseIcmpSocket(void);

BOOL Connect(int ReceiveTimeout, int SendTimeout);

BOOL Connect(LPINT ReceiveTimeout, LPINT SendTimeout, int AFamily, int AType, int AProtocol);

int SetTTL(int TTL);

int SetAsynchNotification(HWND hWnd, unsigned int Message, long Events);

int Receive(LPSTR pIcmpBuffer, int IcmpBufferSize);

unsigned long GetIPAddress (LPSTR iHostName);

int Ping (LPSTR pIcmpBuffer, int IcmpBufferSize);

unsigned short IcmpChecksum(unsigned short FAR *lpBuf, int Len);

void DisplayError(CString ErrorType, CString FunctionName);

public:

CIcmp(void);

CIcmp(CIcmp ©);

~CIcmp(void);

private:

public:

LPIcmpHeader pIcmpHeader;

LPIpHeader pIpHeader;

SOCKET icmpSocket;

SOCKADDR_IN icmpSockAddr;

SOCKADDR_IN rcvSockAddr;

DWORD icmpRoundTripTime;

DWORD icmpPingSentAt;

DWORD icmpPingReceivedAt;

int icmpRcvLen;

int icmpHops;

int icmpMaxHops;

int icmpCurSeq;

int icmpCurId;

int icmpPingTimer;

int icmpSocketError;

int icmpSocketErrorMod;

unsigned long icmpHostAddress;

protected:

};

typedef CIcmp FAR * LPIcmp;

(4)CPingPlusDlg类

class CPingPlusDlg : public CDialog

{

enum ImageType

{

Icon_Blank,

Icon_BlueArrow

};

private:

void StopTimer();

void StartTimer();

void ChangeIconState(void);

BOOL InitSockets();

BOOL FetchWinsockSettings();

BOOL LoadRegValues(void);

void SaveRegValues();

void SendPing(void);

unsigned long HostIPAddress();

void UpdateTrace ();

void DisplayTrace(LPCSTR TripTimeMessage, LPCSTR IPAddressMessage, LPCSTR HostMessage); void EndTrace(void);

void InitImageList();

int AddListColumn(int column, int lfmt, int lmaxwidth, LPSTR ltext, int lsubitem);

void DisplayBlankLine(void);

void SetTraceSequence(int Seq, int FocusItem, ImageType FocusImage);

void SetTraceFocus(int FocusItem, int FocusSubItem);

void SetDisplayImage(int FocusItem, enum ImageType FocusImage);

void TraceComment(CString Comment);

public:

CPingPlusDlg(CWnd* pParent = NULL); // 标准构造器

protected:

HICON m_hIcon;

LRESULT OnPINGAsynch(WPARAM wParam, LPARAM lParam);

public:

CIcmp PingSocket; // Icmp 对象

WSADATA wsaData; // Windows Socket 信息结构

CString LocalNameServer;

CString LocalDomainName; // 域名 (从注册机构获取)

CString DefHost; // 默认主机名 (从注册机构获取)

char HostName[MAXHOSTNAME]; // 将主机名加入到会话中去

char CurrentHostName[MAXHOSTNAME]; // 当前正在ping的主机

struct in_addr TraceTarget; // 操作路径终端

BOOL TimerActive; // TRUE = 计时器到时

unsigned long icmpIntervalCount; // 当前计时时间间距

unsigned long icmpMaxIntervals; // 最大间距

char icmpBuffer[MAX_PACKET]; // icmp操作的普通缓冲区

LPSTR pIcmpBuffer; // icmp缓冲区的故障分析报告指向

int icmpDataLen; // icmp发出信息的字节数 (不计算头部)

int icmpPingTTL; // 路径操作所用到的ttl值

BOOL icmpTracing;// TRUE = 路径操作, FALSE = PING操作

BOOL PingSent; // TRUE = 等待ECHO回复, FALSE = 忽略输入

};

四、程序主题功能设计模块

1、调用ping模块

void CPingPlusDlg::OnPingButton()

{

IconState = 0;

DisplayBlankLine ();

icmpTracing = FALSE;

icmpPingTTL = PingSocket.icmpMaxHops; //ping生存时间为最大icmp跳数PingSocket.icmpCurSeq = 0;//当前icmp序列为0

SendPing ( );//开始执行ping

}

2、初始化socket

BOOL CPingPlusDlg::InitSockets()

{

if (!PingSocket.OpenNewSocket(GetSafeHwnd(),

WSA_PING_ASYNC,

FD_READ | FD_WRITE,

AF_INET,

SOCK_RAW,

IPPROTO_ICMP))

{

PingSocket.DisplayError ("WSA_PING_ASYNC",

"CPingPlusDlg::InitSockets");

return FALSE;

}

return TRUE;

}

3、获取winsocket设置信息

BOOL CPingPlusDlg::FetchWinsockSettings()

{

SysTCPIP STcpIp;

if (!STcpIp.WinsockVersion(&wsaData))

{

MessageBox ("No valid winsock.dll detected",

"CPingPlusDlg::OnInitDialog",

MB_OK|MB_SYSTEMMODAL);

return FALSE;

}

if (!STcpIp.GetLocalHostName (&m_LocalHost))

{

gethostname(CurrentHostName, MAXHOSTNAME);

}

else

{

memcpy (CurrentHostName, m_LocalHost, m_LocalHost.GetLength());

CurrentHostName[m_LocalHost.GetLength()] = 0;

}

m_LocalHost = CurrentHostName;

if (!STcpIp.GetDomainName(&LocalDomainName))

LocalDomainName = "";

m_LocalHost += "." + LocalDomainName;

memcpy (CurrentHostName, m_LocalHost, m_LocalHost.GetLength());

CurrentHostName[m_LocalHost.GetLength()] = 0;

if (!STcpIp.GetNSName (&LocalNameServer))

LocalNameServer = "";

m_NameServer = "Name Server: " + LocalNameServer;

SetDlgItemText (IDC_LocalHost, m_LocalHost);

SetDlgItemText (IDC_NameServer, m_NameServer); LoadRegValues();

SetDlgItemText (IDC_DEST, HostName);

return TRUE;

}

4、发送ping信息

void CPingPlusDlg::SendPing(void)

{

PingSent = TRUE;

PingSocket.icmpCurSeq++;

PingSocket.icmpCurId = (USHORT)GetCurrentProcessId(); PingSocket.icmpHostAddress = HostIPAddress();

if (PingSocket.icmpHostAddress == NULL)

return;

if (icmpTracing)

{

icmpPingTTL++; }

if (PingSocket.SetTTL (icmpPingTTL) == SOCKET_ERROR) { PingSocket.DisplayError ("setsocket(TTL)",

"CPingPlusDlg::SendPing");

return; }

Sleep (100);// 用蓝色箭头显示序列号及相应信息

SetTraceSequence (PingSocket.icmpCurSeq,

m_TraceList.GetItemCount(),

Icon_BlueArrow);

PingSocket.icmpSockAddr.sin_family = PF_INET;

PingSocket.icmpSockAddr.sin_addr.s_addr = PingSocket.icmpHostAddress;

PingSocket.icmpSockAddr.sin_port = 0;

StartTimer();

if (PingSocket.Ping (pIcmpBuffer, icmpDataLen) == SOCKET_ERROR)

PingSocket.DisplayError("Ping", "CPingPlusDlg::SendPing");

}

5、设置超时时间

int CIcmp::SetTTL(int TTL)

{

int Result;

Result = setsockopt (icmpSocket, IPPROTO_IP, IP_TTL, (LPSTR)&TTL, sizeof(int)); if (Result == SOCKET_ERROR)

{

icmpSocketErrorMod = 1;

icmpSocketError = WSAGetLastError(); }

return Result;}

6、Ping函数

int CIcmp::Ping (LPSTR pIcmpBuffer, int DataLen)

{

int Result;

int IcmpBufferSize = DataLen + IcmpHeaderLength;

pIcmpHeader = (LPIcmpHeader)pIcmpBuffer;

memset (pIcmpBuffer, 'E', IcmpBufferSize);

memset (pIcmpHeader, 0, IcmpHeaderLength);

pIcmpHeader->IcmpType = ICMP_ECHO;

pIcmpHeader->IcmpCode = 0;

pIcmpHeader->IcmpChecksum = 0;

pIcmpHeader->IcmpId = icmpCurId;

pIcmpHeader->IcmpSeq = icmpCurSeq;

pIcmpHeader->IcmpTimestamp = GetCurrentTime();

pIcmpHeader->IcmpChecksum = IcmpChecksum ((USHORT FAR *)pIcmpBuffer,

IcmpBufferSize); icmpPingSentAt = GetCurrentTime();

Result = sendto (icmpSocket,

pIcmpBuffer,

IcmpBufferSize,

0,

(LPSOCKADDR)&icmpSockAddr,

sizeof icmpSockAddr);

if (Result == SOCKET_ERROR)

{ icmpSocketError = WSAGetLastError();

icmpSocketErrorMod = 1;}

return Result;}

7、校验和函数

unsigned short CIcmp::IcmpChecksum(unsigned short FAR *lpBuf, int Len) {

register long ChkSum = 0L;

while (Len > 1)

{ ChkSum += *(lpBuf++);

Len -= sizeof (USHORT); }

if (Len)

ChkSum += *(UCHAR *)lpBuf;

ChkSum = (ChkSum & 0xffff) + (ChkSum>>16);

ChkSum += (ChkSum >> 16);

#pragma warning(disable : 4244)

return (~ChkSum);

#pragma warning(default : 4244)

}

8、Receive函数

int CIcmp::Receive(LPSTR pIcmpBuffer, int IcmpBufferSize) {

LPSOCKADDR pRcvSockAddr = (LPSOCKADDR)&rcvSockAddr; int Result;

int RcvIpHdrLen;

icmpPingReceivedAt = GetTickCount();

icmpCurId = 0;

rcvSockAddr.sin_family = AF_INET;

rcvSockAddr.sin_addr.s_addr = INADDR_ANY;

rcvSockAddr.sin_port = 0;

RcvIpHdrLen = sizeof rcvSockAddr;

Result = recvfrom (icmpSocket,

pIcmpBuffer,

IcmpBufferSize,

0,

pRcvSockAddr,

&RcvIpHdrLen);

if (Result == SOCKET_ERROR)

{ icmpSocketError = WSAGetLastError();

icmpSocketErrorMod = 1;

DisplayError ("Receive","CIcmp::Receive");

return Result;}

icmpRcvLen = Result;

pIpHeader = (LPIpHeader)pIcmpBuffer;

RcvIpHdrLen = pIpHeader->HeaderLength * 4;

if (Result < RcvIpHdrLen + ICMP_MIN)

{

MessageBox(NULL,

"Short message!",

"CIcmp::Receive",

MB_OK|MB_SYSTEMMODAL);

icmpSocketErrorMod = 2;

return Result;

}

pIcmpHeader = (LPIcmpHeader)(pIcmpBuffer + RcvIpHdrLen);

icmpCurId = pIcmpHeader->IcmpId;

icmpRoundTripTime = icmpPingReceivedAt - pIcmpHeader->IcmpTimestamp;

if (pIcmpHeader->IcmpType != ICMP_ECHOREPLY)

{

return Result;

}

icmpCurSeq = pIcmpHeader->IcmpSeq;

return Result;

}

五、运行结果

用ping命令测试本地主机的ip地址

六、心得体会

通过本次课程设计,我感觉到自己在编程方面,能力还十分欠缺。尤其是网络编程方面,还有待提高。在以后的学习中应加强“内功的修炼”。增强个人综合素质。为以后的就业打下坚实的基础。七、参考文献

《TCP/IP协议与网络编程》任泰明编著西安电子科技大学出版社

《网络编程与开发技术》刘志宏编著西安交通大学出版社

机械设计课程设计小结

机械设计课程设计小结 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

课程设计是机械设计当中的一个非常重要的一环,本次课程设计时间一周略显得仓促一些。但是通过本次很充实的课程设计,从中得到的收获还是非常多的。这次的课程设计对于我来说有着深刻的意义。这种意义不光是我们组能够完成设计任务,更重要的是在这段时间内使我们深刻感受到设计工作的那份艰难。而这份艰难不仅仅体现在设计内容与过程中为了精益求精所付出的艰辛,更重要的是为每一个精细数字的付出!这次课程设计的题目是设计一个一级圆柱齿轮减速器,由于我们理论知识的不足,再加上平时没有什么设计经验,一开始的时候有些手忙脚乱,不知从何入手,很迷茫。不过在我们组员的共同努力下,和同学们之间的认真仔细的讨论之中,我们总算克服了种种难关,让每个数字都找到了自己的归宿。现在想想其实课程设计期间我们过得还蛮充实的,特别是大家在一起讨论,研究,专研的时候,那让我感觉到了集体的团结,团结的力量,力量的伟大。所有的成果不是属于个人的,而是集体,因为它凝聚了集体所有的精华。 在设计过程中,整个过程培养了我们综合运用机械设计课程及其他课程理论知识和利用生产时间知识来解决实际问题的能力,真正做到了学以致用。在此期间我们同学之间的那些辛酸,那些执着,那些付出。一路走来,我们伴着风雨,携手欢笑,共同面对机械设计课程设计当中遇到的困难,虽然我们做的还是不够完美,但是我们的团队一定很完美。 在这些过程当中我充分的认识到自己在知识理解和接受应用方面的不足,特别是自己对系统的自我学习能力的欠缺,将来一定要进一步加强。而今后的学习还要更加的努力。总之,本次课程设计不仅仅是对自己所学的知识的一次系统的总结与应用,还算是对自己体质的一次检验吧。

单片机课程设计报告——智能数字频率计汇总

单片机原理课程设计报告题目:智能数字频率计设计 专业:信息工程 班级:信息111 学号:*** 姓名:*** 指导教师:*** 北京工商大学计算机与信息工程学院

1、设计目的 (1)了解和掌握一个完整的电子线路设计方法和概念; (2)通过电子线路设计、仿真、安装和调试,了解和掌握电子系统研发产品的一个基本流程。 (3)了解和掌握一些常见的单元电路设计方法和在电子系统中的应用: 包括放大器、滤波器、比较器、计数和显示电路等。 (4)通过编写设计文档与报告,进一步提高学生撰写科技文档的能力。 2、设计要求 (1)基本要求 设计指标: 1.频率测量:0~250KHz; 2.周期测量:4mS~10S; 3.闸门时间:0.1S,1S; 4.测量分辨率:5位/0.1S,6位/1S; 5.用图形液晶显示状态、单位等。 充分利用单片机软、硬件资源,在其控制和管理下,完成数据的采集、处理和显示等工作,实现频率、周期的等精度测量方案。在方案设计中,要充分估计各种误差的影响,以获得较高的测量精度。 (2)扩展要求 用语音装置来实现频率、周期报数。 (3)误差测试 调试无误后,可用数字示波器与其进行比对,记录测量结果,进行误差分析。 (4)实际完成的要求及效果 1.测量范围:0.1Hz~4MHz,周期、频率测量可调; 2.闸门时间:0.05s~10s可调; 3.测量分辨率:5位/0.01S,6位/0.1S; 4.用图形液晶显示状态、单位(Hz/KHz/MHz)等。 3、硬件电路设计 (1)总体设计思路

本次设计的智能数字频率计可测量矩形波、锯齿波、三角波、方波等信号的频率。系统共设计包括五大模块: 主芯片控制模块、整形模块、分频模块、档位选择模块、和显示模块。设计的总的思想是以AT89S52单片机为核心,将被测信号送到以LM324N为核心的过零比较器,被测信号转化为方波信号,然后方波经过由74LS161构成的分频模块进行分频,再由74LS153构成的四选一选择电路控制档位,各部分的控制信号以及频率的测量主要由单片机计数及控制,最终将测得的信号频率经LCD1602显示。 各模块作用如下: 1.主芯片控制模块: 单片机AT89S52 内部具有2个16位定时/计数器T0、T1,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。利用单片机的计数器和定时器的功能对被测信号进行计数。以AT89S52 单片机为控制核心,来完成对各种被测信号的精确计数、显示以及对分频比的控制。利用其内部的定时/计数器完成待测信号周期/频率的测量。 2.整形模块:整形电路是将一些不是方波的待测信号转化成方波信号,便于测量。本设计使用运放器LM324连接成过零比较器作为整形电路。 3.分频模块: 考虑单片机利用晶振计数,使用11.0592MHz 时钟时,最大计数速率将近500 kHz,因此需要外部分频。分频电路用于扩展单片机频率测量范围,并实现单片机频率测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。本设计使用的分频芯片是74LS161实现4分频及16分频。 4.档位选择模块:控制74LS161不分频、4分频或者 16分频,控制芯片是74LS153。 5.显示模块:编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示,本设计选用LCD1602。 (2)测频基本设计原理 所谓“频率”,就是周期性信号在单位时间(1s)内变化 的次数。若在一定时间间隔T内测得这个周期性信号的重复变 化次数N,则其频率可表示为f=N/T(右图3-1所示)。其中脉 冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等 。利用单片机的定时/计数T0、T1的定时、计数 于被测频率f x 功能产生周期为1s的时间脉冲信号,则门控电路的输出信号持图3-1

计算机网络实验之Ping程序的设计与实现

计算机网络实验之Ping程序的设计与 实现

课程名称计算机网络 实验序号实验五 实验项目 Ping程序的设计与实现 03月 25 日

实验报告要求 1、实验报告封面填表说明(每份实验报告必须附上封面) (1)课程名称:要求与实验大纲和实验指导书中的课程名称一致。 (2)实验序号:指该课程的第几个实验。 (3)实验项目:要求与实验大纲和实验指导书中的实验项目一致。 (4)实验地点:填写完成该实验项目所在的实验室名称。 (5)实验学时:要求与实验大纲和实验指导书中完成该实验项目所需学时一致。 (6)实验类型:是指演示性、操作性、验证性、综合性、设计性。 演示性:教师操作,学生观察,验证理论、说明原理和方法。 操作性:学生按要求动手拆装、调试实验装置或上机操作,掌握其基本原理和方法。 验证性:按实验指导书(教材)要求,由学生经过操作验证所学理论,加深对理论、知识的理解,掌握基本实验知识、方法、技能、数据处理等。 综合性:实验内容涉及本课程的综合知识或相关课程的知识,运用多的知识、多种方法,按要求或自拟实验方案进行实验。主要培养学生综合运用所学知识、实验方法和实验技能,以培养其分析、解决问题的

设计性:给定实验目的、要求和实验条件,学生自己设计实验方案并加以实现的实验。学生独立完成从查阅资料、拟定实验方案、实验方法和步骤(或系统分析和设计)、选择仪器设备(或自行设计缺制作)进行实验并完成实验全过程,形成实验报告,培养学生自主实验的能力。 2、实验报告的格式 3、教师批改学生实验报告要求 (1)批改:全部批改及更正错误。 (2)评分:按百分制评分,不能评分为“优、良、中、差”或“A、B、C”。 (3)签名及批改日期:任课教师必须在每份学生实验报告中签名和写上批改日期。 (4)成绩:填写学生实验成绩表,实验成绩作为考试成绩评定的依据。 (4)评语:任课教师批改学生实验报告时,应给出简明扼要的评

课程设计报告模板)

课程设计报告模板()

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

课程设计(论文)任务书 软件学院软件+电商专业09级(2)班 一、课程设计(论文)题目基本模型机设计与实现 二、课程设计(论文)工作自2011年6月 20 日起至2011年 6月 24日止。 三、课程设计(论文) 地点:计算机组成原理实验室(5#301) 四、课程设计(论文)内容要求: 1.课程设计的目的 通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机 概念。培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。 2.课程设计的任务及要求 1)基本要求? (1)课程设计前必须根据课程设计题目认真查阅资料; (2)实验前准备好实验程序及调试时所需的输入数据; (3)实验独立认真完成; (4)对实验结果认真记录,并进行总结和讨论。 2)课程设计论文编写要求 (1)按照书稿的规格撰写打印课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问题的解决方法、总结和讨论等 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查:

(1)出勤情况和课设态度; (2)设计思路; (3)代码实现; (4)动手调试能力; (5)论文的层次性、条理性、格式的规范性。 4)参考文献 [1]王爱英.计算机组成与结构[M]. 北京:清华大学出版社, 2007. [2] 王爱英. 计算机组成与结构习题详解与实验指导[M]. 北京:清华大学出版社, 2007. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 实验与调试 3 实验室 撰写论文 1 图书馆 6)任务及具体要求 设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符 合设计要求,并对程序运行结果的正、误分析其原因。 学生签名: 亲笔签名 2011年6月20 日 课程设计(论文)评审意见 (1)设计思路:优( )、良()、中( )、一般()、差( ); (2)代码实现:优()、良()、中()、一般()、差();

网课程设计报告例子样本

湖南涉外经济学院 课程设计报告 课程名称:网页设计 报告题目:“舌尖上中华人民共和国”网页设计报告 学生姓名: *** 所在学院:信息科学与工程学院 专业班级:电商本**班 学生学号: * * 指引教师: *** 6 月24 日

课程设计任务书

摘要 《舌尖上中华人民共和国》是中华人民共和国央视播出美食类纪录片,重要内容为中华人民共和国各地美食生态。通过中华美食各种侧面,来呈现食物给中华人民共和国人生活带来典礼、伦理等方面文化;见识中华人民共和国特色食材以及构成中华人民共和国美食特有气质一系列元素;理解中华饮食文化精致和源远流长。该片重要主题是“变”,向观众展示老式农耕中华人民共和国,同步也告诉观众诸多中华人民共和国老式正在变化。这不但仅是在拍摄美食,更是在拍摄承载中华人民共和国人精神食物。本网站简介了中华人民共和国各地美食,网页是依照《舌尖上中华人民共和国》这档节目中七个主题来设计。分别为:自然地馈赠、主食故事、转化灵感、时间味道、厨房秘密、五味调和、咱们田野。本站建立使用了Fireworks、Flash和Dreamweaver网页制作工具。采用HTML语言、CSS样式、Javascript脚本语言编写网页,最后使静态页面也有丰富多彩视觉效果;此外又使用了网页特效,赋予了其她页面动态之美,动静结合,主题突出,吸引浏览者目光。 核心词:中华人民共和国;美食;文化 内容涉及:1.为什么要设计该网站? 2.本网站包括什么内容?采用了什么技术实现 3.建立本网站可以达到什么效果?

目录 一、作品简介................................................................................ 错误!未定义书签。 二、设计方案................................................................................ 错误!未定义书签。 1. 软硬件环境........................................................................ 错误!未定义书签。 2. 色彩方案............................................................................ 错误!未定义书签。 3. 目录构造图........................................................................ 错误!未定义书签。 三、实现过程................................................................................ 错误!未定义书签。 1. 创立本地站点.................................................................... 错误!未定义书签。 2. 首页.................................................................................... 错误!未定义书签。 3. “自然馈赠”页面............................................................ 错误!未定义书签。 4. “主食故事”页面............................................................ 错误!未定义书签。 5. “**”页面........................................................................... 错误!未定义书签。 6. 申请域名,发布网站........................................................ 错误!未定义书签。 四、结论与心得............................................................................ 错误!未定义书签。 五、参照文献................................................................................ 错误!未定义书签。附录................................................................................................ 错误!未定义书签。

机械课程设计报告

机械课程设计报告 机械设计课程设计报告书 题目: 带式输送机传动装置 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

机械课程设计报告 一、传动方案分析 设计题目为带式输送机传动装置。已知载荷F=1757 N,载荷性质为微振,卷筒直径D=0、23 m,速度V=2、85 m/s,使用地点为室外,要求小批量生产,使用年限为五年一班。 二、电动机选择传动装置的运动与动力参数计算 2、1 电动机方案确定 2、1、1 电动机类型与结构形式选择 选择Y 系列(IP44)三相异步电动机。该系列电动机为封闭自扇冷式鼠笼型三相异步电动机,效率高,节能,堵转转矩高、噪声低、振动小。运动安全可靠。能防止灰尘、铁屑与其她杂物侵入电动机内部。 2、1、2 电动机容量确定 工作机就是同步带传动,ηw =0、96 输出功率:KW P w 216.596 .0100085.217571000V F w =??=?=η η1为联轴器效率(弹性联轴器),η1=0、99;η2为齿轮传动效率(8级精度齿轮传动),η2=0、97;η3为轴承效率(滚动轴承),η3=0、99、 总效率: 922.099.097.099.03233221=??==ηηηηa 电动机的输出功率: 657.5922 .0216.5d ===a w P P η KW 2、1、3 电动机转速选择(附电动机主要性能参数表) 工作机的转速: 8.236230 85.2100060100060=???=?=ππD v n r/min 一级圆柱齿轮减速器推荐传动比:i=1-8; 电动机的转速n 0=n*i<236、8*8 r/min =1894、4 r/min; 根据功率P d 与转速n 0,查表可得选择电动机为Y 系列(IP44)三相异步 电动机Y160-6、 电动机主要性能参数

智能电网大学课程设计报告-智能抄表硬件设计方案_毕业论文

智能电网课程设计报告

智能抄表系统硬件设计方案 1智能抄表技术概述 随着自动化程度的提高和电能需求的不断增长,电费查询支出在生产成本中占的比例逐渐加大。供电单位对于电能精细化的要求也越来越高。传统的人力抄表和电话抄表工作量大,效率低,人为误差严重,漏抄,估抄,冒抄现象时有发生,因此必须按照切实可行的方法解决这些问题。而快速、准确、经济、实时的获取用电的各类数据,是做好费用自动结算,用量分析,计量表运行状况监测、负荷处理等应用管理工作的基础。为此采用计算机、无线通信和嵌入式等技术设计了分布式电能表远程智能抄表系统,提出了三级管理手段,将用户的用电信息准确和及时地回传到数据中心,便于电力企业计量、统计和收费等日益繁重的工作,大大提高了管理层次和自动化水平。 智能抄表系统是坚强智能电网的基础,通过智能抄表系统可以实现电网公司同电力系统用户之间的有效可靠互动。能够实现对主站层、接入层、上行通信层以及终端层的有效协调与控制。主站层主要是用来实现信息数据的采集与管理。上行通信层则主要是用来负责实现各个站点的相互有效的链接的。智能抄表系统的构建对于完善智能电网和实现电力资源的合理配置具有重要意义。 欧美在智能抄表系统的研究处于领先水平,以美国为例,美国的智能电网建设注重用户端,主要针对用户的具体用电要求及变化来实施智能化管理,其实现方式包括智能电表、智能化抄表与以家庭为单位的规划用电管理,主要建设了基于无线方式的智能抄表及通讯网络。ADI公司直接参与部分州的智能电网的建设,在智能电表及无线网络建设上取得了不俗的成绩。 智能抄表系统主要结构包括三个部分:集中器、采集器和通信系统。 1)数据采集 根据不同业务对采集数据的要求,编制自动采集任务,包括任务名称、任务类型、采集群组、采集数据项、任务执行起止时间、采集周期、执行优先级、正常补采次数等信息,并管理各种采集任务的执行,检查任务执行情况。 2)数据管理 采用统一的数据存储管理技术,对采集的各类原始数据和应用数据进行分类存储和管理,为“SG186”一体化平台提供数据的汇总、存储、共享和分析利用。

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

机器人课程设计报告范例

机器人课程设计报告范例

**学校 机器人课程设计名称 院系电子信息工程系 班级10电气3 姓名谢士强 学号107301336 指导教师宋佳

目录 第一章绪论 (2) 1.1课程设计任务背景 (2) 1.2课程设计的要求 (2) 第二章硬件设计 (3) 2.1 结构设计 (3) 2.2电机驱动 (4) 2.3 传感器 (5) 2.3.1光强传感器 (5) 2.3.2光强传感器原理 (6) 2.4硬件搭建 (7) 第三章软件设计 (8) 3.1 步态设计 (8) 3.1.1步态分析: (8) 3.1.2程序逻辑图: (9) 3.2 用NorthStar设计的程序 (10) 第四章总结 (12) 第五章参考文献 (13)

第一章绪论 1.1课程设计任务背景 机器人由机械部分、传感部分、控制部分三大部分组成.这三大部分可分成驱动系统、机械结构系统、感受系统、机器人一环境交互系统、人机交互系统、控制系统六个子系统现在机器人普遍用于工业自动化领域,如汽车制造,医疗领域,如远程协助机器人,微纳米机器人,军事领域,如单兵机器人,拆弹机器人,小型侦查机器人(也属于无人机吧),美国大狗这样的多用途负重机器人,科研勘探领域,如水下勘探机器人,地震废墟等的用于搜查的机器人,煤矿利用的机器人。如今机器人发展的特点可概括为:横向上,应用面越来越宽。由95%的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现;纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明 1.2课程设计的要求 设计一个机器人系统,该机器人可以是轮式、足式、车型、人型,也可 以是仿其他生物的,但该机器人应具备的基本功能为:能够灵活行进,能感知光源、转向光源并跟踪光源;另外还应具备一项其他功能,该功能可自选(如亮灯、按钮启动、红外接近停止等)。 具体要求如下: 1、根据功能要求进行机械构型设计,并用实训套件搭建实物。 2、基于实训套件选定满足功能要求的传感器; 3、设计追光策略及运动步态; 4、用NorthStar设计完整的机器人追光程序;

智能测量仪表课程设计报告

课程设计报告 课程:智能测量仪表 题目:智能测量仪表 学生姓名: 专业年级:自动化 指导教师: 信息与计算科学系 2013年3月23日

智能测量仪表 本次课程设计中智能温度测量仪表所采用的温度传感器为LM35DZ。其输出电压与摄氏温度成线性比例关系,无需外部校准,在0℃~100℃温度范围内精度为0.4℃~±0.75℃。,输出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/℃,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。 本次课程设计的主要目的在于让学生把所学到的单片机原理、电子线路设计、传感器技术与原理、过程控制、智能仪器仪表、总线技术、面向对象的程序设计等相关专业课程的内容系统的总结,并能有效的使用到项目研发中来,做到学以致用。课程设计的内容主要分为三个部分,即使用所学编程语言(C或者汇编)完成单片机方面的程序编写、使用VB或VC语言完成PC机人机界面设计(也可以用C+API实现)、按照课程设计规范完成课程设计报告。

目录 1.课程设计任务和要求 (3) 1.1 设计任务 (3) 2.2 设计要求 (3) 2.系统硬件设计 (3) 2.1 STC12C5A60S2单片机A/D转换简介 (3) 2.2 LM35DZ简介 (7) 2.3 硬件原理图设计 (7) 3.系统软件设计 (10) 3.1 设计任务 (10) 3.2 程序代码 (10) 3.3 系统软件设计调试 (17) 4.系统上位机设计 (18) 4.1 设计任务 (18) 4.2 程序代码 (18) 4.3 系统上位机软件设计调试 (21) 5.系统调试与改善 (22) 5.1 系统调试 (22) 5.2 系统改善 (22) 6.系统设计时常见问题举例与解决办法 (24) 7.总结 (25)

Ping程序的实现

湖南工业大学 课程设计 资料袋 计算机与通信学院学院(系、部)2011 ~ 2012 学年第 1 学期课程名称计算机网络原理指导教师李建设职称副教授 学生姓名专业班级学号 题目 成绩起止日期2011 年11 月24 日~2011 年12 月4 日 目录清单

课程设计任务书 2010 —2011学年第 2 学期 学院(系、部) 计算机与通信学院 专业 软件工程 班级 091-3 课程名称: 计算机网络原理 学生姓名: 自己填写 设计题目: Ping 程序的实现 指导教师: 李建设 完成期限:自 2011 年 11 月 24 日至 2011 年 12 月 4 日 共 2 周 内 容 及 任 务 一、设计内容 实现ping 功能。程序能实现基本的ping 操作,发送ICMP 回显请求报文,接收显应答报文。 1. 能记录路由。程序提供了“-r ”选项,用以记录从源主机到目的主机的路由。 2. 能输出指定条数的记录。程序提供了“-n ”选项,用以输出指定条数的记录。 3. 能按照指定大小输出每条记录。程序提供了“datasize ”选项,用以指定输出的数据报的大小。 4. 能输出用户帮助。程序提供了用户帮助,显示程序提供的选项以及选项格式等。 5. 以图形显示输出结果。 二、设计任务 课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 三、设计要求 1. 按功能要求开发系统,能正确运行。程序代码书写规范,有充足的注释。 2. 课程设计所使用的编程语言任选,但建议使用C 或C++; 3. 绿色软件:程序运行不需安装,避免写系统和注册表; 进 度 安 排 起止日期 工作内容 2011-11-24~2011-11-27 选题 2011-11-28~2011-11-29 系统分析和设计; 2011-11-30~2011-12-3 熟悉软件开发工具、编码系统、系统测试 2011-12-04~2011-12-05 撰写并提交课程设计说明书 (含电子文档)、源程序等。 主 要 参 考 资 料 [1] (美) Larry Peterson 著,薛静锋等译. 《计算机网络:系统方法》 (第4版) ,机械工业出版社,2009 [2] (荷) Andrew S.Tanenbaum 著,潘爱民译. 《计算机网络》(第4版),清华大学出版社, 2004 [3] 谢希仁著.《计算机网络》((第5版) ,电子工业出版社, 2008.1 [4] 吴功宜等著.《计算机网络课程设计》,机械工业出版社,2005 指导教师(签字): 年 月 日 系(教研室)主任(签字): 年 月 日

51CTO下载-电子商务网站课程设计报告范例

1.正文 (1)引言 ①.程序设计的背景 21世纪的重要特征是数字化、网络化和信息化。自从上个世界90年代以后,以因特网为代表的计算机网络得到了飞速的发展,已从最初的教育科研网络发展成为商业网络,并已成为仅次于全球网的世界第二大网络。很多人认为现在已经是互联网的时代,这是因为互联网正在并继续改变着我们的工作和生活的各个方面,加速了全球信息革命的进程。现在人们的生活、工作、学习和交往都已经离不开因特网,互联网成为全球通信与贸易的重要工具。网上购物系统正在成为人们日益信赖的购物平台,其以优越的方便快捷性、实用性、可获得性等特性获得越来越多人的青睐,网上购物逐渐成为很多人购物的主要途径。另外,随着计算机身份认证技术、数字签名、数据库安全、数字水印、信息隐藏、入侵检测、防火墙等网络安全技术的发展使得网上购物的环境越来越安全,大型的合理构建,政府机构完备的法律制度都极大的保证了网上购物的安全性,提高了顾客的信任度,使得网络购物更加普及。作为当代的大学生,网络更是贯穿于我们的生活,加上年轻人乐于尝试新生事物的心理趋向也让我们对于网上购物有了更多了解并参与其中。基于对网络购物环境的理解,结合自己的网络购物的体会,本小组成员进行了此次课程设计,基本上实现了简单的基于Java平台的JSP电子商务设计(电脑购物B2C模式的电子商务)。 ②.程序设计的需求分析 本电子商务总体基于Java,利用服务器端动态网页开发的JSP技术,辅以客户端动态网页开发的Javascript技术,主要设计实现以下功能: 1.前台销售,包括以下容: 1)用户注册: 显示注册界面,通过Javascript技术判断用户填写的注册信息是否规,用户名是否已经存在、填写的密码是否一致、Email是否为正确格式等等。用户确认所填注册信息并通过验证后,将注册信息添加到数据库中的userInfo表中。 2)用户登录 用户输入用户名和密码后,检验所输入的用户名和密码是否与数据库中的用户名和密码一

天津大学机械制造技术基础课程设计报告书

机械制造技术基础课程设计报告书 学院机械工程 专业机械设计制造及其自动化 年级 班级组别 小组成员 指导教师 2014年 10 月 10 日

机械制造技术基础课程设计任务书

目录 第一章零件分析 1.1 零件的作用 (1) 1.2 零件的工艺分析 (1) 1.3 确定零件生产类型 (1) 第二章确定毛坯类型绘制毛坯简图 2.1选择毛坯 (2) 2.2确定毛坯尺寸公差和机加工余量 (2) 2.3绘制拨叉毛坯简图 (3) 第三章工艺规程设计 3.1定位基准的选择 (4) 3.2拟定工艺路线 (4) 3.3工序尺寸及公差确定 (6) 3.3切削用量的确定 (7) 第四章机床夹具设计 4.1定位及加紧机构设计 (8) 4.2切削力及夹紧力计算 (11) 4.3夹紧元件的强度校核 (13) 4.4定位误差分析 (14) 参考文献.................................................... .. (18)

附 录 .................................................... . (19)

第一章零件分析 1.1 零件的作用 题目所给的零件是拨叉。它位 于变速机构中,主要起换档、使主轴 回转运动按照工作者的要求工作,获 得所需的速度和扭矩的作用。零件上 方的φ20H7孔与操纵机构相连,并用 螺钉经M5孔与变速叉轴连接。拨叉脚 则夹在双联变换齿轮的槽中。当需要 变速时,操纵变速杆,变速操纵机构 就通过拨叉头部的操纵槽带动拨叉与 变速叉轴一起在变速箱中滑移,通过 连接装置改换档位,实现变速。 1.2 零件的工艺分析 零件的材料为QT400,球墨铸铁 是通过球化和孕育处理得到球状石 墨,有效地提高了铸铁的机械性能, 特别是提高了塑性和韧性,从而得到 比碳钢还高的强度。 该拨叉零件叉轴孔Φ20H7 mm的 轴线是拨叉脚两端面和螺纹孔M5的设 计基准,拨叉头左端面是拨叉轴向方 向上尺寸设计基准。选用叉轴孔Φ20H7 mm的轴线和拨叉头左端面作为精基准。选用叉轴孔Φ20H7 mm的轴线和拨叉头左端面作为精基准定位加工拨叉脚两端面和螺纹孔M5,实现了设计基准和工艺基准重合,保证了被加工表面的垂直度要求。另外,由于拨叉件刚性较差,受力易发生弯曲变形,选用拨叉头左端面作为精基准,夹紧力作用在插头的右端面上,可以避免在机械加工中产生夹紧变形, mm的尺寸要求,所以选择拨叉脚左端面作为粗基准。夹紧稳定可靠。由于有50 2.0 采用Φ32 mm的外圆面定位加工内孔尅保证孔的壁厚均匀;采用拨叉脚左端面作为粗基准加工左端面,可以为后续工序准备好精基准。 该拨叉的加工质量要求较高,可将加工阶段分为粗加工、半精加工和精加工几个阶段。在粗加工阶段,首先用车床将精基准(拨叉头左端面和叉轴孔)准备好,因为车床可以一次性将两个精基准都加工出来,从而提高了精度,也为使后续工序都采用精基准定位加工,保证其他加工表面的精度要求;由于精度要求不高,故而粗铣,半精铣拨叉脚左右端面、拨叉脚内表面、螺纹孔端面,最后完成M5螺纹孔的加工,这也体现了工序集中的原则。 1.3 确定零件生产类型 由零件图示的生产批量200件可知,该零件为单件小批量生产。

智能机器人课程设计报告[资料]

智能机器人课程设计报告[资料] 天津师范大学 计算机与信息工程学院 课程设计报告 课程名称: 机器人设计 设计题目: 专业: 信息工程 班级: 08(1)班 组别: 学生姓名: 吴雪萍学号: 08509205 起止日期: 2011年3月1日 ~ 2011年 7月1日 指导教师: 刘岩恺梁景莲 同组人员: 课程设计题目机器人设计实验 姓名吴雪萍学号 08509205 班级 08信息(1)班 班级专业信息工程 组别组长组员 指导教师刘岩恺梁景莲 课程 设计设计家庭组机器人和机器人行走目的 课程 设计Vc++ 环境

课程 设计 任务用C++语言设计一个颜色识别的程序和一个机器人行走程序 和要 求 课程设计内容描述: 1(绪论 通过学习机器人设计2课程~学会了家庭组机器人和足球机器人的一些理论知识。了解了机器人方向识别~动手调试了全景摄像头和前置摄像头~设置了场地、球门、白线、足球等的颜色数值。 2. 颜色识别的产生 结合梁老师给的人脸识别程序~通过改变人脸模型建立颜色识别程序。 3. 平台的选择及搭建 根据刘老师给的参考资料~首先安装了DirectX9.0 SDK和Visual C++软件~然后一步步的按照老师所给的步骤~先建立基本界面~接着编制串口通讯控制机器人 的程序~读取距离传感器信息等~最后得出了机器人行走程序如下。 课程设计源程序: 机器人行走 // VoyTestDlg.cpp : implementation file // #include "stdafx.h" #include "VoyTest.h" #include "VoyTestDlg.h" #ifdef _DEBUG

课程设计---Ping程序设计与实现

课程设计 课程名称____计算机网络_____ 题目名称_Ping程序设计与实现 学生学院____计算机学院____ 专业班级____08计科4班___ 学号_______ 2011年 1 月8 日

一、课程设计目的 本次课程设计的目的旨在通过网络相关程序的编写,使我们能深入理解TCP/IP协议机制,以及初步掌握基于Winsocket的网络编程技术。同时巩固相关的理论知识,为以后程序开发打下良好而又坚实的基础。 二、知识准备 1、ICMP协议 互联网控制信息协议(Internet CONTROL Message Protocol),用于错误报告和调试。该协议是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。我们可以通过Ping命令发送ICMP回应请求消息并记录收到ICMP回应回复消息,通过这些消息来对网络或主机的故障提供参考依据。 常见ICMP报文有响应请求报文,目标不可到达、源抑制和超时报文,此外还有时间戳报文。2、Ping工作原理 Ping的原理就是首先建立通道,然后发送包,对方接受后返回信息,这个包至少包括以下内容:发送的时候,包的内容包括对方的ip地址和自己的地址,还有序列数;回送的时候包括双方地址,还有时间等,主要是接受方在都是在操作系统内核里做好的,时刻在监听。Ping程序生成一个icmp“回送请求”,将其发送给目的主机。通过检测是否可以收到目标主机的应答,便可以知道网络的连通性。 (3) Tracert 工作原理 透过向目标发送不同 IP 生存时间 (TTL) 值的ICMP回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP已超时”的消息发回源系统。Tracert 先发送 TTL 为 1 的响应数据包,并在随后的每次发送过程将 TTL 递增1,直到目标响应或 TTL 达到最大值,从而确定路由。透过检查中间路由器发回的“ICMP已超时”的消息确定路由。 三、界面设计及数据结构的说明 1 、MFC界面设计建立流程 步骤一:打开VC6.0,点击文件选项,在project选项卡中选择MFC Appwizard(exe),项目名称为ping。

C语言课程设计报告示例

课程设计和调试过程规范化要求 1)需求分析 分析系统功能需求以及用户操作流程。 2)概要设计 在需求分析的基础上,确定系统总体框架(系统功能结构图)。 3)详细设计 定义数据存储结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。 4)代码设计 根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。源程序要求书写规范,结构清晰。重点函数的重点变量,重点功能部分均要求给出清晰的程序注释。 5)程序调试 程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。 如果程序能够基本正确地运行,可考虑增加若干基本的容错功能(如避免用户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。 课程设计报告及书写内容要求 课程设计任务完成后,每位同学必须独立书写一份课程设计报告。课程设计报告的内容

应包括以下部分: 1)需求分析。包括设计题目、设计要求以及系统功能需求分析; 2)概要设计。包括系统总体设计框架和系统功能模块图; 3)详细设计。包括主要功能模块的算法设计思路以及对应的工作流程图; 4)主要源程序代码。包括存储结构设计说明,以及完整源程序清单; 5)调试分析过程描述。包括测试数据、测试输出结果,以及对程序调试过程中存在问题的 思考(列出主要问题的出错现象、出错原因、解决方法及效果等); 6)测试结果。列出所有功能的运行界面,并作文字说明。 7)总结。包括课程设计过程中的学习体会与收获、对C语言和本次课程设计的认识以及 自己的建议等内容。 8)源代码。完整的c语言代码。

智能控制课程设计报告书

《智能控制》课程设计报告题目:采用BP网络进行模式识别院系: 专业: 姓名: 学号: 指导老师: 日期:年月日

目录 1、课程设计的目的和要求 (3) 2、问题描述 (3) 3、源程序 (3) 4、运行结果 (6) 5、总结 (7)

课程设计的目的和要求 目的:1、通过本次课程设计进一步了解BP网络模式识别的基本原理,掌握BP网络的学习算法 2、熟悉matlab语言在智能控制中的运用,并提高学生有关智能控制系统的程序设计能力 要求:充分理解设计容,并独立完成实验和课程设计报告 问题描述 采用BP网络进行模式识别。训练样本为3对两输入单输出样本,见表7-3。是采用BP网络对训练样本进行训练,并针对一组实际样本进行测试。用于测试的3组样本输入分别为1,0.1;0.5,0.5和 0.1,0.1。 表7-3 训练样本 说明:该BP网络可看做2-6-1结构,设权值wij,wjl的初始值取【-1,+1】之间的随机值,学习参数η=0.5,α=0.05.取网络训练的最终指标E=10^(-20),在仿真程序中用w1,w2代表wij,wjl,用Iout代表 x'j。 源程序 %网络训练程序

clear all; close all; xite=0.50; alfa=0.05; w2=rands(6,1); w2_1=w2;w2_2=w2; w1=rands(2,6); w1_1=w1;w1_2=w1; dw1=0*w1; I=[0,0,0,0,0,0]'; Iout=[0,0,0,0,0,0]'; FI=[0,0,0,0,0,0]'; k=0; E=1.0; NS=3; while E>=1e-020 k=k+1; times(k)=k; for s=1:1:NS xs=[1,0; 0,0; 0,1]; ys=[1,0,-1]'; x=xs(s,:); for j=1:1:6 I(j)=x*w1(:,j); Iout(j)=1/(1+exp(-I(j))); end y1=w2'*Iout;

计算机网络实验之Ping程序的设计和实现

课程名称计算机网络 实验序号实验五 实验项目Ping程序的设计与实现

2017年03月25 日 实验报告要求 1、实验报告封面填表说明(每份实验报告必须附上封面) (1)课程名称:要求与实验大纲和实验指导书中的课程名称一致。 (2)实验序号:指该课程的第几个实验。 (3)实验项目:要求与实验大纲和实验指导书中的实验项目一致。 (4)实验地点:填写完成该实验项目所在的实验室名称。 (5)实验学时:要求与实验大纲和实验指导书中完成该实验项目所需学时一致。 (6)实验类型:是指演示性、操作性、验证性、综合性、设计性。 演示性:教师操作,学生观察,验证理论、说明原理和方法。 操作性:学生按要求动手拆装、调试实验装置或上机操作,掌握其基本原理和方法。 验证性:按实验指导书(教材)要求,由学生通过操作验证所学理论,加深对理论、知识的理解,掌握基本实验知识、方法、技能、数据处理等。 综合性:实验内容涉及本课程的综合知识或相关课程的知识,运用多的知识、多种方法,按要求或自拟实验方案进行实验。主要培养学生综合运用所学知识、实验方法和实验技能,以培养其分析、解决问题的能力。 设计性:给定实验目的、要求和实验条件,学生自己设计实验方案并加以实现的实验。学生独立完成从查阅资料、拟定实验方案、实验方法和步骤(或系统分析和设计)、选择仪器设备(或自行设计缺制作)进行实验并完成实验全过程,形成实验报告,培养学生自主实验的能力。 3、教师批改学生实验报告要求 (1)批改:全部批改及更正错误。 (2)评分:按百分制评分,不能评分为“优、良、中、差”或“A、B、C”。 (3)签名及批改日期:任课教师必须在每份学生实验报告中签名和写上批改日期。 (4)成绩:填写学生实验成绩表,实验成绩作为考试成绩评定的依据。

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