搜档网
当前位置:搜档网 › 网络程序设计实验报告

网络程序设计实验报告

网络程序设计实验报告
网络程序设计实验报告

广州大学

实验报告

学院工商管理学院

专业、班级电子商务

姓名、学号

课程名称 Java语言程序设计

项目名称网络程序设计

实验时间:2013年 5月 10日

网络程序设计实验报告

开课实验室:文俊东6062013年5月10日

服务端流程图:

客户端流程图:

三、实验过程原始记录(数据、图表、计算等)程序启动:

服务端:

客户端运行后的服务端情况:

客户端:

服务端结果:

客户端结果:

四、实验结果及分析

本次实验的难度不大再加上老师的提示,所以能够基本符合要求的完成,但是在自己实现的源代码中还有两个问题未能解决。

1.在客户端输入完信息后程序能够自动转到服务端界面,但是

在服务端界面输入信息后需要人手转到客户端界面。客户端和服务端的代码基本无异但是我弄不明白为什么会出现这种情况。

2.在客户端退出对话的时候会马上弹出错误提醒,但是在服务

端并没有出现这种情况。

五、附录(自己实现的源代码)

服务端:

import java.io.*;

import https://www.sodocs.net/doc/628377985.html,.*;

public class CZJServer {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException { ServerSocket hh = new ServerSocket(8610);

Socket hea=hh.accept();

BufferedReader in = new BufferedReader(new InputStreamReader

(hea.getInputStream()));

BufferedWriter out = new BufferedWriter(new OutputStreamWriter

(hea.getOutputStream()));

BufferedReader inkey = new BufferedReader(new InputStreamReader

(System.in));

System.out.println("陈梓君Server Connected OK");

System.out.println("欢迎进入hyukhea聊天室");

for(;;){

String ww ;

String str ;

out.write("Hyukjae:");

str = in.readLine();

System.out.println(str);

ww = inkey.readLine();

if(ww.equals("bye")){

out.write(ww);

out.newLine();

out.flush();

break;

}

out.write(ww);

out.newLine();

out.flush();

System.out.println("Hyukjae:");

System.out.println(ww);

}

System.out.println("退出对话!");

hh.close();

}

}

客户端:

import java.io.*;

import https://www.sodocs.net/doc/628377985.html,.*;

public class CZJClient {

/**

* @param args

*/

public static void main(String[] args) throws IOException { Socket DH = new Socket("localhost",8610);

BufferedReader in = new BufferedReader(new

InputStreamReader

(DH.getInputStream()));

BufferedWriter out = new BufferedWriter(new OutputStreamWriter

(DH.getOutputStream()));

BufferedReader inkey = new BufferedReader(new InputStreamReader

(System.in));

System.out.println("陈梓君client Connected OK");

System.out.println("欢迎进入hyukhea聊天室");

System.out.println("请输入你想说的话:");

for(;;){

String ww ;

String str ;

out.write("Donghea:");//客户端名为Donghea

ww = inkey.readLine();

System.out.println("Donghea:");

System.out.println(ww);

if(ww.equals("bye")){

out.write(ww);

out.newLine();

out.flush();

break;

}

out.write(ww);

out.newLine();

out.flush();

str = in.readLine();

System.out.println(str);

}

System.out.println("退出对话!");

DH.close();

}

}

六、联系方式(e-mail)

数字钟设计报告——数字电路实验报告

. 数字钟设计实验报告 专业:通信工程 :王婧 班级:111041B 学号:111041226 .

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生器、“时、 3

《网络应用程序设计》课程设计报告书

网络应用程序设计课程设计报告书 题目:局域网多人聊天室 班级:0991132 学号:1099113202 姓名:赵燃 指导教师:宋毅、王家宁、徐红梅、姚璐 周期:一周 成绩: 2011年12 月23 日

