更全的杂志信息网

排课系统的研究与实现论文

发布时间:2024-07-08 06:32:33

排课系统的研究与实现论文

方案名称:智能排课系统。方案目的:利用计算机替代传统的繁琐的手工排课方法。方案阐述:本系统受游戏设计中A星算法中的广度搜索法启发,结合手中的文献,总结出来的一种排课方式。本方案先采用采用信息收集的方式,收集信息。然后利用回逆算法进行智能排课。最后,再进行适当的人为调整,即可生成符合要求的课表。方案详解:当需要生成课表时,用户需先设定排课条件。基本条件有:周课时设置,课程信息,班级信息,教师信息,场地信息,教学计划(即那些老师教那些班级、可以选择的空教室、是否有合班课等信息)。将所有信息存入数据库。自动排课,即系统自动调用数据库收集的信息然后利用设定的算法进行排课。最后,将系统生成的课表进行差错检查,分别在班级信息,教师信息,场地信息表中检测其有无冲突。然后进行查看和手工调课。最后生成所需求的课表。算法详解:回溯是一种优先搜索法。它按优先条件向前搜索,以达到目标,但当搜索到某一步时,发现原先的选择并不优或达不到目标,就退回一步重新选择。这种走不通就退回的技术为回溯法,而满足回溯条件的某个状态点称之为回溯点。具体到计算机智能排课系统中,选优条件即为排课数学模型中的约束条件群(需求集中的元素特征与资源集中的元素特征相互作用形成的数学关系)。换言之,若不满足约束条件群,该选择即为不优或达不到目标。当遍历该步骤的所有可能仍未满足约束条件群,则该状态满足了回溯条件,该状态点即为回溯点。下图即为回溯算法排课流程。值得指出的是,当得到第一次满足选优条件的排课结果后,可以将课表输出到屏幕上,由系统管理员直接审视排课结果,若感觉不满意,则可回到第一次得出的排课结果,将该状态设为回溯点,继续运行该算法,可以得到另一种排课结果,直至程序管理员满意为止。当然,也有可能使用该法遍历了所有的可能,仍无满足选优条件之排课结果,此时,计算机就根据反馈的结果,自动放宽约束条件,重新进行排课。该排课系统已在实际应用,排课结果较为理想,并且充分发挥了运算速度快的特点。 计算机自动排课也需要进行人工干预,以便可以使得各个高校能够根据自己的具体要求对排课算法中的一些参数进行设置和调整,并对计算机排出的课表进行调整.本算法所设计的人工干预过程有:等价类划分中参数的设置,教室类型的设置,时间模式库的设置,优先级函数中参数的设置.用户可以根据自己的具体要求对这些参数和库进行设置.另外,对于计算机排出的课程表,用户也可以通过人机交互进行适当调整,从而得到用户满意的课程表.参考文献:《高校智能排课系统文献综述》 作者,日期不详。 《以代理人为基础的中学排课系统研究》台湾高雄师大学 杨锦潭 欧文性PS: 本人经过几天了解和获得老师的指点,觉得该系统如何能使用数据结构图和离散数学中的图论解决会能具有可操作性和智能性。另外,本人认为可以设计一个信息采集的接口,用于采集一些教师的需求信息(例如:不想上某个时段的课程。)这样可以使整个信息更加人性化,但实现起来也比较有难度。知识水平有限,只能在我所能想到的范围进行思考。

看看这个,课程设计-自动排课系统以Visual Basic开发。本文建立了自动排课系统的数学模型,并利用遗传算法对问题进行求解。在演化过程中采用一种新的遗传策略,加速了群体的收敛速度。

毕 业 论 文 任 务 书 题目名称:我国中小型企业财务管理问题探讨 立题意义 1、可降低主客观财务风险,避免较大经济损失的发生; 2、更好掌控公司财务状况,为决策提供支持和可靠保障; 3、规范企业管理,降低公司运营成本(主要是在合理避税、支出控制方面); 4、可保证对下支(子、分公司,部门)的有效监管与控制; 5、推进的公司科学管理,为公司年度目标及中长期目标计划的制定(预算)提供依据; 6、在集团化的三级管理体系中,是集团公司作为战略管理(投资)中心的主要实体。 (此处也可以不分条写,按段落写也可以,具体可以自行控制) 技术条件与要求 1.论文字数达到12000字以上,详略得当; 2.文章选题适当,切合实际,符合本专业的研究范围; 3.文章内容充实、结构合理,具有较强逻辑; 4.文章层次清晰、文字简练、术语规范、模型与图表运用适当; 5.阅读参考文献不少于15篇,其中外文文献不少于2篇; 6.严格按照学校论文撰写规范要求撰写; 7.认真准备答辩

面举个详细的例子给你吧! 真看不懂的话XXXXXXXXXX学院20XX届本科生毕业设计(论文)任务书 (此两行黑体一号字 居中)题 目: 中小学学生排课管理子系统 专业学院: 计算机科学技术学院 专 业: 计算机应用技术 学生姓名: XXX 指导教师: XXX 一、 主要研究内容:排课系统正是为了减轻教务人员的工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。对掌握基础最为之重要的中小学学生排课一直都没有很好的解决方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一个简单,实用的中小学排课系统的设计方法,并对一些具体的问题给出相应解决方案。二、 主要任务及目标:以为中小学学生服务为基础,为解决老师繁杂的排课任务为目的,最大限度地免去工作人员繁忙而枯燥的手工排课过程。我的任务是做出一个适用于中小学学生的排课系统.指导教师签字: 年 月 日工作小组组长签字: 年 月 日

研究生论文写系统实现

运用对比,必须对所要表达的事物的矛盾本质有深刻的认识。对比的两种事物或同一事物的两个方面,应该有互相对立的关系,否则是不能构成对比的。

