久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于單片機的電子密碼鎖全套設計資料 [打印本頁]

作者: 948991393    時間: 2018-11-22 10:19
標題: 基于單片機的電子密碼鎖全套設計資料
單片機電子密碼鎖原理圖,代碼,和文件


電路原理圖如下:


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


摘要

在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的辦法來解決。若使用傳統的機械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。具有防盜報警等功能的電子密碼鎖代替密碼量少、安全性差的機械式密碼鎖已是必然趨勢。隨著科學技術的不斷發展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應運而生。密碼鎖具有安全性高、成本低、功耗低、易操作、記住密碼即可開鎖等優點。
              目前使用的電子密碼鎖大部分是基于單片機技術,以單片機為主要器件,其編碼器與解碼器的生成為軟件方式。
本系統由STC89C51單片機系統(主要是STC89C51單片機最小系統)、4×4矩陣鍵盤、LCD1602顯示和報警系統等組成,具有設置、修改六位用戶密碼、超次報警、超次鎖定、密碼錯誤報警等功能(本設計由P0口控制LCD顯示,密碼正確顯示OPEN! 密碼錯誤顯示error!超過三次輸入錯誤自動鎖定。由P1口控制矩陣鍵盤含有0-9數字鍵和A-D功能鍵。)。除上述基本的密碼鎖功能外,依據實際的情況還可以添加遙控功能。本系統成本低廉,功能實用。

目錄
第一章 緒論
1.1、課題背景和意義
1.2、電子密碼鎖發展趨勢
第二章 總體設計方案的確定
2.1 電子密碼鎖設計的具體要求
2.2總體設計方案選定
第三章 系統硬件設計
3.1  設計原理
3.2 單片機STC89C51簡介
3.3  AT24C02存儲芯片
3.4  LCD顯示模塊
3.5  鍵盤設計
3.6  聲音提示模塊
3.7 繼電器控制模塊
第四章 系統軟件設計
4.1主程序模塊
4.2 鍵盤掃描子程序
4.3 系統模塊密碼設置子程序
4.4開鎖子程序
4.4軟件調試
第五章 系統制作及調試
5.1焊接注意事項:
5.2、硬件調試問題及解決方法
第六章 結論
參考文獻
附錄一  原理圖
附錄二 仿真圖
附錄三 電子密碼鎖程序源代碼

第一章 緒論

1.1、課題背景和意義

隨著電子技術和計算機技術的飛速發展,單片機性能不斷完善,性能價格比顯著提高,技術日趨完善。由于單片機具有體積小、重量輕、價格便宜、功耗低、控制功能強及運算速度快等特點,因而在國民經濟建設、軍事及家用電器等各個領域均得到了廣泛的應用。本設計利用單片機及附加電子元器件實現數據采集和控制算法,來完成某一實際功能,檢驗并提高同學對整體電路設計和把握能力,了解單片機系統設計流程,以及電路板的實際制作和調試能力。同時也加強對數字電路、單片機和微機原理等課程知識的實際應用能力,也為同類產品的進一步發展奠定理論和實踐基礎。
隨著人們生活水平的提高和安全意識的加強,對安全的要求也就越來越高。鎖自古以來就是把守護門的鐵將軍,人們對它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長期以來研制的主題。隨著電子技術的發展,各類電子產品應運而生,電子密碼鎖就是其中之一。據有關資料介紹,電子密碼鎖的研究從20世紀30年代就開始了,在一些特殊場所早就有所應用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實用的還是按鍵式電子密碼鎖。
20世紀80年代后,隨著電子鎖專用集成電路的出現,電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進展。
目前,在西方發達國家,電子密碼鎖技術相對先進,種類齊全,電子密碼鎖已被廣泛應用于智能門禁系統中,通過多種更加安全,更加可靠的技術實現大門的管理。在我國電子鎖整體水平尚處于國際上70年代左右,電子密碼鎖的成本還很高,市場上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進國際先進水平,現國內有幾個廠生產供應市場。但國內自行研制開發的電子鎖,其市場結構尚未形成,應用還不廣泛。國內的不少企業也引進了世界上先進的技術,發展前景非常可觀。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應用

1.2、電子密碼鎖發展趨勢  

電子密碼鎖應用于金融業,其根本的作用是“授權”,即被“授權”的人才可以存取錢、物。廣義上講,金融業的“授權”主要包括以下三種層次的內容:1、授予保管權,如使用保管箱、保險箱和保險柜;2、授予出入權,如出入金庫、運鈔車和保管室;3、授予流通權,如自動存取款。目前,金融行業電子密碼鎖的應用主要集中在前兩個層面上。下面將介紹幾種在金融行業中使用較多的電子密碼鎖以及它們的技術發展方向。當然,以上所說的授權技術再高超,都必須由精良的“鎖具”擔當承載結構部件,實現開啟、閉鎖的功能,而且承擔實體防護作用,抵抗住或盡量延遲破壞行為,讓電子密碼鎖“軟、硬不吃”。一般情況下,鎖具防盜的關鍵是鎖身外殼、閉鎖的部件的強度、鎖止型式、配合間隙和布局。提高電子密碼鎖之防護能力的必然途徑是報警,在金融業的許多場所有人值守、有電視監控,具有報警功能,可以綜合物理防范和人力防范兩種作用。報警的前提是具備探測功能,根據電子密碼鎖的使用場所和防護要求,可選擇多種多樣的探測手段。在中國的城市金融業中,實現聯網報警已經成為對各金融網點的基本要求。根據國內外的實踐經驗,金融業實行安全防范風險等級很有必要,即依據使用的防盜報警器材的性能、安裝布局和人員值守狀況等,可以評估被防護物或區域的防護能力,得出風險等級,其中,電子密碼鎖的性能至關重要。

