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

正文內(nèi)容

門禁控制系統(tǒng)的研制畢業(yè)設(shè)計(jì)說明書-資料下載頁

2025-08-02 22:34本頁面
  

【正文】 口的情況。本章主要論述如何設(shè)計(jì)上位機(jī)界面,以及下位機(jī)與上位機(jī)的通信,以及數(shù)據(jù)庫的設(shè)計(jì)。 串口通信的實(shí)現(xiàn)在本門禁系統(tǒng)中,計(jì)算機(jī)與門禁控制器之間的通信接口采用計(jì)算機(jī)的串口。系統(tǒng)采用主從方式,由計(jì)算機(jī)發(fā)送命令,門禁控制器執(zhí)行命令,做出應(yīng)答,對(duì)所有硬件設(shè)備的訪問采用輪詢的方式,輪詢的間隔可以由管理員設(shè)定。通信過程分為以下兩步,如果系統(tǒng)中沒有多路通道控制器,通信過程可以直接進(jìn)行第二步。(1)通信時(shí),首先選通某個(gè)通道,計(jì)算機(jī)發(fā)送命令與接收應(yīng)答相同表示成功,視為一條透明通道,通信成功,否則,重新選通。(2)通道選通后,開始計(jì)算機(jī)與硬件設(shè)備的應(yīng)答過程。計(jì)算機(jī)循環(huán)發(fā)送命令給此通道上的硬件設(shè)備,硬件設(shè)備作相應(yīng)的應(yīng)答。串口通信的參數(shù)包括:波特率、字長、校驗(yàn)位的長度和是否有奇偶校驗(yàn)。雙方參數(shù)的設(shè)置必須統(tǒng)一。存在以下兩種報(bào)文格式:①計(jì)算機(jī)發(fā)給控制器的報(bào)文格式(命令數(shù)據(jù))TAddrCommandLenData[0]…Data[m]BccINFO(0) INFO(0) T:呼叫字符,提醒門禁機(jī)注意(一個(gè)字節(jié))。Addr:門禁機(jī)地址(兩個(gè)字節(jié))。Command:命令碼(1字節(jié)),代表具體的通訊命令內(nèi)容,以十六進(jìn)制數(shù)表示。Len:數(shù)據(jù)長度(1字節(jié))。Data[I] 數(shù)據(jù)Len、Data[0]?Data[m]是通訊內(nèi)容對(duì)應(yīng)的數(shù)據(jù)長度及數(shù)據(jù)。Bcc 異或校驗(yàn)碼(2個(gè)字節(jié))Bcc=INFO[N]=INFO[O]oINFO[1]o?oINFO[N一1]其中:o表示XOR(異或)gcc的發(fā)送方式與數(shù)據(jù)相同。發(fā)送格式如下:門禁控制器選通串+命令串+數(shù)據(jù)長度+數(shù)據(jù)串+校驗(yàn)字(數(shù)據(jù)異或值=G)[T$十]+[Command]+[Len]+[DATA]十[LCR(INFO[O~N一1])]其中:[LCR(INFO[0~N—1])]=INFO[1]o INFO[2]o?o INFO[N一1]o=異或②控制器發(fā)給計(jì)算機(jī)的應(yīng)答報(bào)文格式(應(yīng)答報(bào)文)QAddrStatusLenData[0]…Data[m]BccINFO(0) INFO(0) Q:通訊開始引導(dǎo)符(一個(gè)字節(jié))。Addr:門禁機(jī)地址(兩個(gè)字節(jié))。Q+Addr成為門禁機(jī)選通命令。Status:指令調(diào)用的結(jié)果(1字節(jié))。Len:數(shù)據(jù)長度(1字節(jié))。Data[I] 數(shù)據(jù)。Bcc異或校驗(yàn)碼(2個(gè)字節(jié))。Bcc=INFO[N]=INFO[0]oINFO[1]o?OINFO[N—1]。其中:O表示XOR(異或)。 控件MSComm使用方法Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。MSComm 控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。MSComm控件在串口編程時(shí)非常方便,不必去花時(shí)間去了解較為復(fù)雜的API函數(shù),而且在VC、VB、Delphi等語言中均可使用。只需要利用MSComm控件就可實(shí)現(xiàn)串口編程。MSComm控件提供了兩種處理通信問題的方法:一是事件驅(qū)動(dòng)(Event—Driven)方法,二是查詢法。事件驅(qū)動(dòng)方式是處理串行端口交互作用的一種非常有效的方法。使用事件驅(qū)動(dòng)法設(shè)計(jì)程序時(shí),每當(dāng)有新字符到達(dá)或端口狀態(tài)改變,或發(fā)生錯(cuò)誤時(shí),MSCOmm控件的OnComm事件捕獲并處理這些通信事件。而應(yīng)用程序在捕獲該事件后,通過檢查MSComm控件的CommEvent屬性可以在Onm事件處理函數(shù)中加入自己的處理代碼,這種方法程序響應(yīng)及時(shí)可靠。查詢方式:查詢的實(shí)質(zhì)實(shí)際上仍然是事件驅(qū)動(dòng),這種方法應(yīng)用程序每當(dāng)執(zhí)行完某一串行口操作后,將不斷地檢查CommEvent屬性的值來查詢事件或錯(cuò)誤,如果應(yīng)用程序較小,而且是自保持的,那么這種方法比較可取。MSComm控件有許多屬性,其中非常重要的幾個(gè)屬性如下:CommPort:設(shè)置并返回通信端El號(hào)。Setting:以字符串的形式設(shè)置并返回波特率,奇偶校驗(yàn)位,數(shù)據(jù)位,停止位。PortOpen:設(shè)置并返回通信端口的狀態(tài)。也可以打開和關(guān)閉端口。Input:從接收緩沖區(qū)返回和刪除字符。Output:向傳輸緩沖區(qū)寫一個(gè)字符。(1)串口初始化:在MySCommTestDlg::OnlnitDialog()函數(shù)中寫入對(duì)串/21的初始化語句。通過串口初始化變量 m—ctrlm來設(shè)置串口控件的屬性。部分代碼示例如下:m ctrlm.SetlnBufferSize(1024); //設(shè)置輸人緩沖區(qū)大小m ctrlm.SetOutBufferSize(512); //設(shè)置輸出緩沖區(qū)大小m—ctrlm.SetSettings(”9600,n,8,1”);//波特率9600,無校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停止位m ctrlm.SetPortOpen(TRUE); //打開端口m ctrlm.SetRThreshold(1); //接收多余一個(gè)字符將觸發(fā)OnComm事件m—ctrlm.SetlnputLen(0); //設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為0m ctrlm.Getlnput(); //預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù)(2)串口事件處理:MsComm控件一般用事件驅(qū)動(dòng)方式從串口接收數(shù)據(jù),事件驅(qū)動(dòng)法完成對(duì)數(shù)據(jù)的監(jiān)視并在程序中捕捉并處理這些事件。為串口事件添加OnComm()消息處理函數(shù)。消息處理函數(shù)是對(duì)串口事件的處理,根據(jù)需要編寫。示例代碼為:CMySCommTestDlg::OnComm() //使用MSComm控件的事件驅(qū)動(dòng)方式接收串口數(shù)據(jù) (3)串口讀寫操作:在串口數(shù)據(jù)的發(fā)送和就收過程中都是使用的VARIANT數(shù)據(jù)類型,因此我們必須把CString字符串?dāng)?shù)據(jù)轉(zhuǎn)換成variant數(shù)據(jù)進(jìn)行串口數(shù)據(jù)傳送。void CMySCommTestDlg:t OnButtonl()//把CString字符串類型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為variant類型數(shù)據(jù)從串口發(fā)送(4)關(guān)閉串口:串口在進(jìn)行數(shù)據(jù)處理完畢后,要關(guān)閉串口以釋放串口,即將PortOpen()的屬性設(shè)置為FALSE。至此一個(gè)完整的串口通信程序完成了。 界面設(shè)計(jì)Visual C++是開發(fā)Win32應(yīng)用程序的可視化編程工具,它為軟件開發(fā)人員提供完整的編輯,編譯,調(diào)試工具,以及建立基于Win32 API 基礎(chǔ)的MFC類庫,從而有效的縮短了Windows應(yīng)用程序的開發(fā)周期,Windows操作系統(tǒng)本身大部分是用C/C++語言寫成的,而Visual C++正是使用C/C++語言的Win32應(yīng)用程序集成開發(fā)環(huán)境,因此, Visual C++編寫軟件。用戶界面是人機(jī)對(duì)話的主要方法,本系統(tǒng)設(shè)計(jì)了一個(gè)良好的人機(jī)對(duì)話界面PC機(jī)軟件,給用戶一個(gè)簡單、實(shí)用、方便操作的界面。使用VC可以很方便的設(shè)計(jì)軟件的界面,以及程序代碼的編寫。設(shè)置使用串口的傳輸波特率為9600kbps。設(shè)計(jì)的界面如下圖所示: 門禁系統(tǒng)上位機(jī)界面設(shè)計(jì)步驟如下:(1)建立項(xiàng)目:打開VC++,建立一個(gè)基于對(duì)話框的MFC應(yīng)用程序,輸入文件名。(2)在項(xiàng)目中插入MSComm控件 選擇Project菜單下Add To Project子菜單中的 Components and Controls…選項(xiàng),在彈出的對(duì)話框中雙擊Registered ActiveX Controls項(xiàng),則所有注冊(cè)過的ActiveX控件出現(xiàn)在列表框中。選擇Microsoft Communications Control, version ,單擊Insert按鈕將它插入到我們的Project中來,接受缺省的選項(xiàng)。這時(shí)在ClassView視窗中就可以看到CMSComm類了,并且在控件工具欄Controls中出現(xiàn)了圖標(biāo),用鼠標(biāo)將此圖標(biāo)拖到對(duì)話框中。(3)刪除對(duì)話框原來的控件,用面板添加所需的控件按鈕,然后添加變量,在“查看”菜單中點(diǎn)擊鼠標(biāo)右鍵,打開“Class Wizard”對(duì)話框的“Member Variables”標(biāo)簽,選中所對(duì)應(yīng)的控件ID號(hào),雙擊鼠標(biāo)或者單擊Add Variables按鈕,依次下表中的增加成員變量。 (4)為相應(yīng)的控件添加成員函數(shù),并添加函數(shù)代碼,編譯。生成過程如下:BuildSet Active configuration選中win32release,然后Buildrebuild All,完成后,就在工程目錄下多了一個(gè)Release文件夾。 (5).InstallShield環(huán)境下編譯生成文件,可以生成打包軟件了。打開工程文件夾disk1就可以看到安裝文件了。安裝成功后,點(diǎn)擊*exe就可以運(yùn)行了。 數(shù)據(jù)庫設(shè)計(jì)SQL Server2000是Microsoft公司在SQL Server 7.0基礎(chǔ)上潛心研究而成功開發(fā)出的功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)。,使用SQLServer的企業(yè)管理器,可以非常方便地創(chuàng)建、配置、維護(hù)數(shù)據(jù)庫,使得沒有很多數(shù)據(jù)庫知識(shí)的管理員輕松上手,管理數(shù)據(jù)庫。本設(shè)計(jì)采用SQL Server2000關(guān)系數(shù)據(jù)庫作為數(shù)據(jù)庫管理系統(tǒng),在關(guān)系數(shù)據(jù)庫里,所有的數(shù)據(jù)都按表(稱為“關(guān)系”)進(jìn)行組織和管理。表容納著對(duì)個(gè)人或?qū)ζ髽I(yè)至關(guān)重要的數(shù)據(jù)。在進(jìn)行數(shù)據(jù)庫程序設(shè)計(jì)時(shí),首先要做的工作就是設(shè)計(jì)數(shù)據(jù)庫表格的結(jié)構(gòu),即分析每個(gè)表格該由哪些項(xiàng)構(gòu)成,各表格之間的關(guān)系等。本系統(tǒng)構(gòu)數(shù)據(jù)庫主要包括持卡人信息,出入時(shí)間等 ADO連接訪問數(shù)據(jù)庫采用ADO技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫的訪問,要用到ADO控件頁中的TADODataSet、TADOQuery、TADOConnection等組件,結(jié)合DataAccess控件頁中的DataSource組件來對(duì)數(shù)據(jù)庫進(jìn)行訪問。各控件使用方法如下:(1)TADOCormection組件:建立數(shù)據(jù)庫與ADO組件的連接,相當(dāng)于數(shù)據(jù)庫別名,避免每個(gè)組件都要建立自己的連接字符串。(2)ADODataSet組件:與表進(jìn)行連接,用于獲取和操縱ADO數(shù)據(jù),也可以執(zhí)行SQL語句和存儲(chǔ)過程,集ADOTable、ADOQuery、ADOStoredProc三者功能于一體,使用時(shí),設(shè)定其Connection屬性為ADOConnection組件對(duì)象。(3)TADOQuery組件:通過SQL語句對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行功能強(qiáng)大的查詢來獲取和操作數(shù)據(jù)集的元素,它通過TADOConnection組件連接到數(shù)據(jù)庫。(4)Data Source組件:是聯(lián)系A(chǔ)DO組件與用戶應(yīng)用程序的橋梁。數(shù)據(jù)控件Data Control組件讓用戶能夠?yàn)g覽和操作數(shù)據(jù)庫,充當(dāng)應(yīng)用程序的用戶接口。數(shù)據(jù)庫數(shù)據(jù)庫驅(qū)動(dòng)ADO系列控件DATA ACESS控件Data control控件用戶界面 ADO訪問數(shù)據(jù)庫的結(jié)構(gòu)層次6 系統(tǒng)調(diào)試系統(tǒng)的應(yīng)用開發(fā)可分為以下五個(gè)過程。(1)硬件系統(tǒng)設(shè)計(jì)調(diào)試。如電路設(shè)計(jì)、PCB印制板繪制等。(2)應(yīng)用程序的設(shè)計(jì)。(3)應(yīng)用程序的仿真調(diào)試。 (4)單片機(jī)應(yīng)用程序的燒寫。 (5)系統(tǒng)運(yùn)行檢查。進(jìn)行全面檢查,針對(duì)出現(xiàn)的問題修正硬件、軟件或總體設(shè)計(jì)方案。 硬件調(diào)試根據(jù)設(shè)計(jì)的原理電路做好實(shí)驗(yàn)樣機(jī),便進(jìn)入硬件調(diào)試階段。調(diào)試工作的主要任務(wù)是排除樣機(jī)故障,其中包括設(shè)計(jì)錯(cuò)誤和工藝性故障。在印制電路板工作完成之后,根據(jù)設(shè)計(jì)的步驟要求我對(duì)自己的硬件電路板進(jìn)行了調(diào)試工作,這里將調(diào)試的過程及在調(diào)試的過程中所遇到的問題提出來進(jìn)行討論,以便能夠進(jìn)一步的掌握設(shè)計(jì)工作的要領(lǐng)。(1)邏輯錯(cuò)誤調(diào)試樣機(jī)硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤和加工過程中的工藝性錯(cuò)誤所造成的,主要有錯(cuò)線、開路、短路等幾種。因此要先對(duì)硬件線路進(jìn)行檢查。(2)檢測(cè)元器件檢測(cè)所有元器件的好壞,是否正常工作,導(dǎo)線是否導(dǎo)通等。具體的實(shí)現(xiàn)方法是先檢測(cè)電容、電阻及導(dǎo)線是否短接,采用的工具是萬用表。(3)檢測(cè)各個(gè)引腳信號(hào)給電路接通電源,大概用手摸一下元器件是否發(fā)熱,有的話,關(guān)掉電源,進(jìn)行再次檢測(cè);沒有的話,則測(cè)試所有芯片的VCC端電壓是否達(dá)到要求,接地端是否都接地。(4)調(diào)試串口模塊,打開串口調(diào)試助手,將RXD,TXD連接起來,看能否接受和發(fā)送數(shù)據(jù)。當(dāng)以上檢測(cè)都沒有什么問題的時(shí)候,就可以燒寫單片機(jī)程序,進(jìn)行整體調(diào)試了,調(diào)試的結(jié)果能達(dá)到設(shè)計(jì)的要求,就算硬件設(shè)計(jì)工作完成。 軟件調(diào)試本設(shè)計(jì)系統(tǒng)的控制程序是采用C語言編程,編程所采用的軟件是keil編程軟件。關(guān)于單片機(jī)C語言軟件調(diào)試,在語句中出現(xiàn)的語法錯(cuò)誤,該軟件會(huì)提示出來,以便于更正。其次,就是檢查初始化程序的正確性,根據(jù)設(shè)計(jì)的要求定義正確的初始化程序,為后面程序的執(zhí)行做好鋪墊作用。然后就是根據(jù)軟件實(shí)現(xiàn)步驟逐個(gè)檢查程序的可行性,以及程序的嵌套性是否都能達(dá)到設(shè)計(jì)的要求。本系統(tǒng)采用模塊程序設(shè)計(jì)術(shù),逐個(gè)模塊調(diào)好以后,再進(jìn)行系統(tǒng)程序總調(diào)試(1)調(diào)試控制的單片機(jī)是否能正常工作,可以通過測(cè)試其引腳是否可以按程序的要求變化。調(diào)試下載的單片機(jī)的引腳能否按要求高低電平變化。 (2)調(diào)試射頻模塊 根據(jù)射頻模塊的協(xié)議以及編寫的程序,進(jìn)行IC卡的刷卡識(shí)別,若是設(shè)定的IC卡則產(chǎn)生預(yù)期的反應(yīng),其他卡則不能。調(diào)試射頻模塊是否滿足要求。(3)打開串口調(diào)試助手,將串口的模塊的RXD和TXD短接,使用串口調(diào)試助手發(fā)送數(shù)據(jù),看下接收緩沖區(qū)能否接收所發(fā)送的數(shù)據(jù)。(4)聯(lián)機(jī)調(diào)試 按照要求,將硬件與電腦連接,打開所編譯好的軟件,以便綜合調(diào)試。首先點(diǎn)擊“打開”與“關(guān)閉”按鈕,看能否順利打開與關(guān)閉串口,如果成功,可以進(jìn)行下列的步驟,否則修改串口程序。然后進(jìn)行IC卡刷卡,看能否顯示卡的詳細(xì)信息,以及刷卡時(shí)間。否則修改程序。如果刷卡成功,點(diǎn)擊“保存數(shù)據(jù)”,看能否進(jìn)行數(shù)據(jù)保存,否則修改程序。
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1