基于校園卡的學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于校園卡的學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于校園卡的學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于校園卡的學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于校園卡的學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

前言隨著科技的不斷發(fā)展以及計(jì)算機(jī)加速推廣普及,對(duì)非接觸式IC卡的使用已經(jīng)變得很普遍了,它在我們?nèi)粘I詈凸ぷ髦姓l(fā)揮著越來(lái)越重要的作用。非接觸式IC卡也稱為無(wú)觸點(diǎn)集成電路卡、射頻卡或非接觸式智能卡。非接觸式IC卡具通訊速率高的特點(diǎn),不需要拔插的過(guò)程,在很短的時(shí)間內(nèi)就可以完成對(duì)卡片的操作,所以非接觸式IC卡非常適用于對(duì)交易速度要求高、刷卡人口比較集中的場(chǎng)合,如地鐵、高速公路的進(jìn)出口、門(mén)禁、公交等環(huán)境。目前,非接觸式IC卡在全國(guó)各個(gè)高校中已經(jīng)得到廣泛的使用,校園卡即為非接觸式IC卡。每個(gè)學(xué)生都有一張作為其身份標(biāo)識(shí)的校園卡,卡內(nèi)數(shù)據(jù)區(qū)不僅記錄了該學(xué)生的學(xué)號(hào)、姓名、班級(jí)等信息,還可以作為消費(fèi)卡在校園內(nèi)進(jìn)行消費(fèi)。而在學(xué)校的日常教學(xué)管理中,若能進(jìn)行借助校園卡來(lái)對(duì)學(xué)生的上課情況進(jìn)行考勤及計(jì)算學(xué)生綜合成績(jī),就可以有效地地節(jié)約課堂考勤的時(shí)間,方便教師統(tǒng)計(jì)出勤率,高效教師的期末工作。本系統(tǒng)為基于校園卡的學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì),利用面向?qū)ο缶幊痰姆椒?,通過(guò)使用VisualStudio2010的平臺(tái)來(lái)搭建了處理和設(shè)置考勤下位機(jī)(單片機(jī))的C#上位機(jī)軟件,其中設(shè)置了以下幾個(gè)功能:上下位機(jī)串口通信處理,啟動(dòng)存卡/刷卡,界面的自定義,課程信息管理,學(xué)生基本信息管理,對(duì)下位機(jī)區(qū)域進(jìn)行初始化,對(duì)下位機(jī)進(jìn)行時(shí)間校正,考勤成績(jī)計(jì)算和綜合成績(jī)計(jì)算等。

2學(xué)生綜合成績(jī)管理系統(tǒng)設(shè)計(jì)2.1需求分析學(xué)生綜合成績(jī)作為考評(píng)學(xué)生一學(xué)期的表現(xiàn)的指標(biāo),是校園學(xué)習(xí)生活中非常重要的一部分。學(xué)生綜合成績(jī)由多方面組成,主要包括期末考試成績(jī)和平時(shí)成績(jī)(多為考勤成績(jī))及實(shí)驗(yàn)成績(jī)(或作業(yè)成績(jī))。但傳統(tǒng)的校園考勤方式,即點(diǎn)名方式不僅十分繁瑣低效,還會(huì)浪費(fèi)寶貴的課堂時(shí)間。本系統(tǒng)就是為了有效解決這一難題而設(shè)計(jì)的。本系統(tǒng)通過(guò)下位機(jī)如實(shí)且準(zhǔn)確地記錄學(xué)生的出席情況,并且具備一個(gè)學(xué)期的長(zhǎng)時(shí)間,大數(shù)據(jù)量的存儲(chǔ),最多可以同時(shí)記錄四門(mén)課程每周兩次的考勤信息。任課老師可在任意時(shí)間將任何課程的考勤信息進(jìn)行匯總來(lái)查閱學(xué)生的日??记谟涗洠撓到y(tǒng)會(huì)將統(tǒng)計(jì)出來(lái)的曠課和遲到的情況作為基礎(chǔ),按照教師的設(shè)置來(lái)計(jì)算平時(shí)成績(jī)給分以及最后的綜合成績(jī)。此舉可以大大簡(jiǎn)化學(xué)生綜合成績(jī)管理的繁瑣性,提高教師的工作效率。2.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)根據(jù)對(duì)實(shí)際情況的分析,并考慮到教師的實(shí)際要求和軟件結(jié)構(gòu)的合理性,將本系統(tǒng)分為上位機(jī)和下位機(jī)兩部分軟件。上位軟件采用C#語(yǔ)言在VisualStudio2010平臺(tái)上,以一種友好界面的形式呈現(xiàn)出來(lái),提升軟件的可操作性。其主要功能是發(fā)送指令來(lái)操控下位機(jī)各種功能,和接收下位機(jī)所采集的考勤數(shù)據(jù),并將這些數(shù)據(jù)加以處理和統(tǒng)計(jì),然后根據(jù)需要以EXCEL文件的形式輸出綜合成績(jī)列表。而下位機(jī)則是由STC12C5A32S2單片機(jī)為核心的開(kāi)發(fā)板組成,主要完成考勤信息采集的工作,并具有數(shù)字鐘功能,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)串口傳輸?shù)裙δ?,同時(shí)有密碼保護(hù)機(jī)制用來(lái)保護(hù)下位機(jī)的數(shù)據(jù)安全。