由于數字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子密碼鎖獲得高度的保密性,如防范森嚴的金庫,需要使用復合信息密碼的電子密碼鎖,這樣對盜賊而言是“道高一尺、魔高一丈”。組合使用信息也能夠使電子密碼鎖獲得無窮擴展的可能,使產品多樣化,對用戶而言是“千挑百選、自得其所”。


第二章 總體設計方案的確定
2.1 電子密碼鎖設計的具體要求

(1)本設計為了防止密碼被竊取要求在輸入密碼時在LCD屏幕上顯示*號。

(2)設計開鎖密碼位六位密碼的電子密碼鎖。

(3)能夠LCD顯示在密碼正確時顯示OPEN,密碼錯誤時顯示 ERROR,輸入密碼時顯示INPUT  PASSWORD。

(4)實現輸入密碼錯誤超過限定的三次電子密碼鎖定。

(5)4×4的矩陣鍵盤其中包括0-9的數字鍵、*、#和A-D的功能鍵

(6)本產品具備報警功能,當輸入密碼錯誤時蜂鳴器響并且LED燈亮。

2.2總體設計方案選定

方案一:采用數字電路控制。

用以74LS112雙JK觸發器構成的數字邏輯電路作為密碼鎖的核心控制,共設了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒(一般情況下,用戶不會超過10秒,若用戶覺得不便,還可以修改)電路將報警20秒,若電路連續報警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。采用數字電路設計的方案好處就是設計簡單但控制的準確性和靈活性差。故不采用。

方案二:采用一種是用以STC89C51為核心的單片機控制方案。

選用單片機STC89C51 作為本設計的核心元件,利用單片機靈活的編程設計和豐富的IO端口,及其控制的準確性,實現基本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理如下圖2.1所示:

圖2.1  單片機控制密碼鎖原理圖

可以看出方案二控制靈活準確性好且保密性強還具有擴展功能,根據現實生活的需要此次設計采用此方案



第三章 系統硬件設計
3.1  設計原理

本設計主要由單片機、矩陣鍵盤、液晶顯示器和密碼存儲等部分組成。其中矩陣鍵盤用于輸入數字密碼和進行各種功能的實現。由用戶通過連接單片機的矩陣鍵盤輸入密碼,后經過單片機對用戶輸入的密碼與自己保存的密碼進行對比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警,實際使用時只要將單片機的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈。

本系統共有兩部分構成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤輸入部分、密碼存儲部分、復位部分、晶振部分、顯示部分、報警部分、開鎖部分組成,軟件部分對應的由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、啟動程序、關閉程序、建功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。其原理框圖如圖3.1所示。

3.1 電子密碼鎖原理框圖

3.2 單片機STC89C51簡介

STC89C51是一種低功耗、高性能CMOS8位微控制器,具有 4K 在系統可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C51為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。 具有以下標準功能: 4k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定時器,2個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口。另外 STC89C51 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35Mhz,6T/12T可選。STC89C51主要功能如表1所示,其DIP封裝如圖2所示

表1:STC89C51主要功能

主要功能特性
兼容MCS51指令系統
4K可反復擦寫Flash ROM
32個雙向I/O口
256x8bit內部RAM
2個16位可編程定時/計數器中斷
時鐘頻率0-24MHz
2個串行中斷
可編程UART串行通道
2個外部中斷源
共6個中斷源
2個讀寫中斷口線
3級加密位
低功耗空閑和掉電模式
軟件設置睡眠和喚醒功能

STC89C52引腳介紹

① 主電源引腳(2根)

VCC(Pin40):電源輸入,接+5V電源

GND(Pin20):接地線

②外接晶振引腳(2根)

XTAL1(Pin19):片內振蕩電路的輸入端

XTAL2(Pin20):片內振蕩電路的輸出端

③控制引腳(4根)

RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。

ALE/PROG(Pin30):地址鎖存允許信號

PSEN(Pin29):外部存儲器讀選通信號

EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。

④可編程輸入/輸出引腳(32根)

STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。

P0口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7

P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7

P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7

P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7

作頻率35Mhz,6T/12T可選。
圖3.2  STC89C51 DIP封裝圖
最小系統包括單片機及其所需的必要的電源、時鐘、復位等部件,能使單片機始終處于正常的運行狀態。電源、時鐘等電路是使單片機能運行的必備條件,可以將最小系統作為應用系統的核心部分,通過對其進行存儲器擴展、A/D擴展等,使單片機完成較復雜的功能。
STC89C51是片內有ROM/EPROM的單片機,因此,這種芯片構成的最小系統簡單﹑可靠。用STC89C52單片機構成最小應用系統時,只要將單片機接上時鐘電路和復位電路即可,結構如圖2-3所示,由于集成度的限制,最小應用系統只能用作一些小型的控制單元。