摘 要: 本文论述了一种变电站综合自动化系统通信网络的设计。该通信系统具有信息传送效率高,安全、可靠性好,可扩展性强的特点。通信软件应用RTOS开发平台,采用先进的、标准的和成熟的通信网络技术,充分考虑网络的开放性、可扩充性等相关问题,并已成功应用于多家变电站。 关键词: 变电站综合自动化 通信网 接口 实时多任务操作系统 0. 引言 变电站是输配电系统中的重要环节,是电网的主要监控点。近年来,随着我国经济高速发展,电压等级和电网复杂程度也大大的提高。传统变电站一次设备和二次设备已无法满足降低变电站造价和提高变电站安全与经济运行水平这两方面的要求。 而现在变电站所采用的综合自动化技术是将站内继电保护,监控系统,信号采集,远动系统等结合为一个整体,使硬件资源共享,用不同的模式软件来实现常规设备的各种功能。用局域网来代替电缆,用主动模式来代替常规设备的被动模式。具有可靠、安全、便于维护等特点。 分散分层分布式是变电站综合自动化系统的发展方向,这就对通信的可靠性提出了更高的要求,选择一个可靠、高效的网络结构,是解决问题关键。90年代中期,国内外曾掀起一场“现场总线热”,但是由于技术上的原因以及采用设备总线时信息量大且传输较慢的特点,造成了现场总线存在多种标准,阻碍了其发展。以太网经过若干年的发展,技术上日臻成熟。随着嵌入式以太网微处理器的发展,以太网已十分便利的应用于变电站综合自动化系统。以太网具有高速、可靠、安全、灵活的特点,使其在变电站综合自动化系统中有广阔的应用前景。 1. 变电站通信系统结构 系统结构示意图如图1所示。 从图上可以看出: 1)管理和控制一体化局域网将无可争议地选用以太网。 2)间隔级控制总线在FF-H2总线尚未成熟的情况下,工业级以太网和Profibus MMS(Manufacturing Messageing Specification制造厂信息规范)将是一个比较好的选择。 3)可编程逻辑控制器PLC被发展成PCC(Programable computer controller),即用智能模块实现逻辑及自动控制功能,它比常规的PLC具有可交流采样、通讯组态方便等优点。 2. 变电站综合自动化系统通信网的基本设计原则 通信在变电站综合自动化占有重要的地位。其内容包括当地采集控制单元与变电站监控管理层之间的通信,变电站当地与远方调度中心之间的通信。系统通讯网架的设计是十分关键的,本文从以下方面考虑变电自动化系统通信网的设计: 1)电力系统的连续性和重要性,通讯网的可靠性是第一位的。 2)系统通讯网应能使通讯负荷合理分配,保证不出现“瓶颈”现象,保证通讯负荷不过载,应采用分层分布式通讯结构。此外应对站内通讯网的信息性能合理划分,根据数据的特征是要求实时的,还是没有实时性要求以及实时性指标的高低进行处理。另外系统通信网设计应满足组合灵活,可扩展性好,维修调试方便的要求。 3)应尽量采用国际标准的通信接口,技术上设计原则是兼容目前各种标准的通信接口,并考虑系统升级的方便。 4)应考虑针对不同类型的变电所的实际情况和具体特点,系统通信网络的拓扑结构是 灵活多样的且具有延续性。 5)系统通信网络应采用符合国际标准的通信协议和通信规约。 6)对于通信媒介的选用,设计原则是在技术要求上支持采用光纤,但实际工程中也考虑以屏蔽电缆为主要的通信媒介。 7)为加速产品的开发,保持对用户持续的软件支持,对用户提出的建议及要求的快速响应,就要求摆脱小作坊式的软件开发模式,使软件开发从“小作坊阶段”进入“大生产阶段”, 采用先进的通信处理器软件开发平台实时多任务操作系统RTOS并开发应用与其之上的通信软件平台。 3. 通信网的软硬件安装 .硬件的选择 为了保证通信网的可靠性,通信网构成芯片必须保证在工业级以上,以满足湿度、温度和电磁干扰等环境要求。通讯CPU采用摩托罗拉公司或西门子公司的工控级芯片,通讯介质选择屏蔽电缆或光纤。 . 接口程序 采用国际标准的通信接口,技术上设计原则是兼容目前各种标准的通信接口,并考虑系统升级的方便。装置通信CPU除保留标准的RS232/485口用于系统调试维护外,其它各种接口采用插板式结构,设计支持以下三类共七种方式:标准RS485接口,考虑双绞线总线型和光纤星型耦合型;标准 Profibus FMS 接口,考虑双绞线总线型、光纤环网、光纤冗余双环网;标准Ethernet ,考虑双绞线星型和光纤星型(通信管理单元考虑以上两种类型的双冗余配置)。 . 通信协议和通信规约 系统通信网络应采用符合国际标准的通信协议和通信规约,应建立符合变电站综合自动化系统结构的计算机间的网络通讯,根据变电站自动化系统的实际要求,在保证可靠性及功能要求的基础上,尽量注意开放性及可扩充性,并且所选择的网络应具有一定的技术先进性和通用性,尽量靠国际标准。长期以来,不同的变电站监控系统采用不同的通信协议和通信规约,如何实现不同系统的互连和信息共享成为一个棘手的问题,应采用规范化、符合国际标准的通信协议和规约。为此在系统中选用了应用于RS485网络的IEC61870-5-103规约、应用于Profibus 的MMS行规以及应用于TCP/IP上的MMS行规。它们都具有可靠性、可互操作性、安全性、灵活性等特点。 4.通信软件的设计与实现 通信软件的设计涉及到多种设备的配合问题,本文只以DF3003变电站综合自动化系统的通信网络为例,介绍变电站综合自动化系统通信软件设计与运行原理。 . 软件功能与运行原理 在DF3003变电站综合自动化系统中,采用二级分层分布式网络。针对110KV中压变电站的要求,我们可采取图2所示的组网方式。后台与主站都是一种监控系统,其主要功能为监视各智能单元的运行状态,并能对各智能单元进行控制。而监控系统为完成其主要功能所需要的各种数据都是由通讯转换器DF3211或保护管理单元DF3210来提供的。因此,从数据流控制的角度来看,通讯程序主要完成智能单元运行状态信息的上报和监控系统控制信息的下发两种功能。智能单元的运行状态信息一般包括遥测数据、遥信数据、电度数据、突发数据等。监控系统的控制信息则包括遥控命令、对时命令、查询命令等。本文中的变电自动化系统通讯程序所要完成的数据结构与函数过程如图3所示。 . 软件开发平台——RTOS 随着应用的复杂化,对控制精度、智能化程度的要求越来越高,一个微处理器往往要同时完成很多任务。体现在变电站自动化通信产品中,由于信息采集量越来越大,信息交换越来越频繁,简单地用单一任务来轮询,往往造成通信的“瓶颈”现象,如保护和测量设备采集到的实时信息无法及时向上传递。多任务编程的特点是:程序在功能上以任务的形式存在, 各个任务之间相对独立,可通过操作系统提供的资源,进行任务间的信息交换和相互控制,可通过优先级、时间片来控制各任务执行的顺序。多任务编程的特点打破了传统软件顺序执行的框架,便于程序的系统开发、调试及维护。实时多任务操作系统RTOS(Real Time Operating System)是面向21世纪嵌入式设计的基础和标准开发平台。高性能软件开发平台可以使嵌入式软件程序的开发进入规模化和产业化生产。有了高性能开发平台,可以极大的提高软件开发的效率,RTOS体现了一种新的系统设计思想和一个开放的软件框架,在此基础上,可以设计一种更为通用的通用软件平台,软件工程师可以在不大量变动系统其他任务的情况下增加或删除一个通信规约;一个大项目开发的过程中,可以有多个工程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即可,既缩短了开发时间,又降低了最终通信软件产品对于具体某个人的依赖性。 . 与因特网结合 通信管理单元提供内置的WEB-SERVER,可动态向外部系统发布数据,这部分可采用在RTOS之上外购WEB—SERVER模块来开发完成,更为方便的是,在设置各种系统参数和浏览现场实时数据时,只需要一个标准的浏览器软件,如Microsoft 的IE即可。 5. 改进的网架结构 当变电综合自动化系统中的通信可靠性要求进一步提高时,可采用图4所示的网架结构。即对通信管理单元和通道实行主备切换的模式,但这种模式对通信管理单元和通信切换器的要求较高。在这种模式下,当通信管理单元损坏或通道故障时均得到切换,因此这种模式更可靠、更安全。 6.结论 本文所述的变电站综合自动化通信系统采用代表国际技术发展潮流,先进的、标准的和成熟的通信网络技术。采用双网网络,双机热备用,光纤双环冗余自愈系统,采用国际标准通信规约协议,充分考虑网络的开放性、可扩充性及工程化的相关问题。本通信系统具有速度快,可靠性高,可扩展性强等特点,已经成功的应用于多家变电站。

掌握相关专业的关键词就好写了。

其实,个人感觉就是系统的复杂度和集成度上来区别。

系统设计与实现论文

毕业论文管理系统, 自己写这个项目时需要注意以下几点

21世纪,人类社会正面临知识经济和信息社会的急剧变革,世界各个角落的人们都强烈地感受到新时代的冲击与震撼。下面是我为大家整理的图书馆管理系统设计论文,供大家参考。

图书管理系统设计

图书馆管理系统设计论文摘要

【摘要】本文介绍了利用ASP+Access编写图书管理系统的实现主要步骤与部分技术代码。

图书馆管理系统设计论文内容

【关键字】ASP;Access

随着计算机 网络技术 的普及和发展,现已逐渐进入信息化社会。人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发基于网络平台的图书管理信息系统已经成为图书管理部门的必要因此,我按照图书管理部门的需要,采用ASP+Acces实现了此图书管理系统。

一、ASP+Access

ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和 其它 程序进行交互,是一种简单、方便的编程工具。

Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。

由于Access存储方式简单,易于维护管理、移植性好,所以本系统采用ASP做为编程工具、Access做数据库来开发

二、系统模块

此系统共分为八大模块,包括图书简介、 规章制度 、图书录入、归还图书、图书查询、新购图书、未归图书、系统维护。名模块的功能如下:

一图书简介:把图书进行分类和定义索书号,以方便查询。

二规章制度:主要介绍图书管理的订购、借阅、归还等制度。

三图书录入:对新购图书按书名、作者、分类、编号等图书信息进行录入。

四图书归还:此模块是图书管理员对归还的图书,按照图书编号进行入库管理。

五图书查询:按图书信息一些主要字段对数据库进行查询并显示。

六新购图书:查询某一时间段以后所购买的图书并显示。

七未归图书:显示未归的图书,并分页显示。

八系统维护:对数据库进行备份和恢复。

三、设计数据库

此图书管理系统数据库里主要有以下几个表:

User:用来存储图书管理员的用户名和密码。字段为user、pwd。

Menu:存储程序主页面的菜单名称和链接地址。字段为ID、父菜单ID、位置、URl、字体颜色、菜单项。

Bookinfo:用来存储图书的各种信息。字段为书名、作者、图书分类、图书编号、索书号、出版社、版期版次、购入日期、价格、排架号、是否借阅、借阅日期、应归还日期、借阅科室、借阅人、备注。

Dept:用来存储科室名称。字段为dept。

四、程序设计

一登录模块及Session的使用

由于此系统有些功能是不允许普通用户使用的,如图书录入、图书归

还等模块,所以本系统采用以管理员登录的方式,来判断是何种用户使用本系统,如果是普通用户,点击“以普通用户登录”,就可以使用本系统,但图书录入、归还图书和系统维护等模块不能使用。

由于有些功能模块不允许普通用户使用,故在登录模块程序语句定义一个Session:Session("UserAcc") = Trim(rs("User"))。 Session在计算机中,尤其是在网络应用中,称为“会话”,用于保持状态的基于 Web 服务器的 方法 。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。因此,在限制普通用户使用并用If判断Session("UserAcc")是否为空即可。

二表单验证

在图书录入模块中,需要填写图书的各种信息,在提交表单时如果某

些信息为空,IE就会显示出错,因此,在提交表单之前对表单进行验证,JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证,只需编写一个函数就可以实现。函数如下

function checkinput() {

if ('') {

alert('请输入书名');

();

return false;

}

}

在提交按钮代码中加入OnSubmit="Return checkinput()"就可以完成对表单的验证了。

三数据库连接

对于Access数据库,一个文件就是一个数据库,所以可以利用数据驱动程序直接访问数据,这种方法需要利用动态连接字符串建立一个连接,具体连接字符如下:

Dim conn, connstr,db

db="./data/"

connstr="Provider=;DataSource="&(db)

Set conn=Createobject("")

connstr

这样就可连接数据了,再用SQL语句就可以读取表中数据了:

Set rs=CreateObject("")

sql="Select * From bookinfo"

sql,conn,1,3

四对数据库的操作

连接好数据库后,我们就可以对表bookinfo的记录进增加、删除、修改等操作了。具体代码及释义如下:

(1):增加:

bianhao=Trim(Request("bianhao"))

sql="Select * From bookinfo Where 图书编号='"& bianhao &"'"

sql,conn,1,3

If <>0 Then

"此图书编号已存在,请重新输入"

"

"

""

"返 回"

Else

注:在增加信息时,必须检索图书编号是否唯一,如不唯一会出给出提示:“此图书编号已存在,请重新输入”

rs("书名")=trim(request("bookname"))