2.2.1系統(tǒng)式樣圖設(shè)置信息設(shè)置信息上位機(jī)(計(jì)算機(jī))上位機(jī)(計(jì)算機(jī))下位機(jī)(單片機(jī))導(dǎo)出校園卡采集信息傳送數(shù)據(jù)課程信息班級(jí)信息學(xué)號(hào)及卡號(hào)準(zhǔn)到、曠課、遲到次數(shù)考勤成績(jī)其他(實(shí)驗(yàn))成績(jī)(待錄入)期末成績(jī)(待錄入)綜合成績(jī)(自動(dòng)計(jì)算)Excel文件

2.2.2主程序流程圖導(dǎo)出校園卡采集信息傳送數(shù)據(jù)課程信息班級(jí)信息學(xué)號(hào)及卡號(hào)準(zhǔn)到、曠課、遲到次數(shù)考勤成績(jī)其他(實(shí)驗(yàn))成績(jī)(待錄入)期末成績(jī)(待錄入)綜合成績(jī)(自動(dòng)計(jì)算)Excel文件

3主程序設(shè)計(jì)3.1分模塊介紹本程序中使用了C#語(yǔ)言。C#是現(xiàn)今使用人數(shù)最多的語(yǔ)言之一,它是Microsoft公司所推出的一款一種面向?qū)ο蟮?、運(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。C#在繼承了C和C++強(qiáng)大功能的同時(shí),去掉了一些它們的復(fù)雜特性(例如沒(méi)有宏以及不允許多重繼承),并綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,具有強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性等特點(diǎn)。面向?qū)ο笾械膶?duì)象指的是類的集合,而類的操作讓每個(gè)對(duì)象都能夠接收信息、處理數(shù)據(jù)和向其它對(duì)象發(fā)送信息,使得程序具有了很好的重用性、靈活性和擴(kuò)展性。在本程序中,分別創(chuàng)建了以下幾個(gè)類:Form1,ClassInfo、StudentInfo、Command、ReadDataAdapter、WriteDataAdapter、DisPlayInForm、ExcelOut等,來(lái)進(jìn)行信息的整合和數(shù)據(jù)的轉(zhuǎn)換等操作。下面來(lái)具體介紹這些類的功用:Form1類:即與可視化界面對(duì)應(yīng)的類,負(fù)責(zé)傳送前臺(tái)數(shù)據(jù)至后臺(tái),并顯示和處理后臺(tái)傳送過(guò)來(lái)的信息。ClassInfo類:存儲(chǔ)了所有與課程相關(guān)的信息,可以通過(guò)它來(lái)設(shè)置下位機(jī)的課程信息,也可以通過(guò)它來(lái)讀取上傳來(lái)的課程數(shù)據(jù)。StudentInfo類:存儲(chǔ)了與學(xué)生相關(guān)的信息,包括:學(xué)號(hào),卡號(hào),出勤情況(準(zhǔn)到次數(shù),遲到次數(shù),曠課次數(shù))等。該類是用來(lái)將下位機(jī)上傳的數(shù)據(jù)分配到每一個(gè)學(xué)生中,并可以用來(lái)計(jì)算該學(xué)生的考勤狀況。Command類:存儲(chǔ)了所有上位機(jī)發(fā)出的主機(jī)命令,調(diào)用它來(lái)生成和使用各個(gè)命令。ReadDataAdapter類:上傳數(shù)據(jù)適配器,通過(guò)比較起始位、校驗(yàn)位等信息確保下位機(jī)上傳的數(shù)據(jù)正確,并要將上傳的大量數(shù)據(jù)正確地匹配到課程信息和各個(gè)學(xué)生的信息中去。WriteDataAdapter類:寫(xiě)入數(shù)據(jù)適配器,將想要發(fā)送給下位機(jī)的數(shù)據(jù),轉(zhuǎn)化成通信協(xié)議規(guī)定的格式,為其加上起始位、校驗(yàn)位、結(jié)束位等信息。DisPlayInForm類:將詳細(xì)的課程信息及學(xué)生基本考勤數(shù)據(jù)以DataGirdView表格的形式顯示在From中去。ExcelOut類:將DataGirdView表格中的數(shù)據(jù),一對(duì)一的在Excel中輸出,并進(jìn)行一定的格式布局以及數(shù)據(jù)計(jì)算。這些類的創(chuàng)建,使得程序中大量的數(shù)據(jù)操作變得直觀而簡(jiǎn)單,也使得程序的可讀性和擴(kuò)展性增強(qiáng),展示出了面向?qū)ο蟮木幊痰膬?yōu)勢(shì)。3.2C#串口程序介紹現(xiàn)在大多數(shù)便攜式硬件設(shè)備均采用串口技術(shù)與計(jì)算機(jī)相連,因此串口的應(yīng)用程序開(kāi)發(fā)越來(lái)越普遍。例如,在計(jì)算機(jī)如果沒(méi)有安裝網(wǎng)卡,若將本機(jī)上的一些信息數(shù)據(jù)傳輸?shù)礁浇牧硪慌_(tái)計(jì)算機(jī)上,那么完全可以利用計(jì)算機(jī)上的串口通信來(lái)實(shí)現(xiàn)。上位機(jī)的程序設(shè)計(jì)主要通過(guò)調(diào)用VisualStudio2010C#的SerialPort(串行通信控件)來(lái)實(shí)現(xiàn),SerialPort類主要實(shí)現(xiàn)串口數(shù)據(jù)通信等。下面主要介紹上位機(jī)程序中使用到該類的主要屬性和方法。所用參數(shù) 參數(shù)說(shuō)明ReadBufferSize 設(shè)置或獲取讀緩存區(qū)的大小,默認(rèn)為4KBaudRate 獲取或設(shè)置串行波特率BytesToRead 獲取接收緩沖區(qū)中數(shù)據(jù)的字節(jié)數(shù)BytesToWrite 獲取發(fā)送緩沖區(qū)中數(shù)據(jù)的字節(jié)數(shù)DataBits 獲取或設(shè)置每個(gè)字節(jié)的標(biāo)準(zhǔn)數(shù)據(jù)位長(zhǎng)度IsOpen 獲取一個(gè)值,指示SerialPort對(duì)象的開(kāi)或關(guān)狀態(tài)Parity 獲取或設(shè)置奇偶校驗(yàn)檢查協(xié)議PortName 設(shè)置通信端口,包括但不限于所有可用的COM端口ReadTimeout 獲取或設(shè)置讀取操作未完成時(shí)發(fā)生超時(shí)之前的毫秒數(shù)ReceivedBytesThreshold獲取或設(shè)置DataReceived事件發(fā)生前內(nèi)部輸入緩沖區(qū)中的字節(jié)數(shù)StopBits 獲取或設(shè)置每個(gè)字節(jié)的標(biāo)準(zhǔn)停止位數(shù)WriteBufferSize 獲取或設(shè)置串行端口輸出緩沖區(qū)的大小、所用方法 方法說(shuō)明Close 關(guān)閉端口連接,并釋放對(duì)象內(nèi)部Stream對(duì)象Open 建立一個(gè)新的串口連接Read 從SerialPort對(duì)象的輸入緩存中讀取數(shù)據(jù)Write 已重載。將數(shù)據(jù)寫(xiě)入串口的輸出緩沖區(qū)在Microsoft公司的VisualStudio2010當(dāng)中,提供了SerialPort類的功能,可以十分方便地使用串口通信。在本系統(tǒng)中,PC機(jī)主要負(fù)責(zé)數(shù)據(jù)的接受、處理和存儲(chǔ),在接受完數(shù)據(jù)的同時(shí),對(duì)數(shù)據(jù)進(jìn)行處理,直接統(tǒng)計(jì)出考勤結(jié)果,并按一定的方式保存在EXCEL中,并計(jì)算出學(xué)生的考勤成績(jī)和綜合成績(jī),為任課教師省去了繁瑣的學(xué)生綜合成績(jī)計(jì)算的工作。而下位機(jī),也就是單片機(jī),只負(fù)責(zé)數(shù)據(jù)采集的工作,然后用串口通訊的方式將數(shù)據(jù)上傳給PC上位機(jī)。在上位機(jī)的程序設(shè)計(jì)當(dāng)中,最關(guān)鍵的地方就是如何進(jìn)行PC機(jī)與單片機(jī)的通信,即如何將單片機(jī)上的數(shù)據(jù)傳送到PC上位機(jī),以及如何處理從單片機(jī)上接受到的數(shù)據(jù)。為了上位機(jī)軟件程序使用的友好性,本系統(tǒng)中使用了VisualStudio2010中的From這一界面開(kāi)發(fā)工具來(lái)進(jìn)行界面設(shè)置和編輯,并通過(guò)調(diào)用其中的SerialPort類來(lái)處理串口通信的問(wèn)題。SerialPort類提供了強(qiáng)大的串口設(shè)置功能,通過(guò)它可以方便的使用計(jì)算機(jī)與下位機(jī)之間的串口通信功能。3.3程序效果圖以下圖1~圖5為本設(shè)計(jì)的程序效果圖:圖1Tab1的界面顯示【主要功能】:1. 串口設(shè)置1)默認(rèn)設(shè)置連接2)高級(jí)設(shè)置連接2. 基礎(chǔ)操作:1)對(duì)下位機(jī)操作:a.啟動(dòng)刷卡b.啟動(dòng)存卡c.設(shè)置時(shí)間d.初始化區(qū)域;2)界面操作:a.更換壁紙b.更換背景色c.設(shè)置字體;3. 課程信息設(shè)置圖2Tab2界面顯示【主要功能】:1.讀取數(shù)據(jù)2.寫(xiě)入數(shù)據(jù)3.導(dǎo)出Excel圖3讀取數(shù)據(jù)功能圖4Excel導(dǎo)出文件示例1圖5Excel導(dǎo)出文件示例24.1下位機(jī)硬件構(gòu)成4.1.1液晶顯示圖6液晶顯示圖7液晶原理圖在本考勤系統(tǒng)中,由于需要顯示的信息較多,也較為復(fù)雜,簡(jiǎn)單的七段數(shù)碼管只能顯示數(shù)字和少量字符,功能往往受到局限,對(duì)于較復(fù)雜的字符或圖形則無(wú)能為力,這遠(yuǎn)不能滿足人機(jī)交互顯示界面的要求。而液晶顯示模塊則是一種低功耗、低損耗顯示器件,它不僅僅可以顯示各式各樣的字符、漢字和圖形,而且方便與單片機(jī)對(duì)接。4.1.2刷卡模塊圖8刷卡模塊及其原理圖非接觸式IC卡讀寫(xiě)器將需要發(fā)送的信息經(jīng)編碼后加載到一個(gè)固定頻率的載波上,卡片內(nèi)有一個(gè)諧振電路,其頻率與讀寫(xiě)器發(fā)送的載波頻率相同,當(dāng)非接觸式IC卡進(jìn)入讀寫(xiě)器的工作區(qū)域后,諧振電路產(chǎn)生共振并產(chǎn)生電荷積累,當(dāng)電荷積累到一定數(shù)值時(shí),就能為卡內(nèi)的電路提供工組電壓、復(fù)位信號(hào)、系統(tǒng)時(shí)鐘,讀寫(xiě)器發(fā)送的數(shù)據(jù)信息經(jīng)過(guò)卡內(nèi)射頻接口模塊解碼,由控制單元來(lái)判斷這些信息的要求和合理性,然后進(jìn)行處理,最終決定是否對(duì)EEPROM內(nèi)的數(shù)據(jù)進(jìn)行改寫(xiě)或輸出。4.1.3串口模塊(RS232-USB模塊)圖9串口模塊原理圖根據(jù)實(shí)際的情況,綜合便利性以及成本的考慮,這里采用PL2303HX芯片為核心轉(zhuǎn)換電路,不僅合理地解決了單片機(jī)與上位機(jī)數(shù)據(jù)傳遞的問(wèn)題,避免了使用串口數(shù)據(jù)線的不便,還額外為整個(gè)板子提供電源,省去了電源適配器的成本。PL2303HX是一種高度集成的RS232-USB接口轉(zhuǎn)換器,可提供一個(gè)RS232全雙工異步串行通信裝置與USB功能接口便利聯(lián)接的解決方案。該器件內(nèi)置USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號(hào)的UART,只需外接幾只電容就可實(shí)現(xiàn)USB信號(hào)與RS232信號(hào)的轉(zhuǎn)換,能夠方便嵌入到手持設(shè)備。該器件作為USB/RS232雙向轉(zhuǎn)換器,一方面從主機(jī)接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè);另一方面從RS232外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回主機(jī)。通過(guò)利用USB塊傳輸模式,利用龐大的數(shù)據(jù)緩沖器和自動(dòng)流量控制,PL2303HX能夠?qū)崿F(xiàn)比傳統(tǒng)的UART(通用異步收發(fā)器)端口更高的吞吐量,高達(dá)115200bps的波特率可用于更高的性能使用。4.1.4按鍵模塊圖10按鍵模塊原理圖為了提高單片機(jī)I/O口的使用效率,這里利用STC單片機(jī)本身所具有的AD轉(zhuǎn)換功能,采用上圖所示特殊的并聯(lián)方式來(lái)設(shè)計(jì)按鍵。這里的AD轉(zhuǎn)換模塊擁有30萬(wàn)次/秒的轉(zhuǎn)換速度,最高精度可以達(dá)到10位,在5V的工作電壓下,最小精度可以達(dá)到0.005V。而本電路各按鍵的所對(duì)應(yīng)的電壓分別為:1.064V,0.532V,0.355,0.266V,0.213V,0.177V,最小間隔為0.036V,大于AD模塊的最小可分辨的電壓,這種設(shè)計(jì)模式在只占用一個(gè)端口的情況下,可以使用六個(gè)按鍵,節(jié)約了單片機(jī)的資源,節(jié)省了成本。4.2上下位機(jī)通信協(xié)議4.2.1幀發(fā)送幀:起始位地址命令字長(zhǎng)度N12…N校驗(yàn)1校驗(yàn)1結(jié)束位0xaa012個(gè)字節(jié)CS1CS20xee接收幀:起始位地址命令字狀態(tài)長(zhǎng)度N12…N校驗(yàn)1校驗(yàn)2結(jié)束位0xaa012個(gè)字節(jié)CS1CS20xee說(shuō)明:長(zhǎng)度N:命令為A,B,C,D時(shí),長(zhǎng)度為0,一次讀全部扇區(qū);命令為E,F,G,H時(shí),長(zhǎng)度為18,校驗(yàn)1:從“地址”開(kāi)始至”N”字節(jié)相異或后取反;校驗(yàn)2:從“地址”開(kāi)始至”N”字節(jié)數(shù)據(jù)算術(shù)和4.2.2命令與狀態(tài)命令/狀態(tài):主機(jī)給從機(jī)為命令,從機(jī)給主機(jī)是狀態(tài)(88-正常,其他為ER錯(cuò)誤);主機(jī)給從機(jī)命令有:命令A(yù)(0X41):讀存儲(chǔ)區(qū)域1的信息,共5個(gè)扇區(qū),一次讀5x512個(gè)字節(jié),長(zhǎng)度為0命令B(0X42):讀存儲(chǔ)區(qū)域2的信息,共5個(gè)扇區(qū),一次讀5x512個(gè)字節(jié),長(zhǎng)度為0命令C(0X43):讀存儲(chǔ)區(qū)域3的信息,共9個(gè)扇區(qū),一次讀9x512個(gè)字節(jié),長(zhǎng)度為0命令D(0X44):讀存儲(chǔ)區(qū)域4的信息,共9個(gè)扇區(qū),一次讀9x512個(gè)字節(jié),長(zhǎng)度為0命令E(0X45):寫(xiě)區(qū)域信息1信息,長(zhǎng)度為18個(gè)字節(jié),第19個(gè)字節(jié)由下位機(jī)改寫(xiě)命令F(0X46):寫(xiě)區(qū)域信息2信息,長(zhǎng)度為18個(gè)字節(jié),第19個(gè)字節(jié)由下位機(jī)改寫(xiě)命令G(0X47):寫(xiě)區(qū)域信息3信息,長(zhǎng)度為18個(gè)字節(jié),第19個(gè)字節(jié)由下位機(jī)改寫(xiě)命令H(0X48):寫(xiě)區(qū)域信息4信息,長(zhǎng)度為18個(gè)字節(jié),第19個(gè)字節(jié)由下位機(jī)改寫(xiě)命令I(lǐng)(0X49):?jiǎn)?dòng)刷卡,長(zhǎng)度為0命令J(0X4A):?jiǎn)?dòng)存卡,長(zhǎng)度為0命令K(0X4B):初始化區(qū)域1,2,3,4。刪除卡號(hào),課程信息及課程記錄。長(zhǎng)度為1,后跟區(qū)域號(hào)命令L(0X4C):設(shè)置時(shí)間,寫(xiě)入DS1302中:順序?yàn)槊耄?,時(shí),日,月,星期,年;長(zhǎng)度為7,按上述順序?qū)懭?。其中,區(qū)域(1,2,3,4)的意思是:第幾個(gè)512字節(jié)的位置,從0開(kāi)始到4或0到8。4.2.3下位機(jī)EEPROM資源分配EEPROM(電可擦寫(xiě)可編程只讀存儲(chǔ)器)是用戶可更改的只讀存儲(chǔ)器(ROM),其可通過(guò)高于普通電壓的作用來(lái)擦除和重編程(重寫(xiě))。不像EPROM芯片,EEPROM不需從計(jì)算機(jī)中取出即可修改。EEPROM的一種特殊形式是閃存,其應(yīng)用通常是個(gè)人電腦中的電壓來(lái)擦寫(xiě)和重編程,可以擦寫(xiě)100000次以上。作為學(xué)生綜合成績(jī)管理系統(tǒng),其核心的功能就是考勤信息的采集。在多課程的考勤信息同時(shí)采集以及長(zhǎng)達(dá)一個(gè)學(xué)期的工作后,勢(shì)必會(huì)收集到大量的考勤信息。如何在長(zhǎng)達(dá)一個(gè)學(xué)期的時(shí)間中安全可靠地保存這些考勤信息是一個(gè)十分關(guān)鍵的問(wèn)題。結(jié)合EEPROM可反復(fù)擦寫(xiě),大容量存儲(chǔ)以及掉電后數(shù)據(jù)部丟失的特點(diǎn),最終采用了EEPROM來(lái)存儲(chǔ)這些考勤信息,有效地解決了這一難題。而本系統(tǒng)所使用的STC12C5A32S2這款單片機(jī),其本身就內(nèi)置有EEPROM,這不僅可以節(jié)省片外資源,減小了成本,使用起來(lái)也會(huì)更加方便,這也是本考勤系統(tǒng)之所以采用這款單片機(jī)的原因之一。EEPROM資源分配:存儲(chǔ)區(qū)域1:000-9FF,共5x512存儲(chǔ)區(qū)域2:A00-13FF,共5x512存儲(chǔ)區(qū)域3:1400-25FF,共9x512存儲(chǔ)區(qū)域4:2600-37FF,共9x512存儲(chǔ)區(qū)域5:3800-49FF,共9x512為了在管理大量的考勤信息的同時(shí),又不會(huì)過(guò)多占用單片機(jī)的資源。因此在考勤系統(tǒng)中,28K的EEPROM被劃分成5個(gè)區(qū)域,前4個(gè)區(qū)域分別存儲(chǔ)四門(mén)課程的考勤信息,而存儲(chǔ)區(qū)域5主要用來(lái)存儲(chǔ)漢字字庫(kù)等信息,這樣的設(shè)計(jì)可以大大簡(jiǎn)化數(shù)據(jù)管理的復(fù)雜度,解放更多的單片機(jī)資源。一般情況下,課程每周會(huì)有一次或者兩次考勤,即其各自所需考勤信息的存儲(chǔ)大小不同??紤]到這一實(shí)際情況,這4個(gè)區(qū)域被劃分成兩種大小,因此,我將區(qū)域1和2用來(lái)存儲(chǔ)每周考勤一次的課程,而其它2個(gè)區(qū)域中兩種課程都可以存儲(chǔ)。考勤信息由兩部分組成,分別是“卡號(hào)”和“學(xué)生到達(dá)教室時(shí)間與上課時(shí)間之差”,卡號(hào)由4個(gè)字節(jié)組成,而時(shí)間差是由1個(gè)有符號(hào)字節(jié)存儲(chǔ),即每組信息共有5個(gè)字節(jié)。這樣的設(shè)計(jì)是考慮到EEPROM的資源緊張,為了提高其利用率,也是節(jié)約成本的方法。每個(gè)存儲(chǔ)區(qū)域的第一個(gè)扇區(qū)存放學(xué)生的卡號(hào),現(xiàn)最多100個(gè)學(xué)生,每個(gè)卡號(hào)有4個(gè)字節(jié),并且該扇區(qū)最后一個(gè)字節(jié)用來(lái)存儲(chǔ)該課程信息。5綜合成績(jī)管理5.1課程信息管理每個(gè)存儲(chǔ)區(qū)域的第一個(gè)扇區(qū)地址為:0511,其中480511放如下信息:480481482483484485486487488489490491492493494495學(xué)院年級(jí)專業(yè)班年度年度學(xué)期課程周次星期時(shí)分星期時(shí)分區(qū)域496497498499500501502503504505506507508509510511人數(shù)開(kāi)關(guān)次數(shù)學(xué)院:1,2,3,4年級(jí):10級(jí)為0X10,為8421BCD碼專業(yè):1,2,3,4年度:10年為0X10,為8421BCD碼課程:1,2,3,4,5,6,7,8星期:1星期一,2星期二,………….6星期六,0星期天時(shí)/分:均為8421BCD碼人數(shù):為16進(jìn)制數(shù)開(kāi)關(guān):開(kāi)1,關(guān)0說(shuō)明:496為學(xué)生人數(shù),497為這門(mén)課是否開(kāi)講,511為共上了幾次課,刷了幾次卡(每次刷卡自動(dòng)加一)在本設(shè)計(jì)中,設(shè)置了讀取區(qū)域課程信息和寫(xiě)入?yún)^(qū)域課程信息兩種功能。由于課程信息存儲(chǔ)在固定的位置,在讀取某區(qū)域信息時(shí),程序?qū)⒆詣?dòng)讀出該區(qū)域的課程信息,并匹配到視圖表格中,方便老師統(tǒng)計(jì)。而在寫(xiě)入?yún)^(qū)域課程信息時(shí),只需要選擇畫(huà)面上的各個(gè)項(xiàng)目的下拉框中的選項(xiàng),單擊寫(xiě)入課程即可。5.2學(xué)生基本信息管理每個(gè)區(qū)域的地址0~400:存放學(xué)生的卡號(hào),最多100個(gè)學(xué)生,每個(gè)卡號(hào)有4個(gè)字節(jié),共占4x100=400字節(jié)。在讀取某區(qū)域信息時(shí),程序會(huì)自動(dòng)匹配該學(xué)生的基本信息(卡號(hào))與該學(xué)生的簽到情況。5.3初始化管理每個(gè)區(qū)域的地址0~400:存放學(xué)生的卡號(hào),最多100個(gè)學(xué)生,每個(gè)卡號(hào)有4個(gè)字節(jié),共占4x100=400字節(jié)。本設(shè)計(jì)中可以通過(guò)上位機(jī)來(lái)對(duì)下位機(jī)某個(gè)區(qū)域進(jìn)行初始化,清楚該區(qū)域的課程信息,學(xué)生信息以及簽到情況等。5.4時(shí)間校正管理本設(shè)計(jì)中,可以通過(guò)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論