圖3.3單片機最小系統原理框圖

(1) 時鐘電路
STC89C51單片機的時鐘信號通常有兩種方式產生:一是內部時鐘方式,二是外部時鐘方式。內部時鐘方式如圖2-4所示。在STC89C51單片機內部有一振蕩電路,只要在單片機的XTAL1(18)和XTAL2(19)引腳外接石英晶體(簡稱晶振),就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號。圖中電容C1和C2的作用是穩定頻率和快速起振,電容值在5~30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2~12MHz間選擇,典型值為12MHz和6MHz。

圖3.4 STC89C51內部時鐘電路
(2) 復位電路
當在STC89C51單片機的RST引腳引入高電平并保持2個機器周期時,單片機內部就執行復位操作(若該引腳持續保持高電平,單片機就處于循環復位狀態)。
最簡單的上電自動復位電路中上電自動復位是通過外部復位電路的電容充放電來實現的。只要Vcc的上升時間不超過1ms,就可以實現自動上電復位。
除了上電復位外,有時還需要按鍵手動復位。本設計就是用的按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST(9)端與電源Vcc接通而實現的。

圖3.5 STC89C51復位電路

(3) STC89C51中斷技術概述
中斷技術主要用于實時監測與控制,要求單片機能及時地響應中斷請求源提出的服務請求,并作出快速響應、及時處理。這是由片內的中斷系統來實現的。當中斷請求源發出中斷請求時,如果中斷請求被允許,單片機暫時中止當前正在執行的主程序,轉到中斷服務處理程序處理中斷服務請求。中斷服務處理程序處理完中斷服務請求后,再回到原來被中止的程序之處(斷點),繼續執行被中斷的主程序。
圖2-6為整個中斷響應和處理過程。





              圖3.6  中斷響應和處理過程
圖3.6 中斷過程
如果單片機沒有中斷系統,單片機的大量時間可能會浪費在查詢是否有服務請求發生的定時查詢操作上。采用中斷技術完全消除了單片機在查詢方式中的等待現象,大大地提高了單片機的工作效率和實時性。
3.3 AT24C02存儲芯片