一、课程设计的目的与要求( (一)课程设计目的与任务 (1)课程设计的目的:《网络高级程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用vc++语言进行面向对象设计的基本方法。提高运用面向对象知识分析实际问题、解决实际问题的能力。 (2)课程设计任务:局域网多人聊天室 该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。 客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。 服务器端程序:可将消息发送到客户端和接受客户端发送来的消息。 (二)题目要求 该系统要求完成聊天室的全过程,包括客户端和服务器两大部分的编程及其连接。服务器端聊天程序负责接收和发送来自客户端的聊天信息,客户端聊天程序负责建立和维护与服务器端的连接,想服务器发送本客户的聊天内容。系统采用VISUAL C++语言程序设计编程实现。并且按要求编写程序设计报告书,能正确编写分析、设计、编码、测试等技术文档。 二、设计正文 1系统分析 (1)服务器聊天程序要在待定的端口上等待来自聊天客户的连接请求,并且需要维护一个客户连接表,以记录所有成功的连接。 (2)服务器聊天程序要及时接受从各个聊天客户发送过来的信息,然后把这些信息转发到一个或多个客户连接。对于公共聊天室,服务器将把接受到的信息除源端外的所有客户发送过去。 (3)服务器还要监控这些连接的状态。在客户主动离开或发生故障时从列表删除相应的表项,并及时更新连接表。 2功能详细描述及框图 用户首先启动客户端,登陆服务器并向服务器发送信息,启动服务器,服务器等待客户要求并向客户反馈在线用户信息,用户向服务器发送信息,服务器处理用户的数据,然后用户开始聊天,客户端的聊天分为对群聊天和私聊的信息,该信息应通过程序控制分别进行处理。

数字时钟设计实验报告

电子课程设计题目:数字时钟

数字时钟设计实验报告 一、设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 二、设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图: 图一 数字时钟电路框图 译码器 译码器 译码器 时计数器 (24进制) 分计数器 (60进制) 秒计数器 (60进制) 校 时 电 路 秒信号发生器

四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 ?振荡器: 通常用555定时器与RC构成的多谐振荡器,经过调整输出1000Hz 脉冲。 ?分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz标准秒脉冲。其电路图如下: 图二秒脉冲信号发生器 (二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器。 ?60进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。其电路图如下:

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

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

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

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

c++网络编程实例

第1章Visual C++网络编程概述 Visual C++(后面简写为VC)网络编程是指用户使用MFC类库(微软基础类库)在VC编译器中编写程序,以实现网络应用。用户通过VC编程实现的网络软件可以在网络中不同的计算机之间互传文件、图像等信息。本章将向用户介绍基于Windows操作系统的网络编程基础知识,其开发环境是VC。在VC编译器中,使用Windows Socket进行网络程序开发是网络编程中非常重要的一部分。 1.1 网络基础知识 如果用户要进行VC网络编程,则必须首先了解计算机网络通信的基本框架和工作原理。在两台或多台计算机之间进行网络通信时,其通信的双方还必须遵循相同的通信原则和数据格式。本节将向用户介绍OSI七层网络模型、TCP/IP协议以及C/S编程模型。 1.1.1 OSI七层网络模型 OSI网络模型是一个开放式系统互联的参考模型。通过这个参考模型,用户可以非常直观地了解网络通信的基本过程和原理。OSI参考模型如图1.1所示。 图1.1 OSI七层网络模型

·3· 用户从OSI 网络模型可以很直观地看到,网络数据从发送方到达接收方的过程中,数据的流向以及经过的通信层和相应的通信协议。事实上在网络通信的发送端,其通信数据每到一个通信层,都会被该层协议在数据中添加一个包头数据。而在接收方恰好相反,数据通过每一层时都会被该层协议剥去相应的包头数据。用户也可以这样理解,即网络模型中的各层都是对等通信。在OSI 七层网络模型中,各个网络层都具有各自的功能,如表1.1所示。 表1.1 各网络层的功能 注意:在表1.1中列出了OSI 七层网络模型中各层的基本功能概述。用户根据这些基本 的功能概述会对该网络模型有一个比较全面的认识。 1.1.2 TCP/IP 协议 TCP/IP 协议实际上是一个协议簇,其包括了很多协议。 例如,FTP (文本传输协议)、SMTP (邮件传输协议)等应 用层协议。TCP/IP 协议的网络模型只有4层,包括数据链路 层、网络层、数据传输层和应用层,如图1.2所示。 在TCP/IP 网络编程模型中,各层的功能如表1.2所示。 表1.2 TCP/IP 网络协议各层功能 在数据传输层中,包括了TCP 和UDP 协议。其中,TCP 协议是基于面向连接的可靠的通信协议。其具有重发机制,即当数据被破坏或者丢失时,发送方将重发该数据。而UDP 协议是基于用户数据报协议,属于不可靠连接通信的协议。例如,当用户使用UDP 协议发送一条消息时,并不知道该消息是否已经到达接收方,或者在传输过程中数据已经丢失。但是在即时通信中,UDP 协议在对一些对时间要求较高的网络数据传输方面有着重要的 作用。 图1.2 TCP/IP 网络协议模型

数字电子钟实验报告

咸阳师范学院物理与电子工程学院 课程设计报告 题目: 班级: 姓名: 学号: 指导教师: 成绩: 完成日期:年月

目录 第一章概述 3 第二章数字电子钟的电路原理 4 第三章电路调试与制作11 第四章总结与体会12 第五章附录13

第一章概述 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 虽然市场上已有现成的数字集成电路芯片出售,价格便宜,使用方便,这里所制作的数字电子可以随意设置时,分的输出,是数字电子中具有体积小、耗电省、计时准确、性能稳定、维护方便等优点。 课程设计目的 (1)加强对电子制作的认识,充分掌握和理解设计个部分的工作原理、设计过程、选择芯片器件、电路的焊接与调试等多项知识。 (2)把理论知识与实践相结合,充分发挥个人与团队协作能力,并在实践中锻炼。 (3)提高利用已学知识分析和解决问题的能力。 (4)提高实践动手能力。

第二章数字电子钟的电路原理 数字电子钟的设计与制作主要包括:数码显示电路、计数器与校时电路、时基电路和闹铃报时电路四个部分。 1.数码显示电路 译码和数码显示电路是将数字钟的计时状态直观清晰地反映出来。显示器件选用FTTL-655SB双阴极显示屏组。在计数电路输出信号的驱动下,显示出清晰的数字符号。 2.计数器电路 LM8560是一种大规模时钟集成电路它与双阴极显示屏组可以制成数字钟钟控电路。 3.校时电路 数字钟电路由于秒信号的精确性和稳定性不可能做到完全准确无误,时基电路的误差会累积;又因外部环境对电路的影响,设计产品会产生走时误差的现象。所以,电路中就应该有校准时间功能的电路。通过手动调节按键,达到校准的目的。 4.定时报警电路 当调好定时间后并按下开关K1(白色键),显示屏右下方有红点指示,到定时时间有驱动信号经R3使VT1工作,即可定时报警输出。 芯片资料 LM8560是一种大规模时钟集成电路它与双阴极显示屏组可以制成数字钟钟控电路。作为时钟,它准确醒目;作为控制开关,它动作无误;在1小时59分钟或59分钟内,能任意暂停,使用十分方便。 仔细观察从0-9的每个数字并比较图1所示的笔段。内部电路参看图2, LM8560各脚功能,参看图3。

网络编程实验报告

实验一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; }

VC++网络编程之实例篇

一个简单的论坛灌水工具 我在https://www.sodocs.net/doc/628377985.html,/index.php?prog=topic::flat&tid=219030里面回复了这样一个贴: 标题是:Re:啥时候下雪啊 回复内容是:下啊下啊 经过截取后,得到这样的数据包: POST /index.php?prog=topic::reply&tid=219030 HTTP/1.1..Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*..Referer: https://www.sodocs.net/doc/628377985.html,/index.php? prog=topic::flat&tid=219030..Accept-Language: zh-cn..Content-Type: application/x-www-form- urlencoded..Accept-Encoding: gzip, https://www.sodocs.net/doc/628377985.html,er-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)..Host: https://www.sodocs.net/doc/628377985.html,..Content-Length: 509..Connection: Keep-Alive..Cache- Control: no-cache..Cookie: CEFS=56a4967e3f0923cc0b9e361d2599290f.... title=Re%3A%C9%B6%CA%B1%BA%F2%CF%C2%D1%A9%B0% A1&cetag=checked&autoParseURL=checked&smiles=checked&showsign=checked&domai ns=https://www.sodocs.net/doc/628377985.html, &q=Google+Site+Search&sitesearch=https://www.sodocs.net/doc/628377985.html,&client=pub- 9549696168596987&forid=1&channel=5833732144&ie=GB2312&oe=GB2312&cof=GALT%3A %23008000%3BGL% 3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A 336699%3BALC% 3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID %3A1%3B&hl=zh- CN&content=%CF%C2%B0%A1%CF%C2%B0%A1&parentid=0

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

数字逻辑实验报告(数字时钟设计)

数字逻辑实验报告

实验三、综合实验电路 一、实验目的: 通过一个综合性实验项目的设计与实现,进一步加深理论教学与实验软硬件平台的实践训练,为设计性实验做好充分准备。 二、实验原理: 根据要求的简单设计性的电路设计实验,应用基本器件与MSI按照电路设计步骤搭建出初级电路;设计型、综合型的较复杂实验电路 三、实验设备与器件: 主机与实验箱 四、实验内容: (1)实验任务:根据所学习的器件,按照电路开发步骤搭建一个时钟, 要求实现的基本功能有计时功能、校对时间功能、整点报时、秒表等功能。 (2)实验任务分析:完成该数字时钟,采用同步时序电路,对于计时 的的功能,由于时间的秒分时的进位分别是60、60、24,所以可以应用74LS163计数器分别设计2个模60计数器以及一个模24计数器,那么需要有7个秒输出,7个分输出,6个小时的输出;对于校对时间的功能,由74LS163的特性可知,当该器件处于工作状态时,每来一个CLK脉冲,计数值加1,所以可以手动控制给CLK脉冲,来进行时间的校对;对于整点报时功能,可以采用一个比较电路,当时间的分秒数值全部为零时,那么此时可以接通报时装置,可以在电路中设置报时的的时间;对于秒表功能,有两种方案,可以单独重新设计一个秒表装置,采用模100计数器以及两个模60计数器,可以进行优化,使用原先的两个模60计数器,这样可以简化电路,是电路简洁。 (3)实验设计流程:

(4)输入输出表: (5)各个功能模块的实现: A、计时功能模块的实现(电路图及说明)秒表部分及说明

说明:该部分是实现功能正常计时中的秒部分的计时工作。如图所示,图中采用两个74LS163来做一个模60计时器,计数的起止范围是0~59,(第一个74LS163采用模10计数,起止为0~9,第二个74LS163的计数起止范围是0~5),两个器件采用级联方式,用预置位方法实现跳转;该部分有7个秒输出,接到BCD译码显示器。 注解:第一个163器件: LDN端统一接到清零端ABCD端接地 ENP端接到VCC高电平ENT接高电平VCC 第二个163器件: LDN端统一接到清零端ABCD端接地 ENP端接到VCC高电平ENT接高电平第一个163的预置位段 分钟部分以及说明:

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以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); }

