李五坡,董海霞
(1. 商丘職業(yè)技術(shù)學(xué)院 機(jī)電系,河南 商丘 476000; 2. 商丘技師學(xué)院,河南 商丘 476000)
目前的讀卡系統(tǒng)大多是以圖像掃描儀、攝像頭進(jìn)行信息錄入的,由于信息處理過(guò)程復(fù)雜,導(dǎo)致工作速度慢、效率低. 其系統(tǒng)龐大,軟硬件都很復(fù)雜,因而成本高. 因此,迫切需要一種系統(tǒng)簡(jiǎn)單、工作效率高、價(jià)格低廉的讀卡設(shè)備來(lái)完成這些枯燥而繁重的工作. 由于答題卡上的顏色差別很大,大多是黑白之分,可采用光電傳感器辨別,光電傳感器價(jià)格適中,成本遠(yuǎn)遠(yuǎn)低于圖像掃描儀[1]45-47.
光電讀卡器設(shè)計(jì)主要實(shí)現(xiàn)的功能是,以反射式光電傳感器為信息采集手段,經(jīng)過(guò)微處理器處理,再由串口通訊RS-232將信息發(fā)送到上位機(jī),由上位機(jī)中基于虛擬儀器開(kāi)發(fā)平臺(tái)Labview的評(píng)分系統(tǒng)對(duì)讀取的信息與標(biāo)準(zhǔn)答案一一對(duì)比,最后給出考生的最終得分,并且對(duì)最終的信息進(jìn)行相關(guān)處理和數(shù)據(jù)存儲(chǔ). 虛擬儀器在此系統(tǒng)中得到了充分的利用,它不但可顯示考生的最終得分,還可更加直觀地顯示需要統(tǒng)計(jì)的考生的其他信息.
在光電讀卡機(jī)設(shè)計(jì)中,下位機(jī)的控制中心需要一片微處理器. 其高端可選擇DSP、RAM等16位或32位微處理器,低端可選擇常用的8031,89c51,AT89S51等芯片. 因?yàn)?031需外擴(kuò)存儲(chǔ)器,89c51需要專(zhuān)門(mén)的燒寫(xiě)器,而AT89S51具有ISP功能,只需單片機(jī)的4個(gè)IO口便能夠通過(guò)上位機(jī)實(shí)現(xiàn)在線擦寫(xiě)、在線調(diào)試,便于系統(tǒng)的軟硬件調(diào)試.所以,在本設(shè)計(jì)中選擇了AT89S51[2]136-139.
本系統(tǒng)的核心是光電傳感器. 為了保證系統(tǒng)的可靠性,我們完成了反射式光電傳感器的實(shí)驗(yàn). 實(shí)驗(yàn)證明,限流電阻R=470Ω,L=8 mm時(shí),黑色卡和白色卡的輸出電壓差值最明顯. 因此,我們選擇了白色作為答題卡主色,2B鉛筆在上面涂的黑色更容易被傳感器識(shí)別. 答題卡和傳感器之間的距離暫定為8 mm.
設(shè)計(jì)中,整個(gè)系統(tǒng)供電用到了兩個(gè)不同的工作電壓:S51、LM339、LM393、LCD模塊EDM1602、MAX232和反射式光電傳感器均用+5V的電壓;電壓比較器的反相輸入端,即對(duì)傳感器輸出信號(hào)調(diào)理的閥值電壓不是一個(gè)固定值,隨著檢測(cè)對(duì)象情況的改變需要對(duì)此電壓進(jìn)行調(diào)整,但這個(gè)電壓一定是小于+5V的. 為此,可以用電位器把+5V的電壓分壓獲取合適的閥值電壓. 為了降低系統(tǒng)設(shè)計(jì)的復(fù)雜程度,電源采用了市場(chǎng)上常見(jiàn)的開(kāi)關(guān)型穩(wěn)壓電源,這種電源不但輸出電壓穩(wěn)定性好,而且轉(zhuǎn)換效率也很高.
光電讀卡器設(shè)計(jì),是以17路由反射式光電傳感器、電壓比較器、電阻等元器件組成的信息采集模塊為核心,以單片機(jī)AT89S51為控制中心,用EDM1602A液晶顯示屏實(shí)現(xiàn)閱讀信息的實(shí)時(shí)顯示功能;以RS232通用異步串行通訊為信息傳輸方式,由上位機(jī)中基于虛擬儀器開(kāi)發(fā)平臺(tái)Labview的評(píng)分系統(tǒng)進(jìn)行必要的分析和處理,再通過(guò)其他部件如電源、機(jī)械支架等使整個(gè)系統(tǒng)有機(jī)的組合在一起,從而實(shí)現(xiàn)設(shè)計(jì)所要求的各項(xiàng)功能. 其系統(tǒng)框圖如圖1.

