《本科毕业论文---基于校园卡的学生综合成绩管理系统设计.doc》由会员分享,可在线阅读,更多相关《本科毕业论文---基于校园卡的学生综合成绩管理系统设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 本 科 毕 业 论 文(设 计)VI摘要随着科技的不断发展以及计算机加速推广普及,传统的人工考勤已逐步淡出现代公司的信息化管理系统。同样的,现代高校也开始充分利用自身的信息技术和计算机技术,不断挖掘现有各种教育、科研、信息资源的优势,开发各种管理系统和应用系统,全面推进高等教育的信息化。而校园卡就是校园管理系统中重要的一链。校园卡除了可以储值计费,还因其具有与身份信息对应的唯一卡号,能够方便教师通过其来统计出勤率。在本文中,主要研究的是基于校园卡的学生综合成绩管理系统设计,其主要包括:IC卡读写,数据存储,单片机与PC间进行串口通信,上位机的数据接收和考勤信息的处理,以及将数据进行格式转换并
2、输出到Excel。关键词:校园卡,综合成绩,通信协议,串口通信,考勤系统,AbstractWith the development of science and technology and further popularity of computer, manual management is gradually fading out the modern companys information management systems. Meanwhile, the Modern universities are now starting to make full use of inform
3、ation technology, computer technology, and the advantages of all kinds of education, scientific researches, and information resources to develop variousapplications andmanagement systems and information the higher education completely. As we all know, the Campus card is certainly a important chain i
4、n the campus management systems. It not only can be used to store value, but also can be used to check attendance according to its card numbers, which makes attendance statistics efficient for teachers.This paper mainly focuses on the software design of student composite score management system base
5、d on campus cards, including the IC card slotting and reading, data storage, receiving data from the device , processing data software on PC, and exporting to Excel.Keywords: Campus card, composite score management, communication protocol, serial communication, attendance system, C#, Excel目录上海师范大学本科
6、毕业论文(设计)诚信声明 I上海师范大学本科毕业论文(设计)选题登记表II上海师范大学本科毕业论文(设计)指导记录表中文摘要及关键词 英文摘要及关键词 1 前言12 学生综合成绩管理系统设计22.1 需求分析22.2 系统结构设计 22.2.1 系统式样图 32.2.2 主程序流程图 43 主程序设计53.1 分模块介绍 53.2 C#串口程序介绍 63.3 程序效果图 84 考勤管理114.1 下位机的硬件构成114.1.1液晶显示114.1.2刷卡模块 114.1.3串口模块 124.1.4按键模块 134.2 上下位机通信协议134.2.1帧 134.2.2命令与状态14 4.3下位机E
7、EPROM资源分配175 综合成绩管理 21 5.1课程信息管理 17 5.2学生基本信息管理 18 5.3初始化管理 19 5.4时间校正管理 20 5.5 考勤成绩计算 21 5.6 综合成绩计算215.6.1规则设置 215.6.2数据导出 216 扩展设想241 前言随着科技的不断发展以及计算机加速推广普及,对非接触式IC卡的使用已经变得很普遍了,它在我们日常生活和工作中正发挥着越来越重要的作用。非接触式IC卡也称为无触点集成电路卡、射频卡或非接触式智能卡。非接触式IC卡具通讯速率高的特点,不需要拔插的过程,在很短的时间内就可以完成对卡片的操作,所以非接触式IC卡非常适用于对交易速度要
8、求高、刷卡人口比较集中的场合,如地铁、高速公路的进出口、门禁、公交等环境。目前,非接触式IC卡在全国各个高校中已经得到广泛的使用,校园卡即为非接触式IC卡。每个学生都有一张作为其身份标识的校园卡,卡内数据区不仅记录了该学生的学号、姓名、班级等信息,还可以作为消费卡在校园内进行消费。而在学校的日常教学管理中,若能进行借助校园卡来对学生的上课情况进行考勤及计算学生综合成绩,就可以有效地地节约课堂考勤的时间,方便教师统计出勤率,高效教师的期末工作。本系统为基于校园卡的学生综合成绩管理系统设计,利用面向对象编程的方法,通过使用Visual Studio 2010的平台来搭建了处理和设置考勤下位机(单片
9、机)的C#上位机软件,其中设置了以下几个功能:上下位机串口通信处理,启动存卡/刷卡,界面的自定义,课程信息管理,学生基本信息管理,对下位机区域进行初始化,对下位机进行时间校正,考勤成绩计算和综合成绩计算等。2 学生综合成绩管理系统设计2.1需求分析学生综合成绩作为考评学生一学期的表现的指标,是校园学习生活中非常重要的一部分。学生综合成绩由多方面组成,主要包括期末考试成绩和平时成绩(多为考勤成绩)及实验成绩(或作业成绩)。但传统的校园考勤方式,即点名方式不仅十分繁琐低效,还会浪费宝贵的课堂时间。本系统就是为了有效解决这一难题而设计的。本系统通过下位机如实且准确地记录学生的出席情况,并且具备一个学
10、期的长时间,大数据量的存储,最多可以同时记录四门课程每周两次的考勤信息。任课老师可在任意时间将任何课程的考勤信息进行汇总来查阅学生的日常考勤记录,该系统会将统计出来的旷课和迟到的情况作为基础,按照教师的设置来计算平时成绩给分以及最后的综合成绩。此举可以大大简化学生综合成绩管理的繁琐性,提高教师的工作效率。2.2 系统结构设计根据对实际情况的分析,并考虑到教师的实际要求和软件结构的合理性,将本系统分为上位机和下位机两部分软件。上位软件采用C#语言在Visual Studio 2010平台上,以一种友好界面的形式呈现出来,提升软件的可操作性。其主要功能是发送指令来操控下位机各种功能,和接收下位机所
11、采集的考勤数据,并将这些数据加以处理和统计,然后根据需要以EXCEL文件的形式输出综合成绩列表。而下位机则是由STC 12C5A32S2单片机为核心的开发板组成,主要完成考勤信息采集的工作,并具有数字钟功能,数据存储,数据串口传输等功能,同时有密码保护机制用来保护下位机的数据安全。2.2.1系统式样图设置信息 上位机 (计算机)下位机(单片机)导 出 校园卡采集信息传送数据1、 课程信息2、 班级信息3、 学号及卡号4、 准到、旷课、迟到次数5、 考勤成绩6、 其他(实验)成绩(待录入)7、 期末成绩(待录入)8、 综合成绩(自动计算)Excel文件2.2.2 主程序流程图3 主程序设计3.1
12、分模块介绍本程序中使用了C#语言。C#是现今使用人数最多的语言之一,它是Microsoft公司所推出的一款一种面向对象的、运行于.NET Framework之上的高级程序设计语言。 C#在继承了C和C+强大功能的同时,去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承),并综合了VB简单的可视化操作和C+的高运行效率,具有强大的操作能力、优雅的语法风格、创新的语言特性等特点。面向对象中的对象指的是类的集合,而类的操作让每个对象都能够接收信息、处理数据和向其它对象发送信息,使得程序具有了很好的重用性、灵活性和扩展性。 在本程序中,分别创建了以下几个类:Form1,ClassInfo、Stud
13、entInfo、Command、ReadDataAdapter、WriteDataAdapter、DisPlayInForm、ExcelOut等,来进行信息的整合和数据的转换等操作。下面来具体介绍这些类的功用:Form1类:即与可视化界面对应的类,负责传送前台数据至后台,并显示和处理后台传送过来的信息。ClassInfo类:存储了所有与课程相关的信息,可以通过它来设置下位机的课程信息,也可以通过它来读取上传来的课程数据。StudentInfo类:存储了与学生相关的信息,包括:学号,卡号,出勤情况(准到次数,迟到次数,旷课次数)等。该类是用来将下位机上传的数据分配到每一个学生中,并可以用来计算该
14、学生的考勤状况。Command类:存储了所有上位机发出的主机命令,调用它来生成和使用各个命令。ReadDataAdapter类:上传数据适配器,通过比较起始位、校验位等信息确保下位机上传的数据正确,并要将上传的大量数据正确地匹配到课程信息和各个学生的信息中去。WriteDataAdapter类:写入数据适配器,将想要发送给下位机的数据,转化成通信协议规定的格式,为其加上起始位、校验位、结束位等信息。DisPlayInForm类:将详细的课程信息及学生基本考勤数据以DataGirdView表格的形式显示在From中去。ExcelOut类:将DataGirdView表格中的数据,一对一的在Exce
15、l中输出,并进行一定的格式布局以及数据计算。这些类的创建,使得程序中大量的数据操作变得直观而简单,也使得程序的可读性和扩展性增强,展示出了面向对象的编程的优势。3.2 C#串口程序介绍现在大多数便携式硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机如果没有安装网卡,若将本机上的一些信息数据传输到附近的另一台计算机上,那么完全可以利用计算机上的串口通信来实现。上位机的程序设计主要通过调用Visual Studio 2010 C# 的SerialPort (串行通信控件)来实现,SerialPort类主要实现串口数据通信等。下面主要介绍上位机程序中使用到该类的主
16、要属性和方法。所用参数 参数说明ReadBufferSize设置或获取读缓存区的大小,默认为4KBaudRate获取或设置串行波特率BytesToRead获取接收缓冲区中数据的字节数BytesToWrite获取发送缓冲区中数据的字节数DataBits获取或设置每个字节的标准数据位长度IsOpen获取一个值,指示 SerialPort 对象的开或关状态Parity获取或设置奇偶校验检查协议PortName设置通信端口,包括但不限于所有可用的 COM 端口ReadTimeout获取或设置读取操作未完成时发生超时之前的毫秒数ReceivedBytesThreshold获取或设置 DataReceiv
17、ed 事件发生前内部输入缓冲区中的字节数StopBits获取或设置每个字节的标准停止位数WriteBufferSize获取或设置串行端口输出缓冲区的大小、所用方法方法说明Close关闭端口连接,并释放对象内部 Stream 对象Open建立一个新的串口连接Read从 SerialPort 对象的输入缓存中读取数据Write已重载。将数据写入串口的输出缓冲区在Microsoft公司的Visual Studio 2010当中,提供了SerialPort类的功能,可以十分方便地使用串口通信。在本系统中,PC机主要负责数据的接受、处理和存储,在接受完数据的同时,对数据进行处理,直接统计出考勤结果,并按
18、一定的方式保存在EXCEL中,并计算出学生的考勤成绩和综合成绩,为任课教师省去了繁琐的学生综合成绩计算的工作。而下位机,也就是单片机,只负责数据采集的工作,然后用串口通讯的方式将数据上传给PC上位机。在上位机的程序设计当中,最关键的地方就是如何进行PC机与单片机的通信,即如何将单片机上的数据传送到PC上位机,以及如何处理从单片机上接受到的数据。为了上位机软件程序使用的友好性,本系统中使用了Visual Studio 2010中的From这一界面开发工具来进行界面设置和编辑,并通过调用其中的SerialPort类来处理串口通信的问题。SerialPort类提供了强大的串口设置功能,通过它可以方便
19、的使用计算机与下位机之间的串口通信功能。3.3 程序效果图以下图1图5为本设计的程序效果图:图1 Tab1的界面显示【主要功能】:1.串口设置1)默认设置连接2)高级设置连接2.基础操作:1)对下位机操作:a.启动刷卡b.启动存卡c.设置时间d.初始化区域;2)界面操作:a.更换壁纸b.更换背景色c.设置字体;3.课程信息设置图2 Tab2界面显示【主要功能】:1.读取数据2.写入数据3.导出Excel图3 读取数据功能图4 Excel导出文件示例1图5 Excel导出文件示例24.1 下位机硬件构成4.1.1 液晶显示图6 液晶显示图7 液晶原理图在本考勤系统中,由于需要显示的信息较多,也较
20、为复杂,简单的七段数码管只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力,这远不能满足人机交互显示界面的要求。而液晶显示模块则是一种低功耗、低损耗显示器件,它不仅仅可以显示各式各样的字符、汉字和图形,而且方便与单片机对接。4.1.2 刷卡模块图8 刷卡模块及其原理图 非接触式IC卡读写器将需要发送的信息经编码后加载到一个固定频率的载波上,卡片内有一个谐振电路,其频率与读写器发送的载波频率相同,当非接触式IC卡进入读写器的工作区域后,谐振电路产生共振并产生电荷积累,当电荷积累到一定数值时,就能为卡内的电路提供工组电压、复位信号、系统时钟,读写器发送的数据信息经过卡内射频
21、接口模块解码,由控制单元来判断这些信息的要求和合理性,然后进行处理,最终决定是否对EEPROM内的数据进行改写或输出。4.1.3 串口模块(RS232-USB模块)图9 串口模块原理图根据实际的情况,综合便利性以及成本的考虑,这里采用PL2303HX芯片为核心转换电路,不仅合理地解决了单片机与上位机数据传递的问题,避免了使用串口数据线的不便,还额外为整个板子提供电源,省去了电源适配器的成本。PL2303HX是一种高度集成的 RS232-USB 接口转换器,可提供一个 RS232全双工异步串行通信装置与 USB 功能接口便利联接的解决方案。该器件内置 USB 功能控制器、USB 收发器、振荡器和
22、带有全部调制解调器控制信号的 UART,只需外接几只电容就可实现 USB 信号与 RS232 信号的转换,能够方便嵌入到手持设备。该器件作为 USBRS232 双向转换器,一方面从主机接收 USB 数据并将其转换为 RS232 信息流格式发送给外设;另一方面从 RS232 外设接收数据转换为 USB数据格式传送回主机。通过利用USB块传输模式,利用庞大的数据缓冲器和自动流量控制,PL2303HX能够实现比传统的 UART(通用异步收发器)端口更高的吞吐量,高达 115200 bps的波特率可用于更高的性能使用。4.1.4 按键模块图10 按键模块原理图为了提高单片机I/O口的使用效率,这里利用
23、STC单片机本身所具有的AD转换功能,采用上图所示特殊的并联方式来设计按键。这里的AD转换模块拥有30万次/秒的转换速度,最高精度可以达到10位,在5V的工作电压下,最小精度可以达到0.005V。而本电路各按键的所对应的电压分别为:1.064V,0.532V,0.355,0.266V,0.213V,0.177V,最小间隔为0.036V,大于AD模块的最小可分辨的电压,这种设计模式在只占用一个端口的情况下,可以使用六个按键,节约了单片机的资源,节省了成本。4.2 上下位机通信协议4.2.1 帧发送帧:起始位地址命令字长度N12N校验1校验1结束位0xaa012个字节CS1CS20xee接收帧:起
24、始位地址命令字状态长度N12N校验1校验2结束位0xaa012个字节CS1CS20xee说明:长度N:命令为A,B,C,D时,长度为0,一次读全部扇区;命令为E,F,G,H时,长度为18,校验1:从“地址”开始至 ”N” 字节相异或后取反;校验2:从“地址”开始至 ”N” 字节数据算术和4.2.2 命令与状态命令/状态: 主机给从机为命令,从机给主机是状态(88-正常,其他为ER错误);主机给从机命令有:命令A (0X41) :读存储区域1的信息,共5个扇区,一次读 5x512 个字节,长度为0命令B (0X42) :读存储区域2的信息,共5个扇区,一次读 5x512 个字节,长度为0命令C
25、(0X43) :读存储区域3的信息,共9个扇区,一次读 9x 512个字节,长度为0命令D (0X44) :读存储区域4的信息,共9个扇区,一次读 9x 512个字节,长度为0命令E (0X45) :写区域信息1信息,长度为18个字节,第19个字节由下位机改写命令F (0X46) :写区域信息2信息,长度为18个字节,第19个字节由下位机改写命令G (0X47) :写区域信息3信息,长度为18个字节,第19个字节由下位机改写命令H (0X48) :写区域信息4信息,长度为18个字节,第19个字节由下位机改写命令I (0X49) :启动刷卡,长度为0 命令J (0X4A) :启动存卡,长度为0命
26、令K (0X4B) :初始化区域1,2,3,4。删除卡号,课程信息及课程记录。长度为1,后跟区域号命令L(0X4C) :设置时间,写入DS1302中:顺序为 秒,分,时,日,月,星期,年;长度为7,按上述顺序写入。其中,区域(1,2,3,4)的意思是:第几个512字节的位置,从0开始到4或0到8。4.2.3 下位机EEPROM资源分配EEPROM(电可擦写可编程只读存储器)是用户可更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。EEPROM的一种特殊形式是闪存,其应用通常是个人电脑中的电压来擦写和重编程,
27、可以擦写100000 次以上。作为学生综合成绩管理系统,其核心的功能就是考勤信息的采集。在多课程的考勤信息同时采集以及长达一个学期的工作后,势必会收集到大量的考勤信息。如何在长达一个学期的时间中安全可靠地保存这些考勤信息是一个十分关键的问题。结合EEPROM可反复擦写,大容量存储以及掉电后数据部丢失的特点,最终采用了EEPROM来存储这些考勤信息,有效地解决了这一难题。而本系统所使用的STC 12C5A32S2这款单片机,其本身就内置有EEPROM,这不仅可以节省片外资源,减小了成本,使用起来也会更加方便,这也是本考勤系统之所以采用这款单片机的原因之一。EEPROM资源分配:存储区域1:000
28、-9FF ,共5 x 512存储区域2:A00-13FF,共5 x 512存储区域3:1400-25FF,共9x 512存储区域4:2600-37FF,共9 x 512存储区域5:3800-49FF,共9 x 512为了在管理大量的考勤信息的同时,又不会过多占用单片机的资源。因此在考勤系统中,28K的EEPROM被划分成5个区域,前4个区域分别存储四门课程的考勤信息,而存储区域5主要用来存储汉字字库等信息,这样的设计可以大大简化数据管理的复杂度,解放更多的单片机资源。一般情况下,课程每周会有一次或者两次考勤,即其各自所需考勤信息的存储大小不同。考虑到这一实际情况,这4个区域被划分成两种大小,因
29、此,我将区域1和2用来存储每周考勤一次的课程,而其它2个区域中两种课程都可以存储。考勤信息由两部分组成,分别是“卡号”和“学生到达教室时间与上课时间之差”,卡号由4个字节组成,而时间差是由1个有符号字节存储,即每组信息共有5个字节。这样的设计是考虑到EEPROM的资源紧张,为了提高其利用率,也是节约成本的方法。每个存储区域的第一个扇区存放学生的卡号,现最多100个学生,每个卡号有4个字节,并且该扇区最后一个字节用来存储该课程信息。5 综合成绩管理5.1 课程信息管理每个存储区域的第一个扇区地址为:0-511,其中480-511放如下信息:4804814824834844854864874884
30、89490491492493494495学院年级专业班年度年度学期课程周次星期时分星期时分区域496497498499500501502503504505506507508509510511人数开关次数学院:1,2,3,4年级:10级为0X10,为8421BCD码专业:1,2,3,4年度:10年为0X10,为8421BCD码课程:1,2,3,4,5,6,7,8星期:1-星期一,2-星期二, . 6-星期六,0-星期天时/分:均为8421BCD码人数:为16进制数开关:开-1,关-0说明:496为学生人数,497为这门课是否开讲,511为共上了几次课,刷了几次卡(每次刷卡自动加一)在本设计中,设
31、置了读取区域课程信息和写入区域课程信息两种功能。由于课程信息存储在固定的位置,在读取某区域信息时,程序将自动读出该区域的课程信息,并匹配到视图表格中,方便老师统计。而在写入区域课程信息时,只需要选择画面上的各个项目的下拉框中的选项,单击写入课程即可。5.2 学生基本信息管理每个区域的地址0400:存放学生的卡号,最多100个学生,每个卡号有4个字节,共占4 x100=400字节。在读取某区域信息时,程序会自动匹配该学生的基本信息(卡号)与该学生的签到情况。5.3 初始化管理每个区域的地址0400:存放学生的卡号,最多100个学生,每个卡号有4个字节,共占4 x100=400字节。本设计中可以通
32、过上位机来对下位机某个区域进行初始化,清楚该区域的课程信息,学生信息以及签到情况等。5.4 时间校正管理本设计中,可以通过上位机的当前时间来设置下位机的时间。并在第五区域存储每日的时间差,方便来减小芯片时钟所显示的时间和实际时间之间的误差。5.5考勤成绩计算在Tab2中,即【学生考勤数据读取】页面中,设置迟到基准值将重新划分迟到界限,可影响导出的列表结果。而考勤的百分比,迟到扣分,旷课扣分的填写,将直接影响到导出的Excel文件中的考勤成绩,若考勤所扣分数大于考勤的分值则自动将该生的考勤成绩置为0。5.6 综合成绩计算5.6.1 规则设置在Tab2中设置各部分成绩的百分比将决定最终的学生综合成
33、绩结果。5.6.2 数据导出导出的Excel表格中没有【姓名】,【作业成绩】,【实验成绩】和【考试成绩】,需要老师额外导入。姓名与班级学号是对应的,只需获取一张名单即可对应录入。而其他几项只需输入所给分值即可,例如:姓名:张小明考勤成绩:20 (自动计算,单位:分)作业成绩:100(手动录入,满分:100分)实验成绩:100(手动录入,满分:100分)考试成绩:100(手动录入,满分:100分)综合成绩(总成绩):100 (自动计算,满分:100分)图6为将数据导出到EXCEL的实际截图。图11 数据导出到EXCEL示例第六章 扩展设想由于时间及本人能力有限,以下功能暂时只做扩展设想:将上位机文件做成离线和在线通用的模式,若有网络情况下连接windows服务器Active Directory或者数据库来进行教师的登录验证,并可将最终的导出文件以邮件的形式直接传给教务处,省去一定的麻烦。a) 服务器环境搭建需要支持b) 需要有人长期维护参考文献1明日科技 C#从入门到精通 清华大学出版社2张焕梅、李松、张金成 IC卡考勤系统的设计与实现 微计算机信息2002年第18卷第11期3张敬涛、李向阳、邹秀香 校园一卡通系统的应用研究 山东师范大学学报2008年9月第23卷第3期4李民权、高顺利、吴先良 远距离非接触IC卡考勤系统的软件设计与实现 安徽大学学报2003年9月第23卷第3期22
限制150内