版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、項目訓(xùn)練三項目訓(xùn)練三門禁系統(tǒng)門禁系統(tǒng)一、目的要求一、目的要求1 1掌握門禁系統(tǒng)的概念。掌握門禁系統(tǒng)的概念。2 2掌握非接觸式掌握非接觸式ICIC卡門禁系統(tǒng)的組成??ㄩT禁系統(tǒng)的組成。3 3通過門禁系統(tǒng)的訓(xùn)練,掌握串行靜態(tài)顯示通過門禁系統(tǒng)的訓(xùn)練,掌握串行靜態(tài)顯示的方法。的方法。4 4掌握卡號顯示方法。掌握卡號顯示方法。5 5進一步掌握單片機的使用技巧和方法。進一步掌握單片機的使用技巧和方法。 二、任務(wù)目標(biāo)二、任務(wù)目標(biāo) 利用單片機利用單片機AT89S52AT89S52構(gòu)成一非接構(gòu)成一非接觸式觸式ICIC卡門禁系統(tǒng),要求實現(xiàn)功能如下卡門禁系統(tǒng),要求實現(xiàn)功能如下1 1程序控制開鎖程序控制開鎖 當(dāng)讀卡器檢
2、索到合法當(dāng)讀卡器檢索到合法ICIC卡時,由卡時,由CPUCPU提供一個低電平信號,因為,提供一個低電平信號,因為,89S5289S52單片機復(fù)位是高電平有效,并且單片機復(fù)位是高電平有效,并且實際電路必須有看門狗電路,一旦出現(xiàn)實際電路必須有看門狗電路,一旦出現(xiàn)故障,也需高電平復(fù)位,因此,采用低故障,也需高電平復(fù)位,因此,采用低電平作為控制門的開有效信號。電平作為控制門的開有效信號。2 2出門按鈕開鎖出門按鈕開鎖 按鈕按下,給出一個開關(guān)信號,此按鈕按下,給出一個開關(guān)信號,此時門鎖同樣被打開。時門鎖同樣被打開。3 3從消防安全考慮,如果發(fā)生意外從消防安全考慮,如果發(fā)生意外或危險,只要斷開電源,門鎖同
3、樣或危險,只要斷開電源,門鎖同樣可以被打開??梢员淮蜷_。4 4讀卡顯示讀卡顯示 當(dāng)讀卡器檢索到合法射頻卡時,當(dāng)讀卡器檢索到合法射頻卡時,七段數(shù)碼管可以顯示出此卡的卡號,七段數(shù)碼管可以顯示出此卡的卡號,以便識別出持卡人身份。以便識別出持卡人身份。5 5蜂鳴器報警蜂鳴器報警 當(dāng)門鎖處于開啟狀態(tài)時,超過延時時間,當(dāng)門鎖處于開啟狀態(tài)時,超過延時時間,蜂鳴器發(fā)出蜂鳴,以提示用戶及時關(guān)門。蜂鳴器發(fā)出蜂鳴,以提示用戶及時關(guān)門。6 6工作指示燈工作指示燈 n紅色指示燈提示電源正常供電。紅色指示燈提示電源正常供電。n綠色指示燈提示門鎖工作狀態(tài),刷卡合法,綠色指示燈提示門鎖工作狀態(tài),刷卡合法,綠色指示燈亮。綠色指
4、示燈亮。四、預(yù)備知識四、預(yù)備知識n門禁系統(tǒng)定義門禁系統(tǒng)定義 門禁系統(tǒng)就是對出入口通道進行管制的系統(tǒng),是一種門禁系統(tǒng)就是對出入口通道進行管制的系統(tǒng),是一種管理人員進出的數(shù)字化管理系統(tǒng)。管理人員進出的數(shù)字化管理系統(tǒng)。 它是在傳統(tǒng)的門鎖基礎(chǔ)上發(fā)展而來的。它是在傳統(tǒng)的門鎖基礎(chǔ)上發(fā)展而來的。n門禁系統(tǒng)的組成門禁系統(tǒng)的組成 門禁控制器門禁控制器 門禁讀卡器門禁讀卡器 卡片卡片 電控鎖及相應(yīng)軟件電控鎖及相應(yīng)軟件 電源和其他相關(guān)門禁設(shè)備電源和其他相關(guān)門禁設(shè)備 (一)非接觸式(一)非接觸式ICIC卡門禁系統(tǒng)框圖卡門禁系統(tǒng)框圖 非接觸式非接觸式ICIC卡門禁系統(tǒng)包括卡門禁系統(tǒng)包括讀寫讀寫器、中央控制電腦的軟件管理
5、系統(tǒng)、中器、中央控制電腦的軟件管理系統(tǒng)、中央控制電腦與讀寫器之間的數(shù)據(jù)傳輸央控制電腦與讀寫器之間的數(shù)據(jù)傳輸三三部分。其中讀寫器是核心,包括部分。其中讀寫器是核心,包括MCUMCU、復(fù)位電路、時鐘電路、報警及工作指示復(fù)位電路、時鐘電路、報警及工作指示電路、顯示電路、鍵盤、數(shù)據(jù)存儲等主電路、顯示電路、鍵盤、數(shù)據(jù)存儲等主控模塊及非接觸式控模塊及非接觸式ICIC卡讀寫模塊和電卡讀寫模塊和電鎖驅(qū)動部分。鎖驅(qū)動部分。非接觸式非接觸式ICIC卡門禁系統(tǒng)框圖卡門禁系統(tǒng)框圖主控主控MCUMCU單片機芯片單片機芯片(89S5289S52)時鐘電路時鐘電路傳輸模塊傳輸模塊(MAX232MAX232)中央中央控制控制
6、電腦電腦數(shù)據(jù)存儲電路數(shù)據(jù)存儲電路24C6424C64EM9931 EM9931 模模 塊塊電電 鎖鎖天天線線 顯顯 示示 鍵鍵 盤盤出出 門門按按 鈕鈕報警及報警及工作指示工作指示復(fù)位電路復(fù)位電路 非接觸式非接觸式IC卡門禁機總體工作流程卡門禁機總體工作流程初始化初始化裝載權(quán)限裝載權(quán)限尋尋 卡卡加入權(quán)限?加入權(quán)限?下一張卡提權(quán)下一張卡提權(quán)執(zhí)行報警執(zhí)行報警 執(zhí)行開門執(zhí)行開門取時間取時間+卡號卡號+BCC碼碼發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)寫入寫入24C64中數(shù)中數(shù)據(jù)指針加據(jù)指針加12紀(jì)錄紀(jì)錄數(shù)加數(shù)加1發(fā)送紀(jì)錄數(shù)發(fā)送紀(jì)錄數(shù)清空清空24C64數(shù)數(shù)據(jù)指針據(jù)指針=0紀(jì)紀(jì)錄數(shù)錄數(shù)=0NNNYYY卡號在數(shù)據(jù)庫?卡號在數(shù)據(jù)庫
7、?紀(jì)錄滿否?紀(jì)錄滿否?WRP1.7P1.7P1.6P1.6P1.5P1.5P1.4P1.4P1.3P1.3P1.2P1.2P1.1P1.1P1.0P1.0鍵鍵鍵鍵顯示鍵顯示鍵顯示顯示通訊通訊 通訊通訊 讀卡讀卡 顯示顯示P2.7P2.7 P2.6P2.6P2.5P2.5P2.4P2.4P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0出門出門按鈕按鈕蜂鳴蜂鳴器器指示燈指示燈門態(tài)門態(tài)上鎖上鎖SCLSCLSDASDA24C6424C64(二)門禁系統(tǒng)中單片機口的資源分配(二)門禁系統(tǒng)中單片機口的資源分配(三)各部分電路原理分析(三)各部分電路原理分析 非接觸式非接觸式ICIC卡
8、門禁機工作過程為當(dāng)刷卡卡門禁機工作過程為當(dāng)刷卡時,蜂鳴器響一下,如卡權(quán)限獲得允許,顯時,蜂鳴器響一下,如卡權(quán)限獲得允許,顯示模塊顯示卡號,同時繼電器動作將門鎖打示模塊顯示卡號,同時繼電器動作將門鎖打開,指示燈點亮,延時一段時間后繼電器再開,指示燈點亮,延時一段時間后繼電器再次動作將門鎖鎖閉,指示燈熄滅;當(dāng)按下出次動作將門鎖鎖閉,指示燈熄滅;當(dāng)按下出門按鈕時,繼電器動作將門鎖打開,指示燈門按鈕時,繼電器動作將門鎖打開,指示燈點亮,延時一段時間后繼電器再次動作將門點亮,延時一段時間后繼電器再次動作將門鎖鎖閉,指示燈熄滅。當(dāng)遇到非法卡時,該鎖鎖閉,指示燈熄滅。當(dāng)遇到非法卡時,該系統(tǒng)不顯示卡號,門鎖不
9、開。系統(tǒng)不顯示卡號,門鎖不開。1門控鎖電路門控鎖電路 門控鎖電路如圖門控鎖電路如圖P3.3所示。所示。 偏置電阻偏置電阻R3與三級管與三級管Q16、Q6構(gòu)成復(fù)合驅(qū)構(gòu)成復(fù)合驅(qū)動電路以提高驅(qū)動能力,控制鎖的開與閉。動電路以提高驅(qū)動能力,控制鎖的開與閉。 當(dāng)當(dāng)P2.3為高電平時為高電平時Q16導(dǎo)通,導(dǎo)通,Q6截止,此截止,此時繼電器的控制線圈為開路,繼電器不動作。時繼電器的控制線圈為開路,繼電器不動作。 門鎖接于繼電器常閉端,門鎖閉合,門處門鎖接于繼電器常閉端,門鎖閉合,門處于鎖死狀態(tài)。于鎖死狀態(tài)。 當(dāng)當(dāng)P2.3口輸出低電平時口輸出低電平時Q16截止,截止,Q6導(dǎo)通,導(dǎo)通,此時繼電器的控制線圈閉合,
10、繼電器動作。繼此時繼電器的控制線圈閉合,繼電器動作。繼電器常閉端斷開,門鎖打開,門處于打開狀態(tài)。電器常閉端斷開,門鎖打開,門處于打開狀態(tài)。 2 2蜂鳴器電路蜂鳴器電路 蜂鳴器電路由蜂鳴器、三極管蜂鳴器電路由蜂鳴器、三極管Q1、Q2及及電阻電阻R2組成。電路如圖組成。電路如圖P3.4所示。當(dāng)所示。當(dāng) P2.6輸出輸出高電平時,高電平時,Q1導(dǎo)通,導(dǎo)通,Q2截止,蜂鳴器回路開路,截止,蜂鳴器回路開路,蜂鳴器不響。蜂鳴器不響。 當(dāng)當(dāng) P1.2輸出高電平時,輸出高電平時,Q1截止,截止,Q2導(dǎo)通,導(dǎo)通,蜂鳴器回路閉合,蜂鳴器發(fā)出響聲。蜂鳴器回路閉合,蜂鳴器發(fā)出響聲。 CPU、顯示電路、鍵盤、數(shù)據(jù)存儲等
11、主控、顯示電路、鍵盤、數(shù)據(jù)存儲等主控模塊及非接觸式模塊及非接觸式IC卡讀寫模塊將在后面章節(jié)中卡讀寫模塊將在后面章節(jié)中介紹。介紹。圖圖P3.3 門控鎖電路門控鎖電路圖圖P3.4 蜂鳴器電路蜂鳴器電路R26803. 3. 串行口在門禁系統(tǒng)中的應(yīng)用串行口在門禁系統(tǒng)中的應(yīng)用門禁系統(tǒng)讀卡采用串口中斷方式。門禁系統(tǒng)讀卡采用串口中斷方式。n 非接觸式射頻卡的基本原理非接觸式射頻卡的基本原理 每個卡片內(nèi)都有一個小芯片和感應(yīng)線圈。每張每個卡片內(nèi)都有一個小芯片和感應(yīng)線圈。每張卡有且只有一個唯一的、不可更改和復(fù)制的卡有且只有一個唯一的、不可更改和復(fù)制的IDID內(nèi)碼。內(nèi)碼。n 非接觸式非接觸式ICIC卡系統(tǒng)的構(gòu)成與特
12、點卡系統(tǒng)的構(gòu)成與特點 非接觸式非接觸式ICIC卡卡( (也稱為也稱為“應(yīng)答器應(yīng)答器”) )是射頻識別是射頻識別系統(tǒng)的電子數(shù)據(jù)載體,卡中嵌有耦合元件和微電子系統(tǒng)的電子數(shù)據(jù)載體,卡中嵌有耦合元件和微電子芯片。通常,非接觸式芯片。通常,非接觸式ICIC卡沒有自己的供電電源卡沒有自己的供電電源( (電池電池) ),只是在讀寫器響應(yīng)范圍之內(nèi),卡才是有源,只是在讀寫器響應(yīng)范圍之內(nèi),卡才是有源的,卡所需要的能量以及時鐘脈沖、數(shù)據(jù),都是通的,卡所需要的能量以及時鐘脈沖、數(shù)據(jù),都是通過耦合單元的電磁耦合作用傳輸給卡的。過耦合單元的電磁耦合作用傳輸給卡的。n 非接觸式非接觸式ICIC卡讀寫器卡讀寫器 典型的非接觸
13、式典型的非接觸式ICIC卡讀寫器卡讀寫器( (也稱為也稱為“閱讀閱讀器器”) )包含有高頻模塊包含有高頻模塊( (發(fā)送器和接收器發(fā)送器和接收器) )、控制單元、控制單元以及與卡連接的耦合元件。以及與卡連接的耦合元件。n 常見的卡號輸出格式說明常見的卡號輸出格式說明 IDID卡最常見到的五種讀卡方式的卡號定義如下:卡最常見到的五種讀卡方式的卡號定義如下:(1 1)格式)格式1 1 10 10位十六進制的位十六進制的ASCIIASCII字符串,即字符串,即1010位十六進位十六進制格式。制格式。如:某樣卡讀出十六進制卡號為如:某樣卡讀出十六進制卡號為“01026f6c3a”01026f6c3a”。
14、(2 2)格式)格式2 2 將格式將格式1 1中的后中的后8 8位,轉(zhuǎn)換為位,轉(zhuǎn)換為1010位十進制卡號,位十進制卡號,即即8H10D8H10D格式,如將格式,如將“026f6c3a”026f6c3a”轉(zhuǎn)換為轉(zhuǎn)換為“0040856634”0040856634”。(3 3)格式)格式3 3 將格式將格式1 1中的后中的后6 6位,轉(zhuǎn)換為位,轉(zhuǎn)換為8 8位十進制卡號,位十進制卡號,即即6H8D6H8D格式。如將格式。如將“6f6c3a”6f6c3a”轉(zhuǎn)換為轉(zhuǎn)換為“07302202”07302202”。(4 4)格式)格式4 4將格式將格式1 1中的倒數(shù)第中的倒數(shù)第5 5、第、第6 6位,轉(zhuǎn)換為位,
15、轉(zhuǎn)換為3 3位十進制位十進制卡號,再將后卡號,再將后4 4位,轉(zhuǎn)換為位,轉(zhuǎn)換為5 5位十進制卡號,中間用位十進制卡號,中間用“,”分開,即分開,即“2H2H4H”4H”格式。如將格式。如將2H“6f”2H“6f”轉(zhuǎn)換為轉(zhuǎn)換為“111”111”,4H“6c3a”4H“6c3a”轉(zhuǎn)為轉(zhuǎn)為“27706”27706”。最終將最終將2 2段號連在一起輸出為段號連在一起輸出為“111,27706”111,27706”。 (5 5)格式)格式5 5 將格式將格式1 1中后中后8 8位的前位的前4 4位,轉(zhuǎn)換為位,轉(zhuǎn)換為5 5位十進制卡號,再位十進制卡號,再將后將后4 4位,轉(zhuǎn)換為位,轉(zhuǎn)換為5 5位十進制卡號
16、,中間用位十進制卡號,中間用“,”分開,即分開,即“4H4H4H”4H”。照此轉(zhuǎn)換結(jié)果為:。照此轉(zhuǎn)換結(jié)果為:00623,2770600623,27706 本教材中的門禁系統(tǒng)使用的卡格式是本教材中的門禁系統(tǒng)使用的卡格式是格式格式4 4。n RS232RS232卡號輸出協(xié)議卡號輸出協(xié)議串行輸出格式如下:串行輸出格式如下: 0210ASCII Data CharactersChecksum03卡片號碼為卡片號碼為62E3086CED62E3086CED,傳送的,傳送的HEXHEX值如下值如下10ASCII DATA10ASCII DATA:36H,32H 45H,33H 30H,38H 36H,43
17、H 45H,44H36H,32H 45H,33H 30H,38H 36H,43H 45H,44H(6 2 H E 3 H 0 8 H 6 C H E D H6 2 H E 3 H 0 8 H 6 C H E D H)CHECKSUMCHECKSUM:(62H62H)XORXOR(E3HE3H)XORXOR(08H08H)XORXOR(6CH6CH)XORXOR(EDHEDH)=08H=08H Checksum Checksum為二進制格式數(shù)據(jù)。為二進制格式數(shù)據(jù)。故故MTP-K4MTP-K4射頻模塊輸出的完整的二進制文檔如下所示:射頻模塊輸出的完整的二進制文檔如下所示: 02 36 32 45
18、33 30 38 36 43 45 44 08 03 02 36 32 45 33 30 38 36 43 45 44 08 03 n 串行口程序分析串行口程序分析 門禁系統(tǒng)的讀卡采用串口中斷方式,隨時讀卡,隨門禁系統(tǒng)的讀卡采用串口中斷方式,隨時讀卡,隨時響應(yīng)。晶振必須是時響應(yīng)。晶振必須是11.0592MHz11.0592MHz。(1 1)讀卡單元)讀卡單元 門禁系統(tǒng)采用門禁系統(tǒng)采用EM9913BF IDEM9913BF ID射頻卡讀卡器。射頻卡讀卡器。 讀卡模塊將數(shù)據(jù)按讀卡模塊將數(shù)據(jù)按RS232RS232和和Wiegand26Wiegand26格式輸格式輸出。出。 讀卡單元連接圖讀卡單元連接
19、圖(2 2)波特率初值計算)波特率初值計算 晶振為晶振為11.0592MHz11.0592MHz,串行接口工作于,串行接口工作于方式方式1 1,波特率為,波特率為9600b9600bs s。公式:公式:(1)256384OSCbaudSMODXff代入已知條件,計算出初值為代入已知條件,計算出初值為FDHFDH。(3 3)串口中斷初始化程序)串口中斷初始化程序SIC: ANL TMOD,#0FH SIC: ANL TMOD,#0FH ;串口始化子程序;串口始化子程序 ORL TMOD,#20HORL TMOD,#20H MOV TH1,#0FDH MOV TH1,#0FDH MOV TL1,
20、#0FDH MOV TL1, #0FDH SETB TR1 SETB TR1 MOV IE,#90H MOV IE,#90H MOV SCON,#50H MOV SCON,#50H ;方式方式1 1十位異步收發(fā)十位異步收發(fā) RETRET(4 4)串口中斷子程序,該程序中加入不死機程序)串口中斷子程序,該程序中加入不死機程序ZD: PUSH ACC ;中斷子程序 PUSH 00H PUSH 02H MOV R0, #30H ;首地址 MOV R2, #0BH ; 11個字節(jié)的ASCIILL1: ACALL LL2 JB F0, LL3 NOP NOP MOV R0, A INC R0 DJNZ
21、R2, LL1 DJNZ R2, LL1 POP 02H POP 02H POP 00H POP 00H POP ACC POP ACC NOP NOP MOV 0FH, #33H MOV 0FH, #33H RETI RETILL2: MOV 04H, #28HLL2: MOV 04H, #28HLL4: JNB RI, LL6LL4: JNB RI, LL6 CLR RI CLR RI MOV A, SBUF MOV A, SBUF CLR F0 CLR F0 RET RET LL6: MOV 05H, #0AHLL6: MOV 05H, #0AHLL5: DJNZ R5, LL5LL5:
22、 DJNZ R5, LL5 DJNZ R4, LL4 DJNZ R4, LL4 SETB F0 SETB F0 RET RETLL3: POP 02HLL3: POP 02H POP 00H POP 00H POP ACC POP ACC RETI RETI END ENDn 顯示電路顯示電路n 在門禁系統(tǒng)中,顯示為串行靜態(tài)顯示方式。在門禁系統(tǒng)中,顯示為串行靜態(tài)顯示方式。采用采用74LS16474LS164作為靜態(tài)顯示器接口,作為靜態(tài)顯示器接口,P1.0P1.0作為作為時鐘,時鐘,P1.4P1.4作為顯示數(shù)據(jù)輸入。作為顯示數(shù)據(jù)輸入。 顯示程序顯示程序(1 1)直接顯示段碼程序。將)直接顯示段碼
23、程序。將20H27H20H27H中的中的段碼從左到右顯示出來。段碼從左到右顯示出來。 ORG 0000HORG 0000H LJMP MAIN LJMP MAIN MAIN MAIN:MOV SP, #60HMOV SP, #60H MOV 20H, #06H MOV 20H, #06H MOV 21H, #5BH MOV 21H, #5BH MOV 22H,#4FH MOV 22H,#4FH MOV 23H,#66H MOV 23H,#66H MOV 24H,#6DH MOV 24H,#6DH MOV 25H,#7DH MOV 25H,#7DH MOV 26H,#07H MOV 26H,#0
24、7H MOV 27H,#7FH MOV 27H,#7FH LCALL ST LCALL ST SJMP $ SJMP $STST: MOV R0, #20HMOV R0, #20H MOV R2,#08H MOV R2,#08HLP1LP1:MOV R1,#08HMOV R1,#08H MOV A,R0 MOV A,R0LP2LP2:RLC ARLC A MOV P1.4,C MOV P1.4,CCLR P1.0CLR P1.0SETB P1.0SETB P1.0DJNZ R1,LP2DJNZ R1,LP2INC R0INC R0DJNZ R2,LP1DJNZ R2,LP1RETRETENDE
25、ND(2 2)把)把10H10H開始代碼變成段碼放到開始代碼變成段碼放到20H20H開始開始的單元中。的單元中。方法一:方法一: ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ORG 0100H ORG 0100H MAIN MAIN:MOV SP,#60HMOV SP,#60H MOV 10H, #01H MOV 10H, #01H MOV 11H, #02H MOV 11H, #02H MOV 12H, #03H MOV 12H, #03H MOV 13H, #04H MOV 13H, #04H MOV 14H, #05H MOV 14H, #05H MOV
26、 15H, #06H MOV 15H, #06H MOV 16H, #07H MOV 16H, #07H MOV 17H, #08H MOV 17H, #08H LCALL XIANSHI LCALL XIANSHI LCALL ST LCALL ST SJMP $ SJMP $XIANSHIXIANSHI: MOV R2, #08HMOV R2, #08H MOV R0, #10H MOV R0, #10H MOV R1, #20HMOV R1, #20H LP3LP3: MOV A, R0MOV A, R0 ADD A, #06H ADD A, #06H MOVC A, A+PC MOVC
27、 A, A+PC MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP3 DJNZ R2, LP3 RET RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H ST ST: MOV R0, #20HMOV R0, #20H MOV R2,#08H MOV R2,#08H LP1 LP1:
28、MOV R1,#08HMOV R1,#08H MOV A,R0 MOV A,R0 LP2 LP2: RLC ARLC A MOV P1.4,C MOV P1.4,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET END END方法二:方法二: ORG 0000HORG 0000H LJMP MAIN LJMP MAINMAIN: MOV SP,#60HMAIN: MOV SP,#60H PORT EQU 0155H PORT
29、EQU 0155H LCALL ST LCALL ST SJMP $ SJMP $XIANSHIXIANSHI:MOV R2, #08HMOV R2, #08H MOV R0, #10H MOV R0, #10H MOV R1, #20H MOV R1, #20H MOV DPTR, #PORT MOV DPTR, #PORT LP3: MOV A, R0LP3: MOV A, R0 MOVC A, A+DPTR MOVC A, A+DPTR MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP3 DJNZ R2, LP3 RE
30、T RET ST: MOV R0, #20H ST: MOV R0, #20H MOV R2,#08H MOV R2,#08H LP1: MOV R1,#08H LP1: MOV R1,#08H MOV A,R0 MOV A,R0 LP2: RLC A LP2: RLC A MOV P1.4,C MOV P1.4,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET PORT 3FH,06H,5BH,4FH,66H,6DH,7DH
31、,07H PORT 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H END END(3 3)將壓縮碼變非壓縮碼顯示出來)將壓縮碼變非壓縮碼顯示出來 ORG 0100HORG 0100H MAIN MAIN:MOV SP,#60HMOV SP,#60H MOV 10H, #39H MOV 10H, #39H MOV 11H, #41H MOV 11H, #41H MOV 12H, #42H MOV 12H, #42H MOV 13H, #
32、43H MOV 13H, #43H MOV 14H, #44H MOV 14H, #44H MOV 15H, #45H MOV 15H, #45H MOV 16H, #46H MOV 16H, #46H MOV 17H, #38H MOV 17H, #38H LCALL ASC LCALL ASC LCALL XIANSHI LCALL XIANSHI LCALL ST LCALL ST SJMP $ SJMP $ ASC ASC: MOV R2,#08HMOV R2,#08H MOV R0,#10H MOV R0,#10H MOV R1,#20H MOV R1,#20H LP4 LP4: M
33、OV A, R0MOV A, R0 ANL A, #0FH ANL A, #0FH MOV R1, A MOV R1, A INC R1 INC R1 MOV A, R0 MOV A, R0 SWAP A SWAP A ANL A, #0FH ANL A, #0FH MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP4 DJNZ R2, LP4 RET RETXIANSHI: MOV R2, #08HXIANSHI: MOV R2, #08H MOV R0, #10H MOV R0, #10H MOV R1, #20H MOV
34、 R1, #20H LP3 LP3: MOV A, R0MOV A, R0 ADD A, #06H ADD A, #06H MOVC A, A+PC MOVC A, A+PC MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP3 DJNZ R2, LP3 RET RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00HDB 7FH,6FH,77H,7CH,39H,5E
35、H,79H,71H 00H ST ST: MOV R0, #20HMOV R0, #20H MOV R2,#08H MOV R2,#08HLP1LP1:MOV R1,#08HMOV R1,#08H MOV A,R0 MOV A,R0LP2LP2: RLC ARLC A MOV P1.4,C MOV P1.4,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET END END n 卡號顯示卡號顯示 IDID卡讀出卡讀出1111個字
36、節(jié)的個字節(jié)的ASCIIASCII,要顯示卡號,需,要顯示卡號,需進行數(shù)值轉(zhuǎn)換。進行數(shù)值轉(zhuǎn)換。(1 1)IDID卡讀出的卡讀出的1111個字節(jié)個字節(jié)ASCIIASCII碼放在以碼放在以30H30H開始開始的單元,先將的單元,先將ASCIIASCII碼轉(zhuǎn)換成碼轉(zhuǎn)換成1616進制數(shù),因第一個進制數(shù),因第一個字節(jié)是包裝頭,不參與轉(zhuǎn)換。字節(jié)是包裝頭,不參與轉(zhuǎn)換。 LE: MOV R0, #30H LE: MOV R0, #30H ; ASCASC轉(zhuǎn)轉(zhuǎn)1616進進 制數(shù)子程序制數(shù)子程序 MOV R2, #0AH MOV R2, #0AH ;1010個字節(jié)個字節(jié)LE4: MOV A, R0LE4: MOV
37、A, R0 ACALL LE1 ACALL LE1 MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, LE4 DJNZ R2, LE4 RET RETLE1: CJNE A, #40H, L13LE1: CJNE A, #40H, L13 SJMP LE3 SJMP LE3L13: JC LE2L13: JC LE2 ADD A, #09H ADD A, #09HLE2: ANL A, #0FHLE2: ANL A, #0FH CLR C CLR C RET RETLE3: SETB CLE3: SETB C RET RET (2 2)把上面轉(zhuǎn)換的)把上面轉(zhuǎn)
38、換的1010個個1616進制數(shù),變成進制數(shù),變成5 5個壓縮的個壓縮的1616進制數(shù),進制數(shù),30H30H放最高位,放最高位,34H34H放最低位。放最低位。LB: MOV A, 30H ; LB: MOV A, 30H ; 裝配壓縮裝配壓縮1616進制數(shù)子程序進制數(shù)子程序 SWAP ASWAP A ADD A, 31H ADD A, 31H MOV 30H, A MOV 30H, A MOV A, 32H MOV A, 32H SWAP A SWAP A ADD A, 33H ADD A, 33H MOV 31H, A MOV 31H, A NOP NOP NOP NOPNOPNOPNOPN
39、OPMOV A, 38HMOV A, 38HSWAP ASWAP AADD A, 39HADD A, 39HMOV 34H, AMOV 34H, ARETRET MOV A, 34H MOV A, 34H SWAP A SWAP A ADD A, 35H ADD A, 35H MOV 32H, A MOV 32H, A MOV A, 36H MOV A, 36H SWAP A SWAP A ADD A, 37H ADD A, 37H MOV 33H, A MOV 33H, A(3 3)上面程序中,)上面程序中,30H30H到到35H35H字節(jié)是先高后低,而字節(jié)是先高后低,而后面調(diào)用子程序,需要
40、先低后高,所以,先要把后面調(diào)用子程序,需要先低后高,所以,先要把33H33H單元中的內(nèi)容送到單元中的內(nèi)容送到35H35H單元中,即把單元中,即把34H,35H34H,35H里里2 2個壓縮的個壓縮的1616進制數(shù)變成進制數(shù)變成3 3個字節(jié)的壓縮的個字節(jié)的壓縮的1010進制數(shù)。進制數(shù)。LD: MOV 35H, 33H ; LD: MOV 35H, 33H ; 壓縮壓縮1616進制數(shù)轉(zhuǎn)非壓縮進制數(shù)轉(zhuǎn)非壓縮 1010進制子程序進制子程序 MOV R0, #34HMOV R0, #34H MOV R7, #02H MOV R7, #02H MOV R1, #28H MOV R1, #28H LCALL
41、 LD1 LCALL LD1 RET RET LD1: MOV A, R0 MOV R5, A MOV A, R1 MOV R6, A MOV A, R7 INC A MOV R3, A CLR ALD2: MOV R1, A INC R1 DJNZ R3, LD2 MOV A, R7 MOV B, #08H MUL AB MOV R3, A LD3: MOV A, R5 MOV R0, A MOV A, R7 MOV R2, A CLR C LD4: MOV A, R0 RLC A MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, DJNZ R2, LD4
42、LD4 MOV A, R6 MOV A, R6 MOV R1, A MOV R1, A MOV A, R7 MOV A, R7 MOV R2, A MOV R2, A INC R2 INC R2LD5: MOV A, R1LD5: MOV A, R1 ADDC A, R1 ADDC A, R1 DA A DA A MOV R1, AMOV R1, A INC R1 INC R1 DJNZ R2, LD5 DJNZ R2, LD5 DJNZ R3, LD3 DJNZ R3, LD3 RET RET(4 4)再把壓縮的)再把壓縮的1010進制數(shù)變成非壓縮的進制數(shù)變成非壓縮的1010進制數(shù),進制數(shù),
43、即變成代碼,為顯示卡號做準(zhǔn)備即變成代碼,為顯示卡號做準(zhǔn)備 L11:MOV R1,#10H MOV R2,#03H MOV R0,#28HL12:MOV A, R0 ANL A, #0FH MOV R1, A INC R1 MOV A, R0 SWAP A ANL A, #0FH MOV R1, A INC R0 INC R1 DJNZ R2, L12 RET(5 5)把代碼變成段碼)把代碼變成段碼 LF: MOV R2, #08H LF: MOV R2, #08H;代碼;代碼- -段碼段碼 MOV R0, #10HMOV R0, #10H MOV R1, #20H MOV R1, #20H L
44、F1: MOV A, R0 LF1: MOV A, R0 ADD A, #06H ADD A, #06H MOVC A, A+PC MOVC A, A+PC MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LF1 DJNZ R2, LF1 RET RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDB D
45、B 00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H (6 6)調(diào)顯示子程序,采用串顯方法,節(jié)省資源)調(diào)顯示子程序,采用串顯方法,節(jié)省資源XSH: MOV R0, #20H XSH: MOV R0, #20H ;顯示子程序;顯示子程序 MOV R2,#08HMOV R2,#08HLP1: MOV R1,#08HLP1: MOV R1,#08H MOV A,R0 MOV A,R0LP2: RLC ALP2: RLC A MOV P1.4,C MOV P1.4
46、,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET(四)非接觸式(四)非接觸式ICIC卡門禁系統(tǒng)參考程序卡門禁系統(tǒng)參考程序 門禁系統(tǒng)程序主要包括讀卡、數(shù)制門禁系統(tǒng)程序主要包括讀卡、數(shù)制轉(zhuǎn)換、顯示、合法卡比較、開鎖、中斷轉(zhuǎn)換、顯示、合法卡比較、開鎖、中斷子程序、延時子程序等模塊。子程序、延時子程序等模塊。1. 顯示子程序模塊顯示子程序模塊顯示子程序:顯示子程序:XSH: MOV R0, #20HXSH: MOV R0, #20H
47、 MOV R2,#08H MOV R2,#08HLP1: MOV R1,#08HLP1: MOV R1,#08H MOV A,R0 MOV A,R0LP2: RLC ALP2: RLC A MOV P1.4, C MOV P1.4, C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET2. 2. 門禁系統(tǒng)程序門禁系統(tǒng)程序門禁系統(tǒng)程序清單:門禁系統(tǒng)程序清單: ORG 0000H ORG 0000H LJMP MAIN LJMP MA
48、IN ORG 0023H ORG 0023H LJMP ZD LJMP ZD ORG 0300H ORG 0300HMAIN: MOV SP, #60HMAIN: MOV SP, #60H CLR P2.5 CLR P2.5 ;關(guān)指示燈;關(guān)指示燈 M1: LCALL BEING ;M1: LCALL BEING ;調(diào)顯調(diào)顯“H”H”子程序子程序 LCALL SIC LCALL SIC ;調(diào)串口始化子程序;調(diào)串口始化子程序DUKA: MOV A, 0FH DUKA: MOV A, 0FH ;判卡;判卡 CJNE A, #33H, L003 CJNE A, #33H, L003 SJMP L03
49、SJMP L03L003: JNB P2.7, OPLOCK ;L003: JNB P2.7, OPLOCK ;出門開關(guān)是否按下出門開關(guān)是否按下 SJMP DUKASJMP DUKA L03: MOV 0FH, #00H L03: MOV 0FH, #00H MOV 17H, #10H MOV 17H, #10H ACALL LE ACALL LE ;ASCASC轉(zhuǎn)轉(zhuǎn)1616進制數(shù)子程序進制數(shù)子程序 ACALL LB ACALL LB ;調(diào)裝配壓縮調(diào)裝配壓縮1616進制數(shù)子程序進制數(shù)子程序 ACALL LD ACALL LD ;調(diào)壓縮調(diào)壓縮1616轉(zhuǎn)非壓縮轉(zhuǎn)非壓縮1010進制子程序進制子程序
50、ACALL L11 ACALL L11 ;壓縮壓縮- -非壓縮非壓縮 ACALL BJ ACALL BJ ;調(diào)比較子程序調(diào)比較子程序 JNC KS1 JNC KS1 ;合法轉(zhuǎn)合法轉(zhuǎn)KS1KS1 SJMP DUKA SJMP DUKAKS1: ACALL LF ; KS1: ACALL LF ; 代碼代碼- -段碼子程序段碼子程序 ACALL XSH ; ACALL XSH ; 調(diào)顯示子程序調(diào)顯示子程序 ACALL OPLOCK ;ACALL OPLOCK ;開鎖開鎖 SJMP DUKASJMP DUKA BJ: MOV A, 32H BJ: MOV A, 32H ;判卡合法否子程序判卡合法否子
51、程序 CJNE A, #2DH, NEQCJNE A, #2DH, NEQ MOV A, 33H MOV A, 33H CJNE A, #0DBH, NEQ CJNE A, #0DBH, NEQ MOV A, 34H MOV A, 34H CJNE A, 12H, LB1 CJNE A, 12H, LB1 AJMP KS AJMP KS LB1: CJNE A, #13H, NEQ LB1: CJNE A, #13H, NEQ KS: CLR C KS: CLR C RET RET NEQ: SETB CNEQ: SETB C RET RET OPLOCK: SETB P2.5 OPLOCK:
52、 SETB P2.5 ;開鎖子程序開鎖子程序 CLR P2.6CLR P2.6 LCALL DEL ; LCALL DEL ;延時延時10S10S SETB P2.6 SETB P2.6 CLR P2.3 CLR P2.3 MOV R5,#0AH MOV R5,#0AH L8: LCALL DEL L8: LCALL DEL DJNZ R5, L8 DJNZ R5, L8 SETB P2.3 SETB P2.3 CLR P2.5 CLR P2.5 JNB P2.4, AL JNB P2.4, AL LJMP M1 LJMP M1AL: CLR P2.6AL: CLR P2.6 LCALL DE
53、L LCALL DEL SETB P2.6 SETB P2.6 RET RET SIC: ANL TMOD, #0FH SIC: ANL TMOD, #0FH;串口始化子程序串口始化子程序 ORL TMOD, #20HORL TMOD, #20H MOV TH1, #0FDH MOV TH1, #0FDH MOV TL1, #0FDH MOV TL1, #0FDH SETB TR1 SETB TR1 MOV IE, #90H MOV IE, #90H MOV SCON, #50H MOV SCON, #50H RET RET ZD: PUSH ACC ZD: PUSH ACC ;中斷子程序中斷
54、子程序 PUSH 00HPUSH 00H PUSH 02H PUSH 02H MOV R0, #30H MOV R0, #30H MOV R2, #0BH MOV R2, #0BHLL1: ACALL LL2LL1: ACALL LL2 JB F0, LL3 JB F0, LL3 NOP NOP NOP NOP MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, LL1 DJNZ R2, LL1 POP 02H POP 02H POP 00H POP 00H POP ACC POP ACC NOP NOP MOV 0FH, #33H MOV 0FH, #33H
55、 RETI RETI LL2: MOV 04H, #28H LL2: MOV 04H, #28H LL4: JNB RI, LL6 LL4: JNB RI, LL6 CLR RI CLR RI MOV A, SBUF MOV A, SBUF CLR F0 CLR F0 RET RET LL6: MOV 05H, #0AH LL6: MOV 05H, #0AH LL5: DJNZ R5, LL5 LL5: DJNZ R5, LL5 DJNZ R4, LL4 DJNZ R4, LL4 SETB F0 SETB F0 RET RET LL3: POP 02H LL3: POP 02H POP 00H
56、 POP 00H POP ACC POP ACC RETI RETI LE: MOV R0, #30H LE: MOV R0, #30H ; ASCASC轉(zhuǎn)轉(zhuǎn)1616 進制數(shù)子程序進制數(shù)子程序 MOV R2, #0AHMOV R2, #0AH LE4: MOV A, R0 LE4: MOV A, R0 ACALL LE1 ACALL LE1 MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, LE4 DJNZ R2, LE4 RET RET LE1: CJNE A, #40H, L13 LE1: CJNE A, #40H, L13 SJMP LE3 SJMP
57、LE3 L13: JC LE2 L13: JC LE2 ADD A, #09H ADD A, #09H LE2: ANL A, #0FH LE2: ANL A, #0FH CLR C CLR C RET RET LE3: SETB C LE3: SETB C RET RET LB: MOV A, 30H ; LB: MOV A, 30H ; 裝配壓縮裝配壓縮1616進制數(shù)子程序進制數(shù)子程序 SWAP ASWAP A ADD A, 31H ADD A, 31H MOV 30H, A MOV 30H, A MOV A, 32H MOV A, 32H SWAP A SWAP A ADD A, 33H
58、 ADD A, 33H MOV 31H, A MOV 31H, A NOP NOP NOP NOP MOV A, 34H MOV A, 34H SWAP A SWAP A ADD A, 35H ADD A, 35HMOV 32H, AMOV 32H, AMOV A, 36HMOV A, 36HSWAP ASWAP AADD A, 37HADD A, 37HMOV 33H, AMOV 33H, ANOPNOPNOPNOPMOV A, 38HMOV A, 38HSWAP ASWAP AADD A, 39HADD A, 39HMOV 34H, AMOV 34H, ARETRETLD: MOV 35H
59、, 33H ; LD: MOV 35H, 33H ; 壓縮壓縮1616轉(zhuǎn)非壓縮轉(zhuǎn)非壓縮1010進制子程序進制子程序 MOV R0, #34HMOV R0, #34H MOV R7, #02H MOV R7, #02H MOV R1, #28H MOV R1, #28H LCALL LD1 LCALL LD1 RET RETLD1: MOV A, R0LD1: MOV A, R0 MOV R5, A MOV R5, A MOV A, R1 MOV A, R1 MOV R6, A MOV R6, A MOV A, R7 MOV A, R7 INC A INC A MOV R3, A MOV R3,
60、 A CLR A CLR A LD2: MOV R1, ALD2: MOV R1, A INC R1 INC R1 DJNZ R3, LD2 DJNZ R3, LD2 MOV A, R7 MOV A, R7 MOV B, #08H MOV B, #08H MUL AB MUL AB MOV R3, A MOV R3, A LD3: MOV A, R5 LD3: MOV A, R5 MOV R0, A MOV R0, A MOV A, R7 MOV A, R7 MOV R2, A MOV R2, A CLR C CLR CLD4: MOV A, R0LD4: MOV A, R0RLC ARLC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州警察學(xué)院《功能復(fù)合材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年河南省《輔警招聘考試必刷500題》考試題庫含答案【綜合卷】
- 2024年土地登記代理人考試題庫含答案【基礎(chǔ)題】
- 研學(xué)旅游創(chuàng)新發(fā)展的執(zhí)行方案與路徑
- Unit 10 單元整體說課稿說課稿 2024-2025學(xué)年人教版八年級英語上冊
- 無人機配送的發(fā)展背景
- 提升鄉(xiāng)村產(chǎn)業(yè)發(fā)展水平的策略及實施路徑
- 2025年度財務(wù)內(nèi)部審計工作計劃模板
- 2025年少數(shù)民族醫(yī)改規(guī)劃工作計劃范文
- Unit 2 On the Weekend Lesson 1(說課稿)-2024-2025學(xué)年人教新起點版英語四年級上冊
- 江西省萍鄉(xiāng)市2022-2023學(xué)年高一年級上冊期末考試數(shù)學(xué)試題
- 第二單元自測卷(試題)2023-2024學(xué)年統(tǒng)編版語文四年級下冊
- 山西省呂梁市2023-2024學(xué)年高二上學(xué)期期末數(shù)學(xué)試題
- 如何訓(xùn)練寶寶獨立就寢
- 血常規(guī)報告單
- 設(shè)備部年度工作總結(jié)和來年計劃
- 藥品的收貨與驗收培訓(xùn)課件
- 寶寶大便觀察及護理課件
- 公司月度安全生產(chǎn)綜合檢查表
- 開題報告會記錄單
- 對話的力量:焦點解決取向在青少年輔導(dǎo)中的應(yīng)用
評論
0/150
提交評論