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

正文內(nèi)容

基于51單片機的指紋密碼鎖設(shè)計-資料下載頁

2025-06-28 00:13本頁面
  

【正文】 試,調(diào)試成功的代碼文件通過開發(fā)板就可以下載到單片機中。單片機上電后,主程序應(yīng)完成相應(yīng)的初始化。根據(jù)電路的功能性要求,主要程序必須初始化液晶,并且檢測按鍵。如果有相應(yīng)的鍵被按下,執(zhí)行相應(yīng)的操作,對指紋模塊的讀寫是單片機通過串行接口進(jìn)行的。所以要對串口進(jìn)行初始化由于使用串口和模塊通訊,所以必須先約定好單片機和模塊的串口工作速度和數(shù)據(jù)包格式。SCON 是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:表41 SCON寄存器地址位位76543210字節(jié)地址:98HSM0SM1SM2SM3SM4SM5SM6SM7SCONSM0和SM1為工作方式選擇位,可選擇四種工作方式:表42 串行口工作方式SM0SM1方式說明波特率000移位寄存器fosc/1201110位異步收發(fā)器(8位數(shù)據(jù))可變10211位異步收發(fā)器(9位數(shù)據(jù))fosc/64或fosc/3211311位異步收發(fā)器(9位數(shù)據(jù))可變PCON中只有一位SMOD與串行口工作有關(guān) : 表43 PCON寄存器位76543210字節(jié)地址:97HSMODPCONSMOD() 波特率倍增位。在串行口方式方式方式3時,波特率與SMOD有關(guān),當(dāng)SMOD=1時,波特率提高一倍。復(fù)位時,SMOD=0。發(fā)送數(shù)據(jù)共1114個字節(jié),前6個字節(jié)是模塊的包頭和模塊地址為固定值,后58個字節(jié)是傳輸?shù)哪K的命令。同時根據(jù)外部晶振和系統(tǒng)默認(rèn)的傳輸速率算出控制串口的各寄存器的初始值。指紋模塊的通訊波特率(UART)的要求為9600bps,所以如果單片機要與指紋模塊進(jìn)行通信是,必須波特率一致,此時需要在編程時設(shè)置單片機的波特率為9600bps。串行口工作之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時器串行口控制和中斷控制。具體步驟如下:確定T1的工作方式(編程TMOD寄存器);計算T1的初值,裝載THTL1;啟動T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時,要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。下面是串口初始化程序:SCON=0x50。 //UART方式1:8位UART。 REN=1:允許接收 PCON=0x00。 //SMOD=0:波特率不加倍 TMOD=0x21。 //T1方式2,用于UART波特率,T0方式1TH1=0xFD。 TL1=0xFD。 //UART波特率設(shè)置:9600根據(jù)分析后,制定如下圖的程序流程圖。主程序設(shè)計流程如圖41所示。程序的巡檢過程:首先對各模塊進(jìn)行初始化,檢測在有無按鍵按下,如果按下判斷是那一個按鍵,并作出判斷是否調(diào)用相應(yīng)子程序。主程序主要由液晶顯示、通訊子程序和按鍵程序組成。主程序的工作流程描述如下:首先初始化各種硬件功能模塊。包括液晶顯示、鍵盤掃描、指紋模塊建立通信。圖41 主程序流程圖鍵盤是系統(tǒng)與外部傳遞信息的通道,在硬件的基礎(chǔ)上需要進(jìn)行軟件的設(shè)計。鍵盤模塊的工作流程圖如圖42所示。圖42 鍵盤程序流程圖 LCD顯示模塊程序流程設(shè)計顯示模塊主要完成數(shù)據(jù)的顯示功能,然后根據(jù)接受到指令顯示相關(guān)的內(nèi)容在屏幕上。圖43 顯示程序流程圖 指紋識別程序設(shè)計 指紋模塊通訊協(xié)議說明指紋模塊采用UART與單片機通訊,對命令、數(shù)據(jù)、結(jié)果的接收和發(fā)送,都采用數(shù)據(jù)包的形式。對于多字節(jié)的,高字節(jié)在前低字節(jié)在后。數(shù)據(jù)包格式:包頭地址包標(biāo)識包長度包內(nèi)容(指令/數(shù)據(jù)/參數(shù)/確認(rèn)碼)校驗和包頭固定為0xef01, 傳送時高字節(jié)在前。地址默認(rèn)值為0xffffffff, 用戶可通過指令生成新地址,模塊會拒絕地址錯誤的數(shù)據(jù)包。傳送時高字節(jié)在前。包標(biāo)識,0x01表示是命令包,0x02表示是數(shù)據(jù)包(Data packet),且有后續(xù)包。數(shù)據(jù)包不能單獨進(jìn)入執(zhí)行流程,必須跟在指令包或應(yīng)答包后面。0x07表示是應(yīng)答包,可以跟后續(xù)包。0x08表示是最后一個數(shù)據(jù)包,即結(jié)束包。包長度指的是包內(nèi)容(指令/數(shù)據(jù))的長度加上效驗和的長度(即包內(nèi)容長度+2)。 長度以字節(jié)為單位(即字節(jié)數(shù)),傳送時高字節(jié)在前。包內(nèi)容可以是指令、數(shù)據(jù)、指令的參數(shù)、應(yīng)答結(jié)果等。(指紋特征值、指紋模板都是數(shù)據(jù))。校驗和是包標(biāo)示、包長度和包內(nèi)容的所有字節(jié)的算術(shù)累計和,超過2 字節(jié)的進(jìn)位忽略。指令只能由上位機下發(fā)給模塊,模塊向上位機應(yīng)答。模塊收到指令后,會通過應(yīng)答包,將有關(guān)命令執(zhí)行情況與結(jié)果上報給上位機。應(yīng)答包含有參數(shù),并可跟后續(xù)數(shù)據(jù)包。上位機只有在收到模塊的應(yīng)答包后才能確認(rèn)模塊的收包情況與指令執(zhí)行情況。應(yīng)答包的內(nèi)容包括一個字節(jié)的確認(rèn)碼(必須有)和可能有的返回參數(shù)。模塊在上電完成初始化工作以后,等待接收上位機命令。在收到正確命令后,迅速執(zhí)行相應(yīng)的, 操作,在操作完成后返回對應(yīng)的信息。在模塊執(zhí)行命令的過程中,模塊不會響應(yīng)上位機發(fā)出的其他命令。指紋模塊的命令如下表格所示類型序號代碼功能說明類型序號代碼功能說明系統(tǒng)類10x13校驗口令指紋處理130x08上傳特征20x12設(shè)置口令140x09下載特征30x15設(shè)置地址150x06存儲模版40x0e設(shè)置系統(tǒng)參數(shù)160x07下載模版50x0f讀系統(tǒng)參數(shù)170x0c刪除模版60x1f讀指紋模板索引表180x0d清空指紋庫70x1d讀指紋模板數(shù)190x03比對特征指紋處理類80x01錄指紋圖像200x04搜索指紋90x0a上傳圖像其他類210x14采樣隨機數(shù)100x0b下載圖像220x18寫記事本110x02圖像轉(zhuǎn)特征230x19讀記事本120x05特征合成模板 指紋模版的采集存儲指紋模版的采集與存儲主要是單片機控制指紋模塊對用戶的同一枚指紋連續(xù)取兩次,存儲在圖像緩沖區(qū)Image Buffer,然后分別將指紋圖像轉(zhuǎn)化為指紋特征,存儲在特征文件緩沖區(qū)CharBuffer1或CharBuffer2,然后將兩個指紋特征文件合成一個模版放在指紋庫中,每一個指紋模板對應(yīng)一個ID號,指紋庫中的模版是斷電保存的。指紋模塊在FLASH中開辟了一段存儲區(qū)域作為指紋模板存放區(qū),即指紋庫。存儲容量為1000枚,指紋庫中的數(shù)據(jù)是斷電保護(hù)的。指紋模板按照序號存放,若指紋庫容量為N,則指紋模板在指紋庫中的序號定義為:0、2……NN1。用戶只能根據(jù)序號訪問指紋庫內(nèi)容,相應(yīng)的存儲和搜索功能對應(yīng)的都是針對指紋序號的操作。 ATmega16控制指紋模塊進(jìn)行各種操作,主要涉及單片機串口控制的幾個特殊寄存器,USART 寄存器包括I/O 數(shù)據(jù)寄存器- UDR、控制和狀態(tài)寄存器A -UCSRA、控制和狀態(tài)寄存器B -UCSRB、控制和狀態(tài)寄存器C -UCSRC、波特率寄存器- UBRRL和UBRRH。 在程序設(shè)計時,串口采用異步倍速模式,需要設(shè)定的波特率寄存器UBRR的值,計算公式為UBRR=f/8BAUD 1,指紋模塊的波特率為57600bps,可以計算得到UBRR=12。指紋模版登錄的程序流程圖如圖44所示。圖44 指紋模版采集存儲程序流程圖 指紋比對程序設(shè)計指紋比對程序設(shè)計是指紋鎖系統(tǒng)程序設(shè)計的主要方面,指紋匹配時,通過指紋傳感器,錄入要驗證指紋圖像并進(jìn)行處理,然后與模塊中的指紋模板進(jìn)行匹配比較(若與模塊中指定的一個模板進(jìn)行匹配,稱為指紋比對方式,即1:1方式;若與多個模板進(jìn)行匹配,稱為指紋搜索方式,即1:N方式),模塊給出匹配結(jié)果(通過或失?。缓髥纹瑱C控制電子鎖動作。指紋比對程序設(shè)計如圖45所示:圖45 指紋匹配程序流程圖所需要的各種硬件已經(jīng)選擇好,單片機是電路中主控制器,由單片機對指紋模塊及液晶、按鍵進(jìn)行開發(fā)。首先應(yīng)建立一系列的C語言子程序供主程序進(jìn)行調(diào)用。本設(shè)計采用Keil uVision2對單片機編程。Keil 可以編譯C源碼,匯編源程序,生成代碼效率非常高,多數(shù)語句生成的匯編代碼緊湊容易理解[11]。[Keil軟件可以提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,能夠連接和重定位目標(biāo)文件和庫文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序。使用Keil軟件的主要工作流程為:創(chuàng)建一個新工程,命名為“Fingerprint”,然后從器件庫中選擇單片機型號,因為其中沒有STC89C52,所以選擇與它完全兼容的Atmel 89c52代替。新建text文件,然后在Target 1的子文件Source Group 。點擊下圖中箭頭所指的圖標(biāo),彈出如下對話框,在Xtal后輸入9600,即單片機的工作頻率為9600MHz[12]。圖46 設(shè)置波特率點擊Output標(biāo)簽,在Create HEX前的方框內(nèi)勾選,這樣可以生成hex文件以便輸入單片機中。用C語言創(chuàng)建源程序。修改源程序中的錯誤。測試,鏈接應(yīng)用。本章介紹了硬件選擇后設(shè)計軟件工作流程,及如何進(jìn)行Keil軟件編程,然后創(chuàng)建“”文件,程序燒寫時需要。接著若想系統(tǒng)各個部分工作有序,必須保持時鐘狀態(tài)一致。第五章 實物制作與調(diào)試 電路的焊接首先要熟悉所焊印制電路板的裝配圖,并按圖紙配料,檢查元器件型號、規(guī)格及數(shù)量是否符合圖紙要求,并做好裝配前元器件引線成型等準(zhǔn)備工作。 元器件裝焊順序依次為:電阻、電容器、二極管、三極管、集成電路、大功率管,其它元器件為先小后大。(1)電容器焊接將電容器按圖裝人規(guī)定位置,并注意有極性電容器其“+”與“-”極不能接錯,電容器上的標(biāo)記方向要易看可見。先裝玻璃釉電容器、有機介質(zhì)電容器、瓷介質(zhì)電容器,最后裝電解電容器。(2)二極管的焊接二極管焊接要注意以下幾點:第一,注意陽極陰極的極性,不能裝錯;第二,型號標(biāo)記要易看可見;第三,焊接立式二極管時,對最短引線焊接時間不能超過2S。(3)三極管焊接注意e、b、c三引線位置插接正確;焊接時間盡可能短,焊接時用鑷子夾住引線腳,以利散熱。焊接大功率三極管時,若需加裝散熱片,應(yīng)將接觸面平整、打磨光滑后再緊固,若要求加墊絕緣薄膜時,切勿忘記加薄膜。管腳與電路板上需連接時,要用塑料導(dǎo)線。(4)集成電路焊接首先按圖紙要求,檢查型號、引腳位置是否符合要求。焊接時先焊邊沿的二只引腳,以使其定位,然后再從左到右自上而下逐個焊接。對于電容器、二極管、三極管露在印制電路板面上多余引腳均需齊根剪去[15]。(5)FYD12864注意事項:1)要避免在處理機械振動和對模塊施加外力,都可能使屏不顯示或損壞。2)不能用手或堅硬工具或物體接觸、按壓、磨擦顯示屏,否則屏上的偏光片被物體劃壞。3)如果屏破裂液晶材料外漏,液晶可以通過空氣被吸入,而且要避免液晶與皮膚接觸,如果接觸應(yīng)立即用酒精沖洗,然后再用水徹底沖洗。4)不能使用可溶有機體來清洗顯示屏。因為這些可溶的溶劑對偏光片不利,清洗顯示屏?xí)r,可用棉花蘸少量石油苯輕輕擦拭或用透明膠帶粘起臟物。5)要防止高壓靜電產(chǎn)生的放電,將損壞模塊中的CMOS電路。 6)不能把模塊放在溫度高的地方,尤其不能長時間放在濕度大的地方,最好把模塊放在溫度為0℃35℃,濕度低于70%的環(huán)境中。7)模塊不能貯存在太陽直射的地方。8)當(dāng)電源接通時,不能組裝或拆卸模塊。9)在電源電壓的偏差、輸入電壓的偏差及環(huán)境溫度等最壞條件下,也不能超過最大的額定值,否則將損壞LCD模塊。 按照以上順序及要求焊接好后的實物如圖51所示圖51焊接后的實物圖 程序的燒寫STCISP是一款單片機下載編程燒錄軟件,是針對STC系列單片機而設(shè)計的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機,使用簡便,現(xiàn)已被廣泛使用。圖52 STCISP工作界面調(diào)試通過的代碼文件通過STC_ISP_V480下載到單片機。STC_ISP_V480使用步驟為:打開STCISP,如下圖界面,在MCU Type欄目下選中單片機STC89C52RC。選中COM端口,波特率選擇9600。點擊“打開文件”并在對話框內(nèi)找到要下載的HEX文件。點擊download/下載,根據(jù)提示給單片機上電,完成程序燒寫。單片機在上電后,主程序應(yīng)該完成相應(yīng)的初始化工作。依據(jù)電路的功能要求,主程序必須對液晶初始化、同時對按鍵進(jìn)行檢測,如果有對應(yīng)的按鍵按下,執(zhí)行相應(yīng)的操作,單片機通過串行接口對指紋模塊進(jìn)行讀寫。 小燈、繼電器的調(diào)試首先按下電源,看電源指示燈是否點亮,證明電源電路正常。然后測試單片機是否正常工作,在Keil上編寫了一段紅綠小燈以一秒間隔閃爍的程序,導(dǎo)入單片機,上電后發(fā)現(xiàn)小燈按照我所要求的方式工作,證明單片機及小燈工作正常。再加一條與繼電器連接引腳電平高低變化的程序檢測繼電器是否正常工作。圖53 小燈,繼電器調(diào)試圖 液晶的調(diào)試導(dǎo)入12864液晶的測試程序,上電后,通過調(diào)節(jié)液晶屏背面的電位器調(diào)節(jié)12864的對比度,在調(diào)試液晶時要注意:屏上顯示小方格,產(chǎn)生原因:程序中對液晶初始化不正常,應(yīng)是部分初始化指令沒有正常接收,按照標(biāo)準(zhǔn)初始化步驟調(diào)整程序,或者調(diào)整指令之間的延時(加大一些試試)補充:也有可能是對比度太大,需要調(diào)整對比度電阻。在經(jīng)調(diào)試后液晶的結(jié)果為:圖54 液晶顯示 指紋模塊、按鍵的調(diào)試然后導(dǎo)入本設(shè)計的程序
點擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1