圖1 系統(tǒng)總體方框圖
(1)反射式光電傳感器按答題卡上答案位置的排列形式,固定在PCB板上,辨別答案的填涂情況,完成對(duì)答題卡上的信息的采集.
(2)由于傳感器輸出的信息是不規(guī)則的,需要調(diào)理后才可以處理,由電壓比較器LM339、LM393加外圍電阻等對(duì)信號(hào)進(jìn)行調(diào)理并送至S51.
(3)用S51的P0、P1口作為信號(hào)輸入口,通過(guò)讀這些IO口,辨別出A、B、C、D,實(shí)現(xiàn)對(duì)所涂答案的獲取.
(4)用S51的P2口及P3的部分端口與EDM1602A液晶顯示屏進(jìn)行信息傳遞,并實(shí)現(xiàn)對(duì)S51采集到信號(hào)的實(shí)時(shí)顯示功能,方便調(diào)試.
(5)用MAX232及外圍器件,實(shí)現(xiàn)把采集到的數(shù)據(jù)傳遞至上位機(jī),由上位機(jī)進(jìn)行數(shù)據(jù)分析和處理.
(6)上位機(jī)中基于虛擬儀器開(kāi)發(fā)平臺(tái)Labview的評(píng)分系統(tǒng),把串口傳輸過(guò)來(lái)的信息進(jìn)行分析處理,最后給出考生的最終得分,并且對(duì)最終的信息進(jìn)行相關(guān)處理和數(shù)據(jù)存取[3]76-78.
本系統(tǒng)所有軟件的調(diào)試都在Keil 51完成,因?yàn)镵eil 51生成的目標(biāo)代碼效率非常高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解.
主程序是一個(gè)死循環(huán)體,在循環(huán)體外有各個(gè)被調(diào)用的子程序、中斷服務(wù)子程序等各程序段,在主循環(huán)程序的執(zhí)行過(guò)程中調(diào)用這些子程序或者被中斷后進(jìn)行中斷處理. 主程序流程圖如圖2.

圖2 主程序流程圖

圖3 中斷服務(wù)子程序流程圖
為了提高單片機(jī)的運(yùn)行效率,在沒(méi)有答題卡送入時(shí)處于等待狀態(tài),采用中斷的方式來(lái)實(shí)現(xiàn)讀卡功能. 根據(jù)現(xiàn)有答題卡的格式,把同步信號(hào)接入P3.2口,用外部中斷0以中斷的方式進(jìn)入讀卡狀態(tài),其余16個(gè)信號(hào)線接P2、P0口. 當(dāng)答題卡送入時(shí),由同步信號(hào)觸發(fā)中斷,然后分別對(duì)P2、P0口進(jìn)行讀操作,用軟件分辯各題信息,然后把讀到的信息存入答案寄存器,以供后續(xù)處理[4]87-92. 中斷服務(wù)子程序流程圖如圖3所示.
實(shí)踐表明,此光電讀卡機(jī)可行性設(shè)計(jì)可實(shí)現(xiàn)所要求的功能,并且整套系統(tǒng)軟硬件設(shè)計(jì)簡(jiǎn)單,操作方便 ,經(jīng)濟(jì)實(shí)用,總成本可控制在千元以?xún)?nèi),具有很高的推廣應(yīng)用價(jià)值.
參考文獻(xiàn):
[1] 王慶有.光電技術(shù)[M].北京:電子工業(yè)出版社,2005.
[2] 甘登岱.ProtelDxp電路設(shè)計(jì)與制版適用教程[M].北京:人民郵電出版社,2003.
[3] 童詩(shī)白,華成英.模擬電子技術(shù)[M].北京:高等教育出版社,2003.
[4] 徐愛(ài)釣,彭秀華.單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2002.