盧彬鋒
摘要 當(dāng)前校園安全事件屢屢發(fā)生,給社會、家庭帶來了極大地影響,校園安全設(shè)施設(shè)備的研發(fā)也是當(dāng)前校園安全研究領(lǐng)域的熱點。鑒于此,該研究從智能化識別設(shè)備研發(fā)的角度切入,基于STC15F2K60S2單片機設(shè)計小學(xué)生離校顯示系統(tǒng)。該系統(tǒng)由單片機模塊、射頻模塊、顯示模塊、驅(qū)動模塊和穩(wěn)壓模塊組成,通過雙色LED燈屏實時顯示學(xué)校各個班級狀態(tài),方便家長接孩子時根據(jù)信息提示了解是否在校,為家長提前了解孩子信息提供了很好的幫助,也為校園安全保障設(shè)施的研發(fā)普及提供一定的實踐參考。
關(guān)鍵詞 考勤;單片機;SON1205
中圖分類號 TP334.2文獻(xiàn)標(biāo)識碼 A文章編號 2096-8949(2022)09-0008-03
引言
全國各地屢次發(fā)生的校園安全事件,促使政府和各級教育機構(gòu)啟動了一系列校園安全漏洞檢查和安全措施。校園安全工作開展的好與壞,關(guān)系著所有學(xué)生的健康成長,關(guān)系到千家萬戶的幸福,為此相關(guān)部門和學(xué)校紛紛出臺對應(yīng)的政策。其中很多學(xué)校就要求低年級學(xué)生上學(xué)必須每天由家長負(fù)責(zé)接送,學(xué)生不能獨自上學(xué)。因此,部分中小學(xué)學(xué)生上學(xué)和放學(xué),都需要家長陪同。當(dāng)前家長接送過程中也出現(xiàn)部分問題:
(1)大部分的家庭都是老年人負(fù)責(zé)該項工作,部分老年群體存在智能手機使用障礙。
(2)各種原因?qū)е峦荒昙壌嬖阱e峰放學(xué)問題。
(3)放學(xué)高峰期,學(xué)生一涌而出,導(dǎo)致接送的家長和孩子錯過,家長無法掌握學(xué)生是否離校。
為了方便家長及時了解孩子是在校還是離校,是上課還是放學(xué),該文以STC15F2K60S2單片機為核心模塊,結(jié)合射頻識別(RFID)技術(shù)[1-3]和LED顯示技術(shù)設(shè)計了小學(xué)生離校顯示系統(tǒng)。該系統(tǒng)通過雙色LED燈分別顯示學(xué)生在校上學(xué)、放學(xué)和離校的狀態(tài),到校家長可以通過系統(tǒng)顯示及時掌握孩子的狀況,減少盲目等待,較好的完成接送工作。
1 系統(tǒng)硬件設(shè)計
設(shè)計的系統(tǒng)結(jié)構(gòu)圖如圖1所示。
從圖1可得系統(tǒng)包括以下模塊:單片機模塊、MFRC522讀寫器及電源驅(qū)動模塊、點陣顯示及其驅(qū)動模塊和LED指示模塊構(gòu)成。主要模塊分別介紹如下:
1.1 單片機模塊
該系統(tǒng)的核心部分是單片機,通過它來完成系統(tǒng)的信息采集、處理和控制,因此在單片機的選擇中主要考慮到單片機的計算速度、處理器的能力、片內(nèi)RAM和ROM及成本等因素。在系統(tǒng)設(shè)計中選用了STC15F2K60S2單片機,該芯片低功耗、擁有高性能的CMOS8位微處理器,運行速度相當(dāng)于傳統(tǒng)8051單片機的12倍,并具有較大的程序存儲空間和數(shù)據(jù)存儲空間,編程下載可直接使用串口完成,使用非常方便。
1.2 點陣顯示及其驅(qū)動模塊
1.2.1 點陣顯示模塊
系統(tǒng)中為了能夠在一個顯示點表示上課、下課和是否缺席等不同的信息,采用了雙色LED點陣屏來實現(xiàn),最終選取8×8紅綠雙色共陰點陣。
采用紅綠雙色LED可以實現(xiàn)三種顏色的顯示效果,具體的LED狀態(tài)組合由按鍵觸發(fā)和刷卡觸發(fā)兩種方式。
在按鍵電路如圖2所示,分為上學(xué)、放學(xué)按鍵和班級選擇按鍵等,分別連接著STC15F2K60S2的P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6和P2.7等I/O口。系統(tǒng)通過上學(xué)按鍵觸發(fā)來點亮紅色點陣的顯示,當(dāng)LED燈顯示紅色表示該班級學(xué)生為上課狀態(tài);通過放學(xué)按鍵觸發(fā)紅綠點陣同時顯示為黃色,當(dāng)LED燈顯示黃色表示該班級學(xué)生為下課狀態(tài)。而班級切換按鍵中,由于單片機I/O有限及該系統(tǒng)只是一個初步模擬系統(tǒng),所以僅設(shè)計了六個班級之間的切換。
在刷卡觸發(fā)方式中,通過錄入有學(xué)生學(xué)號和班級信息的MIFARE1卡來刷卡觸發(fā)點陣的顏色切換。即學(xué)生將持有個人信息的MIFARE射頻卡通過MFRC522讀寫器刷卡切換離校和到校狀態(tài),而通過點陣的綠色顯示學(xué)生離校的狀態(tài),也只有當(dāng)學(xué)生由離校刷卡切換到到校時,點陣上的綠色才能轉(zhuǎn)變?yōu)辄S色的到校狀態(tài),即如果學(xué)生缺席或未到校,即使通過上課按鍵也無法將點陣的綠色離校狀態(tài)切換成紅色的上課狀態(tài)。
1.2.2 點陣顯示驅(qū)動模塊
系統(tǒng)選用LED驅(qū)動專用的TM1640作為驅(qū)動模塊。
TM1640是一種LED驅(qū)動專用控制器件,內(nèi)部集成有數(shù)據(jù)鎖存器、MCU數(shù)字接口、LED高壓驅(qū)動電路等。具有8級可調(diào)的輝度調(diào)節(jié)可以方便地根據(jù)不同的天氣情況調(diào)整LED的亮度,實現(xiàn)LED亮度可以實時調(diào)整,既可以達(dá)到顯示清晰又不刺眼的目的,又可以實現(xiàn)省電功能。兩線的串行接口可以方便地和單片機進(jìn)行通信。
1.3 MIFARE射頻卡
MIFARE射頻卡是Philips公司推出的一種射頻卡[3],該射頻卡已經(jīng)成為國際標(biāo)準(zhǔn):IOS/IEC 14443標(biāo)準(zhǔn),也是目前主流的射頻卡。
MIFARE射頻卡內(nèi)部集成高速CMOS EEPROM、MCU等。工作的頻率在13.56 MHz,標(biāo)準(zhǔn)讀寫距離100 mm,與讀寫器的通信速率為106 kbit/s。
MIFARE射頻卡擁有如下優(yōu)點:
(1)具有通信加密功能。
(2)讀寫操作高速而準(zhǔn)確。
(3)卡片讀寫可超10萬多次,且數(shù)據(jù)保存可達(dá)10年之久,具有抗靜電保護能力。
1.4 MFRC522讀寫器
MFRC522是一款基于13.56 MHz的非接觸式通信的高集成度讀寫卡芯片[4-8]。具有低電壓、低成本、小體積的優(yōu)點,是一款使用非常廣泛的非接觸式讀寫卡芯片。主要應(yīng)用于門禁系統(tǒng)、智能水表和便攜式手持設(shè)備等。
MFRC522的主要特點如下:
(1)芯片的通信頻率在13.56 MHz,因此可用于在該頻率下的被動非接觸式通信方式和通信協(xié)議。
(2)芯片支持ISO14443A的多層應(yīng)用,這使得它的體積可以更小,在驅(qū)動讀寫器天線與MIFARE卡和應(yīng)答機之間的通信時可以不需要外圍電路。
(3)芯片的內(nèi)部自帶解調(diào)電路和解碼電路完成接收功能,并且該電路兼容ISO14443A的應(yīng)答器信號。
(4)芯片的校驗功能具有幀和錯誤檢測(奇偶&CRC)。
(5)芯片具有快速 CRYPTO1加密算法和高速的通信速率。
2 系統(tǒng)軟件設(shè)計
系統(tǒng)的主流程圖如圖3所示,由開機、各模塊初始化、讀卡、按鍵掃描和顯示更新等構(gòu)成。開機完成系統(tǒng)上電后負(fù)責(zé)各個模塊的初始化、自檢、單片機自身資源的初始化。系統(tǒng)主程序由讀卡、按鍵掃描和顯示更新構(gòu)成,完成控制和協(xié)調(diào)各個模塊的正常工作。
下面針對其中的主要模塊MFRC522和TM1640的驅(qū)動程序進(jìn)行介紹。
2.1 MFRC522驅(qū)動程序設(shè)計
在系統(tǒng)設(shè)計中MFRC522模塊使用的是SPI接口,與單片機的連接為:
(1)NRSTPD連接單片機的P1.4。
(2)CS連接單片機的P1.0。
(3)SCK連接單片機的P1.1。
(4)MOSI連接單片機的P1.2。
(5)MISO連接單片機的P1.3。
MFRC522的工作過程可分成四步:尋卡→防沖突→選卡→讀/寫卡。
2.1.1 尋卡
status=? MFRC522_Request(PICC_REQIDL,str);? //尋卡,返回卡的類型 If? (status ==MI_OK)
{
Uart1_SendChar(str[0]);
Uart 1_SendChar(str[1]);
}
在以上程序中向FIFO寫入PICC_REQIDL命令,等待執(zhí)行PCD_TRANSCEIVE命令將FIFO中數(shù)據(jù)通過天線發(fā)送出去。如果有卡在天線的作用范圍內(nèi),那么通過卡通信返回卡類型。如果沒有則無返回數(shù)據(jù)。
具體卡類型的代碼如表1所示。
2.1.2 防沖突
由于是非接觸式的IC卡,所以在同一時間可能存在多張卡的讀寫,這時對于讀寫器的識別便會產(chǎn)生沖突。根據(jù)每張卡的卡序列號都不相同,根據(jù)接收到的卡序列號信息中具有至少有1位既是0又是1 (即該位的前、后半部都有副載波調(diào)制)的特點,因此可以根據(jù)第1個沖突位將其置1,然后再校驗第2個,通過該方法可以排除多余的卡,這個過程重復(fù)執(zhí)行直到某張卡沒有產(chǎn)生沖突時才選中該卡。具體程序如下。
status? = MFRC522_Anticoll(str);? //防沖突,返回卡的序列號4字節(jié)
memcpy(serNum,? str,? 5);
If? (status ==MI_OK)
{
Uart1 _SendChar(ser_Num[0]);
Uart1_SendChar(ser_Num[1]);
Uart1_SendChar(ser_Num[2]);
Uart1_SendChar(ser_Num[3]);
Uart1_SendChar(ser_Num[4]);
}
2.1.3 選卡
選卡程序如下:
Size = MFRC522_SelectTag(ser_Num); //返回卡容量
If? (size !=0)
{
Uart1_SendChar(size);
}
2.2 TM1640驅(qū)動程序設(shè)計
由于單片機的I/O有限無法滿足點陣的驅(qū)動,所以系統(tǒng)中選用了LED驅(qū)動專用的TM1640來作為驅(qū)動模塊。
以下指令用來設(shè)置顯示器的顯示模式和LED驅(qū)動器的不同狀態(tài)。首先只有當(dāng)指令START有效后,才能通過DIN輸入的第一條指令。再經(jīng)過譯碼取得最高位的比特位來區(qū)別不同的指令。
/******初始化TM1640******/
void init_tm1640_1()
{
sda4=1;
scl4=1;
start_1();
write_1(0x44); //設(shè)置數(shù)據(jù)
}
其指令設(shè)置分類如表2所示。
表2 指令設(shè)置表
B7 B6 指令
0 1 數(shù)據(jù)命令設(shè)置
1 0 顯示控制命令設(shè)置
1 1 地址命令設(shè)置
3 結(jié)束語
本系統(tǒng)由硬件設(shè)備及軟件設(shè)計兩部分組成,對點陣設(shè)計及驅(qū)動模塊的組成進(jìn)行了詳細(xì)的闡述并對軟件驅(qū)動及防沖突設(shè)計進(jìn)行編程。通過該系統(tǒng)的開發(fā)研究進(jìn)一步解決了中小學(xué)學(xué)生在校上課、放學(xué)和離校等信息的顯示,支持學(xué)生使用RFID卡刷卡進(jìn)行在校和離校狀態(tài)切換,通過按鍵進(jìn)行上課和放學(xué)狀態(tài)切換,確保家長可以根據(jù)系統(tǒng)對應(yīng)的LED燈顯示顏色及時掌握孩子的相關(guān)狀況,極大地方便了家長的日常接送,對于校園安全防控起到了一定積極的作用。
參考文獻(xiàn)
[1]陳大才. 射頻識別(RFID)技術(shù)[M]. 北京: 電子工業(yè)出版社, 2001.
[2]蔡錦達(dá), 吳偉鵬, 徐航暉. 非接觸式IC卡的內(nèi)部結(jié)構(gòu)與工作原理及其應(yīng)[J]. 企業(yè)技術(shù)開發(fā), 2005(10): 3-5.
[3]Klaus Finkenzeller. 射頻識別(RFID)技術(shù)[M]. 北京: 電子工業(yè)出版社, 2001.
[4]鄧偉, 劉暾東, 鄭中杰. MFRC522射頻模塊在門禁系統(tǒng)中的應(yīng)用[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2012(12): 38-41.
[5]陳保平, 王月波, 馬伯元. 基于MFRC522的Mifare射頻卡讀寫模塊開發(fā)[J]. 微計算機信息, 2007(32): 230-231.
[6]馬曉穎. 射頻IC MFRC522在智能儀表中的應(yīng)用[J]. 國外電子元器件, 2008(5): 57-60.
[7]黃俊祥, 陶維青. 基于MFRC522的RFID讀卡器模塊設(shè)計[J]. 微型機與應(yīng)用, 2010(22): 16-18.
[8]Philips Semiconductors. Data Sheet of Mifare Standard Card IC MF1 IC S50 Functional Specification[DB/OL]. http: //www. philips. com/semiconductors, 1998.
收稿日期:2021-03-14
作者簡介:盧彬鋒(1983—),男,本科,研究方向:電子應(yīng)用智能制造、大數(shù)據(jù)分析。