《数据万挖掘课程设计报告模板.doc》由会员分享,可在线阅读,更多相关《数据万挖掘课程设计报告模板.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南科技大学课 程 设 计 说 明 书课程名称 软件项目综合实践 题 目 院 系 国际教育学院 班 级 计科082学生姓名 刘焕文指导教师 孙士保、白秀玲、赵海霞、杨春蕾 日 期 2011.8.292011.9.9 软件项目综合实践任务书软件项目综合实践题目【超市商品销售/图书借阅/学生成绩】数据挖掘系统姓名学号专业班级组长同组成员 指导教师孙士保 白秀玲 赵海霞 杨春蕾 软件综合实践目的通过综合实践,使学生巩固数据库技术、数据结构、数据挖掘等知识,将理论与实际相结合,完成一个小型数据挖掘系统的设计与实现。在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。软件综合实践环境硬件:装有w
2、indows操作系统的计算机软件:SQL Server 2000 及【填写自己采用的开发工具 】。软件综合实践任务和要求任务:1.进行【超市商品销售/图书借阅/学生成绩】数据挖掘系统的数据管理、数据采集、数据预处理、数据挖掘、解释评估等步骤的设计;2.实现【超市商品销售/图书借阅/学生成绩】数据挖掘系统的【xx,填写自己实现的功能名称】功能。要求:1.功能满足需求说明、界面友好、保证一定性能要求。2.撰写出符合要求的软件项目综合实践报告。参考文献学生自己填写,按报告要求的格式时 间 进 度 安 排序号起止日期工 作 内 容12011年8月29日讲授数据挖掘概念及其算法,学生分组22011年8月
3、30日数据预处理,根据给定的数据库的数据形成挖掘处理所需要的数据格式32011年8月31日-9月5日算法设计42011年9月6日界面设计:参数设置,阈值设定;结果显示52011年9月7日程序组装调试62011年9月8日形成文档内容及格式撰写要求,讲授文档撰写方法,撰写软件综合实践报告72011年9月9日上交软件综合实践报告附:超市商品销售数据挖掘系统需求说明一、关联规则算法要求挖掘出超市商品销售之间的关联,如哪些商品往往会一起购买。1数据管理。对数据库中的数据进行管理和维护工作。2.数据采集。从数据库中采集数据,形成事务集合。要求至少要有100条事务。如:事务1:牙膏、牙刷、 牛奶、饼干 事务
4、2:牛奶,面包,手套即顾客一次购买的商品名称。3 数据预处理。将采集到的数据转换为可进行数据挖掘的形式。如事务:牙膏、牙刷、 牛奶、饼干。可转换为:1,2,3,44数据挖掘。采用关联规则中的Apriori算法对超市销售事务集合进行数据挖掘。挖掘出的结果形如:牛奶=面包 支持度2%,置信度 30%,或牛奶、面包=牙刷 支持度0.5%,置信度 1%5结果显示与解释评估。把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的结果进行评价。 如上述第一例,可解释为:包含牛奶和面包的交易数与总交易数之比为2%,包含牛奶和面包的交易数与包含牛奶的交易数之比为30%。二、决策树方法要求挖掘出各类商品的销售额和
5、利润之间的关联。1 数据采集。从数据库中采集数据,形成事务集合。要求至少要有100条事务。数据集形式序号食品类(销售额)洗化类(销售额)服装类(销售额)书籍类(销售额)家电类(销售额)利润(销售额)113696545621264569高25644586932891687中3296126565432126低其中每条数据为一天的销售情况,利润为决策属性,其余为条件属性,数字表示该类商品的销售额。2 数据预处理。将采集到的数据转换为可进行数据挖掘的形式。如:销售额100 可转换为1, 100销售额5000,100洗化类利润 高4结果显示与解释评估。把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的
6、结果进行评价。 报告上不要写上附:学生成绩数据挖掘系统需求说明一、关联规则算法要求挖掘出学生各门功课成绩间的关联,如什么课程成绩好会导致另外课程成绩较好。1数据管理。对数据库中的数据进行管理和维护工作。2.数据采集。从数据库中采集数据,形成事务集合。事务集数据形式。其中每项的数字为该门课程的考试成绩。序号离散数学数据结构操作系统计算机网络组成原理面向对象程序设计184749084756527363817652743 数据预处理。将采集到的数据转换为可进行数据挖掘的形式。首先将连续数据转化为离散数据,如:优、良、中、及格、不及格。接着再进行转化,如事务:离散数学 优、数据结构 良、操作系统 及、
7、计算机网络 中、组成原理 优、面向对象程序设计 中。可转换为:1,3,6,7,2,84数据挖掘。采用关联规则中的Apriori算法对学生成绩集合进行数据挖掘。挖掘出的结果形如:组成原理 优=操作系统 优 支持度2%,置信度 30% ,或组成原理 优数据结构 良=操作系统 良 支持度3%,置信度 20%5结果显示与解释评估。把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的结果进行评价。如上述第一例,可解释为:包含组成原理 优和操作系统 优的事务数与总事务数之比为2%,包含组成原理 优和操作系统 优的事务数与包含组成原理 优的事务数之比为30%。 二、决策树方法要求挖掘出学生各门功课成绩和就业
8、之间的关联。1 数据采集。从数据库中采集数据,形成事务集合。要求至少要有100条事务。数据集形式。其中“就业情况”为决策。序号离散数学数据结构操作系统计算机网络组成原理面向对象程序设计就业情况1847490847565已就业2736381769284未就业2 数据预处理。将采集到的数据转换为可进行数据挖掘的形式。数据预处理方法同关联规则算法。3数据挖掘。采用决策树对学生成绩集合进行数据挖掘,形成决策树,并形成分类。决策树略。分类规则形如:数据结构 优,计算机网络 优=已就业4结果显示与解释评估。把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的结果进行评价。 报告上不要写上附:图书借阅数据挖
9、掘系统需求说明一、关联规则算法要求挖掘出所借阅图书间的关联,如哪些图书往往会一起借阅。1数据管理。对数据库中的数据进行管理和维护工作。2.数据采集。从数据库中采集数据,形成事务集合。要求至少要有100条事务。如:事务1:数据库原理、SQL Server、 操作系统 事务2:组成原理,数据挖掘,网页制作即顾客一次购买的商品名称。3 数据预处理。将采集到的数据转换为可进行数据挖掘的形式。如事务:数据库原理、SQL Server、 操作系统。可转换为:1,2,34数据挖掘。采用关联规则中的Apriori算法对图书借阅事务集合进行数据挖掘。挖掘出的结果形如:数据库原理= SQL Server 支持度2
10、%,置信度 30%,或数据库原理、SQL Server=Delphi 支持度0.5%,置信度 1%5结果显示与解释评估。把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的结果进行评价。 如上述第一例,可解释为:包含数据库原理和SQL Server的交易数与总交易数之比为2%,包含数据库原理和SQL Server的交易数与包含数据库原理的交易数之比为30%。二、决策树方法要求挖掘出所借阅图书和整理图书间的关联,如哪些图书借阅量多时需要对图书进行整理。1 数据采集。从数据库中采集数据,形成事务集合。数据集形式序号计算机类文学类数学类哲学类生物类整理图书1124523956否25216211219
11、是33687144578是其中每条数据为图书一天的借阅量,整理图书为决策属性,其余为条件属性,数字表示该类图书的借阅量。2 数据预处理。将采集到的数据转换为可进行数据挖掘的形式。如:借阅量10 可转换为1, 10借阅量50,20文学类整理图书 是4结果显示与解释评估。把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的结果进行评价。 报告上不要写上目录第一章需求分析11.1 课程设计题目11.2 课程设计任务及要求11.3 软硬件运行环境及开发工具1第二章概要设计22.1 步进电机流程图22.2 步进电机设计原理及其方法2第三章详细设计33.1 硬件设计与软件设计33.2 硬件电路的设计与实现
12、4第四章系统调试与操作说明74.1 系统调试74.2 操作说明7第五章课程设计总结与体会8致谢9参考文献10附录 步进电机控制程序11第一章 需求分析1.1 课程设计题目微机步进电机控制系统设计。目前在社会的各个方面都有用到了步进电机,比如:打印机控制打印发票的长度,工厂利用步进电机把传送带上的各种元件停在不同工人的操作台前,等等一系列的应用。控制步进电机的顺时针旋转,逆时针旋转,快速旋转和慢速旋转。调节步进电机的运转,让其在社会上广泛的应用。1.2 课程设计任务及要求在这次步进电机的课程设计中,我们要完成步进电机的硬件设计和软件设计,在最后的测试中可以完成老师所要求的四项功能。快速顺时针旋转
13、,慢速顺时针旋转,快速逆时针旋转和慢速逆时针旋转。实验要完成实验方案论证,电路原理图和元器件布局图设计、电路建构、软件编程、调试、运行以及实验指导书文档的建立等一整套工作任务。控制软件,使用C语言。课程设计思想步进电机是将脉冲信号转换成角位移的一种机电式数模转换器。步进电机旋转的角位移与输入脉冲的个数成正比;步进电机的转速与输入脉冲的频率成正比;步进电机的转动方向与输入脉冲对绕组加电的顺序有关。因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。步进电机的运行方式是指各相绕组循环轮流通电的方式。如四相步进电机有单四拍、双四拍、单双八拍和双八拍几种方式。为了实现对各绕组按一定方式轮流加电
14、,需要一个脉冲循环分配器。循环分配器可用硬件电路来实现,也可用软件来实现。采用软件来设计脉冲循环分配器,又有两种方法:控制字法和循环查表法。1.3 软硬件运行环境及开发工具一、软硬件运行环境利用MFID实验平台和自制的步进电机模块板进行硬件连接,利用MF集成开发环境进行步进电机控制程序设计,调试,直到使步进电机正常运行。要求步进电机(四相步进电机)以双八拍方式运行,同时要实现对步进电机的运行方式、方向、速度、启/停的控制。二、开发工具实验所使用的实验开发设备是MFID型多功能微机实验平台,它的硬件由基本系统、外设功能模块和面包板实验区三大部分,按模块化开放式结构设计而成。不仅具有很好的可添加性
15、和灵活性,而且整个平台的硬件资源全部向用户开放,由用户自由支配,系统不占用,给用户留下广阔的可资使用的硬件资源,避免了那种大部分硬件资源被占用的固定式封闭带来的弊端。第二章 概要设计2.1 步进电机流程图 要完成步进电机的四个功能,首先要用到四个开关语句,因为选用的是C语言编程,所以用Switch循环语句来控制,其程序概要的流程图如下:开始8255初始化,关74LS373Switch循环,开74LS373退出循环,关74LS373结束图2.1 概要流程图2.2 步进电机设计原理及其方法步进电机的速度基本控制电路,由8255的PC0送出控制脉冲来驱动功率三极管TIP122,使用两种控制方法来控制
16、三级管的导通时间进而控制步进电机的转速。加上反向器提供功率三极管的基极偏流,加上LED可以显示脉冲的工作情形,只要由PC0送入工作脉冲,LED便会一闪一闪,同时使直流电机转动。若PC0送出低电位则LED点亮,功率三极管TIP122导通,电机则全速运转,当PC0送出高电位,LED熄灭,三极管TIP122截止,电机停止转动,适当的控制PC0的输出脉冲可以控制电机的运转。首先,根据实验要求,设计步进电机控制电路,然后,按照电路原理,选用一些元器件,在面包板上分别搭建电路模块。由于实验中要用到MFID多功能微机实验平台板上的8255A作接口控制信号,所以要用两头带插针的软导线,通过26芯电缆的插孔将8
17、255A的输出信号接入面包板,这样,整个的组成了步进电机控制系统的硬件。其次,编写步进电机控制系统的控制程序,并进行调试。最后,加入软件控制程序,分别对这两个接口进行驱动,组成了直流电机控制系统。第三章 详细设计3.1 硬件设计与软件设计一、硬件设计1.基本系统基本系统包括总线驱动板和实验平台。其作用有二:将系统总线从总线机内引到机外的实验平台上。在实验平台上提供各种典型的接口电路,供连接外设功能模块。2.外设功能模块这里所说的外设功能模块包括微机的I/O设备和元器件以及指示灯、开关等。这些外设加上各自的驱动电路就构成了不同的外设功能模块,它们是微机接口的控制和连接的对象。用户将外设功能模块挂
18、接到平台办的接口插座和插槽上,与平台上的接口芯片相结合,可构成各种各样外设应用系统的接口电路。外设功能模块可以任意添加。3.面包板实验区面包板实验区包括一块高质量面包板和平台板的接口插座、插槽,以及扁平连接电缆与连接导线,供用户自行设计、安装、调试外设应用系统电路之用。面包板实验区是新实验开发和新产品开发的强有力的工具。4.步进电机控制区 控制区包括一个芯片,一个LS芯片,四个TIP122三极管和一个步进电机,步进电机的四根控制线分别与四个三极管相连,不同的信号步进电机产生不同的动作。为了控制步进电机的启/停和运行方向,通常采用设置硬件开关或软件开关的方法。所谓硬开关方法,一般是在外部设置按键
19、开关SW,并且约定当某个开关SW按下时启动运行或停止运行,而另外一个SW开关的开启可用来控制步进电机的运行速度。为此,需要在程序中将开关SW的状态读入,以便检测SW是否按下。所谓软开关方法,就是利用系统的键盘,定义某一个键,当该键按下时,启动或停止运行。为此,在程序中要利用DOS系统功能调用来检测键盘输入。本次课程设计中使用的使硬开关的方法。设置了SW1和SW2两个硬开关,分别连接到8255A的PC0和PC1,分别用以控制步进电机的启/停和方向控制。二、软件设计考虑到步进电机有四个动作快速顺时针旋转;慢速顺时针旋转;快速逆时针旋转;慢速逆时针旋转。所以需要用到一个switch语句,里面包括四个
20、case 语句,分别来控制选择步进电机的四个动作。快速顺时针旋转时,就用正的相序表和短延时;慢速顺时针旋转时,就用正的相序表和长延时;快速逆时针旋转,反的相序表和短延时;慢速逆时针旋转,反的相序表和长延时。程序流程图如下:图3.2 详细流程图步进电机的运行方向是采用设置相序表的指针进行控制,其相序表如下:表3.1 相序表3.2 硬件电路的设计与实现步进电机接口的硬件部分主要是提供输送相序代码的并行数据线,以及保护电机的绕组的器件,所以接口电路以8255为主芯片,将PA口作为数据口,传送加点代码,再加上锁存器74LS373作绕组保护。另外,还有功率驱动管TIP122,以及二极管,按键开关SW等,
21、其电路原理图如下:图3.3步进电机驱动模块电路连接图一、实验平台并行接口插座并行接口插座有26根信号线,其中24根信号线是来自8255的三个端口(A口、B口和C口),输出有锁存功能,输入有缓存功能。可作三个独立的8位传送,也可作16位传送,为用户提供设计各种并行设备控制模块的并行接口电路。J5还包括了+5V电源线和地线。二、8255A的基本特性8255A是个具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息提供传送的一切形式的并行接
22、口。并且它的PC口还具有按位置位/复位功能,为按位控制提供了强有力的支持。 D0D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据。CS:选片信号,低电平有效,由系统的高位地址线经I/O端口地址译码电路产生。A1,A0:芯片内部端口地址信号。RD:读信号,低电平有效。WR:写信号,低电平有效。RESET:复位信号。PA0PA7:端口A的输入/输出线。PB0PB7:端口B的输入/输出线。PC0PC7:端口C的输入/输出线。三、PCB图和3D效果图下面的PCB图是用Protel软件经过自动布线后生成:图3.4步进电机驱动模块PCB图这是由PCB图生成的3D效果
23、图:图3.5步进电机驱动模块3D效果图第四章 系统调试与操作说明4.1 系统调试把电路接好以后,首先用平台上封装好的程序对电路进行测试,如果步进电机能够正常运转就开始编写自己的程序。不过在调试硬件的时候常常会遇到一些意想不到的结果,如:步进电机根本就不旋转、左右摆动等等。步进电机不旋转,可能是因为开关没有接正确,或是端口号搞错了;左右摆动则是因为步进电机的四根控制线的顺序接错了。硬件调试好了就要开始调试软件了,这个系统的程序比较简单主要的就是四个开关语句,调试软件的时候一定要注意相序表的顺序,如果相序表里的八个数字的顺序搞错了,步进电机也会乱旋转。4.2 操作说明把连接好的硬件通过芯数据线连接
24、到MFID平台上,在平台上运行已编辑好的程序,运行通过后,在提示语言下,输入命令:按回车后,步进电机快速顺时针旋转;按回车后,步进电机慢速顺时针旋转;按回车后,步进电机快速逆时针旋转;按回车后,步进电机慢速逆时针旋转;按回车后,步进电机停止旋转。运行后的会出现下面的提示:图4.1 步进电机运行界面至此,基本实现了实验要求,实验结果正确。第五章 课程设计总结与体会在这个课程设计中,我主要负责进行硬件的连接和调试工作,通过将近一个星期的学习和探索,终于按老师的要求完成了各项任务,用软件控制步进电机的旋转速度和旋转方向。作为该小组的组长,不仅完成了自己的工作,而且还协助我们小组的其他成员完成他们的工
25、作。在整个课程设计阶段,不仅学会了怎么协调分工,让每个组员能够参与到课程设计中来,而且还学会了很多书本上没有的东西。但是在整个课程设计阶段,自己还有很多不足的地方,一旦遇到很难解决的问题,陷入困境后,很难自己独立的解决问题,常常需要老师的引导。在今后的学习工作过程中还要加强独立解决问题的能力。作为开放式设计型的实验,不仅仅可以激发学生独立思考和创新的意识,让学生感受、理解知识产生和发展的过程,培养学生的科学精神和创新思维习惯,重视培养学生收集信息的能力,获取新知识的能力, 更可以提高学生实际动手能力,熟练的使用各种仪器和实际布线能力。刚开始拿到哪个6针脚的开关时,不知道怎么用。最后在老师的指导
26、下,用万用表测量一对一对的针脚,当开关没有按下时,三对针脚,任何一对都不通,当按钮按下时,有两对针脚是通的,搞清了开关按下时是哪两个针脚是通的,顺利的完成了开关的连接。通过这件事让我们知道了一个道理,以后在工作中碰到的很多问题都是我们没见过的,但是在这些陌生问题前千万不能退缩,要想办法通过各种途径来解决问题。作为开放式设计型实验,对于软件方面的调试,先只是需要在编译环境中编译、连接通过。然后连接硬件线路,连接之前先检测元器件,方法见上,能够对硬件单独检测的,最好先单独检测硬件电路。最后是软硬件联合起来调试。刚开始的时候,总觉得做这个小小的实验没有什么用,只是当作一份作业来完成,能达到要求就行。
27、后来通过和张老师的一次长谈后,让我们认识到了一个问题,不管是多么简单的或是多么难的课题,我们都要认真的对待,其实步进电机在我们的生活中已经应用到了各个方面,比如,超市里打印发票的打印机,工厂里的定点传送带等等。再由这个小小的实验推广开来,有很多我们熟悉的实验都可以得到应用。设计完步进电机的控制系统,就我个人来说,加深了对8255A芯片和74LS373芯片这两个芯片工作原理的理解,了解了在MFID微机实验平台上进行微机应用系统设计的方案、过程。在硬件方面,增强了我的实际动手能力,能够熟练的使用万用表检测元器件,;就软件方面,进一步熟练了C语言编程,学会了使用Protel来绘制电路原理图。通过论文
28、的撰写,提高了我的综合思维能力和文字表达能力。另外,提高了我的分析问题和解决问题的能力,当系统出现问题的时候,不是全部将线取下后再次连接,而是就电路中出现的情况进行分析,找出错误的原因,从而,发现问题并解决问题。致谢在这篇论文即将完成之时,我要在这里特别的感谢一下在我的毕业设计过程中帮助和关心过我的老师和同学。在毕业设计的整个实验过程中,龚义建,张绪辉,陈宇三位老师给了我很多的关心和帮助。陈老师更是直接指导了课程设计工作。龚老师态度谦逊、专业知识深厚,在接口技术方面有很深的造诣,对我的毕业设计工作给予了极大的支持和最热诚的帮助。他严谨的治学态度、亲和的工作作风以及深厚的科研知识,都给我留下了深
29、刻的印象。从龚老师身上,我学到了很多东西,不仅是学术知识,还有工作方式、治学态度等。张绪辉老师在我整个设计、安装、调试过程中,给了我很多非常好的建议和帮助,使我能顺利地完成课题的实际操作工作。还有同组的何长江,徐爱萍,詹静昀同学,都对我给予了帮助,在此一并表示感谢。最后,再一次向所有关心过我、帮助过我的老师和同学送上最深的谢意和最真挚的祝福!参考文献1 32位微机实验指导书,华中科技大学计算机学院2 刘乐善等,微型计算机接口技术及应用,武汉,华中科技大学出版社,3 王元珍等,IBM-PC宏汇编语言程序设计4 清华大学计算机教研室,微型计算机及外部设备常用芯片手册,清华大学出版社,2001,15
30、2-1555 江思明,电路工程设计Protel99实例演练,人民邮电出版社6附录 步进电机控制程序(备注:软件设计类源代码可以不打印,但提交的电子文档中不能省略)/*-*/* hushichao.cpp(微机步进电机控制接口实验) */* 步进电机 Source File */*- */#include #include #include #include void main()int zheng8=0x05,0x15,0x14,0x54,0x50,0x51,0x41,0x45;/正相序表int fan8=0x45,0x41,0x51,0x50,0x54,0x14,0x15,0x05;/反相序
31、表int i=0;/正循环初值int j=0;/反循环初值int a;/开关选择 outportb(0x303,0x81);/初始化outportb(0x303,0x09);/置PC4=1关闭74LS373printf(n1 kuai shu zheng zhuann);printf(n2 man shu zheng zhuann);printf(n3 kuai shu fan zhuann);printf(n4 man shu fan zhuann);printf(n5 exitn); doscanf(%d,&a);/输入要选择的值 switch(a)case 1:do outportb(0
32、x300, zhengi);/送相序代码到PA口 outportb(0x303,0x08);/置PC4=0,打开74LS373 i+; if(i7) i=0; delay(10);/延时 while(!kbhit(); break;case 2:do outportb(0x300, zhengi);/送相序代码到PA口 outportb(0x303,0x08);/置PC4=0,打开74LS373 i+; if(i7) i=0; delay(50);/延时 while(!kbhit(); break; case 3:do outportb(0x300,fanj);/送相序代码到PA口 outpo
33、rtb(0x303,0x08);/置PC4=0,打开74LS373 j+; if(j7) j=0; delay(10);/延时while(!kbhit();break;case 4:do outportb(0x300,fanj);/送相序代码到PA口 outportb(0x303,0x08);/置PC4=0,打开74LS373 j+; if(i7) j=0; delay(50);/延时 while(!kbhit(); break;default: break;/end switchwhile(!(a = 5);outportb(0x300,0x00);delay(50);outportb(0x303,0x09);/置PC4=1,关闭74LS373课程设计题目姓名学号专业班级指导教师评语: 指导教师签名: 年 月 日成绩评定项 目分 值评 分 要 素成 绩1设计过程中出勤、学习态度等方面20上机出勤及端正的学习态度、认真刻苦程度等2软件设计质量40采用的算法、设计方案,设计结果,界面友好等方面进行综合评定3 答辩20能简明扼要地阐述设计的主要内容,能准确流利地回答各种问题4设计报告书写10条理清晰,表述清楚、措词得当5 实际动手能力10组长全面负责,承担复杂的模块设计分值就高总 成 绩 计算机系课程设计指导教师评分表
限制150内