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

正文內(nèi)容

基于單片機的電子密碼鎖設(shè)計-在線瀏覽

2025-03-07 16:27本頁面
  

【正文】 于單片機種類繁多,各種型號都有其一定的應(yīng)用環(huán)境,因此在選用時多要加以比較,合理選擇,以期獲得最佳的性價比。在開發(fā)過程中,單片機還受到:開發(fā)工具、編程器、開發(fā)成本、開發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等等因素。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接M24C02芯片用于密碼的存儲,外接4位8段共陽極數(shù)碼管用于顯示作用。密碼輸完之后按下確認件,如密碼輸入真確即開鎖,不正確顯示密碼錯誤重新輸入密碼,當密碼錯誤時則發(fā)出警報;當用戶需要修改密碼時,先按下鍵盤設(shè)置鍵后輸入原來的密碼,只有輸入的原密碼正確后才能設(shè)置新密碼??梢钥闯龇桨付刂旗`活準確性好且保密性強,還具有擴展功能,根據(jù)現(xiàn)實生活的需要,本次設(shè)計采用此方案。采用40引腳雙列直插式DIP,內(nèi)有128k的RAM單元及4K的ROM。80C51內(nèi)部有時鐘電路,但需要石英晶體和微調(diào)電容外接[14]。 80C51性能簡介80C51具有如下特點:40個引腳,4k byte flash片內(nèi)程序存儲器,128bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級,2個中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,片內(nèi)時鐘振蕩器[11]。掉電方式在RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直接到一個硬件復(fù)位。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組I口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯電路[12]。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號校驗期間,P1接收低8為地址。表32 P1口的第二功能端口引腳第二功能MOSI(用于ISP編程)MISO(用于ISP編程)SCK(用于ISP編程)P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行:MOVXRi指令)時,P2口線上的內(nèi)部(即特殊功能寄存器)在整個訪問期間不改變。P3口:P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。做輸入端口時,被外部拉低的P3口將用上拉電阻輸出電流I。表33 P3口的第二功能端口引腳第二功能端口引腳第二功能RXD()串行輸入口T0()定時/計數(shù)器0外部輸入TXD()串行輸出口T1()定時/計數(shù)器1外部輸入INT0()外中斷0WR()外部數(shù)據(jù)存儲器寫選通INTI()外中斷1RD()外部數(shù)據(jù)存儲器讀選通RST:復(fù)位輸入。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能。ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。此外,該引腳被微弱拉高,單片機執(zhí)行內(nèi)部程序時,應(yīng)設(shè)置ALE無效。當訪問外部數(shù)據(jù)存儲器時,有兩次有效的PSEN信號。欲使CPU訪問外部程序存儲器(地址0000HFFFFH),EA端必須保持低電平(接地)。如EA端位高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。XTAL2:振蕩器反相當大器的輸出端。這些地址并沒有全部占用,沒有占用的地址不可使用,讀這些地址將得到一個隨意的數(shù)值。中斷寄存器:各中斷允許控制位于IE寄存器,5個中斷源的中斷優(yōu)先級控制位于IP寄存器。圖32 AUXR輔助寄存器雙時鐘指針寄存器:為方便的訪問內(nèi)部和外部數(shù)據(jù)存儲器,提供了兩個16位數(shù)據(jù)指針存儲器:PD0位于SFR區(qū)塊中的地址82H、83H和DP1位于地址84H、85H,當SFR中的位DPS=0時選擇DP0,而DPS=1時選擇DP1。圖33 雙時鐘指針寄存器電源空閑標志:電源空閑標志(POF)在特殊功能寄存器SFR中PCON的第四位(),電源打開時POF置“1”,它可由軟件設(shè)置睡眠狀態(tài)并不為復(fù)位所影響。在80C51中,加入接至vcc(電源正),程序首先執(zhí)行從地址0000H0FFFH(4KB)內(nèi)部程序存儲器,在執(zhí)行地址為1000HFFFFH(60KB)的外部程序存儲器。 存儲芯片AT24C01AT24C01是美國ATMEL公司的低功耗CMOS型E2PROM,內(nèi)含2568位存儲空間,具有工作電壓寬()、擦寫次數(shù)多(大于1000次)、寫入速度快(小于10ms)、抗干擾能力強、數(shù)據(jù)不易丟失、體積小等特點。AT24C02中帶有的片內(nèi)地址寄存器。所有字節(jié)均以單一操作方式讀取。I2C總線是一種用于IC器件之間連接的二線制總線。AT24C01正是運用了I2C規(guī)程,使用主/從機雙向通信,主機(通常為單片機)和從機(AT24C01)均可工作于接收器和發(fā)送器狀態(tài)。無論是主機還是從機,接收到一個字節(jié)后必須發(fā)出一個確認信號ACK。圖34 AT24C01的兩種引腳圖 圖35 AT24C01的電路連接圖圖中AT24C01的3腳是三條地址線,用于確定芯片的硬件地址。第5腳SDA位串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這條雙向I2C總線進行串行傳送。第7腳需要接地。每寫入或讀出一個數(shù)據(jù)字節(jié)后,該地址寄存器自動加1,以實現(xiàn)對下一個存儲單元的讀寫。為降低總的寫入時間,一次操作可寫入多達8個字節(jié)的數(shù)據(jù)。按發(fā)光二極管的連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極街道+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出需要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式不同,可以分為靜態(tài)式和動態(tài)式兩類。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二十進制譯碼器譯碼進行驅(qū)動。數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。比外型高度小。長*寬*高:長——數(shù)碼管正方時,水平方向的長度;寬——數(shù)碼管正方時,垂直方向上的長度;高——數(shù)碼管的厚度。一般用于顯示時鐘中的秒。 電壓:查引腳排布圖,看每段芯片數(shù)量是多少,當紅色與黃綠色時,;當綠色或藍色時。以聲卡為例。但是現(xiàn)在的娛樂級聲卡為了降低成本,通常都采用SCR將輸出的采樣頻率固定在48kHz,但是SRC會對音質(zhì)帶來損害,而且現(xiàn)在的娛樂級聲卡都沒有很好的解決這個問題。石英晶體振蕩器是一種高精度和高穩(wěn)定度的振蕩器,石英晶體振蕩器也稱石英晶體諧振器,用來穩(wěn)定頻率和選擇頻率,是一種可以取代LC諧振元件。為數(shù)據(jù)處理設(shè)備產(chǎn)生時鐘信號和為特定系統(tǒng)提供基準信號。石英晶體振蕩器是利用石英晶體(二氧化硅的結(jié)晶體)的壓電效應(yīng)制成的一種諧振器件,它的基本構(gòu)成大致是:從一塊石英晶體上按一定方為角切下薄片(簡稱為晶片,它可以是正方形、矩形或圓形等),在它的兩個對應(yīng)面上涂敷銀層作為電極,在每個電極上各焊一根引線接到管腳上,再加上封裝外殼就構(gòu)成了石英晶體諧振器,簡稱石英晶體或晶體、晶振。只要在晶體振子板極上施加交變電壓,就會使晶片產(chǎn)生機械變形振動,此現(xiàn)象即所謂逆壓電效應(yīng)。第四章 系統(tǒng)硬件構(gòu)成 設(shè)計原理本設(shè)計主要由單片機、矩陣鍵盤、數(shù)碼管顯示器和密碼存儲等部分組成。由用戶通過連接單片機的矩陣鍵盤輸入密碼,后經(jīng)過單片機對用戶輸入的密碼與自己保存的密碼進行對比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警,實際使用時只要將單片機的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈[13]。其中硬件部分由電源輸入部分、鍵盤輸入部分、密碼存儲部分、復(fù)位部分、晶振部分、顯示部分、報警部分、開鎖部分組成,軟件部分對應(yīng)的由主程序、初始化程序、LED顯示程序、鍵盤掃描程序、啟動程序、關(guān)閉程序、建功能程序、密碼設(shè)置程序、EEPROM讀寫程序和延時程序等組成。80C51鍵盤輸入復(fù)位電路密碼存儲電路晶振電路電源輸入顯示電路報警電路開鎖電路圖41電子密碼鎖原理框圖在確定了選用什么型號的單片機后,就要確定外圍電路,其外圍電路包括電源輸入部分、鍵盤輸入部分、密碼存儲部分、復(fù)位部分、顯示部分、報警部分、開鎖部分組成,根據(jù)實際情況鍵盤輸入部分選擇4*4矩陣鍵盤,顯示部分選擇字符型液晶顯示4位8段共陽極數(shù)碼管,密碼存儲部分選用AT24C01芯片來完成[14]。其主要原理是把單相交流電經(jīng)過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換為穩(wěn)定的直流電壓。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。需通過低通濾波電路濾波,使輸出電壓平滑。本電路使用了集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。所以采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼郵鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多I/O口[15]。鍵盤的每個按鍵功能在程序設(shè)計中設(shè)置。AT24C01是美國Atmel公司的低功耗CMOS型E2PROM,內(nèi)含2568位存儲空間,具有工作電壓寬()、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)、抗干擾能力強、數(shù)據(jù)不易丟失、體積小等特點。AT24C01中帶有的片內(nèi)地址寄存器。所有字節(jié)均以單一操作方式讀取。I2C總線式一種用于IC器件之間連接的二線制總線。AT24C01正是運用了I2C規(guī)程,使用主/從機雙向通信,主機(通常為單片機)和從機(AT24C01)均可工作于接收器和發(fā)送器狀態(tài)。無論是主機還是從機,接收到一個字節(jié)后必須發(fā)出一個確認信號ACK。其連接如圖45所示:圖45 密碼存儲電路原理圖單片機復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復(fù)位后PC=0000H,使單片機從第一個單元取指令。在復(fù)位期間(即RST為高電平期間),P0口為高阻態(tài),P1P3口輸出高電平;外部程序存儲器讀選通信號PSEN無效。根據(jù)情況選擇如圖46所示的復(fù)位電路。增加手動復(fù)位按鍵是為了避免死機時無法可靠復(fù)位。當電容C1放電結(jié)束后,RST端的電位由R5與R6分壓比決定。R5的作用在于限制按鍵按下瞬間電容C1的放電電流,避免產(chǎn)生火花,以保護按鍵觸電[16]。晶振、電容C1/C2及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點式振蕩器,振蕩信號頻率與晶振頻率及電容CC2的容量有關(guān),但主要由晶振頻率決定,范圍在0—33MHz之間,電容CC2取值范圍在5—30pF之間。電容取值為20pF。本設(shè)計的顯示部分由數(shù)碼管來完成。同理只有按下關(guān)閉按鍵后,顯示器才處于關(guān)閉狀態(tài)[17]。通過LED顯示屏,可以清楚的判斷出鎖所處的狀態(tài)。如圖49所示:圖49 報警電路原理圖 開鎖部分本設(shè)計的開鎖控制電路的功能是當輸入正確的密碼后將鎖打開。用于通過鍵盤任意設(shè)置密碼,并儲存在EEPROM中作為鎖碼指令。開鎖步驟如下:首先按下鍵盤上的開鎖按鍵,然后利用鍵盤上的數(shù)字鍵0—9輸入密碼,最后按下確認鍵。只有當識碼正確,單片機才能控制電子鎖內(nèi)的微型繼電器吸臺。開鎖以后,單片機自動清除掉由用戶輸入的這個密碼。 主程序部分 主程序流程圖圖51所示為主程序流程圖,開始接入電源,程序進行初始化設(shè)置,然后在鍵盤上輸入密碼,此系統(tǒng)進入鍵盤掃描,密碼正確則開鎖成功。選擇是否修改密碼,先輸入舊密碼,密碼正確后設(shè)置新密碼,錯誤時報警。然后啟動程序,進行保護。如果與之前一樣,則執(zhí)行相同程序,如不是,則執(zhí)行另一種程序[19]。void main(){ num=16。start: hel()。dydisp()。count=0。} Num1=next()。count=0。} j=chang()。su=0。su=1。brea。} } er=1。num2++。 } }Goto loop。在按鍵當中,有與輸入、開鎖、清除、設(shè)置、確認的程序相對應(yīng)的按鍵,并按順序與輸入的數(shù)相比較,當輸入密碼程序錯誤時進行清除,輸入兩次新密碼正確時,可進行重新設(shè)置密碼,最后確認程序。temp=P1。0xf0。temp=P1。0xf0。switch(temp) {case 0xee:num=7。break。su=0。 case 0xbe:num=9。break。su=0。break。 } while(temp!=0xf0) {temp=P1。0xf0。temp=P1。0xf0。temp=P1。0xf0。switch(temp) {case 0xed:num=4。break。su=0。 case 0xbd:num=6。break。su=0。break。 } while(temp!=0xf0) {temp=P1。0xf0。temp=P1。0xf0。temp=P1。0xf0。switch(temp) {case 0xeb:num=1。break。su=0。 cas
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1