rs(“作者")=trim(request("author"))

……

end if

""

end if

set rs=nothing

(2)删除

本系统“删除”图书记录功能在查询模块中执行,但必须以管理员身份登录,才能显示对记录进行操作的功能:

删除记录采用SQL中的delete语句,代码如下:

bh=Request("bianhao")

If bh<>"" Then

"Delete From bookinfo Where 图书编号='"& bh &"'"

End If

(3)修改

修改只需命令即可完成,这里不再赘述。

(4)查询

本系统有精确查询、模糊查询、分类查询、编号查询、索书号查询、借阅人查询共六种方法。用SQL中select…where…就可以完成查询功能。如按分类查询:

tiaojian=Trim(request("tiaojian"))

Set rs=CreateObject("")

sql="select * from bookinfo where 图书分类= '"& tiaojian &"' order by 图书编号 desc"

sql,conn,1,1

五、小结

此图书管理基本上可以实现图书管理的大部份工作,实现图书的计算机管理,方便借阅人员查询和借阅图书,更好的利用图书资源,把图书管理员从手工记录管理图书中解脱出来,提高了工作效率。

图书馆管理系统设计论文文献

[1]伍云辉. 程序天下 电子工业出版,2008

[2]武延军,赵彬.精通ASP网络编程. 人民邮电出版社,2000

[3][美]Michael Moncur JavaScript 入门经典 人民邮电出版,2007

图书管理信息系统设计

图书馆管理系统设计论文摘要

提要作为信息资源的集散地,图书馆在高校中的作用是尤为重要的,而图书馆传统人工管理方式已经无法快速、高效地应付日益增长的信息数据。随着计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。因此,图书管理信息系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底解脱出来,从而使人们有更多的时间来获取信息、了解信息、掌握信息,更好地发挥图书馆强大的资源优势。

图书馆管理系统设计论文内容

关键词:图书管理信息系统;数据库应用;Visual Foxpro语言;windows HC

中图分类号:G251文献标识码:A

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。本是从我校图书馆的馆藏规模和实际操作流程程出发,针对图书馆管理的现状,经过详细的系统调查,结合效用和成本多方要素。利用Visual 作为开发工具,为图书馆开发出的一个实用的单机版图书馆管理信息系统。全文共分为五部分,其分别为绪论、系统分析阶段、系统设计阶段、系统实施阶段、系统测试。

一、绪论

(一)系统开发背景。目前,在一些高校图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且在新书入库后要经历较长的时间方能借出。另外,因图书数量有限,必须对图书实行限量借阅,因此要实施弹性借书方法是件很困难的事。

为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。该系统应具备以下功能:(1)能对各类图书实行分类管理;(2)提供必要的读者信息;(3)能进行各种高级查询;(4)具有图书检索功能等。这样,不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。

(二)数据库概述。从20世纪五十年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至六十年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于六十年代末。现已形成相当规模的理论体系和实用技术。

数据库(Database)DB是统一管理的相关数据的集合。

数据库管理系统(Database Managerment System)DBMS是位于用户和 操作系统 之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

数据库系统(Database System)DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

数据库技术是一门研究数据库的结构、存储、管理和使用的软件学科。

二、系统分析阶段

(一)系统可行性分析。系统可行性分析包括:技术的可行性、经济可行性、法律因素可行性。

技术可行性:结合本校图书馆规模和平时业务量的具体情况,本系统采用Visual 作为开发平台,可以很容易实现图书馆相关信息的记录、维护、检索,并且可以在不添加任何设备的情况下,以较少的人力较快地完成系统的设计,实现系统的功能。

经济可行性:不需要额外开支,用现有的人力物力就可实现,软件成本很低。

法律可行性研究:研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。

(二)系统需求分析

1、图书管理信息系统的总体功能要求。简单的图书管理系统主要包括下面的功能:①借书处理:完成读者借书这一业务流程,核心为快速检索到学生需要的书籍。②还书处理:完成读者还书这一业务流程。③新书上架:完成新书资料的录入工作。④旧书下架:完成图书资料的删除工作。⑤读者查询:根据读者号,查询读者借阅情况,能够对读者的基本信息资料进行管理。⑥相关帮助:便于新的系统使用者能够快速掌握该系统的使用操作。

2、图书管理信息系统的性能需求。①要求有较强的 系统安全 性,对一定范围和程度内用户的错误操作有相应的系统自我保护功能。②系统的维护时间不能超过系统总运行时间的千分之五,系统每次的维护时间不能超过系统总运行时间的千分之一,系统的故障恢复时间不得超过系统故障时间的百分之五。③其他性能要求以其相关或类似的系统为参考。

三、系统设计阶段

(一)系统功能模块设计。鉴于以上各项功能要求,将该系统划分为以下六个模块:

1、图书信息模块。对图书的基本信息进行录入、删除、修改以前信息和进行简单查询功能。

2、查询检索模块。可对书目的基本信息进行检索,其查询条件可以是按分类检索;也可以是按照作者名、图书名称或出版社进行检索。同时,也可对读者的基本信息进行检索,查阅其借阅信息。

3、读者管理模块。对读者的基本信息进行录入管理,可自动生成会员代号,可自动记录会员的借阅信息。

4、数据维护模块。可对数据库中的各项基本数据信息进行数据备份和数据恢复,并可实现数据备份文件存贮路径的自由选择。

5、报表输出模块。对图书的基本信息、会员的基本信息、会员的借阅信息等数据可按照查询条件的不同按要求打印输出。

6、帮助模块。可以提供关于图书管理信息系统各项操作的详细帮助信息,并可实现对不同操作的定点帮助提示。

(二)数据库设计

1、数据描述

(1)静态数据描述。①图书一级分类表:包括一个数据表。其中的主要信息有:分类编号和一级分类名称。一级分类中将图书共分五大类,具体分类方法、编号和分类名称参照国家统一分类方法的规定。②图书二级分类表:包括五个数据表。其中的主要信息有:二级分类的编号和分类名称。二级分类中将图书共分为二十二个小类,并分别隶属于一级分类的五个大类中,其具体分类方法、编号和分类名称参照国家统一分类方法的有关规定。③图书明细分类表:包括二十二个数据表。其中的主要信息有:明细分类的编号和分类名称。明细分类又将二十二个小类明细的分为若干细小类别,其具体的分类方法、编号和分类名称参照国家统一分类方法的有关规定。

以上数据均按国家统一规定设置录入,不能做太大改变,分类名称可以有一定的缩略但不能影响其原有的意义。系统设计完成后不可以通过录入、删除的方式进行修改。

(2)动态数据

①图书的基本数据。包括一个数据表。其中的主要数据有图书编号:是对录入图书的统一编号,以便唯一区别图书;图书名称:图书出版时的封面印刷名称;作者:图书的编写者或编写单位或组织;出版社:出版发行该册图书的发行单位;录入日期:该册图书入库的时间;借阅次数:该图书总的被借阅次数;类别编号:给图书所属的明细分类的类别号,它应与明细分类表中的图书的类别编号一致;简介:对该册图书的内容总体概括介绍。

②读者基本数据:包括一个数据表。其中的主要数据有:读者代号:读者的统一编号,由系统自动生成,唯一的标示一个会员的身份;姓名:读者的真实姓名;电话:读者的有效联系电话,可选择填写;地址:读者的有效联系地址,可选择填写;身份证号:读者的身份证号码,可选择填写;注册日期:读者本人正式注册成功时的日期(为系统自动填写)。备注:读者的个人其他资料。

以上两部分数据的录入具有一定的界面,并提供修改的方式。还提供随时的查询,对查询结果有相应的显示和打印输出,对全体的数据可进行备份与恢复。

③借阅记录。包括一个数据表。其中的主要数据有:读者代号、图书编号、借阅日期。这些数据信息都是由系统自动填写。此表中的所有数据不提供修改方式,只供查阅、显示和打印输出。可以对全体数据进行备份和恢复。

④登录密码。包括一个数据表。其主要数据有:管理员代号、密码、权限。

2、数据库描述。该系统建立一个数据库,其中包括三十二个数据表。全部用Visual Foxpro实现。其中,部分数据表的结构和联系如图1所示。(图1)其他分类数据表的连接通过“下级分类表名”实现连接调用。

3、数据采集。对于图书分类数据表的信息参照国家图书分类方法;对于图书基本信息数据可通过对现存图书进行分类录入;对于读者方面的信息数据可以在系统运行使用中获得。

(三)用户界面设计。本系统设计原则:1、界面美观、操作方便并能高效率地完成工作;2、界面根据用户需求设计;3、界面能引导用户操作的功能,并能提供一些帮助功能。

主要的用户界面有:1、登录界面;2、主表单界面;3、各类信息查询;4、读者信息管理列表;5、图书信息管理列表等。

四、系统实施阶段

(一)计算机系统的性能和软硬件环境。在软件方面本系统运行平台为Windows2000专业版,开发工具采用易学易用的软件开发工具Visual 。因Visual 在应用程序的开发上具有灵活、效率高等特点和使用简便的数据库管理功能。硬件要求:Inter PentiumⅢ、128M内存、40G硬盘等。

(二)编写程序。依据各阶段的开发文档,使用Visual 进行程序编写。此系统的编码设计(表单设计、代码设计、变量定义、控件的定义)严格按照大众化的标准和风格。

对于系统的帮助功能的实现,则使用windows help compiler来单独编译,最后通过Visual Foxpro提供的接口命令(set help to)和系统相连。帮助文件的数据字典、源代码见附件。

五、系统测试

测试的步骤主要有以下三个方面:1、单元测试:采用的是白盒测试法,检查模块控制结构的某些特殊路径;2、综合测试:采用的是自顶向下集成法;3、确认测试包括:功能测试、性能测试。

有关图书馆管理系统设计论文推荐:

1. 图书管理系统毕业论文

2. 浅谈图书馆管理论文

3. 关于图书馆设计论文

4. 图书馆管理毕业论文范文

5. 有关图书馆结构设计论文

6. 图书馆管理论文

我有这个毕设的作品, 论文的话可以再搜搜, 大部分课题写的都差不多项目源码主要采用jsp+servlet技术进行实现, 数据库采用mysql, 实现了登陆注册, 后台商品管理, 商品详情, 订单购物车 , 订单管理的功能

餐饮行业在日常管理经营中仍然有很大一部分企业是在采取纯手工的管理模式,管理的整体科技含量较低。下面是我为大家整理的餐饮管理系统设计论文,供大家参考。

实体店餐饮管理系统设计与实现

餐饮管理系统设计论文摘要

摘要:随着我国市场经济的快速发展,人们的生活水平提高,餐饮业迅速蓬勃发展,传统的手工作业方式已经不能满足餐饮经营者的需求。通过餐饮管理系统对实体店进行管理,具有人工管理所无法比拟的优点,能够极大地提高餐饮管理的效率,增强企业的竞争力。

餐饮管理系统设计论文内容

关键词:餐饮;管理系统;数据库

一、引言

随着社会经济持续高速增长,社会财富迅速增加,广大人民群众收入水平不断提高,生活方式随之发生巨大变化。同时,随着市场经济体制的建立健全和迅速发展,社会物质产品极大丰富,餐饮业蓬勃发展,传统的手工作业方式已经不能满足餐饮经营者的需求了。人工记账、核算、查询等工作既费时、费力,也容易出错。通过在计算机中运行餐饮管理系统,既减少了人力资源,同时提高效率,能为餐饮业赚取更大的利润,同时为消费者提供了诸多方便。

近几年来,计算机网络、分布技术日趋成熟,随着科技的发展,餐饮业的竞争也越来越激烈。想在这样竞争激烈的环境下生存,就必须运用科学的管理思想与先进的管理 方法 ,使点餐与管理一体化。这样不仅可以提高工作效率,也避免了以前手工作业的麻烦,从而使管理者能够准确、有效地管理。因此,需要建立一个科学的餐饮管理系统。

二、系统分析

(一)可行性分析

1. 技术可行性

该系统是一个小型的餐饮管理系统。采用C/S模式,在前台计算机安装客户端,处理信息,将处理结果储存在数据服务器上。目前很多企业都采用SQL Server数据库,处理数据也相当方便,得到了广泛的应用,在技术上是可行的。

2. 经济可行性

对本系统的经济效益与开发成本进行分析。本系统采用C/S结构,只要拥有一台PC电脑,无需复杂设置即可实施,并且相对人工作业来说,节省人力、物力,具有较好的经济效益。

3. 操作可行性

操作可行性指系统的操作方式在用户组织中是否行得通。餐饮管理系统的功能较为简单,页面简单明了,没有那些繁琐的、不必要的操作。用户一看就能够知道应该怎么进行操作。管理员的界面也较为简单,都是些基本的操作,员工可以很快掌握,在操作方面也很容易实现。

(二)功能需求分析

餐饮管理系统是对餐饮流程的数字化的管理,既可以帮助餐厅更好地管理职员信息,又方便了顾客消费,并且不同的用户使用权限不同。具体功能有:用户的登录、基本信息、点/加菜、账单查询、结账、辅助功能、系统维护、系统设置等。

用户登录:用户选择自己的身份(超级管理员、经理、顾客)登录,若身份选择错误,则登不上。用户根据自己的账号、密码及正确的身份登录到系统主界面。

职员信息:超级管理员及经理有权限管理职员的基本信息。职员信息功能模块包括总体职员的查询、职员信息的添加、职员信息的修改以及职员信息的删除。

桌台信息:超级管理员及经理有权限管理桌台的基本信息。桌台信息功能模块包括桌台的查询、桌台信息的添加、桌台信息的修改及桌台信息的删除。

点/加菜:该功能实现顾客点菜及加菜。

账单查询:顾客可根据自己的消费情况,查询自己的账单。

结账:根据该桌台的消费情况及包间费,汇总出总价,并可计算实收与找零。

辅助功能:作为一个系统,应该具备一些辅助的功能,如日历及计算器。

系统维护:只有超级管理员才有这样的权限,可实现权限管理、系统备份、系统恢复。

系统设置:包括系统的口令设置及锁定系统。

三、系统设计与实现

系统模块主要包括五个主要模块:基本信息模块、桌台操作模块、系统设置模块、辅助工具模块、退出模块。其中基本信息模块又分两个子模块:桌台基本信息和职员基本信息。桌台操作是本系统主要的功能,它包括对桌台实行开台、点菜的操作,同时针对某一个桌台可以进行消费查询及结账。系统设置模块主要包括口令设置和锁定系统,该模块主要是对系统的安全性的一个保障,也是本系统不可缺少的一部分。作为一个系统应该需要有一些辅助工具,如日历、计算器、记事本,所以该系统有一个辅助工具模块。一个完整的系统肯定有退出模块,即退出系统。

餐饮管理系统中主要功能的详细设计如下。

(一)登录模块设计

登录模块以登录的用户名、密码和用户权限作为搜索条件,在数据库中进行查询。单击登录按钮时,登录模块首先判断是否输入了用户名和密码,如果没有输入用户名和密码将弹出提示框,提示用户输入登录系统的用户名和密码;如果输入了用户名和密码,系统将判断用户名、密码和权限是否匹配。若匹配,则登录成功。

(二)主界面模块设计

成功登录后,会显示主界面,主界面中应该包括菜单栏、桌台显示和显示系统状态栏。在窗体加载时,首先判断登录用户的权限,根据用户登录的权限,分配不同的功能。当窗体焦点触发时,系统从数据库中检索出所有桌台的状态信息,然后调用自定义的AddItem方法添加桌台。用户点击某个桌台时,系统会根据该桌台当前的状态,弹出不同的右键菜单。

(三)开台模块设计

开台窗体中应该有桌台信息和职员信息及用餐人数,窗体加载时,将数据库中的所有的桌台信息和职员信息检索出来显示在ComboBox控件上。应在用餐人数文本框中输入用餐人数,并且用餐人数应是大于0的整数数字,保存后即对桌台进行开台操作。

(四)点菜模块设计

点菜模块可利用TreeView控件来显示所有的菜系,利用DataGridView控件显示顾客消费的所有信息。设计该模块时通过数据库中检索出所有的菜系名称显示到TreeView中,用户选择菜系后,应设计一个存储这些被选择的菜系的数据表,并在该模块中能显示出来,以便使误点的菜可以删除。

(五)结账模块设计

结账模块中,可在数据库中检索出顾客消费的所有项目,应有菜系的消费和包间的消费,根据两者的消费,显示出总的消费。顾客输入金额时,系统可自动找零,并显示到界面上。

(六)桌台基本信息模块设计

桌台基本信息应该具有对于桌台添加、删除、修改、查询等操作。添加桌台信息时,在数据库中检索桌台信息的数据表,并将信息添加到信息表中。查询桌台信息时,系统连接数据库,在数据库中检索到数据库的数据表,并将桌台信息显示到界面上。

四、小结

小型实体店餐饮管理系统是在.net平台上进行,结合后端的SQL Server 2000数据库技术,完成了桌台的管理、职员的管理、顾客开台,点菜/加菜、账目查询及消费账目结算等功能。系统信息查询灵活又方便、数据存储安全可靠、成本低。另外系统自身有如下优点。

一是使用较方便,用户上手快。

二是系统自动结账,结账速度快速且准确。

三是系统为提高客户服务质量提供了有效的技术保证。

通过小型实体店餐饮管理系统能能够切实有效地指导工作人员规范业务操作流程,更高效、快捷地实现业务的管理,保障顾客信息的安全,提高管理水平和工作效率,进而提高业务竞争能力。

餐饮管理系统设计论文文献

[1]吕品,陈凤培.某中小型餐饮店管理信息系统的设计与开发[J].桂林航天工业高等专科学校学报,2011(04).

[2]崔海龙,李允.电子商务在餐饮业中的运用[J].管理观察,2009(18).

[3]余伟,赵亮.基于SOA的银行中间交易平台的设计与架构[J].科技广场,2011(07).

餐饮管理系统中数据完整性的设计

餐饮管理系统设计论文摘要

摘 要: 以餐饮管理系统数据库中部分表为例,详细介绍个人对数据完整性设计思路和设计方法,通过实例阐述数据完整性在实践中的应用,并给出基于SQLSERVERDE语言的描述。

餐饮管理系统设计论文内容

关键词: 数据库;数据完整性;约束;触发器

中图分类号:TP311 文献标识码:A 文章 编号:1671-7597(2011)1210173-01

数据库的创建是一件非常容易的事情,但是设计一个严谨、安全、可靠的数据库就不那么容易了,它需要你有扎实的理论知识做基础,还需要具备一定的分析问题解决问题的能力。数据库的设计经过需求分析、数据库概念机构设计、逻辑结构设计之后我们就应考虑数据完整性的设计了。数据完整性是最大限度的保证数据的正确性、可靠性、一致性。数据完整性包含三个方面的内容即实体完整性、参照完整性(引用完整性)和用户自定义完整性(域完整性)。

下面以餐饮管理系统部分可以实现点菜和结账的表为例阐述以上完整性的设计。餐饮管理涉及的表的关系模式为:桌台表zt(桌号zh,桌名zm,容纳人数rnrs,状态zt,类型lx),菜单表cd(菜品编号cpbh,菜品名称cpmc,规格gg,类别lb,单价dj,成本价cbj),订单表dd(订单编号ddbh,订单日期ddrq,桌号zh,消费金额xfje),点菜表dc(订单编号ddbh,菜品编号cpbh,数量sl)。以上四个表的定义如下:

Create table zt (zh char(4) primary key ,zm char(8) unique, rnrs int check (rnrs>=0),zt bit,lx char(8) check (lx='大厅' or lx='包厢' lx='vip'))

Create table cd(cpbh char(5) primary key, cpmc char(12),gg char(10),lb char(8),dj numeric(6,1) check(dj>=0),cbj numeric(6,1) check(cbj>=0))

Create table dd (ddbh char(10) primary key,ddrq datetime,zh char(4) foreign key references zt(zh), xfje numeric(10,1))

Create table dc (ddbh char(10) foreign key references dd(ddbh),cpbh char(5) foreign key references cd(cpbh),sl int check(sl>=0) default 1,primary key(ddbh,cpbh))

1 实体完整性(表完整性)

实体完整性又叫做表完整性,是对表中主键的约束。实体完整性的规则要求:在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。建立实体完整性的目的是用于保证数据库表中的每一个元组都是惟一的。是否可以改变主键值或删除一整行,取决于主键和其他表之间要求的完整性级别。实体完整性的定义比较简单。实现“实体完整性”的方法有primary key约束、unique约束、标识列、惟一索引。在此对桌台表zt中的桌号zh、菜单表cd表中的菜品编号cpbh以及订单表dd中的订单编号ddbh定义了primary key约束。在定义的时候一定要注意,一张完整的表定义只能有一个主键(PRIMARY KEY),但是可以没有UNIQUE约束。

2 参照完整性规则(引用完整性规则)

现实世界中的实体之间存在某种联系。在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用。通过在同一个数据库的两个表中进行主键约束和外键约束来实现,参照的列和被参照的列的必须具有相同的属性。

参照完整性规则规则要求:“不引用不存在的实体”。即:不允许在一个关系中引用另一个关系中不存在的元组。其目的用于确保相关联的表间的数据保持一致。参照完整性是对外键的约束,要求外键的取值只能为两种情况:若取非空值,则它必须是主表中存在的值。要么取空值(null)。设置了参照完整性禁止在从表中插入包含主表中不存在的关键字的数据行;禁止删除在从表中的有对应记录的主表记录。

在如上四个表中对订单表dd的桌号zh、点菜表对此dc的订单编号ddbh及菜品编号cpbh分别设置了外键。另外外键的设计也可由触发器或编程语言来设定。以订单表dd为例触发器设置方法如下:

CREATE TRIGGER insert_xs ON dd

AFTER INSERT

AS

IF EXISTS

(SELECT * FROM INSERTED

WHERE zh IN (SELECT zh FROM zt))

PRINT '添加成功!’

ELSE

BEGIN

PRINT '桌号与存在的桌号不符!’

ROLLBACK TRANSACTION

END

同样可以对点菜表设置一个触发器要求dc的订单编号ddbh及菜品编号cpbh也具有参照性。参照完整性是用来维护相关数据表之间数据一致性的手段,通过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值。

3 域完整性

域完整性也称为列完整性或用户定义的完整性,用于限制用户向列中输入的内容。域完整性规则要求由用户根据实际情况,定义表中属性的取值范围。其目的用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。

设置域完整性的方法是限制列的数据类型、精度、范围、格式和长度等。可以通过指定数据类型、CHECK约束、DEFAULT约束、NOT NULL约束和创建规则、默认值等数据库对象来实施。

数据库中存储的数据多种多样,为每一列指定一个准确的数据类型是设计表的第一步,列的数据类型规定了列上允许的数据值。当添加或修改数据时,其类型必须要符合建表时所指定的数据类型。这种方式为数据库中的数据完整性提供了最基本的保障。

约束是SQL Server提供的自动保持数据完整性的一种方法,是独立于表结构的。规则是实现域完整性的方法之一,用来验证一个数据库中的数据是否处于一个指定的值域范围内,是否与特定的格式相匹配。当数据库中的数据值被更新或插入时,就要检查新值是否遵循规则。如果不符合规则就拒绝执行更新或插入操作。

在餐饮系统相关表中我们对相应的列设置了数据类型及长度度限制,并对菜单表cd的单价dj设置了check(dj>=0)的约束,对点菜表dc的数量sl列(sl int check(sl>=0) default 1)设置了check约束和默认值的约束。当然对于以上约束我们都可通过定义规则的方法实现。如:

用create rule dyl as@x>=0来定义一个大于零的约束,然后用sp_bindrule dyl,'‘语句和sp_bindrule dyl,''语句将其绑定到菜单表cd的单价dj列及点菜表dc的数量sl列上。

对于菜品编号cpbh我们规定菜类必须以类别的代表字母作为第一个字符,小分类的代表字母为第二个字符后面跟3位数字来表示。如CL001表示青菜类、LN001可表示奶类饮料。类别分类如表1:

表1 菜单类别表

为了实现上述编码我们用规则来实现如下:

Create rule cpbm as

@BM like 'C[LQRT][0-9][0-9][0-9]'

Or @BM like 'J[PBNM][0-9][0-9][0-9]'

Or @BM like 'Y[CNGT][0-9][0-9][0-9]'

Or @BM like 'z[fm][0-9][0-9][0-9]'

sp_bindrule cpbm, ''

4 触发器实现数据完整性

当用户对数据的完整性要求更为特殊,更为复杂,以上3种完整性就无法满足用户的要求。在这种情况下,用户需要自己定义所需的完整性。实现自定义完整性的重要方法是创建触发器。触发器是一种数据库对象。是一种表或视图执行insert、delete、update操作时,被系统自动执行的特殊的存储过程。创建触发器的目的是对表实现复杂的数据完整性约束,以防止不正确的操作。它与数据库中的某个表的数据修改操作相关联,修改操作可以是INSERT、UPDATE、和DELETE这3种操作中其中一种或几种。当用户对相关表执行触发器相关的修改操作时触发器自动执行。常用于数据的参照完整性限制及级联删除、级联更新等操作的设置。以级联更新为例,分析当菜单表中的菜品编号修改时,点菜表中的菜品编号同时更新这样的操作用触发器如何实现:

create trigger upd on cd after update

as

declare @jbh char(5),@xbh char(5)

select @jbh=, @xbh=

from deleted,inserted where

print '准备级联更新点菜表中的菜品编号信息….'

update dc set cpbh=@xbh where cpbh=@jbh

print '已经级联更新了点菜表原菜品编号为'+ @jbh +'的信息'

5 应用接口编程

应用接口编程对数据库应用设计来说是负担最重的方法,但同时又是最基本、最灵活的方法。不论数据库管理系统提供了多么丰富的完整性的约束手段,利用编程接口保证数据完整性仍是所有数据库应用设计者必须掌握的关键技术之一。

6 总结

保证数据库的数据完整性,在数据库管理系统中是十分重要的。合理地使用SQL Server为数据完整性提供的各项 措施 ,对数据进行所需的约束限制,可以有效降低数据库在使用过程中可能出现的错误,提高数据库系统的可用性,减少处理数据错误所耗的费用。

餐饮管理系统设计论文文献

[1]陈伟,Sql Server2005应用系统开发教程[M].北京:清华大学出版社.

[2]Andrew Stephen Forte著,精通SQLServer 2005程序设计,贾洪峰译,清华大学出版社,2007.

[3]萨师煊、王珊,数据库系统概论(第三版)[M].北京:高等 教育 出版社,2004.

有关餐饮管理系统设计论文推荐:

1. 浅谈餐饮服务与管理论文

2. 高档餐饮服务管理研究毕业论文

3. 酒店管理系统毕业论文

4. 有关餐饮服务与管理论文

5. 学生管理系统论文

6. 学籍管理系统毕业设计论文

毕业论文系统的设计与实现

仅仅给你个参考//Java Group Project_StudentManagement源码//NetBeans IDE 环境package studentmanager;import .*;import .*;import .*;import .*;import .*;class Student implements {String number,name,specialty,grade,borth,sex;public Student(){};public void setNumber(String number){ ;}public String getNumber(){ return number;}public void setName(String name){ ;}public String getName(){ return name;}public void setSex(String sex){ ;}public String getSex(){ return sex;}public void setSpecialty(String specialty){ ;}public String getSpecialty(){ return specialty;}public void setGrade(String grade){ ;}public String getGrade(){ return grade;}public void setBorth(String borth){ ;}public String getBorth(){ return borth;}}public class StudentManager extends JFrame{JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +"内容改后的保存!");JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;ButtonGroup group=null;JButton 录入,查询,删除,修改,显示;JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 学生=null;Hashtable 学生散列表=null;File file=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;public StudentManager(){super("学生基本信息管理系统");学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton("男",true);女=new JRadioButton("女",false);(男);(女);录入=new JButton("录入");查询=new JButton("查询");删除=new JButton("删除");修改=new JButton("修改");显示=new JButton("显示");录入.addActionListener(new InputAct());查询.addActionListener(new InquestAct());修改.addActionListener(new ModifyAct());删除.addActionListener(new DeleteAct());显示.addActionListener(new ShowAct());修改.setEnabled(false);p1=new JPanel();(new JLabel("学号:",));(学号);p2=new JPanel();(new JLabel("姓名:",));(姓名);p3=new JPanel();(new JLabel("性别:",));(男);(女);p4=new JPanel();(new JLabel("专业:",));(专业);p5=new JPanel();(new JLabel("年级:",));(年级);p6=new JPanel();(new JLabel("出生:",));(出生);pv=new JPanel();(new GridLayout(6,1));(p1);(p2);(p3);(p4);(p5);(p6);ph=new JPanel();(录入);(查询);(修改);(删除);(显示);file=new File("学生信息.txt");学生散列表=new Hashtable();if(!()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);(学生散列表);();();}catch(IOException e){}}Container con=getContentPane();(new BorderLayout());(lb, );(pv, );(ph, );setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);}public static void main(String[] args) {new StudentManager();}class InputAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number="";number=学号.getText();if(()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){("创建散列表出现问题!");}if(学生散列表.containsKey(number)){String warning="该生信息已存在,请到修改页面修改!";(null,warning,"警告",);}//end if1else{String m="该生信息将被录入!";int ok=(null,m,"确认",);if(ok==){String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number,学生);(学生散列表);();();}catch(Exception ee){("输出散列表出现问题!");}学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}//end else1}//end if0else{String warning="必须输入学号!";(null,warning,"警告",);}//end else0}//end actionPerformed}//end classclass InquestAct implements ActionListener{public void actionPerformed(ActionEvent e){String number="";number=学号.getText();if(()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){("散列表有问题!");}if(学生散列表.containsKey(number)){修改.setEnabled(true);Student stu=(Student)学生散列表.get(number);姓名.setText(());专业.setText(());年级.setText(());出生.setText(());if(().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{修改.setEnabled(false);String warning="该学号不存在!";(null,warning,"警告",);}}else{修改.setEnabled(false);String warning="必须输入学号!";(null,warning,"警告",);}}}class ModifyAct implements ActionListener{public void actionPerformed(ActionEvent e){String number=学号.getText();String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number, 学生);(学生散列表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){("录入修改出现异常!");修改.setEnabled(false);}}}class DeleteAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number=学号.getText();if(()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){}if(学生散列表.containsKey(number)){Student stu=(Student)学生散列表.get(number);姓名.setText(());专业.setText(());年级.setText(());出生.setText(());if(().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}String m="确定要删除该学生的记录吗?";int ok=(null,m,"确认",);if(ok==){学生散列表.remove(number);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);(学生散列表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){(ee);}}else if(ok==){学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}else{String warning="该学号不存在!";(null,warning,"警告",);}}else{String warning="必须输入学号!";(null,warning,"警告",);}}}class ShowAct implements ActionListener{public void actionPerformed(ActionEvent e){new StudentShow(file);}}class StudentShow extends JDialog{Hashtable 学生散列表= null;JTextArea 显示=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public StudentShow(File file){super(new JFrame(),"显示对话框");;显示=new JTextArea(16,30);try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){}if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录!\n");else{显示.setText("学号 姓名 性别 专业 年级 出生\n");for(Enumeration enm=学生散列表.elements();();){Student stu=(Student)();String sex="";if(().equals("男"))sex="男";else sex="女";String str=()+","+()+","+sex+","+()+","+()+","+()+"\n";显示.append(str);}}JScrollPane scroll=new JScrollPane(显示);Container con=getContentPane();("Center",scroll);();setVisible(true);setBounds(200,200,400,300);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}}}

毕业论文管理系统, 自己写这个项目时需要注意以下几点

基于 AT89C52 的多周期同步测频技术的实现黄晓峰 上海工程技术大学高职学院,上海 200437 摘 要:论述了传统的频率测量方法的原理及误差。提出了基于 AT89C52 实现多周期同步测频的新方法。 构造了与待测信号同步的多周期闸门时间,实现了时基信号与待测信号的准同步计数,系统只用一个定时/ 计数器 T2 实现了多周期同步测频。该频率测试仪结构简单,成本较低,能够在高低频段范围内实现频率参 数的等精度测量,具有较高的测量精度和较短的系统反应时间。 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式; 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式;等精度测量 中图分类号: 中图分类号: 文献标识码: 文献标识码:B 文章编号: 文章编号: Realization of multi-cycle synchronization based on AT89C52 HUANG Xiao-Feng Vocational Technical College, Shanghai University of Engineering Science, Shanghai, 200437 Abstract:The traditional frequency measuring principles and the errors are introduced. The new way of : multi-cycle synchronization based on 89C52 is presented. By structuring multi-cycle gate time synchronistically with the frequency signal, the system use only T2 to acquire under synchronous time base with the frequency signal, and realize the new method of multi-cycle synchronization frequency measuring .With the characteristics of a simple structure ,low cost, high accuracy and short measuring time, this frequency meter can realize equal precision measurement from high frequency to low frequency . Keyword:frequency measurement; multi-cycle synchronization; gate time;AT89C52; capture function;equal : precision measurement 0 引言 频率作为一种最基本的物理量,是电子测量技术中最重要的被测量之一。本文详细论 述了传统频率测量方法及原理, 并对各种方法的测量误差进行了分析。 为保证频率测量精度 和兼顾测量反应时间, 采用多周期同步测频技术, 设计了以 AT89C52 单片机为核心的频率参 数测试仪, 由于充分利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉功能, 使得该频率参 数测试仪的软硬件结构简单, 实现了对高低频段频率参数的等精度测量, 具有较高的测量精 度和较短的系统反应时间。 1 传统测频方法及其误差分析 频率测量的方法主要有 M 法、T 法以及 M/T 法 [1] 。M 法的基本测频原理是在选定的 闸门时间 T 内对被测脉冲信号进行计数,根据计数值 N x 和闸门时间 T 求得所测脉冲信号的 频率。在 M 法中,由于闸门时间 T 由标准频率源决定,而单片机的标准频率源是由晶振频 率分频后获得, 因而保证了闸门时间 T 的精确性。 但由于闸门的启闭与待测计数脉冲不同步, 闸 门开 通时间 通常 不是待 测信 号周期 的整数 倍, 存在 待测脉 冲信号 的计 数量 化误差 ?N x = ±1 。由 M 法的测频原理可知,待测信号频率 1 fx = Nx N ? f0 = x N0 T (1) 设待测脉冲频率的准确值为 f xd , 由于单片机测频系统中的标准频率源通常是由晶振产 生的频率信号分频后得到的, 而晶振的稳定性很高, 只要按测量精度要求选择合适的晶振后, 由标准频率源的不稳定性所造成的测频误差就可以被忽略掉 (文中的误差分析均是在忽略标 准频率源的不稳定性下做出的) 。设 δ Mx 为测量的相对误差 δM x = f xd = 得 δ Mx = f xd ? f x f xd (2) N x + ?N x T = ?N x N x + ?N x ≤ (3) f xd ? f x f xd 1 Nx (4) 由式(4)知, 当待测脉冲信号频率较高时, 在闸门时间 T 内被测信号脉冲的计数值 N x 较 大, δ Mx 很小,M 法能够达到较高的测量精度;而当待测脉冲信号频率较低时,在闸门时间 T 内 N x 较小, δ Mx 很大,测频精度降低。例如,被测信号的频率为 100HZ,则在 1S 内的相对误差 δ M x =1%。 而当待测脉冲信号的频率为 10HZ, f x 在 T =1S 内的相对误差 δ M x =10%。 则 虽然可以通过增大闸门时间 T 来提高测量精度,但闸门时间 T 过长将使系统的测量时间过 长,无法满足实时性的要求。 T 法的基本原理是在待测脉冲的一个周期内对标准频率信号进行计数,根据计数值 N 0 和标准信号的频率 f 0 求得待测脉冲信号的频率。在 T 法中,由于闸门时间 T 由待测脉冲信 号决定,不存在待测脉冲信号计数的量化误差 ?N x 。但由于闸门的启闭与标准频率源不同 步,故存在对标准频率源信号的计数量化误差 ?N 0 = ±1 。由 T 法的测频原理可知,待测信 号频率 f x = 1 N 0T0 = f 0 N 0 其中 T0 为标准频率源信号的周期。同理,可得 (5) δ Tx = f xd ? f x f0 f = ? 0 N 0 + ?N 0 N 0 f xd f0 N 0 + ?N 0 (6) 2 = ?N 0 N 0 ≤ 1 N 0 由于闸门时间 T 是待测脉冲信号周期的整数倍, 当待测脉冲频率较低时, 闸门时间 T 较 长,对标准频率源的计数值 N 0 较大,测量精度高;而当待测脉冲频率较高时,闸门时间 T 过短,甚至与标准频率源信号周期相近,故高频测量时 T 法存在严重的测量误差。 理论分析表明, 无论采取何种补偿措施, 都无法同时消除对待测脉冲和标准信号的计数 量化误差。将 M 法和 T 法结合起来就是 M/T 法,M/T 法结合了 M 法和 T 法各自的优点,在被 测信号频率较高时采用 M 法,频率较低时采用 T 法,这样在高、低频信号测量中都能获得较 高的精度。但由于在 M 法中, ?N x 随着被测信号频率的降低而增大,在 T 法中 ?N 0 随着被 测信号频率的增大而增大, 因此必存在 M 法和 T 法的分界点, 在该点高低频测量的相对误差 相等且达到最大,即 δ max = δ M x = δ T x 。我们将该点的频率称为中界频率 f C ,由式(1)知 N x = f x ? T ,由式(5)得 N 0 = f 0 f x ,则中界频率 f C = f 0 T 。虽然 M/T 法能够在两端获 得高精度,但在中界频率处的误差却总是最大的。本系统采用多周期同步测频原理,利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉方式,实现对信号频率、周期、脉宽以及占空 比的测量。 2 多周期同步测频原理及其误差分析 多周期同步测频技术的基本原理是在待测脉冲的 m 个周期内同时对对待测脉冲和标准 信号计数, 根据待测脉冲的计数值 N x 和标准信号的计数值 N 0 求得被测信号的频率 [2,3] 。 由 于闸门时间 T 为待测脉冲的 m 个周期即闸门时间与待测脉冲同步,从而消除了待测脉冲的 计数量化误差 ?N x 。但由于闸门的启闭与标准信号不同步,故仍存在对标准信号的计数量 化误差 ?N 0 = ±1 。设两个计数器在闸门时间 T 内同时对待测脉冲和标准信号的计数值分别 为 N x 和 N 0 ,则待测信号频率 fx = Nx T f0 = N0 T 消去闸门时间 T ,得 f x = N x ? f 0 N 0 (7) (8) (9) 同理,相对误差 δ = f xd ? f x f xd f0 f ?N ? Nx ? 0 x N + ?N 0 N0 = 0 f0 ? Nx N 0 + ?N 0 (10) = ?N 0 N 0 ≤ 1 N 0 = 1 f 0T 3 由式(10)知, δ 只与标准频率源的频率 f 0 和闸门时间 T 有关,与待测脉冲的频率 f x 无 关,实现了整个测量频段内的等精度测量,使测量精度大大提高。对于标准信号的计数量化 误差 ?N 0 ,虽然可以通过提高标准频率源的频率 f 0 和加大闸门宽度 T 来减小,但需要考虑 标准频率源工作频率的限制,以及加大闸门宽度 T 所带来的系统测量时间的增加。 3 基于 AT89C52 的多周期同步测频技术的实现 AT89C52 片内有 1 个 16 位的定时/计数器 T2,T2 除具备和定时/计数器 T0、T1 相同的 功能外,还具有捕捉方式、16 位自动重装等功能 [4,5] 。所谓捕捉功能就是当 T2 的外部输入 端 T2EX()的输入电平发生负跳变时,就会把 TH2 和 TL2 的内容同时记录到特殊功能寄存 器 RCAP2H 和 RCAP2L 中,并将外部中断标志 EXF2 置位,向 CPU 发出中断申请信号。T2 的 捕捉功能避免了 CPU 在读计数值的高字节时, 低字节还在变化所引起的读数误差, 更重要的 是,T2EX()上输入电平连续两次负跳变的计数差值,就是外部输入脉冲的周期。 依据多周期同步测频技术的原理,将 AT89C52 的定时/计数器 T2 设置为定时器捕捉工 作方式,闸门时间 T 为 m 个待测脉冲周期,被测信号经放大、整形、分频后送入 T2 的外部 输入端 T2EX(),在待测信号产生第一次负跳变时,TH2 和 TL2 中的内容(即时基脉冲计 数值)被同时捕捉至特殊功能寄存器 RCAP2H 和 RCAP2L,并在 T2 外部中断服务程序中记录 待测信号下降沿的数目, 以此实现闸门开启及待测脉冲及和时基脉冲的同时计数, 闸门时间 到时(即 T2 的外部输入端 T2EX 检测到第 m + 1 个待测脉冲下降沿) ,一次测量过程结束。 在此过程中, 当外部待测脉冲的下降沿到来或定时器 T2 产生对时基脉冲的计数溢出时, T2 外部中断标志 EXF2 或 T2 溢出标志 TF2 置位,并向 CPU 发出中断申请信号。CPU 相应中 断后,在 T2 中断服务程序中通过软件判断是 EXF2 还是 TF2 产生的中断,并进行相应的处 理,是 EXF2 产生的中断就记录下待测脉冲下降沿的数目,若是 TF2 就记录下 T2 对时基脉 冲的溢出次数。待测频率具体的计算如下: 设闸门时间 T 内共产生了 m + 1 次 T2 外部中断( m 个待测脉冲)及 N 次 T2 溢出中断, 且设第一个待测脉冲的下降沿到来时 T2 对时基的计数值为 l1 , m + 1 个待测脉冲的下降沿 第 到来时 T2 对时基的计数值为 l2 ,则 T2 对时基的计数过程如下(包括 N 次 T2 溢出中断) 。 l1 L65535 → 0L65535 → 0L65535 → 0LLL0L65535 → 0Ll2 则闸门时间 T = ( l2 ? l1 + 65536 × N ) × T0 = mTx 其中 T0 为单片机时基信号周期, Tx 为待测脉冲信号周期,故被测信号频率为 fx = k ( l2 ? l1 + 65536 × N ) × mT0 (11) 其中 k 为可编程分频器相应的分频数 4 4 系统的软硬件设计 本系统采用多周期同 步 测 频 原 理 [3] , 以 盘 AT89C52 单片机为核心, 显 利用其片内定时器/计数 示 器 T2 所特有的捕捉功能, 器 XTAL2 利用定时器 T2 的捕捉功 复位电路 RESET VSS 能及外部中断,软硬件结 GND 合完成待测信号与闸门信 图1 系统硬件组成框图 号的同步,以及待测信号 与时基信号的同时刻计数,使用一个定时器/计数器 T2 实现多周期同步测频技术,使得频率 测试仪的软硬件结构简单易于实现。系统硬件组成框图如图 1 所示,主要由放大限幅电路、 波形转换与整形电路、可编程分频器电路、单片机最小应用系统及键盘显示器电路组成。输 入的正弦波、 三角波等各种形式的小信号电压经放大限幅后, 通过波形转换电路转换为方波 信号,再利用 7414 整形为 TTL 电平信号,利用可编程分频器来扩展频率测量范围的上限, 这样将经过了放大、整形、分频后的待测脉冲送入单片机最小应用系统的 (T2 的外部 输入端 T2EX) ,通过键盘显示器电路来实现被测频率参数(频率、周期、脉宽和占空比) 的选择与动态显示。 放 大 被测信号 与 限 幅 波 形 变 换 整 形 可 编 程 待测脉冲 分 频 器 +5V VCC XTAL1 键 软件采用自顶向下的模块化设计方法 [6] ,将 T2中断服务程序流程图 N 各个功能分成独立的模块,由系统的监控程序统 一管理执行。整个系统由初始化模块、键输入模 块(用于测量参数的选择)、信号频率测量模块、 数据处理模块、数据显示模块等组成。上电后, 首先进入系统初始化模块,在初始化子程序中完 成对定时/计数器 T2 的定时器及捕捉方式的设置, 并启动 T2。 频率测量模块由 T2 中断服务程序完成, 当外 部待测脉冲的下降沿到来或定时器 T2 产生对时基 脉冲的计数溢出时,T2 向 CPU 发出中断申请。 CPU 响应中断后, 通过软件判断是 EXF2 还使 TF2 产生的中断,并进行相应处理。T2 中断服务程序 流程图如图 2 所示。 5 结束语 本文讨论了传统频率测量方法的原理及误 差。在此基础上,对多周期同步测频技术的原理 及其误差进行了详细分析。由于多周期同步测频 技术的测量精度与被测信号的频率无关,实现了 整个测量频段内的等精度测量,消除了 M 法中对 T2外部中断? Y T2外中断次数加1 T2溢出中断 次数加1 Y 第1个外部 脉冲下降沿? N 第m+1个外部 脉冲下降沿? 捕捉寄存器 内容送时基 计数单元1 Y 捕捉寄存器内容 送时基计数单元2 存外中断次数 外中断次数清零 存T2溢出次数 溢出次数清零 清TF2中断 标志 清EXF2中断标志 中断返回 图2 T2中断服务程序流程图 5 被测脉冲信号的计数量化误差 ?N x = ±1 , 克服了 M/T 法中高低频两端精度高而中界频率附 近测量误差最大的缺陷。 本文提出了基于 AT89C52 实现多周期同步测频方法, 利用 T2 的捕 捉功能和外部中断产生与待测信号同步的闸门时间,通过 T2 的定时功能实现了时基信号与 待测信号的同步计数,使得系统只用一个定时器/计数器 T2 就实现了多周期同步测频技术, 该系统软硬件结构简单,具有较高的测量精度和较短的系统反应时间。 参考文献: 参考文献: [1] 尹克荣.智能仪表中的频率测量方法[J].长沙电力学院学报,2002, 17(1):74-76 [2] 章军,张平,于刚.多周期同步测频测量精度的提高[J].电测与仪表,2003,40(6):16-18 [3] 王连符.测频系统测量误差分析及其应用[J].中国科技信息,2005,(18A):94-94 [4] 李全利.单片机原理及应用技术[M].北京:高等教育出版社,2001 [5] 李群芳 黄建.单片微型计算机与接口技术[M].北京:电子工业出版社,2002 [6] 孙传友,孙晓斌,汉泽西等,测控系统原理与设计[M].北京:北京航空航天大学出版社,2002 作者简介: 作者简介: 黄晓峰(1969-),男,甘肃省甘谷县人,副教授,硕士,研究方向为检测技术及智能仪器仪表、计算机控制。 E-mail: 电话: 6 基于 MCS_51单片机的直流电机转速测控系统设计摘要: 给出了一种基于89C51单片机以及 PWM 控制思想的高精度、高稳定、多任务直流电机转速测控系 统的硬件组成及关键单元设计方法。实验结果表明该系统能实时、有效地对直流电机转速进行监测与控制, 而且输出转速精度高、稳定性好。 0 引言 目前使用的电机模拟控制电路都比较复杂,测量范围与精度不能兼顾, 且采样时间较长, 难以测得 瞬时转速。本文介绍的电机控制系统利用 PWM 控制原理, 同时结合霍尔传感器来采集电机转速, 并经 单片机检测后在显示器上显示出转速值, 而单片机则根据传感器输出的脉冲信号来分析转速的过程量, 并 超限自动报警。本系统同时设置有按键操作仪表, 可用于调节电机的转速。 1 系统方案的制定 直流电机控制系统主要是以 C8051单片机为核心组成的控制系统, 本系统中的电机转速与电机两端的 电压成比例, 而电机两端的电压与控制波形的占空比成正比, 因此, 由 MCU 内部的可编程计数器阵列 输出 PWM 波, 以调整电机两端电压与控制波形的占空比, 从而实现调速。本系统通过霍尔传感器来实 现对直流电机转速的实时监测。系统的设计任务包括硬件和软件两大部分,其中硬件设计包括方案选定、 电路原理图设计、PCB 绘制、线路调试; 软件设计包括内存空间的分配, 直流电机控制应用程序模块的 设计, 程序调试、软件仿真等。 2 硬件设计 C8051是完全集成的混合信号系统级 MCU 芯片, 具有64个数字 I/O 引脚, 片内含有 VDD 监视器、 看门狗定时器和时钟振荡器, 是真正能独立工作的片上系统, 并能快捷准确地完成信号采集和调节。同 时也方便软件编程、干扰防制、以及前向通道的结构优化。 本单片机控制系统与外部连接可实时接收到外部信号, 以进行对外部设备的控制, 这种闭环系统可 以较准确的实现设计要求, 从而制定出一个合理的方案, 图1所示是电机测控系统框图。 图1 电机测控系统框图。 本系统先由单片机发出控制信号给驱动电机, 同时通过传感器检测电机的转速信号并传送给单片机, 单片机再通过软件将测速信号与给定转速进行比较, 从而决定电机转速, 同时将当前电机转速值送 LED 显示。此外, 也可以通过设置键盘来设定电机转速。系统中的转速检测装置由霍尔传感器组成, 并通过 A/D 转换将转速转换为电压信号, 再以脉冲形式传给单片机。这种设计方法具有频率响应高(响应频率达 20 kHz 以上)、输出幅值不变、抗电磁干扰能力强等特点。其中霍尔传感器输入为脉冲信号, 十分容易与 微处理器相连接, 也便于实现信号的分析处理。单片机的 T0口可对该脉冲信号进行计数。 设计时, 可通过单片机的 ~ 五个接口来完成键盘的输入, 口可完成鸣叫和报警, 接电机, ~接显示器的位选, P0口为显示器段选码, 其硬件连接电路如图2所示。 图2 硬件连接电路图。 本系统的脉冲宽度调制(Pulse Width Modulation)原理是: 脉冲宽度调制波由一列占空比不同的矩形脉 冲构成, 其占空比与信号的瞬时采样值成比例。该系统由一个比较器和一个周期为 Ts 的锯齿波发生器组 成。脉冲信号如果大于锯齿波信号, 比较器输出正常数 A, 否则输出0。图3所示为脉冲宽度调制系统的 调制原理和波形图。 图3 脉宽调制过程。 设样本 τk 为均匀脉冲信号, 它的第 k 个矩形脉冲可以表示为: 其中, x {t} 是离散化信号; Ts 是采样周期,τ0是未调制宽度, m 是调制指数。现假设脉冲幅度为 A, 中心在 t=kTs 处, τk 在相邻脉冲间变化缓慢, 那么, 其 Xp (t) 可表示为: 其中, 为电机角速度,结合式(2) 可见, 脉冲宽度信号可由信 号 x (t)加上一个直流成分以及相位调制波构成。当 τ0<<> 因此, 脉冲宽度调制波可以直接通过低通滤波器进行解调。C8051单片机有2个12位的电压方式 DAC, 每个 DAC 的输出摆幅为0 V~VREF, 对应的输入码范围是0x000~0xFFF。通过交叉开关配置可将 CEX0~CEX4 配置到 P2 端口, 这样, 改变 PWM 的占空比就可以调整电机速度。 LED 显示采用动态扫描方式, 并用单片机 I/O 接口扩展输出, 再由三极管驱动各显示器的位选端并 放大电流。独立式按键采用查询方式, 按键输入均采用低有效, 上拉电阻可用于保证在按键断开使其 I/O 口为高电平。单片机的 I/O ()引脚所扩展的5个按键分别定义为: 设置、启动、移位、开始、+1 功能。硬件电路确定以后, 电机转速控制的主要功能将依赖于软件来实现。 3 软件设计 本系统的软件程序的设计可分为5个步骤: 分别是综合分析并确定算法; 设计程序流程图;合理选择和分配内存单元以及工作寄存器; 编写程 序; 上机调试运行程序。 应用软件的设计可采用模块化结构设计, 其优点是每个模块的程序结构相对简单, 且任务明确, 易 于编写、调试和修改; 其次是程序可读性好, 对程序的修改可局部进行, 而其他部分可以保持不变, 这 样便于功能扩充和版本升级; 另外, 对于使用频繁的子程序, 可以建立子程序库, 以便于多个模块调 用; 最后是便于分工合作, 多个程序员可同时进行程序的编写和调试工作, 故可加快软件研制进度。 本程序采用8051单片机的 C 语言编程来实现。 在系统的程序设计中, 可采用模块化编程实现。 整个软件由主程序模块、转速测量模块、时钟模块、数据通信模块、动态显示模块等组成。各模块均 采用结构化程序设计思想设计, 因而具有较强的通用性; 而采用模块化程序结构则可使软件易于调试、 维护和移植。 系统软件可根据硬件电路的功能与 AT89C51各管脚的连接情况对软件进行设计。以便明确各引脚所要 完成的功能, 从而方便进行程序设计和内存地址的分配, 最终完成程序模块化设计。 本系统为直流电机测控系统。根据系统性能要求, 除复位电路外, 还应该设置一些功能键: 包括启动键、设置键、确定键、移位键、加1键等。由于本系统中的单片机还有闲置的 I/O 口线,而系 统要求所设置的按键数量也不多, 因此, 可以采用独立式按键结构。 根据直流电机控制系统的结构, 该电机转速控制系统为一简单的应用系统, 可以采用顺序的设计方 法。这种设计由主程序和若干个中断服务程序构成, 整个电机转速测控系统可分成六大模块, 每个模块 完成一定的功能。图4所示是根据电路图确定的程序设计模块图。 图4 直流电机控制软件设计模块图。 其中主程序模块主要设置主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的 初始化和一些子程序调用等。其主程序流程图如图5所示。 图5 主程序流程图。 对于定时器 T1 (1s) 子程序的设计,其实在单片机中,定时功能既可以由硬件(定时/计数器) 实现,也 可以通过软件定时程序来实现。软件延时程序要占用 CPU 的时间, 因而会降低 CPU 的利用率。而硬件定 时则通过单片机内的定时器来定时, 而且, 定时器启动以后可与 CPU 并行工作, 故不占用 CPU 的时间, 从而可使 CPU 具有较高的工作效率。 本系统采用硬件定时和软件定时并用的方式, 即用 T1溢出中断功能来实现10 ms 定时, 而通过软件 延时程序实现1 ms 定时。其中 T1定时器中断服务程序的功能主要实现转速值的读入、检测与缓存处理。 对于定时器 T1的计数初值计算, 由于本系统采用的是6 MHz 的时钟频率, 所以, 一个机器周期时 间是2 ?s。这样, 根据 T1定时器产生500 ?s 的定时, 便可以计算出计数初值。 本文设计的转速测控系统的工作方式寄存器 TMOD=00010000B, T1定时器以工作方式2来完成定时。 4 程序调试 程序调试可在伟福仿真软件上进行编制, 该软件支持脱机运行, 纯软件环境可模拟单步、跟踪、全 速、 断点; 源文件仿真、 汇编等, 并可支持多文件混合编程。 仿真调试后的目标程序可以固化到 EPROM, 然后用专门的程序烧写器对89C51单片机进行程序烧写。 5 结束语 本设计采用 C51进行编程, 程序占用存储器单元少, 执行速度快, 并能够准确掌握执行时间, 实 现精细控制。同时由于采用89C51为 CPU,并利用噪声抵抗能力较强的 PWM 控制技术、串行口扩展显示 器接口和 I/O 口扩展键盘, 因而可省去片外 RAM, 而且体积小, 功能全, 小巧灵活,操作方便, 又 可安装在工作现场单独工作。因而具有较大的实用价值和良好的应用前景。

运用对比,必须对所要表达的事物的矛盾本质有深刻的认识。对比的两种事物或同一事物的两个方面,应该有互相对立的关系,否则是不能构成对比的。

论文查重系统设计与实现

十二分心力写完毕业论文,咬牙花了几百元大钞查重。别人重复率10%,你的重复率60%,不吃不喝改完,二次再查,重复率50%。气到情绪崩溃想砸键盘!有没有免费、准确性高,又可以智能查重降重的系统呢?毕业论文降重的四大攻略01句子的缩写与扩写在不改变核心意义的条件下,进行补充或删减,实现润色效果。02参考文献的选择是指钻查重系统的漏洞,比如引用一些没有被收录的校刊资料或外国文献。万一这个套路被前辈用过,就还是会有风险。03句式转换一句话可以写成被动句,再改为把字句,或者倒装句、宾语前置等等应有尽有,非常适合不知道怎么在词汇修改上降重的同学。04智能降重系统辅助上面就是比较常用且好用的几种方法,虽然听起来都蛮简单的,但是做起来却并不容易,非常耗费时间和精力。聪明的同学已经开始使用高效的降重方式了,就是找智能降重系统辅助。调研工厂的论文智能查重系统,为各位用户提供了智能降重服务选择。调研工厂论文查重系统,其对比库非常强大,算法也很精细,操作界面简单,提交论文即刻就能生成多版本论文查重报告形式。

会查源码,知网已经有专门的源码库了,可以轻松识别出重复。如果你要降重的话,可以用以下方法:下面就是我的降重技巧。经过本人的验证,这个方法是可行的。当然每个人情况不同,杠精不要来杠我。首先,查重报告一定要仔细看,如果你引用的部分标红了,就把引用的删了,或者完全改成自己的话。大段文字红了,麻烦你赶紧把这段删了,重新写,把长句都改成短句,多加句号。表格重复的,可以适当删除列,将列合并或拆分,表格里的内容能改就改。代码的修改,主要就是删。知网查重是按字符数算的,代码占的字符数太多,删了不必要的,留下核心代码。修改你的变量名,最好改的和以前都不一样,不然知网还是会检测出来。我代码放的不多,最后的重复率还是代码这块,但我的同学代码删删减减基本不红了。最后,删了挺多代码的同学,请你一定要多写点字,增加字符数。基本上自己写的东西,知网不太会标红,文字的降重就是换个话继续说。

论文查重的原理:查重原理以知网作为依据,其它查重方式相差无几(论文中字体灰色部分不参与查重,重复处有红色标记):关于目录:毕业论文上传后,系统会按照论文的目录合理划分章节信息,此时目录不参与查重,然后按章节信息检测各部分的复制比;如果没有目录信息,系统就会按照1万字左右进行检测,目录有可能也会被查重,如有重复会标红;查重阈值:知网对查重系统设置一灵敏度为5%,假如一个段落有1000个字,那么引用单篇文献50个字以内,是不会被检测出来的;标红的条件:满足上一条(超过5%比例),同时一个段落13个字相似或抄袭,会被标记为红色;参考文献:在论文查考文献格式正确的前提下,知网查重系统不对参考文献查重,否则会被用来查重;论文格式:知网查重系统可以识别PDF格式和WORD格式,由于pdf格式相比word的格式,多了一个文本转换,因此可能导致目录、参考文献的格式变成系统不识别的正确格式,从而使查重比例升高(特别注意英文部分格式会更高);关于引用:引用尽量整段引用,否则知网查重系统不会知道你具体引用的那篇文献;

原理一:在知网查重的过程中,系统只能识别检测文字部分,而不会检测论文中的图片、Word域代码和mathType编辑公式,因为检测系统还不能识别这些复杂的内容格式。建议在编辑公式时,使用MathType而不是Word自己的公式编辑器;原理二:知网查重系统可以识别论文中表格的内容数据,如果表格内容重复度比较高,可以把表格截取成图片,然后保存到论文中;原理三:论文中引用的参考文献也会计算重复率,在引用时最好是先理解内容,然后用自己的话表述;原理四:知网查重系统是采用“章节”对论文进行判断。论文的封面、摘要、第一段和第二段等将分别分为一节进行检测。每个章节会计算一个相似度,然后通过每个章节的相似度计算整篇文章的总重复率;原理五:很多人应该知道,知网查重系统是以“13个连续文字重复”作为识别标准。若是可以修改论文的句子使任何连续13个文字都不跟别人的相同,那么就能避免被查重;原理六:知网的比对库不包括实体文献和教科书等。但是需要注意,引用这些书中的一些经典理论时,其他人可能很早之前就引用过了,这时候就会检测为重复;原理七:知网查重报告出来后,黄色的文字部分表示“引用”,红色的文字部分表示“涉嫌剽窃”,剽窃就是指写作时使用别人观点没有恰当注明出处。以上就是知网查重的七点基本原理,知道知网查重的原理对于顺利通过论文查重是有一定帮助的。

相关百科

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号-2