版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
智能卡門禁系統(tǒng)設(shè)計(jì)11設(shè)計(jì)要求智能卡的應(yīng)用并不是簡單的讀寫卡操作,而是一個(gè)綜合性的工程項(xiàng)目。它不僅包括卡和讀寫模塊的選擇,還涉及到讀寫模塊的控制、數(shù)據(jù)的傳輸、數(shù)據(jù)的處理和存儲(chǔ);既需要有硬件應(yīng)用的知識(shí)、也還必須具有軟件方面的能力。下面我們以一個(gè)完整的應(yīng)用系統(tǒng)為例,詳細(xì)地描述了各組成部分的設(shè)計(jì)要求、完成的功能及具體的實(shí)現(xiàn)方法。智能卡門禁系統(tǒng)設(shè)計(jì)任務(wù):智能卡門禁系統(tǒng)一一門禁機(jī)模塊的設(shè)計(jì)(1) 非接觸式IC卡讀寫頭部分主要內(nèi)容:讀頭部分采用非接觸智能卡讀寫模塊,由讀卡器讀入數(shù)據(jù)并加以保存,智能卡按常規(guī)要具有加密和數(shù)據(jù)分區(qū)存儲(chǔ)功能,讀寫頭的讀寫距離在5-10厘米左右,必須具有掉電保護(hù)、精確時(shí)間記時(shí)和顯示,3K—5K的臨時(shí)數(shù)據(jù)存儲(chǔ)。(2) 門禁機(jī)主控模塊主要內(nèi)容:智能門禁機(jī)主控模塊是智能門禁機(jī)系統(tǒng)的核心部分,主要包括MCU、鍵盤、顯示、電子時(shí)鐘、外部數(shù)據(jù)存儲(chǔ)器及掉電保護(hù)和看門狗電路,有精確時(shí)間記時(shí)和顯示。智能卡門禁系統(tǒng)一一系統(tǒng)管理模塊的設(shè)計(jì)(1) 系統(tǒng)管理主控模塊設(shè)計(jì)主要內(nèi)容:設(shè)計(jì)門禁上層軟件的主控模塊,其主要實(shí)現(xiàn)的功能是最高權(quán)限卡對(duì)管理員和一般用戶發(fā)卡,管理員對(duì)一般用戶發(fā)卡。能對(duì)丟失的卡進(jìn)行掛失,對(duì)找回的卡進(jìn)行解掛,同時(shí)還要具備查找功能。(2) 系統(tǒng)管理的數(shù)據(jù)庫管理軟件設(shè)計(jì)主要內(nèi)容:運(yùn)用高級(jí)語言編程,制作數(shù)據(jù)庫管理軟件。采集下位機(jī)的數(shù)據(jù)并保存,然后管理采集到的數(shù)據(jù),具有采集、數(shù)據(jù)更新、查詢統(tǒng)計(jì)和報(bào)表的打印功能智能卡門禁系統(tǒng)一一數(shù)據(jù)傳輸模塊的設(shè)計(jì)主要內(nèi)容:完成中央控制電腦與門禁讀寫器之間的數(shù)據(jù)傳輸協(xié)議的設(shè)計(jì),能實(shí)現(xiàn)主、從機(jī)的雙向數(shù)據(jù)傳輸及一對(duì)一、一對(duì)多的數(shù)據(jù)傳輸。2總體方案根據(jù)設(shè)計(jì)要求,整個(gè)智能卡門禁系統(tǒng)分為三大部分:其一是讀寫器部分,包括MCU.復(fù)位電路、時(shí)鐘電路、顯示電路、鍵盤、數(shù)據(jù)存儲(chǔ)等主控模塊及非接觸IC卡讀寫模塊和電鎖驅(qū)動(dòng)部分;其二是中央控制電腦的軟件管理系統(tǒng)模塊;其三是中央控制電腦與讀寫器之間的數(shù)據(jù)傳輸模塊。其總體方案見圖5.1。
中蟲技由I電16中蟲技由I電16圖1非接觸式IC卡門禁系統(tǒng)框圖3非接觸式IC卡門禁機(jī)的設(shè)計(jì)系統(tǒng)米用Philips公司的非接觸智能IC卡Mifare1卡,以M1卡作為用戶卡,以用戶卡的序列號(hào)SN(全球唯一)為依據(jù)控制門的開啟。因?yàn)樗且粋€(gè)高頻卡(工作頻率為13.5MHZ),有較強(qiáng)的抗干擾能力、讀寫距離遠(yuǎn)(5MM—10MM)。首先,在發(fā)卡系統(tǒng)(中央控制PC機(jī))里把用戶的卡號(hào)及個(gè)人信息輸入系統(tǒng)數(shù)據(jù)庫,并將該卡號(hào)作為合法卡號(hào)下載給所有門禁機(jī)。當(dāng)有一張M1卡在門禁機(jī)的有效工作范圍內(nèi)時(shí),系統(tǒng)會(huì)自動(dòng)向卡發(fā)出命令,卡接收到命令后向門禁機(jī)反饋其SN,門禁機(jī)判斷收到的卡號(hào)是否合法,合法則驅(qū)動(dòng)電磁門鎖開門,并實(shí)時(shí)上傳其開門記錄;如果是非法卡(未經(jīng)授權(quán)或已掛失的卡)則拒絕開門并上傳報(bào)警信息。只有最高授權(quán)者(掌握授權(quán)密碼)才可以發(fā)管理員卡,管理員必須用管理員卡方可登錄發(fā)卡系統(tǒng)進(jìn)行發(fā)卡/下傳合法卡號(hào)、掛失、解掛、下傳黑名單等操作。附錄二門禁機(jī)硬件原理圖由于采用了Philips公司的非接觸式Mifare1卡,所以卡的讀寫模塊也采用了以Philips公司最新推出的Mifare讀寫芯片MFRC500為核心開發(fā)的ZLG500A讀寫模塊。門禁機(jī)模塊的硬件原理圖見附錄二。通過AT89C52對(duì)ZLG500A的控制達(dá)到對(duì)卡的讀寫。系統(tǒng)結(jié)構(gòu)簡單,成本較低且具有信息量大和安全保密性好等特點(diǎn)。外圍配有RS232轉(zhuǎn)RS485接口能與PC機(jī)互連成網(wǎng)絡(luò),可以完成讀卡、顯示卡號(hào)和出入時(shí)間、身份識(shí)別、開鎖以及保存和上傳出入記錄、下載黑名單、設(shè)置開門權(quán)限等功能。門禁機(jī)模塊的主控軟件主要完成門禁機(jī)模塊的初始化、卡的識(shí)別、開啟門鎖及保存有關(guān)數(shù)據(jù)和數(shù)據(jù)的傳輸?shù)任宕蠊δ?。其總體工作流程如圖5.2所示:圖3非接觸式IC卡門禁機(jī)總體工作流程在完成整個(gè)門禁機(jī)模塊的設(shè)計(jì)和制作前, 首先必須明確非接觸式IC卡讀寫模塊的功能特性、接口規(guī)范和控制方式。本系統(tǒng)選用MIFARE1卡作為門禁鑰匙,相應(yīng)地,選用廣州周立功公司的ZLG500A讀寫模塊作為卡與門禁機(jī)交換數(shù)據(jù)的接口模塊。1.ZLG500A讀寫模塊特性1)功能特性圖5.3為ZLG500A非接觸式IC卡讀寫模塊,該模塊采用最新PHILIPS高集成ISO14443
讀卡芯片一MFRC500,能讀寫RC500內(nèi)EEPROM,提供三線SPI接口,并具有控制線輸出口,能與任何MCU接口。此外,該模塊四層電路板設(shè)計(jì),雙面表貼,EMC性能優(yōu)良;并自帶無源蜂鳴器信號(hào)輸出,能用軟件控制輸出頻率及持續(xù)時(shí)間。J1J2J1J2圖4ZLG500A模塊實(shí)物圖如圖5.3所示J1為與天線的接口J2為與MCU的接口,J1、J2的管腳排列和功能說明見表5.1:表5.1ZLG500A非接觸式IC卡讀寫模塊管腳說明(一)管腳符號(hào)描述J1-1GND地J1-2TX1天線發(fā)送1J1-3GND地J1-4TX2天線發(fā)送2J1-5GND地J1-6RX天線接收表5.1ZLG500A非接觸式IC卡讀寫模塊管腳說明(二)管腳符號(hào)類型描述J2-1SCLK輸入三線SPI接口時(shí)鐘線總是由外部MCU產(chǎn)生J2-2SDATA雙向數(shù)據(jù)線可雙向傳輸J2-3SS雙向傳輸啟動(dòng)線接MCU外部中斷J2-4VCCPWR電源正端J2-5RST復(fù)位內(nèi)部MCU復(fù)位瑞高電平有效J2-6GNDPWR電源負(fù)端J2-7CTRL輸出控制線輸出J2-8BZ輸出蜂鳴器信號(hào)輸出ZLG500模塊可方便地與任何MCU進(jìn)行接口,如圖5.4所示為ZLG500與MCS-51單片機(jī)圖5.4ZLG500與MCS-51單片機(jī)接口圖的典型接口。SCLK、SDATA、SS為ZLG500A與MCU相聯(lián)接的控制線,分別為片選SS、時(shí)鐘線SCLK和數(shù)據(jù)線SDATA。主控制器的MCU和讀卡模塊內(nèi)的MCU通過此三線相連,三根線上的實(shí)際電平是雙方口線狀態(tài)邏輯線與的結(jié)果。2)ZLG500三線串行讀卡模塊接口規(guī)范(1) 接口原理接口空閑時(shí)主機(jī)SS=1SCLK=0SDATA=0從機(jī)SS=1SCLK=1SDATA=0。其中SS和DATA是雙向的而時(shí)鐘線SCLK是單向的,即時(shí)鐘只能由主控制器產(chǎn)生,該信號(hào)必須嚴(yán)格遵守時(shí)序規(guī)范,否則將出現(xiàn)通信錯(cuò)誤讀卡模塊必須釋放該線。SS為數(shù)據(jù)發(fā)送使能,若一方有數(shù)據(jù)要發(fā)送給另一方,則該方控制SS線為低并在發(fā)送結(jié)束后將該線置高,接收數(shù)據(jù)方不得控制該線,雙方必須遵守通信協(xié)議不得同時(shí)控制該線。SDATA為數(shù)據(jù)線,由數(shù)據(jù)發(fā)送端控制數(shù)據(jù),接收端必須釋放該線。該線在一次傳輸開始時(shí)還同時(shí)作為數(shù)據(jù)接收端的響應(yīng)信號(hào)。(2) 時(shí)序圖如圖5.5所示,無論數(shù)據(jù)傳輸?shù)姆较蛉绾?,SPI線上信號(hào)的波形總是如下;Startfromsender StopfromsenderSS一 —圖5ZLG500時(shí)序圖由圖中可以看出,在SS為低的情況時(shí),時(shí)鐘和數(shù)據(jù)線上的信號(hào)才有效。且在SCLK為低時(shí)SDATA變化,在SCLK為高時(shí)SDATA應(yīng)保持穩(wěn)定。以上傳輸中從數(shù)據(jù)發(fā)送器請(qǐng)求開始至數(shù)據(jù)接收器響應(yīng)的時(shí)間是不確定的,取決接收器內(nèi)的MCU是否忙,有必要設(shè)置一個(gè)看門狗定時(shí)器對(duì)數(shù)據(jù)接收器的響應(yīng)進(jìn)行監(jiān)視,一旦接收器響應(yīng),則MCU必須根據(jù)數(shù)據(jù)傳輸?shù)姆较?,?yán)格控制以下幾個(gè)時(shí)間,以確保數(shù)據(jù)傳輸無誤。t1—數(shù)據(jù)接收器響應(yīng)至MCU產(chǎn)生第一個(gè)SCLK上升沿的時(shí)間。t2一兩個(gè)字節(jié)傳輸之間SCLK低電平的持續(xù)時(shí)間。t3—傳輸最后一個(gè)字節(jié)的最后一位的SCLK信號(hào)的上升沿至SS上升沿的時(shí)間。tH—SCLK信號(hào)的高電平持續(xù)時(shí)間。tL—SCLK信號(hào)的低電平持續(xù)時(shí)間。在數(shù)據(jù)傳輸?shù)姆较虿煌瑫r(shí),對(duì)時(shí)間t1—t3tH和tL都有各自不同的要求。(3)通信協(xié)議MCU與ZLG500的通信必須先由MCU發(fā)送命令和數(shù)據(jù)給ZLG500,ZLG500執(zhí)行命令完畢后,將命令執(zhí)行的狀態(tài)和響應(yīng)數(shù)據(jù)發(fā)回MCU0開始通信前,收發(fā)雙方必須處于空閑狀態(tài)。首先由MCU發(fā)出SS下降沿信號(hào),然后等待ZLG500載SDATA線上的響應(yīng),若在50ms內(nèi)為檢測到此信號(hào),則退出本次傳輸。若正確響應(yīng),則MCU可將命令和數(shù)據(jù)發(fā)送出去。然后MCU等待ZLG500發(fā)回的狀態(tài)和響應(yīng)數(shù)據(jù)。也即等待^、線上的下降沿信號(hào),若在50ms內(nèi)為檢測到此信號(hào),則退出本次傳輸,若正確檢測到$$信號(hào),則可以接收狀態(tài)和數(shù)據(jù)。ZLG500初始化的子程序如下:SCLK BITP1.0
SDATABIT P1.1SSBIT P1.2RSTBITP3.3Zlg500:SETBRST;ZLG500內(nèi)部復(fù)位LCALLDELAY_50MSCLRRSTLCALLDELAY_50MSSETBSS;處于空閑狀態(tài)CLRSDATACLRSCLKMOV 58H,#11HMOV59H,#11HMOV5AH,#11HMOV5BH,#11HLCALLCONFIG;配置LCALLREQUEST;發(fā)送請(qǐng)求LCALLANTICOLL;防碰撞""""""""""";*個(gè)*個(gè)*******IFHAVECARD"""""""""""*個(gè)*個(gè)*******MOV A,52HCJNEA,#04H,SA123;A=04ISNOCARDLJMPSA234SA123:RETSA234:LCALLREAD_BLOCK;從存儲(chǔ)器中讀取數(shù)據(jù)LCALLDELAY_100MSMOVR2,#20MOVR0,#58HMOVR1,#80HLCALLCOMPARE;進(jìn)行卡號(hào)的比較和驗(yàn)證REL13:SETBFLAGLCALLREL123JBFLAG,REL13RET上述程序中CONFIG子程序?yàn)镽C500的復(fù)位和配置子程序,是由MCU向ZLG500發(fā)出的不帶數(shù)據(jù)的命令程序;REQUEST子程序是MCU向ZLG500發(fā)出的帶一個(gè)字節(jié)數(shù)據(jù)的命令程序,主要是檢查在有效范圍內(nèi)是否有卡存在;ANTICOLL子程序是防沖突操作,必須在執(zhí)行了REQUEST命令后立即執(zhí)行。MCU與ZLG500之間的通信一般遵循如下的數(shù)據(jù)格式MCU向ZLG500發(fā)出的命令模式的格式如下:SeqNrCommandLenData[0?N]BCCINFO[0] INFO[n]
SeqNrStatusLenSeqNrStatusLenData[0?N]BCC其中:SeqNr: 1Byte 是數(shù)據(jù)交換包的序號(hào)Command: 1Byte 是命令字符Len: 1Byte 是數(shù)據(jù)的長度Data[…] LenByte是數(shù)據(jù)字節(jié)BCC: 1Byte 是一個(gè)字節(jié)的BCC效驗(yàn)INFO[0] INFO[n]其中:SeqNr:1Byte 是數(shù)據(jù)交換包的序號(hào)status:Len:Data[…一BCC1Byte是狀態(tài)字符1Byte是數(shù)據(jù)的長度LenByte是數(shù)據(jù)字節(jié)1Byte 是一個(gè)字節(jié)的BCC效驗(yàn)按照上述數(shù)據(jù)格式傳輸編制U的CONFIG、REQUEST和A1N1ICOLL子程序清單如下:個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè) lunfivt 個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)CONFIG:MOVMOV"""""""""""""""***************REQUEST:MOV 60H,#00H ; 數(shù)據(jù)交換包的序號(hào)MOV 61H,#52H ;配置命令字符代碼MOV 62H,#00H ;數(shù)據(jù)的長度為0LCALL BCC_SUM0 ; BCC效驗(yàn)子程序MOV 63H,A ; BCC_SUMA,#00HR2,#04HMOVR0,#60H ;發(fā)送首地址LCALLSPI_SENDMOVR0,#30H ;接收起始地址LCALL_SPI_RCVRETREQUEST***********************MOVMOV 60H,#00H61H,#41HMOV 62H,#01HMOV 63H,#01HLCALL BCC_SUMMOV 64H,AMOV A,#00HMOV R2,#05HMOV R0,#60HLCALL SPI_SEND;數(shù)據(jù)交換包的序號(hào);請(qǐng)求命令字符代碼;數(shù)據(jù)的長度為1;請(qǐng)求模式的數(shù)據(jù)mode=01H;發(fā)送5個(gè)字節(jié)數(shù);60H_64H的數(shù)據(jù)發(fā)送MOV""""""""""""""*個(gè)*個(gè)**********;R0,#40H ;接收起始地址LCALLSPI_RCVRETANTICOLL***********************
ANTICOLL:MOV60H,#00;數(shù)據(jù)交換包的序號(hào)MOV61H,#42H;防碰撞命令字符代碼MOV62H,#01;數(shù)據(jù)的長度為1MOV63H,#00H;數(shù)據(jù)值為0LCALLBCC_SUMMOV64H,AMOVA,#00HMOVR2,#05H;發(fā)送5個(gè)字節(jié)數(shù)MOVR0,#60H;60H_64H的數(shù)據(jù)發(fā)送LCALLSPI_SENDMOVR0,#50H;存放數(shù)據(jù)LCALLSPI_RCVMOVA,52HCJNEA,#04H,L0MOV58H,53HMOV59H,54HMOV5AH,55HMOV5BH,56HMOVA,58HXRLA,59HXRLA,5AHXRLA,5BHMOV5CH,AMOVA,#00HCLRP3.4LCALLDELAY_50MSLCALLDELAY_50MSLCALLDELAY_50MSLCALLDELAY_50MSSETBP3.4L0: RET3)寫數(shù)據(jù)MCU——ZLG500除響應(yīng)信號(hào)外,三根線上的信號(hào)全由MCU產(chǎn)生。MCU在SS線上產(chǎn)生一個(gè)下降沿,發(fā)出請(qǐng)求數(shù)據(jù)傳輸?shù)男盘?hào),等待ZLG500響應(yīng)后本次數(shù)據(jù)傳輸開始,ZLG500將在SCLK為高時(shí)讀取SDATA線上的數(shù)據(jù),傳輸完畢后MCU應(yīng)在SS線上產(chǎn)生一個(gè)上升沿結(jié)束本次傳輸。寫數(shù)據(jù)的具體步驟可見表5.2。表5.2ZLG500A讀寫模塊寫數(shù)據(jù)步驟序號(hào)動(dòng)作發(fā)出者動(dòng)作動(dòng)作接收者動(dòng)作說明1MCUSDATA=1SCLK=0SS=T降沿ZLG500本次數(shù)據(jù)傳輸開始請(qǐng)求2ZLG500SDATA=上升沿MCU本次數(shù)據(jù)傳輸響應(yīng)3MCUSDATA-串行數(shù)據(jù)ZLG500數(shù)據(jù)傳輸4MCUSCLK=上升沿、延時(shí)、下降沿ZLG500產(chǎn)生時(shí)鐘ZLG500讀
數(shù)據(jù)5MCU重復(fù)動(dòng)作3、4傳送N8位ZLG500數(shù)據(jù)傳輸N字節(jié)6MCUSS=上升沿SDATA=0SCLK=0ZLG500本次數(shù)據(jù)傳輸結(jié)束傳輸過程中必須嚴(yán)格遵守以下時(shí)間要求:t1>7s,t2>14s,tH>7s,tL>9s,t3=任意下面是MCU向ZLG500寫入數(shù)據(jù)的子程序,為滿足上述時(shí)間要求,可通過加入空操作來實(shí)現(xiàn)。SPISEND:ANLP3,#0F7H;恢復(fù)SS的輸出功能,傳輸開始請(qǐng)求DECR0;發(fā)送數(shù)據(jù)的首地址SETBSDATACLRSCLKJBSDATA,$;SADATA仍為高則等待CLRSSMOVR5,#100DL33:MOVR6,#7DHDL44:JBSDATA,ASDF;MCU等待SDATAD的上升沿DJNZR6,DL44DJNZR5,DL33AJMPSPI_SENDASDF:ANLP1,#0FDH;STADA恢復(fù)輸出SENDBYTE:NOPINCR0NOPNOPMOVA,@R0MOVR3,#8 ;設(shè)置一個(gè)字節(jié)的位數(shù)NOPNOPSENDBIT:NOPRLCAMOVSDATA,C ;發(fā)送數(shù)據(jù)位NOPNOPSETBSCLK:NOPNOPCLRSCLKDJNZR3,SENDBITDJNZ R2,SENDBYTESETBSS;本次數(shù)據(jù)傳輸結(jié)束CLRSDATANOPJBSS,$RET4)讀數(shù)據(jù)ZLG500——MCU響應(yīng)信號(hào)SCLK信號(hào)由MCU產(chǎn)生,SS信號(hào)和SDATA信號(hào)由ZLG500產(chǎn)生。ZLG500會(huì)在SS線上產(chǎn)生一個(gè)下降沿發(fā)出請(qǐng)求數(shù)據(jù)傳輸?shù)男盘?hào),等待MCU響應(yīng)后本次數(shù)據(jù)傳輸開始,MCU將在SCLK為高時(shí)讀取SDATA線上的數(shù)據(jù),傳輸完畢后ZLG500將會(huì)在SS線上產(chǎn)生一個(gè)上升沿結(jié)束本次傳輸。讀數(shù)據(jù)的具體步驟可見表5.3表5.3ZLG500A讀寫模塊讀數(shù)據(jù)步驟動(dòng)作序號(hào)動(dòng)作發(fā)出者動(dòng)作動(dòng)作接收者動(dòng)作說明1ZLG500SDATA=1SS=下降沿MCU本次數(shù)據(jù)傳輸開始請(qǐng)求2MCUSDATA=上升沿ZLG500本次數(shù)據(jù)傳輸響應(yīng)3ZLG500SDATA-串行數(shù)據(jù)MCU數(shù)據(jù)傳輸4MCUSCLK=上升沿、延時(shí)、下降沿ZLG500MCU產(chǎn)生時(shí)鐘,且讀取數(shù)據(jù)5雙方重復(fù)動(dòng)作3、4傳送N8位雙方數(shù)據(jù)傳輸N字節(jié)6ZLG500SS=上升沿,SDATA=0MCU本次數(shù)據(jù)傳輸結(jié)束傳輸過程中必須嚴(yán)格遵守以下時(shí)間要求t1>14s,t2>16s,tH>6s,tL>6s,t3>9s下面是MCU從ZLG500讀取數(shù)據(jù)的子程序,同理,為滿足上述時(shí)間要求,可通過加入空操作來實(shí)現(xiàn)。SPI_RCV:ORLP3,#08H;SS設(shè)置為輸入ANLP1,#0FDH;SDATA設(shè)置為輸出DECR0CLRSCLKSETBSDATANOPORLP1,#02;SDATA設(shè)置為輸入NOPNOPRCVBYTE:MOVR3,#8INCR0RCVBIT:NOPNOPSETBSCLKNOPNOPMOV C,SDATA ;讀取一位RLC ANOPNOPCLRSCLKNOPNOPDJNZR3,RCVBITMOV@R0,A ;讀取的一個(gè)字節(jié)存入指定地址NOPNOPJNB SS,RCVBYTEANLP1,#0FDH;SDATA設(shè)置為輸出CLR SDATARET2.門禁機(jī)主控模塊上面我們對(duì)ZLG500A讀寫模塊的功能特性、接口規(guī)范和控制方式作了比較詳細(xì)地講解,在此基礎(chǔ)上,可以進(jìn)一步完成MCU對(duì)ZLG500A的讀寫和控制,如果附加上周邊的輔助功能和驅(qū)動(dòng)控制,就可以形成一個(gè)完整的智能卡讀寫器。首先,我們看一下MCU部分的設(shè)計(jì)和控制的實(shí)現(xiàn)。圖5.6是MCU控制框圖,從圖中可以看出MCU除了完成對(duì)ZLG500A讀寫模塊的控制外,還要承擔(dān)其它功能的控制,主要包括四大部圖6門禁機(jī)控制框圖分:鍵盤和顯示部分、實(shí)時(shí)時(shí)鐘和掉電保護(hù)部分、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)傳輸部分、驅(qū)動(dòng)控制部分。1)鍵盤和顯示部分鍵盤和顯示是一般智能化儀器儀表均須具有的功能,是人機(jī)交互最主要的方式。不同的智能儀器,隨著其功能、MCU資源的占用、使用環(huán)境等各種條件的不同,可采用多種鍵盤和顯示方案。本應(yīng)用系統(tǒng)中,由于外圍部件較多,MCU資源占用較大,為了盡可能的減少M(fèi)CU輸入輸出I/O的占用,鍵盤的設(shè)計(jì)采用串入并出的方式,利用一片74LS164,占用MCU的四根I/O口,就可以實(shí)現(xiàn)16個(gè)鍵的全部功能。具體電路見圖5.7:
P2.6P2.7RxDP2.6P2.7RxDMCUTkDJ1KK2串行口I們擴(kuò)展的行列式鍵盤圖7串行口擴(kuò)展的行列式鍵盤從系統(tǒng)監(jiān)控軟件的角度來看,僅僅完成鍵盤掃描,讀取當(dāng)前時(shí)刻的鍵盤狀態(tài)是不夠的,還有不少問題需要解決,否則,在操作鍵盤時(shí)就容易引起誤操作、失控等現(xiàn)象。首先是去抖動(dòng)處理。按鍵的觸點(diǎn)在閉合和斷開時(shí)均會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行。最常用的一種方法是軟件延時(shí)的方法來避開抖動(dòng)階段,延時(shí)過程一般取10ms~50ms。其次是連擊的處理。當(dāng)按下某個(gè)鍵時(shí),鍵盤處理程序便查找相應(yīng)的功能號(hào),并轉(zhuǎn)到相應(yīng)的功能模塊程序去執(zhí)行,如果這時(shí)操作者還沒有釋放按鍵,MCU就會(huì)反復(fù)執(zhí)行該按鍵對(duì)應(yīng)的功能,好像操作者在連續(xù)操作該鍵一樣。本系統(tǒng)中需要按鍵去改變系統(tǒng)的實(shí)時(shí)日歷,如果出現(xiàn)連擊現(xiàn)象,操作者就很難設(shè)定時(shí)間。要解決連擊的問題最關(guān)鍵是一次按鍵只讓它響應(yīng)一次,該鍵不釋放就不執(zhí)行第二次。為此要分別檢測到按鍵按下的時(shí)刻和釋放的時(shí)刻。有兩種程序結(jié)構(gòu)都可以解決連擊的問題,一是按下鍵盤就執(zhí)行,執(zhí)行完成后等待操作者釋放按鍵,在末放前不再執(zhí)行指定的功能,從而避免了一次按鍵重復(fù)執(zhí)行的現(xiàn)象。二是在按鍵釋放后再執(zhí)行指定的功能,同時(shí)可以避免連擊,但與前一種相比,給人一種反應(yīng)遲鈍的感覺。具體采用哪種結(jié)構(gòu),可根據(jù)實(shí)際情況而定。關(guān)于鍵盤控制的具體編程,可參考有關(guān)的書籍和應(yīng)用說明,在此就不再說明。顯示是人與計(jì)算機(jī)系統(tǒng)打交道所必不可少的部分,本系統(tǒng)要求門禁在不打卡時(shí)具備顯示當(dāng)前時(shí)間,打卡時(shí)顯示該卡卡號(hào)及打卡時(shí)間。為此,選用了具有有良好的顯示界面的圖形點(diǎn)陣液晶顯示器。圖形點(diǎn)陣液晶顯示器分辨率較高,顯示出的結(jié)果非常細(xì)膩,且能夠顯示各種復(fù)雜圖形,為以后的擴(kuò)展留下了余地。本系統(tǒng)所選擇的是JG19264A圖形點(diǎn)陣液晶,圖5.8為JG19264A的結(jié)構(gòu)框圖,引腳說明見表5.4。圖8JG19264A圖形點(diǎn)陣液晶結(jié)構(gòu)框圖圖8JG19264A圖形點(diǎn)陣液晶結(jié)構(gòu)框圖表4JG19264A圖形點(diǎn)陣液晶引腳說明引腳符號(hào)電平說明1DB7H/L數(shù)據(jù)位72DB6H/L數(shù)據(jù)位63DB5H/L數(shù)據(jù)位54DB4H/L數(shù)據(jù)位45DB3H/L數(shù)據(jù)位36DB2H/L數(shù)據(jù)位27DB1H/L數(shù)據(jù)位18DB0H/L數(shù)據(jù)位09EH,HfL片使能信號(hào)10R/WH/LH:讀;L:寫11RSH/LH:數(shù)據(jù);L:指令12V0可調(diào)LCD驅(qū)動(dòng)電壓,對(duì)比度調(diào)節(jié)13VDD5.0V電源電壓14VSS0V接地(GND)15CSBH/L片選信號(hào),00,01,10分別對(duì)應(yīng)一片IC16CSAH/L的SEG,11三片均不選中17VEE-10.0VLCD驅(qū)動(dòng)負(fù)電源18RSTL復(fù)位信號(hào),低有效19LED+背光正極20LED-背光負(fù)極JG19264A液晶的分辨率為192X64,該液晶的顯示內(nèi)核是HD61202U與HD61203U,其中一片HD61203作為64路行驅(qū)動(dòng)器,三片HD61203U組成196點(diǎn)列的列驅(qū)動(dòng)器組。所以內(nèi)置HD61202U圖形液晶顯示模塊的電路特性實(shí)際上是HD61203U和HD61202U組合的電路特性。HD61203U是帶有振蕩器和顯示時(shí)序發(fā)生器的行驅(qū)動(dòng)器。它具有64路行驅(qū)動(dòng)輸出,但它的特點(diǎn)在于它本身帶有振蕩器和時(shí)序發(fā)生器,通過外接振蕩電阻電容使其上電后就以其設(shè)定的占空比系數(shù)1/N值開始行掃描工作;它可以自行完成行、列驅(qū)動(dòng)時(shí)序的生成及分配,自動(dòng)進(jìn)行行驅(qū)動(dòng)的工作;同時(shí)向列驅(qū)動(dòng)器輸出同步信號(hào)及顯示數(shù)據(jù)驅(qū)動(dòng)所需的脈沖時(shí)序,控制列驅(qū)動(dòng)器HD61202U的工作,所以我們只用控制HD61202U就可以操作整個(gè)液晶模塊。HD61202U是帶顯示存儲(chǔ)器的圖形液晶顯示列驅(qū)動(dòng)控制器。它的特點(diǎn)是內(nèi)置64X64位的顯示存儲(chǔ)器,顯示屏上各像素點(diǎn)的顯示狀態(tài)與顯示存儲(chǔ)器的各位數(shù)據(jù)一一對(duì)應(yīng),顯示存儲(chǔ)器的數(shù)據(jù)直接作為圖形顯示驅(qū)動(dòng)信號(hào)。顯示數(shù)據(jù)為“1”,相應(yīng)的像素點(diǎn)顯示;顯示數(shù)據(jù)為“0”相應(yīng)的像素點(diǎn)就不顯示。同時(shí)HD61202U配備了一套顯示存儲(chǔ)器的管理電路和與計(jì)算機(jī)的連接口電路。HD61202U一共可以有七條指令,從作用上可分為兩類。第一條和第二條指令為顯示狀態(tài)設(shè)置類;其余指令為數(shù)據(jù)讀/寫操作指令,見表5.5表5HD61202U的指令一覽表。指令名稱控制信號(hào)控制代碼D/IR/WD7D6D5D4D3D2D1D0顯示開關(guān)設(shè)置000011 111D顯示起始行設(shè)置0011L5L4L3L2L1L0頁面地址設(shè)置001011 1P2P1P0
列地址設(shè)置000 1C5C4C3C2C1C0讀取狀態(tài)字01BUSY0on/offreset0 0 0 0寫顯示數(shù)據(jù)10數(shù)據(jù)讀顯示數(shù)據(jù)11數(shù)據(jù)下面是各個(gè)指令的功能:(1)讀狀態(tài)字(StatusRead)BUSY0ON/OFFRESET0000狀態(tài)字是計(jì)算機(jī)了解HD61202U當(dāng)前狀態(tài),或是HD61202U向計(jì)算機(jī)提供其內(nèi)部狀態(tài)的唯一信息渠道。狀態(tài)字為一個(gè)字節(jié),其中僅有3位有效位,它們是:BUSY:表示當(dāng)前HD61202U接口控制電路運(yùn)行狀態(tài)。BUSY=1表示HD61202U正在處理計(jì)算機(jī)發(fā)來的指令或數(shù)據(jù)。此時(shí)接口電路被封鎖,不能接受除讀狀態(tài)字外的任何操作。BUSY=0表示HD61202U接口控制電路已處于”準(zhǔn)備好”狀態(tài),等待計(jì)算機(jī)的訪問。ON/OFF:表示當(dāng)前HD61202U的工作狀態(tài),即反映RST端的電平狀態(tài)。當(dāng)RST為低電平狀態(tài)時(shí),HD61202U處于復(fù)位工作狀態(tài),REST=1。當(dāng)RST為高電平狀態(tài)時(shí),HD61202U為正常工作狀態(tài),RESET=0。在指令設(shè)置和數(shù)據(jù)讀寫時(shí)要注意狀態(tài)字中的BUSY標(biāo)志。只有在BUSY=0時(shí),計(jì)算機(jī)對(duì)HD61202U的操作才能有效。因此計(jì)算機(jī)在每次對(duì)HD61202U操作之前,都要讀出狀態(tài)字判斷BUSY是否為”0”。若不為”0”,則計(jì)算機(jī)需要等待,直至BUSY=0為止。計(jì)算機(jī)對(duì)HD61202U操作的流程如圖5.9。圖9HD61202U操作的流程(2)顯示開設(shè)置(Displayon/off)0000000D該指令設(shè)置顯示開/關(guān)觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)鎖存的工作方式,從而控制顯示位為開/關(guān)的控制位。當(dāng)D=1為顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的顯示效果。此時(shí)在狀態(tài)字中ON/OFF=1。當(dāng)D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被置零,顯示存儲(chǔ)器并沒有被破壞,在狀態(tài)字中ON/OFF=0。顯示起始行設(shè)置(DisplayStartLine)11L5L4L3L2L1L0該指令設(shè)置了顯示起始行寄存器的內(nèi)容。HD61202U有64行顯示的管理能力,該指令中L5?L0顯示起始行的地址,取值在0~3FH(1~64行)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對(duì)應(yīng)的顯示存儲(chǔ)器的內(nèi)容,則顯示屏將呈現(xiàn)顯示內(nèi)容向上或向下平滑滾動(dòng)的顯示效果。頁面地址設(shè)置(SetPage(Xaddress))1__0__1 __1 __1 P2P1P0該指令設(shè)置了頁面地址:X地址寄存器的內(nèi)容。HD61202U將顯示存儲(chǔ)分成8頁,指令代碼中P2~P0就是要確定當(dāng)前所要選擇的頁面地址,取值范圍為00~07H,代表顯示第1~8頁。該指令規(guī)定了以后的讀/寫操作將在哪一個(gè)頁面上進(jìn)行。列地址設(shè)置(SetYaddress)0__1 C5C4C3C2C1C0該指令設(shè)置了Y地址計(jì)數(shù)器的內(nèi)容,C5?C0=0?3FH(1?64)代表某一頁面上的某一單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個(gè)單元上進(jìn)行。Y地址計(jì)數(shù)器具有自動(dòng)加1功能經(jīng),在每一次讀/寫數(shù)據(jù)后它將自動(dòng)加1,所以在連續(xù)進(jìn)行讀/寫數(shù)據(jù)時(shí),Y地址計(jì)數(shù)器不必每一次都設(shè)置一次。頁面地址的設(shè)置和列地址的設(shè)置將顯示存儲(chǔ)單元唯一確定下來,為后來的顯示數(shù)據(jù)的讀/寫作了地址選通。寫顯示的數(shù)據(jù)(WriteDisplayData)1 0 數(shù) 據(jù)該操作將8位數(shù)據(jù)寫入先前已確定的顯示存儲(chǔ)器的單元內(nèi)。操作完成后列地址計(jì)數(shù)器自動(dòng)加一。讀顯示的數(shù)據(jù)(ReadDisplayData)1 1 數(shù) 據(jù)該操作是將HD61202U接口部分的輸出到寄存器內(nèi)容讀出,然后列地址自動(dòng)加一。本系統(tǒng)采用直接訪問式的接口方式,就是將液晶顯示模塊的接口作為存儲(chǔ)器或I/O設(shè)備直接掛在計(jì)算機(jī)總線上,計(jì)算機(jī)以訪問存儲(chǔ)器或I/O設(shè)備的方式操作液晶顯示模塊的工作。其具體的原理圖如圖5.10所示:MCU接口電路在圖中,MCU通過P2.6控制CSA,P2.7控制CSB,以選通液晶顯示屏上各區(qū)的控制器HD61202U,
其關(guān)系如表5.6所示:表5.6液晶顯示屏控制關(guān)系CSACSBJG1926400左區(qū)01中區(qū)10右區(qū)11末選另外,MCU的P2.1接液晶顯示模塊的R/W,用來控制數(shù)據(jù)總線的數(shù)據(jù)流向;用P2.0接液晶顯示模塊的RS,用來區(qū)分是數(shù)據(jù)還是指令;用P2.4接液晶顯示模塊的E,控制模塊的使能;P0口直接與液晶顯示模塊的雙向數(shù)據(jù)/地址端相連。為了加強(qiáng)P0口的驅(qū)動(dòng)能力和減少外界的干擾,該口全部外接了上拉電阻。JG19264A的讀寫時(shí)序圖如圖5.12所示,按照此時(shí)序編程,MCU即可對(duì)液晶實(shí)現(xiàn)正常的控制。圖11JG19264A讀時(shí)序圖圖12JG19264A寫時(shí)序圖2)實(shí)時(shí)時(shí)鐘和掉電保護(hù)部分在門禁系統(tǒng)中,需要實(shí)時(shí)記錄出入數(shù)據(jù)(開門的卡號(hào)及其出現(xiàn)的時(shí)間)。若采用單片機(jī)
軟件計(jì)時(shí),一方面需要占用硬件計(jì)數(shù)器資源,另一方面需要設(shè)置中斷、查詢等,耗費(fèi)單片機(jī)的CPU資源。而在系統(tǒng)中采用實(shí)時(shí)時(shí)鐘芯片則能很好地解決這個(gè)問題。實(shí)時(shí)時(shí)鐘采用了美國DALLAS公司推出的一種高性能、低功耗、帶RAM的DS1302芯片,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,工作電壓2.5?5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31X8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。下圖為DS1302的管腳及內(nèi)部結(jié)構(gòu)圖:腿Vcc,CND圖】展腿Vcc,CND圖】展I3M管腳圖及內(nèi)部結(jié)構(gòu)圖圖13DS1302的管腳及內(nèi)部結(jié)構(gòu)圖DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。具體的參數(shù)見表5.6。表5.6DS1302寄存器參數(shù)表寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作765432 1 0秒寄存器80H81H00~59CH10SECSEC分鐘寄存器82H83H00~59010MINMIN小時(shí)寄存器84H85H01~12或00~2312/2401HRHR日期寄存器86H87H01~282930310010DATADATA月份寄存器88H89H01~120000MONTH周日寄存器8AH8BH01~0700000DAY年份寄存器8CH8DH00~9910YEARYEARDS1302的控制字和數(shù)據(jù)讀寫時(shí)序見圖5.14:7 6 5 4 3 2 1 0圖3控制字節(jié)的含義RSTI/ODATALORSTI/ODATALOBYTEIIDATAlOBYTfo圖3數(shù)據(jù)讀寫時(shí)序圖14DS1302的控制字和數(shù)據(jù)讀寫時(shí)序控制字節(jié)的最高有效(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。DS1302的數(shù)據(jù)的寫入是在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7,DS1302是通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中置RST為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc32.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。本系統(tǒng)實(shí)時(shí)時(shí)鐘模塊電路原理圖如圖5.15所示,MCU的P1.2、P1.3分別與DS1302的SCLK、I/O相連,VCC2接主電源,VCC1接后備電源,出現(xiàn)掉電時(shí)自動(dòng)轉(zhuǎn)入后備電源供電以防時(shí)鐘出現(xiàn)停止情況。X1、X2接外部晶振。圖5.15實(shí)時(shí)時(shí)鐘模塊電路原理圖MCU對(duì)DS1302的讀寫控制主要包括DS1302的初始化和讀取DS1302的時(shí)間和日期,初始化過程就是給DS1302賦予初始的時(shí)間和日期,詳見子程序SET1302,當(dāng)實(shí)時(shí)時(shí)鐘芯片被啟動(dòng)后,在沒有接受到新的初始化指令情況下,起內(nèi)部的時(shí)鐘將一直不停的運(yùn)行,從而保證時(shí)間的實(shí)時(shí)性和準(zhǔn)確性;MCU在任何時(shí)候都可以通過讀取DS1302內(nèi)部時(shí)間和日期寄存器中的值而獲得準(zhǔn)確的時(shí)間和日期,GET1302為時(shí)間和日期的讀取子程序。"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè);模塊名稱:DS1302.asm;功能:實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號(hào):DS1302;T_CLKBit P1.2 ;實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳T_IOBit P1.3 ;實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳T_RSTBit P3.6 ;實(shí)時(shí)時(shí)鐘復(fù)位線引腳"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)*********************************************************;子程序名:Set1302;功 能:設(shè)置DS1302初始時(shí)間,并啟動(dòng)計(jì)時(shí)。;說 明:;調(diào) 用:RTInputByte;入口參數(shù):初始時(shí)間在:Second,Minute,Hour,Day,Month,Week.YearL(地址連續(xù));返回值:無;影響資源:ABR0R1R4R7"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)*********************************************************Set1302:CLRT_RSTCLRT_CLKSETBT_RSTMOVB,#8EH;控制寄存器LCALLRTInputByteMOVB,#00H;寫操作前WP=0LCALLRTInputByteSETBT_CLKCLRT_RSTMOVR0,#SecondMOVR7,#7;秒分時(shí)日月星期年MOVR1,#80H;秒寫地址Set13021:CLRT_RSTCLRT_CLKSETBT_RSTMOVB,R1;寫秒分時(shí)日月星期年地址LCALLRTInputByteMOVA,@R0;寫秒數(shù)據(jù)MOVB,ALCALLRTInputByteINCR0CLRT_CLKSETBT_RSTMOV B,#8EH ;控制寄存器LCALLRTInputByteMOV B,#80H ;控制,WP=1,寫保護(hù)LCALLRTInputByteSETBT_CLKCLRT_RSTRET"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè);子程序名:Get1302;功 能:從DS1302讀時(shí)間;說 明:;調(diào) 用:RTInputByte,RTOutputByte;入口參數(shù):時(shí)間保存在:Second,Minute,Hour,Day,Month,Week.YearL;返回值:無;影響資源:ABR0R1R4R7"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)Get1302:MOV R0,#Second;MOV R7,#7MOV R1,#81H ;秒地址Get13021:CLR T_RSTCLR T_CLKSETB T_RSTINC R0CLR T_RSTDJNZ R7,Get13021RETRTInputByte:MOVR4,#8Inbit1:MOVA,BRRCAMOVB,AMOVT_IO,CSETBT_CLKCLRT_CLKDJNZR4,Inbit1RET"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)*********************************************************;讀1302一字節(jié)(內(nèi)部子程序)"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)RTOutputByte:MOVR4,#8Outbitl:MOVC,T_IORRCASETBT_CLKCLRT_CLKDJNZR4,Outbit1RET3)門禁記錄存儲(chǔ)與傳輸各門禁點(diǎn)的出入記錄可采用實(shí)時(shí)上傳或定時(shí)采集的方式從門禁機(jī)傳輸給中央數(shù)據(jù)庫,前者對(duì)系統(tǒng)網(wǎng)絡(luò)速度要求較高,當(dāng)網(wǎng)絡(luò)堵塞時(shí)有丟失數(shù)據(jù)的可能。本系統(tǒng)采用了出入記錄暫時(shí)存儲(chǔ)在門禁機(jī)中,每隔一段時(shí)間(例如每周一次)上傳給中央數(shù)據(jù)庫的方式,為此要求門禁機(jī)具備一定容量的存儲(chǔ)器,用于暫存門禁數(shù)據(jù)以及由中央數(shù)據(jù)庫下載的授權(quán)卡號(hào)。門禁機(jī)存儲(chǔ)器的容量取決于一個(gè)門禁記錄的長度、系統(tǒng)的卡容量以及定時(shí)上傳周期內(nèi)最大的刷卡次數(shù)等,通常應(yīng)留有一定的余量以免由于超出存儲(chǔ)容量而丟失數(shù)據(jù)。本系統(tǒng)采用了AT24C256作為門禁機(jī)的存儲(chǔ)器,其存儲(chǔ)容量達(dá)64K字節(jié),劃分成兩個(gè)區(qū),一個(gè)區(qū)用來存儲(chǔ)所讀取的記錄,另一個(gè)區(qū)用來存儲(chǔ)上位機(jī)下載的授權(quán)卡號(hào)。門禁機(jī)存儲(chǔ)器模塊的電路原理圖如圖5.16所示。AT24C256是ATMEL公司具有LC總線結(jié)構(gòu),可電擦寫與編程的只讀存儲(chǔ)芯片(EEPROM),MCU對(duì)AT24C256的讀寫必須遵循LC總線傳輸?shù)臅r(shí)序要求,MCU向AT24C256寫入和讀出數(shù)據(jù)的時(shí)序和格式要求與AT24C01基本一致,在此不再贅述。對(duì)于一個(gè)單一的讀寫器來講,自身的數(shù)據(jù)存儲(chǔ)是有限的,讀寫器外帶的數(shù)據(jù)存儲(chǔ)器主要作為數(shù)據(jù)的臨時(shí)存儲(chǔ),對(duì)于大量的、需要長期保存的數(shù)據(jù),一般是通過有線或無線、甚至網(wǎng)絡(luò)系統(tǒng)傳輸?shù)街骺赜?jì)算機(jī)中進(jìn)行保存。+5V圖16門禁機(jī)存儲(chǔ)器模塊電路原理圖門禁系統(tǒng)原理來源:/作者:2007-2-1918:59:33點(diǎn)擊:次【摘要】國內(nèi)安防領(lǐng)域主流供應(yīng)商,考勤系統(tǒng),門禁系統(tǒng),一卡通系統(tǒng)等.最佳的解決方案和貼心的服務(wù)!為辦公室綜合安全解決方案提供更高的安全保護(hù)門禁系統(tǒng)是最近幾年才在國內(nèi)廣泛應(yīng)用的又一高科技安全設(shè)施之一,現(xiàn)已成為現(xiàn)代建筑的智能化標(biāo)志之一。在越來越注重商業(yè)情報(bào)和安全的今天,對(duì)進(jìn)出一些重要機(jī)關(guān)、科研實(shí)驗(yàn)室、檔案館、以及關(guān)系到國計(jì)民生的公用事業(yè)單位的控制中心、民航機(jī)場等場所的工作人員,給予進(jìn)出授權(quán)控制。經(jīng)濟(jì)的增長有時(shí)引發(fā)犯罪的發(fā)生,對(duì)安全感的追求導(dǎo)致現(xiàn)代化樓宇對(duì)保安系統(tǒng)的要求也越來越高。樓宇保安系統(tǒng)不僅包括閉路電視及防盜報(bào)警,此外還包括一些門鎖、防盜門、防盜網(wǎng)及保安人員等,以滿足不了人們?nèi)找嬖黾拥陌踩?。保安管理功能,可以設(shè)置使用人的權(quán)限和進(jìn)出時(shí)間,可以將使用人的姓名、年齡、職務(wù)、相片等多達(dá)18種內(nèi)容的數(shù)據(jù)輸入電腦中,便于查詢統(tǒng)計(jì)及驗(yàn)證身份;考勤功能,可以根據(jù)實(shí)際情況將人員編組分類,針對(duì)各種節(jié)假日,工作日進(jìn)行考勤記錄;巡更功能,可以記錄保安員巡更的路線,時(shí)間以及巡更點(diǎn)發(fā)生的事件如房門損壞,電梯故障等;多種門禁方式組合,可以設(shè)置門鎖為只進(jìn)不出,長開,定時(shí)開關(guān)等多種功能及各種組合;應(yīng)急及統(tǒng)計(jì)功能,本系統(tǒng)可以在電腦上顯示出指定持卡人所處的物理位置,便于及時(shí)聯(lián)系。發(fā)生火警等緊急情況時(shí),防火門會(huì)自動(dòng)打開,便于逃生,出入口也可以自動(dòng)打開;當(dāng)發(fā)生非法進(jìn)出時(shí),會(huì)自動(dòng)報(bào)警;本系統(tǒng)還可以根據(jù)客戶的需要,打印出各種統(tǒng)計(jì)報(bào)表。門禁系統(tǒng)屬公共安全管理系統(tǒng)范疇。在建筑物內(nèi)的主要管理區(qū)、出入口、電梯廳、主要設(shè)備控制中心機(jī)房、貴重物品的庫房等重要部位的通道口,安裝門磁開關(guān)、電控鎖或讀卡機(jī)等控制裝置,由中心控制室監(jiān)控,系統(tǒng)采用計(jì)算機(jī)多重任務(wù)的處理,能夠?qū)Ω魍ǖ揽诘奈恢?、通行?duì)象及通行時(shí)間等實(shí)時(shí)進(jìn)行控制或設(shè)定程序控制,適應(yīng)一些銀行、金融貿(mào)易樓和綜合辦公樓的公共安全管理。門禁系統(tǒng)作用在于管理人群進(jìn)出管制區(qū)域,限制未授權(quán)人仕進(jìn)出特定區(qū)域,并使已授權(quán)者在進(jìn)出上更簡捷。系統(tǒng)可用感應(yīng)卡、指紋、密碼等,作為授權(quán)識(shí)別,通過控制機(jī)編程,記錄進(jìn)出人仕時(shí)間日期,并可配合警報(bào)及閉路電視系統(tǒng)以達(dá)致最佳管理。適用于各類型辦公室、計(jì)算機(jī)室、數(shù)據(jù)庫、停車場及倉庫等。出入口門禁控制系統(tǒng)采取以感應(yīng)卡來取代用鑰匙開門的方式。使用者用一張卡可以打開多把門鎖,對(duì)門鎖的開啟也可以有一定的時(shí)間限制。如果卡丟失了,不必更換門鎖,只需將其從控制主機(jī)中注銷。出入口門禁控制系統(tǒng)是通過對(duì)出入口的準(zhǔn)入情況進(jìn)行控制、管理和記錄的設(shè)備,對(duì)何人何時(shí)在何地進(jìn)行詳細(xì)跟蹤,以實(shí)現(xiàn)中心對(duì)出入口的24小時(shí)控制、*作、監(jiān)視及管理。每一個(gè)出入口設(shè)置一個(gè)讀卡器,所讀取的門禁卡參數(shù)經(jīng)由控制器判斷分析:準(zhǔn)入則電鎖打開,人員可自行通過。禁入則電鎖不動(dòng)作而且立即報(bào)警并作出相應(yīng)的記錄;用戶可以選擇各種類型的讀卡器:磁卡讀卡器、韋根式讀卡器、感應(yīng)式讀卡器、免持式讀卡器、遙距式紅外線讀卡器,也可選用數(shù)字密碼鍵盤開鎖;管理軟件不僅可以對(duì)不同出入口讀卡器的開啟時(shí)間、準(zhǔn)入時(shí)間進(jìn)行編程,還可以對(duì)每一張門禁卡允許進(jìn)入的區(qū)域、時(shí)間進(jìn)行限制防止人員“誤入歧途”,并可隨時(shí)查詢出入情況;可根據(jù)用戶的具體要求定做考勤軟件,統(tǒng)計(jì)加班時(shí)間、遲到時(shí)間、次數(shù),并計(jì)算當(dāng)月應(yīng)得工資、應(yīng)扣工資及實(shí)得工資等;對(duì)于單位領(lǐng)導(dǎo)等特別人員,可以有特殊的權(quán)限設(shè)定,從而達(dá)到對(duì)每個(gè)出入口和每個(gè)出入人員的單獨(dú)編程、統(tǒng)一管理;對(duì)于整個(gè)系統(tǒng)的每個(gè)動(dòng)作,如哪扇門開啟,時(shí)間多長,是誰在開門等情況,管理中心全部記錄在案。一旦有事故發(fā)生,這些記錄將成為有力和無法更改的證據(jù)。系統(tǒng)具有防返傳功能:防止有人進(jìn)入某區(qū)域后,將卡回傳給區(qū)域外企圖用同一張卡進(jìn)入的另一人員;具有人員追蹤功能:在外門未關(guān)閉之前,無法打開內(nèi)門;若發(fā)生強(qiáng)行破門、惡意破壞讀卡器或鍵盤、無效卡或錯(cuò)誤密碼企圖開門等不正常事件,管理中心立即獲知并提醒值班警衛(wèi)。系統(tǒng)同時(shí)啟動(dòng)現(xiàn)場探照燈、錄像機(jī)等相關(guān)設(shè)備。感應(yīng)卡特點(diǎn)因?yàn)楦袘?yīng)卡的上市,使用者再也不需要攜帶鑰匙,更免除了鑰匙被復(fù)制的煩惱,再也不必耽心財(cái)物可能蒙受損失。感應(yīng)式訊號(hào)發(fā)送器的封裝形式有許多種,包括卡片式、鑰匙圈式、筆心式、玻璃管式、麥克筆等等,體積有大小差別,而體積的大小往往與感應(yīng)距離成正比,一般來說,使用人員于門禁及停車場管制時(shí),為了方便攜帶,通常做成卡片式,故俗稱感應(yīng)卡。動(dòng)作原理:感應(yīng)卡(PromixityCard)一般以接觸卡稱之,磁卡在使用時(shí)要有「刷卡」的動(dòng)作以達(dá)到管制目的。通常一張感應(yīng)卡中有IC芯片、感應(yīng)線圈及電容原件。感應(yīng)卡為發(fā)射應(yīng)答端,而感應(yīng)式卡片閱讀機(jī)為接收端,類似發(fā)電機(jī),持續(xù)發(fā)送頻率。當(dāng)卡片靠近卡片閱讀機(jī)發(fā)射頻率的范圍內(nèi)時(shí),卡片內(nèi)的線圈會(huì)接受此頻率并產(chǎn)生能量,此能量儲(chǔ)存在電容器內(nèi),當(dāng)能量到達(dá)激磁的狀態(tài)時(shí),會(huì)將卡片中IC芯片上所燒錄的密碼發(fā)送給卡片閱讀機(jī)卡片閱讀機(jī)辨識(shí)過后,便可開門,坊間各廠牌的卡片閱讀機(jī)所發(fā)射出的頻率不同,故卡片不會(huì)有互通并可使用狀況發(fā)生。設(shè)置門禁管理系統(tǒng)主要目的是保證上述區(qū)域及區(qū)域內(nèi)設(shè)備安全,便于人員的合理流動(dòng),對(duì)進(jìn)入這些重要區(qū)域的人員實(shí)行各種方式的進(jìn)出許可權(quán)管理,以便限制人員隨意進(jìn)出。當(dāng)員工要進(jìn)入被管制的區(qū)域時(shí),必須先在門旁的讀卡器中刷卡,門才能被打開。每道門邊的讀卡器均通過現(xiàn)場控制介面單元和系統(tǒng)集中控制器受到監(jiān)控終端的控制。每一張卡根據(jù)系統(tǒng)設(shè)置,只能在規(guī)定時(shí)間內(nèi)打開規(guī)定范圍的門。同時(shí)防止外來人員隨便闖入,如有人強(qiáng)行破門或下班沒有關(guān)門,門禁裝置將發(fā)出報(bào)警信號(hào),監(jiān)控終端上馬上顯示報(bào)警的門號(hào)。門禁系統(tǒng)設(shè)計(jì)之目的是為實(shí)現(xiàn)人員出入權(quán)限控制及出入信息記錄。門禁系統(tǒng)原理1、 對(duì)需控制的出入口,安裝受電鎖裝置和感應(yīng)器(如:電子密碼鍵盤、讀卡器、指紋閱讀器等)控制的電控門;2、 授權(quán)人員持有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合成膜電位器工安全應(yīng)急強(qiáng)化考核試卷含答案
- 啤酒糖化工安全行為模擬考核試卷含答案
- 熱敏電阻紅外探測器制造工操作能力強(qiáng)化考核試卷含答案
- 井下作業(yè)機(jī)司機(jī)安全宣教模擬考核試卷含答案
- 火工品裝配工QC管理知識(shí)考核試卷含答案
- 野炊作文好開頭
- 和老板請(qǐng)假條格式
- 2025年微信生態(tài)合作協(xié)議書
- 2026年近零碳排放園區(qū)改造項(xiàng)目評(píng)估報(bào)告
- 2026年燃料電池項(xiàng)目公司成立分析報(bào)告
- 設(shè)備隱患排查培訓(xùn)
- 2025至2030磷酸二氫鈉行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 國家事業(yè)單位招聘2025中國農(nóng)業(yè)科學(xué)院植物保護(hù)研究所招聘12人筆試歷年參考題庫附帶答案詳解
- 售后技術(shù)服務(wù)流程規(guī)范
- 六性分析報(bào)告標(biāo)準(zhǔn)格式與范例
- 餐具分揀裝置的設(shè)計(jì)(機(jī)械工程專業(yè))
- 供水管網(wǎng)施工期間居民供水保障方案
- 江蘇省常州市鐘樓區(qū)小學(xué)語文三年級(jí)上冊(cè)期末檢測卷(含答案)
- 2025年縣司法局行政執(zhí)法協(xié)調(diào)監(jiān)督工作自查報(bào)告
- 醫(yī)院科室臺(tái)風(fēng)應(yīng)急預(yù)案
- 中職思政一年級(jí)“中國特色社會(huì)主義”期末考試試卷
評(píng)論
0/150
提交評(píng)論