数字时钟设计实验报告.docx

电了课程设计 题目:数字时钟

数字时钟设计实验报告 、设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。发挥:增加闹钟功能。 二——、设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用 译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图: 四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 振荡器:通常用555定时器与RC构成的多谐振荡器,经过调整输出100QHZ 脉冲。 分频器:分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得IHz标准秒脉冲。其电路图如下:

图三60进制--秒计数电路 <1 LI? (二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器 60进制一一秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成 60进制计数器。当 计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器 CD4011(设 计10进制计数器显示秒的个位 。个位计数器由0增加到9时产生进位,连在十位部计数 器脉冲输入端CP ,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进 制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平 接到个位、十位的CD4011C 的清零端,同时产生一个脉冲给分的个位。其电路图如下: 图二秒脉冲信号发生器 CKB CKA Rol NC Roe QA NC VrC GMD R91 QE R9S ClC ?∣0∏hrη A C ? D D B C- ^NQQ^QQ BICy X 1 £ W R0R0N C VC Tffl DI5 GVT M RES OTN CKB CKA Rol NC R02 QA NC QD VCC GND R91 QB R92 QC Z 一 --∏ I ∣Ξ?? 中 OlA DiLn+1;IIlr

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号: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; // 该弧关系信息的指针

网络编程实验报告

【实验目的】 掌握基于多线程并发服务器的基本设计框架和实现方法。 【实验性质】 综合性实验 【实验器材与所需软件】 计算机、交换机、windows操作系统、java集成开发环境 【实验学时】 8学时 【实验内容】 实现一个多线程并发服务器(服务器功能自选),要求该服务器可以体现出同时为多个客户端服务的特性。 【实验过程与步骤】 实验设计并实现了一个基于多线程并发服务器的网络聊天室工具。 1,需求分析: 工具采用了Client/Server结构,将聊天室划分为两个子程序:客户端子程序、服务器端子程序。 ●客户端程序: 实现客户端与服务器端进行连接,并可与服务器端进行实时通讯。 ●服务器端: 实现建立与多个客户端程序之间的连接,管理连接并能够通过多线程技术同时与多个客户端进行实时通讯。 2,系统设计: 系统的设计中,客户端与服务器端的连接,通过TCP/IP网络建立,并依托Socket进行实时通讯。系统中,各个模块之间的关系如下图所示:

上图中,显示同一服务器,通过网络可以同时与多个客户端程序建立连接并实现实时通讯功能,通讯流程如下图所示: 根据图示,客户端与服务器之间通过Socket()进行实时通讯,通讯步骤是:服务器监听、客户端发出请求、服务器接受、建立连接、交互通讯、关闭连接。另外,由于聊天室工具必须实现多客户端同时连接通讯的要求,因此,在服务器端设计时考虑采用多线程技术,每个服务器拥有多个服务线程,每个线程负责与一个客户端进行连接通讯,从而达到一个服务器同时与多个客户端并发通讯的效果。 3,系统实现: 在网络聊天室的最终实现时,设计服务器类、服务器线程类、客户端类以及系统界面类: ●服务器类 Class Server: 主要负责管理系统中的服务器线程,通过线程管理与客户端之间的连接及通讯,是服务器的主要管理端。 ●服务器线程类 Class ServerThread: 线程类中,实现了具体的服务器与客户端之间一一对应的连接关系,并通过Socket与客户端进行实时通讯。 ●客户端类 Class Client:

socket网络编程小例子

服务器端程序: #include #include #include #include #include #include #include #include #include #include #define PORT 2370 #define BACKLOG 2 #define IP "127.0.0.1" void process_conn_server(int s,char * ip); int main(int argc,char *argv[]) { int ss,sc; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int err; pid_t pid; //创建套接字 ss=socket(AF_INET,SOCK_STREAM,0); if(ss<0) { printf("socket error\n"); return -1; } //设置服务器端的地址,端口等 server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); server_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(server_addr.sin_zero), 8); //将创建的套接字绑定到服务器端 err = bind(ss, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)); if(err<0) { printf("bind error\n"); return -1; }

数字时钟设计实验报告

电子课程设计 题目:数字时钟

数字时钟设计实验报告 一、设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 二、设计方案: 由秒时钟信号发生器、计时电路与校时电路构成电路。 秒时钟信号发生器可由振荡器与分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时与分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图: 图一 数字时钟电路框图 四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器就是数字电子钟的核心部分,它的精度与稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 ? 振荡器: 通常用555定时器与RC 构成的多谐振荡器,经过调整输出1000Hz 脉冲。 ? 分频器: 分频器功能主要有两个,一就是产生标准秒脉冲信号,一就是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz 标准秒脉冲。其电路图如下: 译码器 译码器 译码器 时计数器 (24进制) 分计数器 (60进制) 秒计数器 (60进制) 校 时 电 路 秒信号发生器

图二秒脉冲信号发生器 (二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器。 ?60进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数与进位功能。利用74LS161与74LS11设计6进制计数器显示秒的十位 ,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。其电路图如下: 图三60进制--秒计数电路 ?60进制——分计数电路 分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:来自秒计数电路的进位脉冲使分的个位加1,利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0

网络编程实验报告

网络编程实验报告

网络编程 课程设计报告 题目: 基于Linux网络聊天室的设计姓名: 陈佳悦陈雄兰 学院: 信息科学技术学院 专业: 网络工程 班级: 网络工程102 学号: 19310213 19310214 指导教师: 薛卫职称:副教授

基于Linux网络聊天室的设计 摘要:本课程设计是在Linux环境下基于Socket进行开发的。系统服务器端和客户端组成。服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端。通过多路复用的子进程实现服务端与多个客户端之间的数据发送与接收。可以在单机上开辟两个窗口分别运行客户、服务器的程序。本方案经gcc 调试器调试成功,可以在机网络聊天中使用。 关键词:网络聊天;linux ;socket 1.相关概念及技术 1.1 网络套接字编程 1.1.1套接字基本概念 套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。 1.1.2 套接字工作原理 要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。 所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

Linux网络编程实例详解

Linux网络编程实例详解 本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代码实例。要理解本文所谈的技术问题需要读者具有一定C语言的编程经验和TCP/IP方面的基本知识。要实习本文的示例,需要Linux下的gcc编译平台支持。 Socket定义 网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用—Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket —SOCK_STREAM和数据报式Socket—SOCK_DGRAM。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP 服务应用。 Socket编程相关数据类型定义 计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Intenet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需要进行转换。 我们要讨论的第一个结构类型是:struct sockaddr,该类型是用来保存socket信息的:struct sockaddr { unsigned short sa_family; char sa_data[14]; }; sa_family一般为AF_INET;sa_data则包含该socket的IP地址和端口号。 另外还有一种结构类型: struct sockaddr_in {

单片机实训报告_数字时钟

单片机实训报告 ——数字时钟 成员: 金龙:2 王利伟:6 许林鹏: 9 春波:0 袁增莘:1 指导老师:翡 12电气自动化一班 2013.12.23—12.29

目录 一、设计目的 (2) 二、设计要求 (2) 2.1显示要求 (2) 2.2校准要求 (2) 2.3选型要求 (2) 三、硬件设计 (3) 3.1L E D电路图 (3) 3.2电路图分析 (4) 3.3键盘功能 (4) 四、程序设计 (5) 4.1程序流程图 (5) 4.2程序 (6)

课题:数字时钟 一、设计目的: 通过实训周学会制作数码管显示时、分、秒的数字可调时钟,近一步熟练掌握编程语言的应用。 二、设计要求: 2.1显示要求: 时钟要求用8位数码管显示,以数字形式显示时、分、秒的时间。且从右端始八位数码管依次显示①秒个位②秒十位③横杠“—”④分个位⑤分十位⑥横杠“—”⑦时个位⑧时十位 2.2校准要求: 时钟要求计时准确,同时要求有校准时间的电路,且以按键校准。 2.3选型要求: 设计单片机选型以STC89C51RC-RD+系列为基础 三、硬件设计: 3.1、LED电路图

3.2电路图分析 本次课题是利用51单片机进行设计。 Led灯是由低电平点亮的,led位的选择是由单片机中的p2口控制的。 *键盘是采用独立式按键: K1是p3.0;K2是p3.1; K3是p3.2:K4是p3.3; 3.3键盘功能 K1, 是对时钟调整或调整后进行确定的选择键。 K2,是对选中位置后对其进行加。 K3,是对选中位置后对其进行减。 K4,是进行时分秒的选择位的操作。 四、程序设计 4.1程序流程图

相关主题