freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

門禁控制系統(tǒng)的研制畢業(yè)設(shè)計說明書(參考版)

2025-08-05 22:34本頁面
  

【正文】 結(jié)。否則修改程序。首先點擊“打開”與“關(guān)閉”按鈕,看能否順利打開與關(guān)閉串口,如果成功,可以進(jìn)行下列的步驟,否則修改串口程序。(3)打開串口調(diào)試助手,將串口的模塊的RXD和TXD短接,使用串口調(diào)試助手發(fā)送數(shù)據(jù),看下接收緩沖區(qū)能否接收所發(fā)送的數(shù)據(jù)。 (2)調(diào)試射頻模塊 根據(jù)射頻模塊的協(xié)議以及編寫的程序,進(jìn)行IC卡的刷卡識別,若是設(shè)定的IC卡則產(chǎn)生預(yù)期的反應(yīng),其他卡則不能。本系統(tǒng)采用模塊程序設(shè)計術(shù),逐個模塊調(diào)好以后,再進(jìn)行系統(tǒng)程序總調(diào)試(1)調(diào)試控制的單片機是否能正常工作,可以通過測試其引腳是否可以按程序的要求變化。其次,就是檢查初始化程序的正確性,根據(jù)設(shè)計的要求定義正確的初始化程序,為后面程序的執(zhí)行做好鋪墊作用。 軟件調(diào)試本設(shè)計系統(tǒng)的控制程序是采用C語言編程,編程所采用的軟件是keil編程軟件。(4)調(diào)試串口模塊,打開串口調(diào)試助手,將RXD,TXD連接起來,看能否接受和發(fā)送數(shù)據(jù)。具體的實現(xiàn)方法是先檢測電容、電阻及導(dǎo)線是否短接,采用的工具是萬用表。因此要先對硬件線路進(jìn)行檢查。在印制電路板工作完成之后,根據(jù)設(shè)計的步驟要求我對自己的硬件電路板進(jìn)行了調(diào)試工作,這里將調(diào)試的過程及在調(diào)試的過程中所遇到的問題提出來進(jìn)行討論,以便能夠進(jìn)一步的掌握設(shè)計工作的要領(lǐng)。 硬件調(diào)試根據(jù)設(shè)計的原理電路做好實驗樣機,便進(jìn)入硬件調(diào)試階段。 (5)系統(tǒng)運行檢查。(3)應(yīng)用程序的仿真調(diào)試。如電路設(shè)計、PCB印制板繪制等。數(shù)據(jù)庫數(shù)據(jù)庫驅(qū)動ADO系列控件DATA ACESS控件Data control控件用戶界面 ADO訪問數(shù)據(jù)庫的結(jié)構(gòu)層次6 系統(tǒng)調(diào)試系統(tǒng)的應(yīng)用開發(fā)可分為以下五個過程。(4)Data Source組件:是聯(lián)系A(chǔ)DO組件與用戶應(yīng)用程序的橋梁。(2)ADODataSet組件:與表進(jìn)行連接,用于獲取和操縱ADO數(shù)據(jù),也可以執(zhí)行SQL語句和存儲過程,集ADOTable、ADOQuery、ADOStoredProc三者功能于一體,使用時,設(shè)定其Connection屬性為ADOConnection組件對象。本系統(tǒng)構(gòu)數(shù)據(jù)庫主要包括持卡人信息,出入時間等 ADO連接訪問數(shù)據(jù)庫采用ADO技術(shù)實現(xiàn)數(shù)據(jù)庫的訪問,要用到ADO控件頁中的TADODataSet、TADOQuery、TADOConnection等組件,結(jié)合DataAccess控件頁中的DataSource組件來對數(shù)據(jù)庫進(jìn)行訪問。表容納著對個人或?qū)ζ髽I(yè)至關(guān)重要的數(shù)據(jù)。使用SQLServer的企業(yè)管理器,可以非常方便地創(chuàng)建、配置、維護(hù)數(shù)據(jù)庫,使得沒有很多數(shù)據(jù)庫知識的管理員輕松上手,管理數(shù)據(jù)庫。安裝成功后,點擊*exe就可以運行了。 (5).InstallShield環(huán)境下編譯生成文件,可以生成打包軟件了。 (4)為相應(yīng)的控件添加成員函數(shù),并添加函數(shù)代碼,編譯。這時在ClassView視窗中就可以看到CMSComm類了,并且在控件工具欄Controls中出現(xiàn)了圖標(biāo),用鼠標(biāo)將此圖標(biāo)拖到對話框中。 選擇Project菜單下Add To Project子菜單中的 Components and Controls…選項,在彈出的對話框中雙擊Registered ActiveX Controls項,則所有注冊過的ActiveX控件出現(xiàn)在列表框中。(2)在項目中插入MSComm控件設(shè)置使用串口的傳輸波特率為9600kbps。用戶界面是人機對話的主要方法,本系統(tǒng)設(shè)計了一個良好的人機對話界面PC機軟件,給用戶一個簡單、實用、方便操作的界面。至此一個完整的串口通信程序完成了。示例代碼為:CMySCommTestDlg::OnComm() //使用MSComm控件的事件驅(qū)動方式接收串口數(shù)據(jù) (3)串口讀寫操作:在串口數(shù)據(jù)的發(fā)送和就收過程中都是使用的VARIANT數(shù)據(jù)類型,因此我們必須把CString字符串?dāng)?shù)據(jù)轉(zhuǎn)換成variant數(shù)據(jù)進(jìn)行串口數(shù)據(jù)傳送。為串口事件添加OnComm()消息處理函數(shù)。通過串口初始化變量 m—ctrlm來設(shè)置串口控件的屬性。Output:向傳輸緩沖區(qū)寫一個字符。也可以打開和關(guān)閉端口。Setting:以字符串的形式設(shè)置并返回波特率,奇偶校驗位,數(shù)據(jù)位,停止位。查詢方式:查詢的實質(zhì)實際上仍然是事件驅(qū)動,這種方法應(yīng)用程序每當(dāng)執(zhí)行完某一串行口操作后,將不斷地檢查CommEvent屬性的值來查詢事件或錯誤,如果應(yīng)用程序較小,而且是自保持的,那么這種方法比較可取。使用事件驅(qū)動法設(shè)計程序時,每當(dāng)有新字符到達(dá)或端口狀態(tài)改變,或發(fā)生錯誤時,MSCOmm控件的OnComm事件捕獲并處理這些通信事件。MSComm控件提供了兩種處理通信問題的方法:一是事件驅(qū)動(Event—Driven)方法,二是查詢法。MSComm控件在串口編程時非常方便,不必去花時間去了解較為復(fù)雜的API函數(shù),而且在VC、VB、Delphi等語言中均可使用。 控件MSComm使用方法Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。Bcc=INFO[N]=INFO[0]oINFO[1]o?OINFO[N—1]。Data[I] 數(shù)據(jù)。Status:指令調(diào)用的結(jié)果(1字節(jié))。Addr:門禁機地址(兩個字節(jié))。Bcc 異或校驗碼(2個字節(jié))Bcc=INFO[N]=INFO[O]oINFO[1]o?oINFO[N一1]其中:o表示XOR(異或)gcc的發(fā)送方式與數(shù)據(jù)相同。Len:數(shù)據(jù)長度(1字節(jié))。Addr:門禁機地址(兩個字節(jié))。雙方參數(shù)的設(shè)置必須統(tǒng)一。計算機循環(huán)發(fā)送命令給此通道上的硬件設(shè)備,硬件設(shè)備作相應(yīng)的應(yīng)答。(1)通信時,首先選通某個通道,計算機發(fā)送命令與接收應(yīng)答相同表示成功,視為一條透明通道,通信成功,否則,重新選通。系統(tǒng)采用主從方式,由計算機發(fā)送命令,門禁控制器執(zhí)行命令,做出應(yīng)答,對所有硬件設(shè)備的訪問采用輪詢的方式,輪詢的間隔可以由管理員設(shè)定。本章主要論述如何設(shè)計上位機界面,以及下位機與上位機的通信,以及數(shù)據(jù)庫的設(shè)計。②RS232C標(biāo)準(zhǔn):RS232C 標(biāo)準(zhǔn)對兩個方面作了規(guī)定,即信號電平標(biāo)準(zhǔn)和控制信號線的定義。國際上規(guī)定了一個標(biāo)準(zhǔn)波特率系列,標(biāo)準(zhǔn)波特率也是最常用的波特率,標(biāo)準(zhǔn)波特率系列為1300、600、1200、4800、9600 和19200。(3) 有關(guān)串行通信的物理標(biāo)準(zhǔn)為使計算機、電話以及其他通信設(shè)備互相溝通,現(xiàn)在,已經(jīng)對串行通信建立了幾個一致的概念和標(biāo)準(zhǔn),這些概念和標(biāo)準(zhǔn)屬于三個方面:傳輸率,電特性,信號名稱和接口標(biāo)準(zhǔn)。它們的基本功能是類似的,都能實現(xiàn)上面提出的串行通信接口基本任務(wù)的大部分工作,且都是可編程的。這些信號線由接口電路提供,以便與MODEM 或終端進(jìn)行聯(lián)絡(luò)與控制。⑤進(jìn)行TTL 與EIA電平轉(zhuǎn)換:CPU 和終端均采用TTL電平及正邏輯,它們與EIA采用的電平及負(fù)邏輯不兼容,需在接口電路中進(jìn)行轉(zhuǎn)換。④進(jìn)行錯誤檢測:在發(fā)送時接口電路對傳送的字符數(shù)據(jù)自動生成奇偶校驗位或其他校驗碼。因此串并轉(zhuǎn)換是串行接口電路的重要任務(wù)。②進(jìn)行串-并轉(zhuǎn)換:串行傳送,數(shù)據(jù)是一位一位串行傳送的,而計算機處理數(shù)據(jù)是并行數(shù)據(jù)。在異步通信方式下,接口自動生成起止式的幀數(shù)據(jù)格式。目前,采用的通信協(xié)議有兩類:異步協(xié)議和同步協(xié)議。 單片機與PC機通信協(xié)議所謂通信協(xié)議是指通信雙方的一種約定。 在設(shè)計主機程序時,給TX522B發(fā)送數(shù)據(jù)或命令結(jié)束后,在等待接收TX522B返回數(shù)據(jù)時,先檢測TX522B發(fā)出的STX信號并立即給出應(yīng)答ACK,然后接收TX522B發(fā)回的數(shù)據(jù)塊。TX522B在接收到主機返回的ACK時,會立即將需要返回的數(shù)據(jù)塊發(fā)出。數(shù)據(jù)返回:TX522B在接收到主機發(fā)送的數(shù)據(jù)后,根據(jù)數(shù)據(jù)塊的內(nèi)容執(zhí)行相應(yīng)命令,并將執(zhí)行命令后的狀態(tài)或者數(shù)據(jù)(以下將狀態(tài)和數(shù)據(jù)都統(tǒng)稱為數(shù)據(jù))返回給主機。通過判斷TX522B返回數(shù)據(jù)的正確性來判斷TX522B是否正確執(zhí)行了本條命令。 :表 主機發(fā)送給TX522B遵循的格式主機數(shù)據(jù)傳送方向TX522B說明STX+DATA BLOCK+ETX→一次將一幀數(shù)據(jù)全部發(fā)送完。 主機發(fā)送數(shù)據(jù)必須符合以上規(guī)則,否則從機不會執(zhí)行任何命令,也不會有任何錯誤響應(yīng)。 ETX 1ETX=0x03,是一個幀的結(jié)束標(biāo)志 為了下文的描述,把SEQ+CMD/Status+LEN+DATA+BCC同稱為數(shù)據(jù)塊DATA Block。 DATA Length 數(shù)據(jù)信息,長度等于Length BCC 1校驗和。第一個包的SEQ可為任意值。 表 TX522B串行通信控制字符表描述定義值開始符STX0x20終止符ETX0x03應(yīng)答ACK0x06無應(yīng)答NAK0x15 協(xié)議使用方法數(shù)據(jù)通信幀:數(shù)據(jù)通信以一幀為單位進(jìn)行,格式如下: 數(shù)據(jù)通信幀結(jié)構(gòu)起始符STX包號SEQNR命令/狀態(tài)CMD/Status數(shù)據(jù)長度Length數(shù)據(jù)DATA校驗和BCC幀結(jié)束符ETX1byte1byte1byte1byteN byte1byte1byte: 表 數(shù)據(jù)幀各字段說明字段 長度 說明補充 STX 1STX=0x20,數(shù)據(jù)幀的起始符,每一幀數(shù)據(jù)都是以STX開始 SEQNR 1該數(shù)據(jù)幀包序號,從0到255循環(huán)。 通信協(xié)議分為兩步,第一步波特率設(shè)置,第二步進(jìn)行數(shù)據(jù)通信。若要重新使用模塊,需要調(diào)用TX_Config()函數(shù)對TX522B重新進(jìn)行配置。 數(shù)據(jù)塊格式描述: 主機→TX522 命令模式): SEQNR: 0 (可自定義) COMMAND:0x46 LENGTH: 1 DATA[0]: Block 讀取塊2的數(shù)據(jù)的數(shù)據(jù)幀STXSEQNRCMDLengthDATABCCETX0x200x000x460x010x020xba0x03 TX522→主機(響應(yīng)模式): SEQNR: 0 STATUS: OK,QUIT,NO_TAG_ERR,CRC_ERR,NOT_AUTH_ERR, PARITY_ERR,BIT_COUNT_ERR,COMM_ERR中的某一個 LENGTH: 16 DATA[0]: 所訪問塊的第一個字節(jié) DATA[15]: 所訪問塊的最后一個字節(jié) 數(shù)據(jù)幀STXSEQNRStatusLengthDATABCCETX0x200x000x000x1016字節(jié)數(shù)據(jù)0xXX0x03(7)關(guān)閉模塊TX522B執(zhí)行命令后的狀態(tài),可能的狀態(tài)值如下:OK, COMM_ERR。函數(shù)原型:uchar TX_Read(uchar Block,uchar idata *Data) 輸入?yún)?shù):Block:卡塊號(1字節(jié)): S50:0~63;S70:0~255 輸出參數(shù):*Data:Data為讀回16字節(jié)數(shù)據(jù)的首地址。因為Mifare卡每個扇區(qū)的密碼可能不相同,若要對一張卡中的多個扇區(qū)進(jìn)行操作,在對某一扇區(qū)操作完畢后,必須進(jìn)行一條讀命令才能對另一個扇區(qū)直接進(jìn)行驗證命令,否則必須從請求開始操作。Mifare卡中一個塊的數(shù)據(jù)是16字節(jié),因此讀寫一次均是16個字節(jié)。 輸出參數(shù): 無 函數(shù)返回: TX522B執(zhí)行命令后的狀態(tài),可能的狀態(tài)值如下:OK,QUIT,NO_TAG_ERR,PARITY_ERR,BIT_COUNT_ERR,COMM_ERR。 Sector:所要驗證的卡扇區(qū)號(也即將要訪問的卡的扇區(qū)號),取值范圍0~39,能用于S70卡。 輸入?yún)?shù):KeyAB:密鑰類型(1字節(jié))。該函數(shù)適用于對于所有卡來說密碼相同的應(yīng)用,密鑰的裝載可以在一個安全的場合一次性裝入。(5)驗證本設(shè)計中使用模塊內(nèi)部密鑰區(qū)中Key_Sector中的密碼對指定的卡的扇區(qū)Sector進(jìn)行驗證,若卡Sector區(qū)中的密碼與存儲在模塊內(nèi)Key_Sector中的密碼相同,則驗證成功,返回OK。 當(dāng)*Sak=xx0xx0xx時,選擇成功,該卡不符合ISO/IEC 144434標(biāo)準(zhǔn)。 當(dāng)*Sak=xxxxx1xx時,序列號沒有完成,還要進(jìn)行下一級的防碰撞和選擇操作。如果卡得序號號大于4個字節(jié),則*SNR的最低字節(jié)值為0x88,表示需要進(jìn)行更高一級的防碰撞。 *SNR:前一次防碰撞返回的卡的序號,或已知的卡的序列號。輸入?yún)?shù):Select_Code:防碰撞層級編碼:一層(ANTICOLL1)—0x93;二層(ANTICOLL2)—0x95;三層(ANTICOLL3)—0x97。卡的序列號長度有三種:4字節(jié)、7字節(jié)和10字節(jié)。參數(shù)Select_Code表示防碰撞的級數(shù),應(yīng)該與該函數(shù)執(zhí)行前的TX_Casc_Anticoll()中的Select_Code相同。(4)選擇卡片uchar TX_Casc_Select()用于選擇某一個序列號的卡,與之建立通信連接,并返回是否選擇成功的應(yīng)答*Sak。當(dāng)知道了所要選擇卡的序列號后,就沒有必要執(zhí)行該TX_AntiColl函數(shù)。4字節(jié)的只要用一級防碰撞即可得到完整的序列號,如Mifare1 S50 S70等;7字節(jié)的要進(jìn)行二級防碰撞才能得到完整的序列號,前一級所得到的序列號的最低字節(jié)為級聯(lián)標(biāo)志0x88,在序列號內(nèi)只后3字節(jié)可用,后一級防碰撞能得到4字節(jié)序列號,兩者按順序連接即為7字節(jié)序列號,如UltraLight和DesFire等;需要進(jìn)行
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1