AT24C02是美國Atmel公司的低功耗CMOS型E2PROM,內含256×8位存儲空間,具有工作電壓寬(2.5~5.5 V)、擦寫次數多(大于10000次)、寫入速度快(小于10 ms)、抗干擾能力強、數據不易丟失、體積小等特點。而且他是采用了I2C總線式進行數據讀寫的串行器件,占用很少的資源和I/O線,并且支持在線編程,進行數據實時的存取十分方便。AT24C02中帶有的片內地址寄存器。每寫入或讀出一個數據字節后,該地址寄存器自動加1,以實現對下一個存儲單元的讀寫。所有字節均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節的數據。I2C總線是一種用于IC器件之間連接的二線制總線。他通過SDA(串行數據線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據地址識別每個器件。AT24C02正是運用了I2C規程,使用主/從機雙向通信,主機(通常為單片機)和從機(AT24C02)均可工作于接收器和發送器狀態。主機產生串行時鐘信號(通過SCL引腳)并發出控制字,控制總線的傳送方向,并產生開始和停止的條件。無論是主機還是從機,接收到一個字節后必須發出一個確認信號ACK。AT24C02的控制字由8位二進制數構成,在開始信號發出以后,主機便會發出控制字,以選擇從機并控制總線傳送的方向。

SOIC                 PDIP

圖3.7 24C02的兩種引腳圖

圖3.8  AT24C02的電路接線圖

圖中AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。第8腳和第4腳分別為正、負電源。第5腳SDA為串行數據輸入/輸出,數據通過這條雙向I2C總線串行傳送,第6腳SCL為串行時鐘輸入線, SDA和SCL都需要和正電源間各接一個10 K的電阻上拉。第7腳需要接地。

24C02中帶有片內地址寄存器。每寫入或讀出一個數據字節后,該地址寄存器自動加1,以實現對下一個存儲單元的讀寫。所有字節均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節的數據。

3.4 LCD顯示模塊
LCD1602A 是一種工業字符型液晶,能夠同時顯示16x02 即32個字符。(16列2行)。在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發光管、LED數碼管、液晶顯示器。發光管和LED數碼管比較常用,軟硬件都比較簡單。
在單片機系統中應用晶液顯示器作為輸出器件有以下幾個優點:
由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。
液晶顯示器都是數字式的,和單片機系統的接口更加簡單可靠,操作更加方便。
液晶顯示器通過顯示屏上的電極控制液晶分子狀態來達到顯示的目的,在重量上比相同顯示面積的傳統顯示器要輕得多。
相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動IC上,因而耗電量比其它顯示器要少得多。
(1)引腳說明:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。
第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平
R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。
第7~14腳:D0~D7為8位雙向數據線。
第15腳:背光源正極。
第16腳:背光源負極。
(2)1602LCD的RAM地址映射以及標準字庫表
LCD1602液晶模塊內部的字符發生存儲器已經存儲了160個不同的點陣字符圖形,這些字符圖有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母。
它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的(說明:1為高電平,0為低電平)。
指令1:清顯示,指令碼01H,光標復位到地址00H位置。
指令2:光標復位,光標返回到地址00H 。
指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 。S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 。
指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示。 C:控制光標的開與關,高電平表示有光標,低電平表示無光標。 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 。
指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 。
指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線。      N:低電平時為單行顯示,高電平時雙行顯示。 F:低電平時顯示5X7的點陣字符,高電平時顯示5x10的點陣字符 (有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)。
指令7:字符發生器RAM地址設置 。
指令8:DDRAM地址設置 。
指令9:讀出忙信號和光標地址。 BF為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙,模塊就能接收相應的命令或者數據。
指令10:寫數據 。
指令11:讀數據 。
液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。
1602 內部顯示地址如圖3-6所示:
                         圖3.9 1602內部顯示地址
例如第二行第一個字符的地址是40H,那么是否直接寫入40H 就可以將光標定位在第二行第 一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1,所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B(C0H) 。在對液晶模塊的初始化中要先設置其顯示模式,在液晶模塊顯示字符時光標是自動右移的,無需人工干預。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態。1602 液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,如下圖所示,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H 中的點陣字符圖形顯示出來,我們就能看到字母“A”。

液晶顯示的原理是利用液晶的物理特性, 通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。

圖3.10 液晶顯示模塊電路圖
3.5 鍵盤設計

本設計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數目,在按鍵比較多的時候,通常采用這樣方法。

每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結構只需要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。

在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統中,鍵盤處理程序首先執行等待按鍵并確認有無按鍵按下的程序段。

4×4矩陣鍵盤的工作原理

在鍵盤中按鍵數量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖5所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數越多,區別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數比較多時,采用矩陣法來做鍵盤是合理的。

掃描原理

把每個鍵都分成水平和垂直的兩端接入,比如說掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個bit,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,經過比對之后就可知道是哪個鍵被按下。

比如說掃描碼送入01111111,前面的0111是代表此時掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設為VDD,若此時第一行的第三列按鍵被按下,那讀取的結果就會變成01111101(注意1111變成1101),其中LSB的第三個bit會由1變成0,這是因為這個按鍵被按下之后,會被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。

由於這種按鍵是機械式的開關,當按鍵被按下時,鍵會震動一小段時間才穩定,為了避免讓單片機誤判為多次輸入同一按鍵,我們必須在偵測到有按鍵被按下,就Delay一小段時間,使鍵盤以達穩定狀態,再去判讀所按下的鍵,就可以讓鍵盤的輸入穩定。圖3.8為鍵盤整體模框圖:

圖3.8  鍵盤整體模框圖
3.6  聲音提示模塊

蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。 ;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。1.壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發光二極管

多諧振蕩器由晶體管或集成電路構成。當接通電源后(1.5~15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發聲。

壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。

電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。

接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互纏繞

蜂鳴器驅動電路一般都包含以下幾個部分:一個三極管、一個蜂鳴器、一個限流電阻。

蜂鳴器為發聲元件,在其兩端施加直流電壓(有源蜂鳴器)或者方波(無源蜂鳴器)就可以發聲,其主要參數是外形尺寸、發聲方向、工作電壓、工作頻率、工作電流、驅動方式(直流/方波)等。這些都可以根據需要來選擇。本設計采用有源蜂鳴器。

圖3.9 聲音報警電路

三極管Q1起開關作用,其基極的低電平使三極管飽和導通,使蜂鳴器發聲;而基極高電平則使三極管關閉,蜂鳴器停止發聲。

3.7 繼電器控制模塊

電磁繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產生電磁效應,銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)釋放。這樣吸合、釋放,從而達到了在電路中的導通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區分:繼電器線圈未通電時處于斷開狀態的靜觸點,稱為“常開觸點”;處于接通狀態的靜觸點稱為“常閉觸點”。繼電器一般有兩股電路,為低壓控制電路和高壓工作電路。

圖3.12繼電器控制負載電路


電路中繼電器室通過PNP型三極管驅動,當閥值超過設定時,單片機會由高電平跳變成低電平,三極管導通繼電器吸合,繼電器起開關作用,可以驅動負載。


第四章 系統軟件設計
4.1主程序模塊

本系統軟件設計由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、鍵功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。主要程序設計流程圖如下所示:

圖4.1  主程序的流程圖

4.2 鍵盤掃描子程序

圖4.2  鍵盤掃描程序流程圖

4.3 系統模塊密碼設置子程序
由于設計是分模塊化進行,所以子程序是整體軟件系統的組成部分,子程序不但可以使程序化整為零,使其復雜簡單化,同時也方便閱讀,修改等,每個功能模塊都有它自己的子程序,在本設計中是用LCD顯示數據,所以就要用到顯示子程序,設計中用的是矩陣鍵盤,所以就用到鍵盤掃描子程序,例如還有顯示初始化子程序、LCD忙檢測子程序、關閉狀態顯示子程序、開鎖狀態顯示子程序、密碼輸入及修改狀態顯示子程序、密碼輸入錯誤后的提示子程序等。如下圖為密碼修改子程序流程圖

圖4.3  設置密碼子程序

4.4開鎖子程序

                                        圖4.4  開鎖流程圖

4.4軟件調試
在硬件支持的環境下,用proteus設計好的電路,Keil編好的程序編譯成芯片可識別的S51文件,利用PC機寫進proteus程序圖芯片內進行仿真測試,并對其出現的錯誤進行修改,由圖4.5~圖4.9可看出最終調試成功。
圖4.5  keil編譯程序成功
圖4.6  keil生成hex文件
圖4.7  proteus調用keil的hex文件進行仿真

圖4.8  仿真成功密碼正確


圖4.9  密碼正確黃燈亮

第五章 系統制作及調試
5.1焊接注意事項:

LCD的注意事項

1. 采用焊接方法將金屬基PIN安裝于LCD時,從玻璃末端到PCB的焊接位置的長度至少5mm,焊接溫度必須在260℃以下,且焊接時間必須在10秒以內,以免焊接過程中對裝置的損壞,確保焊接性能。在230℃,30秒條件下,90%的焊料須緊密附著于PIN上。

2. 對LCD基板或基PIN焊接位置的調整必須在安裝前完成。嚴禁猛烈移動基PIN,否則會機械地破壞LCD屏與基PIN之間的連接點。焊接時平放LCD,盡量不讓LCD受力。

3. 焊接LCD基板時,將其小心、平衡地插入PCB插槽,以避免損壞基PIN或LCD基板。

4. 焊接時,LCD基板不應長時間置于焊錫蒸汽中,清洗PCB時,必須避免污染LCD基板,否則可能損壞顯示器表面的偏光片及封口膠。

5. 顯示器表面的保護膜直到焊接完成才可揭掉,禁止手指及其它硬物接觸偏光片,禁止水和其他化學物質沾污裝置,因為這些物質會污染顯示器表面。

單片機焊接注意事項:

80s51單片機與其它單片機,dsp,arm芯片相比較而言是脆弱的,如果焊接時不小心就很可能把芯片損壞!建議用比較好的恒溫可調的烙鐵,功率在30瓦左右,溫度控制在260到300度,建議采用點焊而不用拉焊,焊接時烙鐵放在每個引腳的時間不能太長(最好低于3秒)。上邊提到的方法還不能確保芯片完好,對芯片有危害的還有帶電烙鐵的靜電感應!烙鐵質量不是太好的,焊接時可以把烙鐵電源插頭拔掉。

其他的電子器件焊接須知:

一般分四步驟進行。①準備焊接:清潔被焊元件處的積塵及油污,再將被焊元器件周圍的元器件左右掰一掰,讓電烙鐵頭可以觸到被焊元器件的焊錫處,以免烙鐵頭伸向焊接處時燙壞其他元器件。焊接新的元器件時,應對元器件的引線鍍錫。②加熱焊接:將沾有少許焊錫和松香的電烙鐵頭接觸被焊元器件約幾秒鐘。若是要拆下印刷板上的元器件,則待烙鐵頭加熱后,用手或銀子輕輕拉動元器件,看是否可以取下。③清理焊接面:若所焊部位焊錫過多,可將烙鐵頭上的焊錫甩掉(注意不要燙傷皮膚,也不要甩到印刷電路板上!),用光烙錫頭"沾"些焊錫出來。若焊點焊錫過少、不圓滑時,可以用電烙鐵頭"蘸"些焊錫對焊點進行補焊。④檢查焊點:看焊點是否圓潤、光亮、牢固,是否有與周圍元器件連焊的現象。

焊接流程按照附錄I所示的電子密碼鎖的硬件聯接原理圖按下列順序依次焊接:

(1)焊接單片機的晶振電路、復位電路等單片機的最小系統的外圍電路。

(2)焊接LCD的相應管腳并把LCD的管腳單片機相連接。

(3)焊接鍵盤的按鍵電路。

(4)焊接電子密碼鎖的密碼輸入錯誤的報警電路。

(5)焊接密碼鎖的開鎖機構電路。

(6)焊接其他接口及輔助電路。

(7)焊接接地及高電平。

5.2、硬件調試問題及解決方法

本設計在焊接調試時遇到的問題以及解決方法:

單片機的最小系統問題:

電源、晶振電路和復位電路都無異常。

Lcd焊接時的問題:

(1)接通電源后lcd無反應,各個引腳均屬正常。推斷可能是初始化程序出現問題。

經查找得知是lcd顯示器的15和16管腳控制背光功能,連接好之后還是不能顯示字符。

(2)接通電源開門燈和報警電路就會工作,分析原因是單片機剛開始各個管腳輸出高電平。


第六章 結論

本設計從經濟實用的角度出發,采用單片機STC89C51低功耗CMOS型E2PROM AT24C02作為主控芯片與數據存儲器單元,結合外圍的鍵盤輸入、顯示、報警、開鎖等電路并用C語言的控制程序,研制了一款可以多次更改密碼具有報警功能的電子密碼鎖。設計完全可行可以達到設計目地。使用單片機制作的電子密碼鎖具有軟硬件設計簡單,易于開發,成本較低,安全可靠,操作方便等特點,可應用于住宅、辦公室的保險箱及檔案柜等需要防盜的場所,有一定的實用性。該電路設計還具有按鍵有效提示,輸入錯誤提示,控制開鎖電平,控制報警電路,修改密碼等多種功能。可在意外泄密的情況下隨時修改密碼。保密性強,靈活性高,特別適用于家庭、辦公室、學生宿舍及賓館等場所。


附錄一  原理圖

附錄二 仿真圖


完整的Word格式文檔51黑下載地址(帶源碼+仿真+原理圖):
電子密碼鎖.7z (6.67 MB, 下載次數: 3006)



作者: feiji666    時間: 2018-11-22 17:34
很好的資料
作者: bhjyqjs    時間: 2018-11-23 10:07
if(i==6)                                         //密碼輸入對時
                        {
                                if((InputData[0]==adminpassword[0])&&(InputData[1]==adminpassword[1])&&(InputData[2]==adminpassword[2])&&(InputData[3]==adminpassword[3])&&(InputData[4]==adminpassword[4])&&(InputData[5]==adminpassword[5]))
                                   {
                                        WrToROM(initpassword,0,6);                                 //強制將初始密碼寫入24C02存儲
                                        write_1602com(er);
                                        for(j=0;j<16;j++)
                                        {
                                                write_1602dat(initword[j]);                                //顯示初始化密碼
                                        }
                                        TwoAlam();                                                                        //成功提示音
                                        Delay400Ms();                                                                //延時400ms
                                        TwoAlam();                                                                        //成功提示音
                                        N=0;                                                                                //輸入位數計數器清零
                                }
                                else
                                {
                                        CorrectCont++;                                        //輸入正確變量++
                                        if(CorrectCont==1)                                //正確輸入計數,當只有一次正確輸入時,開鎖
                                        {
                                                //DisplayListChar(0,1,LockOpen);
                                                write_1602com(er);
                                                for(j=0;j<16;j++)
                                                {
                                                        write_1602dat(LockOpen[j]);                  //顯示open開鎖畫面
                                                }
                                                TwoAlam();                        //操作成功提示音
                                                KEY=0;                                                                                        //開鎖
                                                pass=1;                                                                                        //置正確標志位
                                                TR0=1;                                                                                        //開啟定時
                                                for(j=0;j<6;j++)                                                                //將輸入清除
                                                {
                                                        InputData[i]=0;                                                                //開鎖后將輸入位清零
                                                }
                                        }       
                                        else                                                                                                //當兩次正確輸入時,開啟重置密碼功能
                                        {
                                                write_1602com(er);
                                                for(j=0;j<16;j++)
                                                {
                                                        write_1602dat(SetNew[j]);                                        //顯示重置密碼界面
                                                }
                                                TwoAlam();                                                                            //操作成功提示
                                                ReInputEn=1;                                                                        //允許重置密碼輸入
                                                CorrectCont=0;                                                                        //正確計數器清零
                                        }
                                }
                          }
       


真不錯!!!
作者: day9520    時間: 2018-12-11 16:31
有點看不懂
作者: 哈嘻    時間: 2018-12-21 09:46
bhjyqjs 發表于 2018-11-23 10:07
if(i==6)                                         //密碼輸入對時
                        {
                                if((InputData[0]==adminpassword[0])&&(InputData[1]==adminpas ...

請問ABCD各鍵表示什么??我是個菜鳥,冒昧打擾了。。
作者: hs88    時間: 2018-12-25 18:33
我做了藍牙加按鍵密碼鎖,沒有超次限制
作者: Undo    時間: 2018-12-26 18:00
你這怎么用啊 兄弟 你沒寫啊
作者: 1216805172    時間: 2019-1-7 15:02
感謝分享,參考一下
作者: 思思是是    時間: 2019-1-19 10:23
學習學習
作者: 思思是是    時間: 2019-1-19 10:43
學習學習
作者: zuosheng    時間: 2019-2-20 10:18
資料很到位
作者: 1174051618    時間: 2019-2-20 15:57
老鐵,你的三次密碼輸入錯誤之后,led燈并不能亮呀,你可以仿真一下
作者: z1572187078    時間: 2019-3-5 10:43
很好的論文  非常值得借鑒
作者: hhhhhh1112233    時間: 2019-3-6 19:09
有完整的編程程序嗎   借鑒一下
作者: zhouyi180    時間: 2019-3-6 21:21
嗯嗯,寫得不錯額。
作者: zhengchong60    時間: 2019-3-7 02:00
不錯不錯,收下先
作者: zhengchong60    時間: 2019-3-7 02:00
期待更多的作品上線來咯
作者: Neighbor_John    時間: 2019-3-8 19:12
大神,請問所有電路和各個部分都需要自己設計和焊接嗎,可以用帶有鍵盤的單片機套裝嗎。我對電路設計基本不懂,只會寫代碼。
作者: 余溫11    時間: 2019-3-9 14:41
謝謝樓主
作者: 18761531969    時間: 2019-3-28 15:28
樓主在嗎,需要你的幫忙,
作者: dyp1225    時間: 2019-4-1 14:35
資源有分享的嗎
作者: hg395139851    時間: 2019-4-7 11:01
h黑幣不夠,哎,樓主很棒
作者: huangbibo    時間: 2019-4-14 17:14
為什么我把源碼復制到PROTEUS中,編譯進出現錯誤呢?
作者: huangbibo    時間: 2019-4-14 17:21

為什么我把文件在PROTEUS中仿真時出現錯誤呢?


作者: 大寶寶lbc    時間: 2019-4-25 13:15
太棒了
作者: bikai123    時間: 2019-4-27 19:14
學習學習謝謝
作者: Tyi_13    時間: 2019-5-6 15:50
學習學習
作者: ybg19970202    時間: 2019-5-7 17:22
非常感謝大佬的分享 準備細細品味
作者: 奮斗者    時間: 2019-5-7 17:52
怎么生成不了.核心文件呢?求解

我將程序代碼復制,并新建一個程序,將代碼粘貼,結果生成不了.hex文件。
作者: 李拴    時間: 2019-5-11 13:28
hs88 發表于 2018-12-25 18:33
我做了藍牙加按鍵密碼鎖,沒有超次限制

大佬,我要做藍牙鎖,可以參考一下你的資料么
作者: 冷月楓    時間: 2019-5-11 21:30
不錯,想做一個

作者: aaren    時間: 2019-5-15 19:19
學習學習
作者: 1647023886    時間: 2019-5-21 16:59
先mark一下
作者: vbvvcb    時間: 2019-5-25 18:49
想下載來看看
作者: 時崎姬    時間: 2019-5-26 20:34
初始密碼是131420嗎,我仿真怎么沒用?也不會出來錯誤提示
作者: 時崎姬    時間: 2019-5-26 20:51
1174051618 發表于 2019-2-20 15:57
老鐵,你的三次密碼輸入錯誤之后,led燈并不能亮呀,你可以仿真一下

老鐵,這個密碼是不是131420?我用了沒顯示open
作者: 598514446    時間: 2019-5-27 10:14
太厲害了

作者: 1434258456    時間: 2019-5-28 11:03
太棒了
作者: 當我誒    時間: 2019-6-1 17:15
不懂,嗨喲仔細看看
作者: 畫船臨江仙    時間: 2019-6-12 14:44
學習學習
作者: gagalonghun    時間: 2019-6-13 14:47
非常不錯
作者: brewster    時間: 2019-6-13 15:38
真的很厲害,一直想學這個。運氣真好。
作者: byxiao    時間: 2019-6-19 00:13
謝謝分享
作者: 51好好學    時間: 2019-6-19 11:13
詳細啊,對萌新十分友好
作者: 孤獨時代的了結    時間: 2019-6-20 17:20
厲害 厲害

作者: 岝楊    時間: 2019-6-21 16:09
很厲害 正好需要 謝謝大大
作者: AAxin    時間: 2019-6-21 16:32
謝謝,收藏了

作者: sakulala    時間: 2019-7-3 11:56
感謝樓主!!太棒的密碼鎖了
作者: 智成科技    時間: 2019-7-8 10:46
很棒的密碼鎖資料
作者: 2839577zsy    時間: 2019-7-10 15:19
樓主,你這怎么具體重置密碼,好像沒用誒,都只有初始密碼000000有用?
作者: 楊攀    時間: 2019-7-14 11:25
謝謝



作者: 楊攀    時間: 2019-7-14 11:26
謝謝。很棒 我想學習
作者: 楊攀    時間: 2019-7-14 11:27
很好的文檔。謝謝
作者: uydulce    時間: 2019-7-22 15:50
謝謝,超級優秀
作者: uydulce    時間: 2019-7-24 16:57
有沒有誰知道怎么重置密碼啊,我仿真試了好多次都不行
作者: ADAF45    時間: 2019-8-16 17:22
感謝分享
作者: wuwuheihe    時間: 2019-9-10 14:23
很有用的資源,謝謝分享
作者: 1204023416    時間: 2019-9-10 16:41
很詳細 很給力
作者: sonkouri    時間: 2019-9-11 11:08
這個其實自己可以拿來玩玩,感謝樓主分享
作者: tang8383    時間: 2019-9-15 16:34
很好。收下了
作者: 14C    時間: 2019-10-25 20:48
厲害 很不錯的論文
作者: beisheng    時間: 2019-11-5 15:35
學習學習很完整!
作者: mnbvcxzmnbvcxz    時間: 2019-11-6 09:18
很好的文檔,條理清晰,很有幫助
作者: beisheng    時間: 2019-11-12 14:02
超級完整,注釋的到位
作者: 云小楓    時間: 2019-11-17 16:52
我想問一下,那個光敏電阻有什么作用啊
作者: DR.Z    時間: 2019-11-24 09:44
有沒有封裝圖呢
作者: a244300682    時間: 2019-11-24 18:24
大神大神大神
作者: maojiaabc    時間: 2019-11-25 23:42
先收下,謝謝
作者: 離合泵    時間: 2019-11-26 17:51
感謝樓主,如果配上dxp的電路板圖片更完美了,謝謝分享
作者: a244300682    時間: 2019-11-27 16:01
兩個帖子怎么不一樣?
作者: 111111111dewd    時間: 2019-11-28 08:43
大佬太強了,非常感謝,受益匪淺
作者: a244300682    時間: 2019-11-28 17:38
為啥仿真圖我打不開????
作者: 1151160329    時間: 2019-12-4 15:42
ABCD四個鍵是啥啊
作者: hqpain    時間: 2019-12-5 11:18
資料很全,但是有沒有stc51單片機圖形lcd12864的資料,跪求大佬給個機會,這個能私發嘛,給我個,先感謝了!
作者: 物業tuan    時間: 2019-12-6 14:01
資料很全,可以使用。
作者: 物業tuan    時間: 2019-12-6 14:52
初始密碼是多少呢
作者: wxl123123123    時間: 2019-12-9 13:47
樓主,這個仿真怎么用啊
作者: Gyftd    時間: 2019-12-9 21:46
還不錯,比較實用
作者: 1151160329    時間: 2019-12-15 16:09
時崎姬 發表于 2019-5-26 20:51
老鐵,這個密碼是不是131420?我用了沒顯示open

000000
作者: 西路卡    時間: 2019-12-17 10:03
這個怎么打開啊,下載到桌面變成一個文本了
作者: 西路卡    時間: 2019-12-17 10:17
1151160329 發表于 2019-12-15 16:09
000000

您好,為什么我下載了打不開啊
作者: 1151541640    時間: 2019-12-17 10:27
厲害啊。大神大神
作者: 匆匆匆匆    時間: 2019-12-17 11:11
怎么樣改變密碼
作者: 匆匆匆匆    時間: 2019-12-17 11:13
day9520 發表于 2018-12-11 16:31
有點看不懂

那里不懂,程序嗎

作者: 厚度是佳能四百    時間: 2019-12-17 15:41
這里主控芯片用AT89C51或89C52可以嗎,會不會有什么影響
作者: 厚度是佳能四百    時間: 2019-12-17 19:20
欸,試了好幾次都沒有搞懂怎么修改密碼,看了代碼也沒搞懂ABCD四個按鍵具體有什么功能,不明覺厲,求大神指點啊
作者: Yaooi    時間: 2019-12-18 20:18
很值得學習
作者: 779406553    時間: 2019-12-23 14:14
很不錯,大佬很6
作者: 麻辣鴨鴨脖    時間: 2020-2-17 14:52
*是撤銷操作回到初始 #是輸完密碼確認登錄 C是輸密碼的時候取消上一位 D好像是消屏?
請問ABD是什么 以及如何改密碼 求指點
作者: 麻辣鴨鴨脖    時間: 2020-2-17 14:57
哈嘻 發表于 2018-12-21 09:46
請問ABCD各鍵表示什么??我是個菜鳥,冒昧打擾了。。

同問 請問你知道了嗎
作者: 夏一    時間: 2020-2-19 16:00
我太難了,自己做出來的連自己不會用,笑倒光頭強。
作者: 瑪卡巴卡呼    時間: 2020-3-18 11:25
有人操作了嗎?都好使不

作者: linnyshow    時間: 2020-3-20 10:16
很詳細……。
作者: ycb1    時間: 2020-3-20 15:09
先mark一下,嘿嘿
作者: 2hen9x1    時間: 2020-3-22 10:38
程序編譯的時候出錯了
作者: zz1218    時間: 2020-3-26 09:44
贊優秀
作者: 瑪卡巴卡呼    時間: 2020-3-26 15:55
hs88 發表于 2018-12-25 18:33
我做了藍牙加按鍵密碼鎖,沒有超次限制

你好,請問怎么加的藍牙,能說一下嘛
作者: wee123456    時間: 2020-3-28 14:54

感謝感謝
作者: 18854881690    時間: 2020-4-8 23:04
請問A和B代表什么意思呢

作者: 飛磊    時間: 2020-4-12 16:10
奮斗者 發表于 2019-5-7 17:52
怎么生成不了.核心文件呢?求解

我將程序代碼復制,并新建一個程序,將代碼粘貼,結果生成不了.hex文件 ...

在編譯之前是不是沒有設置,需要將“是否生成.hex文件”點勾




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费黄色一级 | 在线视频91 | 狠狠干天天操 | 午夜小视频在线观看 | 天天碰天天操 | 精品久久影院 | 免费一区二区三区 | 三级黄色在线观看 | 精品久久久久久久久久久久久久 | 亚洲特黄 | 亚洲在线免费观看 | 欧美综合久久 | 亚洲a级片 | 激情久久网 | 日产毛片 | 性生活毛片 | 精品福利在线观看 | 手机福利视频 | 国产女人高潮视频 | 国产91免费 | 岛国av噜噜噜久久久狠狠av | av黄色在线 | 久久国产亚洲 | aaa一级片| 亚洲性生活片 | 伊人狠狠干 | 视频一二区 | 一级免费片| 黄色小说视频网站 | 亚洲色综合 | 簧片在线免费观看 | 免费国产黄色 | 91成人国产 | 国产黄在线观看 | 日韩一级淫片 | 国产777| 成人在线视频免费 | 美女毛片视频 | 欧美精品乱码99久久蜜桃 | 亚洲区一区二 | av不卡在线 |