学生综合成绩管理系统设计毕业设计论文.docx
- 文档编号:4881778
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:21
- 大小:583.05KB
学生综合成绩管理系统设计毕业设计论文.docx
《学生综合成绩管理系统设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《学生综合成绩管理系统设计毕业设计论文.docx(21页珍藏版)》请在冰豆网上搜索。
学生综合成绩管理系统设计毕业设计论文
本科毕业论文(设计)
学生综合成绩管理系统设计
摘要
随着科技的不断发展以及计算机加速推广普及,传统的人工考勤已逐步淡出现代公司的信息化管理系统。
同样的,现代高校也开始充分利用自身的信息技术和计算机技术,不断挖掘现有各种教育、科研、信息资源的优势,开发各种管理系统和应用系统,全面推进高等教育的信息化。
而校园卡就是校园管理系统中重要的一链。
校园卡除了可以储值计费,还因其具有与身份信息对应的唯一卡号,能够方便教师通过其来统计出勤率。
在本文中,主要研究的是基于校园卡的学生综合成绩管理系统设计,其主要包括:
IC卡读写,数据存储,单片机与PC间进行串口通信,上位机的数据接收和考勤信息的处理,以及将数据进行格式转换并输出到Excel。
关键词:
校园卡,综合成绩,通信协议,串口通信,考勤系统,Abstract
Withthedevelopmentofscienceandtechnologyandfurtherpopularityofcomputer,manualmanagementisgraduallyfadingoutthemoderncompany'sinformationmanagementsystems.Meanwhile,theModernuniversitiesarenowstartingtomakefulluseofinformationtechnology,computertechnology,andtheadvantagesofallkindsofeducation,scientificresearches,andinformationresourcestodevelopvarious applicationsand managementsystemsandinformationthehighereducationcompletely.Asweallknow,theCampuscardiscertainlyaimportantchaininthecampusmanagementsystems.Itnotonlycanbeusedtostorevalue,butalsocanbeusedtocheckattendanceaccordingtoitscardnumbers,whichmakesattendancestatisticsefficientforteachers.
Thispapermainlyfocusesonthesoftwaredesignofstudentcompositescoremanagementsystembasedoncampuscards,includingtheICcardslottingandreading,datastorage,receivingdatafromthedevice,processingdatasoftwareonPC,andexportingtoExcel.
Keywords:
Campuscard,compositescoremanagement,communicationprotocol,serialcommunication,attendancesystem,C#,Excel
目录
上海师范大学本科毕业论文(设计)诚信声明…………………………………
上海师范大学本科毕业论文(设计)选题登记表…………………………………
上海师范大学本科毕业论文(设计)指导记录表…………………………………Ⅳ
中文摘要及关键词………………………………………………………………Ⅴ
英文摘要及关键词………………………………………………………………Ⅵ
1前言………………………………………………………………………………1
2学生综合成绩管理系统设计……………………………………………………2
2.1需求分析…………………………………………………………………2
2.2系统结构设计……………………………………………………………2
2.2.1系统式样图……………………………………………………………3
2.2.2主程序流程图…………………………………………………………4
3主程序设计………………………………………………………………………5
3.1分模块介绍……………………………………………………………5
3.2C#串口程序介绍…………………………………………………………6
3.3程序效果图………………………………………………………………8
4考勤管理…………………………………………………………………………11
4.1下位机的硬件构成………………………………………………………11
4.1.1液晶显示……………………………………………………………11
4.1.2刷卡模块…………………………………………………………11
4.1.3串口模块…………………………………………………………12
4.1.4按键模块…………………………………………………………13
4.2上下位机通信协议………………………………………………………13
4.2.1帧…………………………………………………………………13
4.2.2命令与状态…………………………………………………………14
4.3下位机EEPROM资源分配…………………………………………………17
5综合成绩管理……………………………………………………………………21
5.1课程信息管理……………………………………………………………17
5.2学生基本信息管理………………………………………………………18
5.3初始化管理………………………………………………………………19
5.4时间校正管理……………………………………………………………20
5.5考勤成绩计算……………………………………………………………21
5.6综合成绩计算………………………………………………………………21
5.6.1规则设置…………………………………………………………21
5.6.2数据导出…………………………………………………………21
6扩展设想…………………………………………………………………………24
1前言
随着科技的不断发展以及计算机加速推广普及,对非接触式IC卡的使用已经变得很普遍了,它在我们日常生活和工作中正发挥着越来越重要的作用。
非接触式IC卡也称为无触点集成电路卡、射频卡或非接触式智能卡。
非接触式IC卡具通讯速率高的特点,不需要拔插的过程,在很短的时间内就可以完成对卡片的操作,所以非接触式IC卡非常适用于对交易速度要求高、刷卡人口比较集中的场合,如地铁、高速公路的进出口、门禁、公交等环境。
目前,非接触式IC卡在全国各个高校中已经得到广泛的使用,校园卡即为非接触式IC卡。
每个学生都有一张作为其身份标识的校园卡,卡内数据区不仅记录了该学生的学号、姓名、班级等信息,还可以作为消费卡在校园内进行消费。
而在学校的日常教学管理中,若能进行借助校园卡来对学生的上课情况进行考勤及计算学生综合成绩,就可以有效地地节约课堂考勤的时间,方便教师统计出勤率,高效教师的期末工作。
本系统为基于校园卡的学生综合成绩管理系统设计,利用面向对象编程的方法,通过使用VisualStudio2010的平台来搭建了处理和设置考勤下位机(单片机)的C#上位机软件,其中设置了以下几个功能:
上下位机串口通信处理,启动存卡/刷卡,界面的自定义,课程信息管理,学生基本信息管理,对下位机区域进行初始化,对下位机进行时间校正,考勤成绩计算和综合成绩计算等。
2学生综合成绩管理系统设计
2.1需求分析
学生综合成绩作为考评学生一学期的表现的指标,是校园学习生活中非常重要的一部分。
学生综合成绩由多方面组成,主要包括期末考试成绩和平时成绩(多为考勤成绩)及实验成绩(或作业成绩)。
但传统的校园考勤方式,即点名方式不仅十分繁琐低效,还会浪费宝贵的课堂时间。
本系统就是为了有效解决这一难题而设计的。
本系统通过下位机如实且准确地记录学生的出席情况,并且具备一个学期的长时间,大数据量的存储,最多可以同时记录四门课程每周两次的考勤信息。
任课老师可在任意时间将任何课程的考勤信息进行汇总来查阅学生的日常考勤记录,该系统会将统计出来的旷课和迟到的情况作为基础,按照教师的设置来计算平时成绩给分以及最后的综合成绩。
此举可以大大简化学生综合成绩管理的繁琐性,提高教师的工作效率。
2.2系统结构设计
根据对实际情况的分析,并考虑到教师的实际要求和软件结构的合理性,将本系统分为上位机和下位机两部分软件。
上位软件采用C#语言在VisualStudio2010平台上,以一种友好界面的形式呈现出来,提升软件的可操作性。
其主要功能是发送指令来操控下位机各种功能,和接收下位机所采集的考勤数据,并将这些数据加以处理和统计,然后根据需要以EXCEL文件的形式输出综合成绩列表。
而下位机则是由STC12C5A32S2单片机为核心的开发板组成,主要完成考勤信息采集的工作,并具有数字钟功能,数据存储,数据串口传输等功能,同时有密码保护机制用来保护下位机的数据安全。
2.2.1系统式样图
设置信息
导出
采集信息
传送数据
2.2.2主程序流程图
3主程序设计
3.1分模块介绍
本程序中使用了C#语言。
C#是现今使用人数最多的语言之一,它是Microsoft公司所推出的一款一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
C#在继承了C和C++强大功能的同时,去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承),并综合了VB简单的可视化操作和C++的高运行效率,具有强大的操作能力、优雅的语法风格、创新的语言特性等特点。
面向对象中的对象指的是类的集合,而类的操作让每个对象都能够接收信息、处理数据和向其它对象发送信息,使得程序具有了很好的重用性、灵活性和扩展性。
在本程序中,分别创建了以下几个类:
Form1,ClassInfo、StudentInfo、Command、ReadDataAdapter、WriteDataAdapter、DisPlayInForm、ExcelOut等,来进行信息的整合和数据的转换等操作。
下面来具体介绍这些类的功用:
Form1类:
即与可视化界面对应的类,负责传送前台数据至后台,并显示和处理后台传送过来的信息。
ClassInfo类:
存储了所有与课程相关的信息,可以通过它来设置下位机的课程信息,也可以通过它来读取上传来的课程数据。
StudentInfo类:
存储了与学生相关的信息,包括:
学号,卡号,出勤情况(准到次数,迟到次数,旷课次数)等。
该类是用来将下位机上传的数据分配到每一个学生中,并可以用来计算该学生的考勤状况。
Command类:
存储了所有上位机发出的主机命令,调用它来生成和使用各个命令。
ReadDataAdapter类:
上传数据适配器,通过比较起始位、校验位等信息确保下位机上传的数据正确,并要将上传的大量数据正确地匹配到课程信息和各个学生的信息中去。
WriteDataAdapter类:
写入数据适配器,将想要发送给下位机的数据,转化成通信协议规定的格式,为其加上起始位、校验位、结束位等信息。
DisPlayInForm类:
将详细的课程信息及学生基本考勤数据以DataGirdView表格的形式显示在From中去。
ExcelOut类:
将DataGirdView表格中的数据,一对一的在Excel中输出,并进行一定的格式布局以及数据计算。
这些类的创建,使得程序中大量的数据操作变得直观而简单,也使得程序的可读性和扩展性增强,展示出了面向对象的编程的优势。
3.2C#串口程序介绍
现在大多数便携式硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。
例如,在计算机如果没有安装网卡,若将本机上的一些信息数据传输到附近的另一台计算机上,那么完全可以利用计算机上的串口通信来实现。
上位机的程序设计主要通过调用VisualStudio2010C#的SerialPort(串行通信控件)来实现,SerialPort类主要实现串口数据通信等。
下面主要介绍上位机程序中使用到该类的主要属性和方法。
所用参数参数说明
ReadBufferSize设置或获取读缓存区的大小,默认为4K
BaudRate获取或设置串行波特率
BytesToRead获取接收缓冲区中数据的字节数
BytesToWrite获取发送缓冲区中数据的字节数
DataBits获取或设置每个字节的标准数据位长度
IsOpen获取一个值,指示SerialPort对象的开或关状态
Parity获取或设置奇偶校验检查协议
PortName设置通信端口,包括但不限于所有可用的COM端口
ReadTimeout获取或设置读取操作未完成时发生超时之前的毫秒数
ReceivedBytesThreshold
获取或设置DataReceived事件发生前内部输入缓冲区中的字节数
StopBits获取或设置每个字节的标准停止位数
WriteBufferSize获取或设置串行端口输出缓冲区的大小、
所用方法方法说明
Close关闭端口连接,并释放对象内部Stream对象
Open建立一个新的串口连接
Read从SerialPort对象的输入缓存中读取数据
Write已重载。
将数据写入串口的输出缓冲区
在Microsoft公司的VisualStudio2010当中,提供了SerialPort类的功能,可以十分方便地使用串口通信。
在本系统中,PC机主要负责数据的接受、处理和存储,在接受完数据的同时,对数据进行处理,直接统计出考勤结果,并按一定的方式保存在EXCEL中,并计算出学生的考勤成绩和综合成绩,为任课教师省去了繁琐的学生综合成绩计算的工作。
而下位机,也就是单片机,只负责数据采集的工作,然后用串口通讯的方式将数据上传给PC上位机。
在上位机的程序设计当中,最关键的地方就是如何进行PC机与单片机的通信,即如何将单片机上的数据传送到PC上位机,以及如何处理从单片机上接受到的数据。
为了上位机软件程序使用的友好性,本系统中使用了VisualStudio2010中的From这一界面开发工具来进行界面设置和编辑,并通过调用其中的SerialPort类来处理串口通信的问题。
SerialPort类提供了强大的串口设置功能,通过它可以方便的使用计算机与下位机之间的串口通信功能。
3.3程序效果图
以下图1~图5为本设计的程序效果图:
图1Tab1的界面显示
【主要功能】:
1.串口设置
1)默认设置连接
2)高级设置连接
2.基础操作:
1)对下位机操作:
a.启动刷卡
b.启动存卡
c.设置时间
d.初始化区域;
2)界面操作:
a.更换壁纸
b.更换背景色
c.设置字体;
3.课程信息设置
图2Tab2界面显示
【主要功能】:
1.读取数据
2.写入数据
3.导出Excel
图3读取数据功能
图4Excel导出文件示例1
图5Excel导出文件示例2
4.1下位机硬件构成
4.1.1液晶显示
图6液晶显示
图7液晶原理图
在本考勤系统中,由于需要显示的信息较多,也较为复杂,简单的七段数码管只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力,这远不能满足人机交互显示界面的要求。
而液晶显示模块则是一种低功耗、低损耗显示器件,它不仅仅可以显示各式各样的字符、汉字和图形,而且方便与单片机对接。
4.1.2刷卡模块
图8刷卡模块及其原理图
非接触式IC卡读写器将需要发送的信息经编码后加载到一个固定频率的载波上,卡片内有一个谐振电路,其频率与读写器发送的载波频率相同,当非接触式IC卡进入读写器的工作区域后,谐振电路产生共振并产生电荷积累,当电荷积累到一定数值时,就能为卡内的电路提供工组电压、复位信号、系统时钟,读写器发送的数据信息经过卡内射频接口模块解码,由控制单元来判断这些信息的要求和合理性,然后进行处理,最终决定是否对EEPROM内的数据进行改写或输出。
4.1.3串口模块(RS232-USB模块)
图9串口模块原理图
根据实际的情况,综合便利性以及成本的考虑,这里采用PL2303HX芯片为核心转换电路,不仅合理地解决了单片机与上位机数据传递的问题,避免了使用串口数据线的不便,还额外为整个板子提供电源,省去了电源适配器的成本。
PL2303HX是一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利联接的解决方案。
该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB信号与RS232信号的转换,能够方便嵌入到手持设备。
该器件作为USB/RS232双向转换器,一方面从主机接收USB数据并将其转换为RS232信息流格式发送给外设;另一方面从RS232外设接收数据转换为USB数据格式传送回主机。
通过利用USB块传输模式,利用庞大的数据缓冲器和自动流量控制,PL2303HX能够实现比传统的UART(通用异步收发器)端口更高的吞吐量,高达115200bps的波特率可用于更高的性能使用。
4.1.4按键模块
图10按键模块原理图
为了提高单片机I/O口的使用效率,这里利用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帧
发送帧:
起始位
地址
命令字
长度N
1
2
…
N
校验1
校验1
结束位
0xaa
01
2个字节
CS1
CS2
0xee
接收帧:
起始位
地址
命令字
状态
长度N
1
2
…
N
校验1
校验2
结束位
0xaa
01
2个字节
CS1
CS2
0xee
说明:
长度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(0X43):
读存储区域3的信息,共9个扇区,一次读9x512个字节,长度为0
命令D(0X44):
读存储区域4的信息,共9个扇区,一次读9x512个字节,长度为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
命令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的一种特殊形式是闪存,其应用通常是个人电脑中的电压来擦写和重编程,可以擦写100000次以上。
作为学生综合成绩管理系统,其核心的功能就是考勤信息的采集。
在多课程的考勤信息同时采集以及长达一个学期的工作后,势必会收集到大量的考勤信息。
如何在长达一个学期的时间中安全可靠地保存这些考勤信息是一个十分关键的问题。
结合EEPROM可反复擦写,大容量存储以及掉电后数据部丢失的特点,最终采用了EEPROM来存储这些考勤信息,有效地解决了这一难题。
而本系统所使用的STC12C5A32S2这款单片机,其本身就内置有EEPROM,这不仅可以节省片外资源,减小了成本,使用起来也会更加方便,这也是本考勤系统之所以采用这款单片机的原因之一。
EEPROM资源分配:
存储区域1:
000-9FF,共5x512
存储区域2:
A00-13FF,共5x512
存储区域3:
1400-25FF,共9x512
存储区域4:
2600-37FF,共9x512
存储区域5:
3800-49FF,共9x512
为了在管理大量的考勤信息的同时,又不会过多占用单片机的资源。
因此在考勤系统中,28K的EEPROM被划分成5个区域,前4个区域分别存储四门课程的考勤信息,而存储区域5主要用来存储汉字字库等信息,这样的设计可以大大简化数据管理的复杂度,解放更多的单片机资源。
一般情况下,课程每周会有一次或者两次考勤,即其各自所需考勤信息的存储大小不同。
考虑到这一实际情况,这4个区域被划分成两种大小,因此,我将区域1和2用来存储每周考勤一次的课程,而其它2个区域中两种课程都可以存储。
考勤信息由两部分组成,分别是“卡号”和“学生到达教室时间与上课时间之差”,卡号由4个字节组成,而时间差是由1个有符号字节存储,即每组信息共有5个字节。
这样的设计是考虑到EEPROM的资源紧张,为了提高其利用率,也是节约成本的方法。
每个存储区域的第一个扇区存放学生的卡号,现最多100个学生,每个卡号有4个字节,并且该扇区最后一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 综合 成绩管理系统 设计 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)