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

正文內(nèi)容

【畢業(yè)設(shè)計】基于單片機的電子密碼鎖設(shè)計(編輯修改稿)

2025-02-14 15:05 本頁面
 

【文章內(nèi)容簡介】 口:P0 口為一個 8位漏級開路雙向 I/O口,每腳可吸收 8TTL門電流。當 P1口的管腳第一次寫 1時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH編程時,P0 口作為原碼輸入口,當 FIASH進行校驗時,P0 輸出原碼,此時 P0外部必須被拉高。 P1口:P1 口是一個內(nèi)部提供上拉電阻的 8位雙向 I/O口,P1 口緩沖器能接收輸出4TTL門電流。P1 口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH編程和校驗時,P1 口作為第八位地址接收。 P2口:P2 口為一個內(nèi)部上拉電阻的 8位雙向 I/O口,P2 口緩沖器可接收,輸出 4個 TTL門電流,當 P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或 16位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址xx 大學 2022 屆本科生畢業(yè)設(shè)計- 6 -的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3 口管腳是 8個帶內(nèi)部上拉電阻的雙向 I/O口,可接收輸出 4個 TTL門電流。當 P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為 AT89C51的一些特殊功能口,如下表所示:管腳 備選功能: RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中斷 1) T0(記時器 0外部輸入) T1(記時器 1外部輸入) /WR(外部數(shù)據(jù)存儲器寫選通) /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持 RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE脈沖。如想禁止 ALE的輸出可在 SFR8EH地址上置 0。此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 /EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式 1時,/EA 將內(nèi)部鎖定為 RESET;當/EA 端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH編程期間,此引腳也用于施加 12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。xx 大學 2022 屆本科生畢業(yè)設(shè)計- 7 - 震蕩特性XTAL1和 XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2 應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除整個 PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但 RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 44 矩陣鍵盤如圖所示,本系統(tǒng)采用 44 矩陣鍵盤,16 個按鍵分為輸入數(shù)字鍵:*、0、9;功能鍵 lock、modify、cel、Enter。矩陣鍵盤。圖 3—2xx 大學 2022 屆本科生畢業(yè)設(shè)計- 8 - 復位電路圖 3—3時鐘電路工作后,在 REST 管腳上加兩個機器周期的高電平,芯片內(nèi)部開始進行初始復位(如圖 3—3) 。 振蕩電路圖 3—4本設(shè)計晶振選擇頻率為 12MHZ,電容選擇 30pF如圖(3-4)。經(jīng)計算得單片機工作胡機器周期為:12(1247。12M)=1us。 數(shù)碼管xx 大學 2022 屆本科生畢業(yè)設(shè)計- 9 -圖 3-5本設(shè)計采用兩個 4位 8段共陰極數(shù)碼管。由于由單片機直接驅(qū)動的直流電流不夠,數(shù)碼管亮度顯得不足,所以加上三極管 S9013用以放大電流。因為 LED數(shù)碼管合適的驅(qū)動電流大約為 9mA到 20mA左右,為了適 LED數(shù)碼管工作電流在 10mA左右,具體計算如下:Ib=()/27K=103AIe= Ib(β+1)=10 mA 使用的 9013的放大倍數(shù) β 為 100.  圖3-6 發(fā)光二極管 LEDxx 大學 2022 屆本科生畢業(yè)設(shè)計- 10 -圖 3-7由于 LED使用 P0口驅(qū)動要加上上拉電阻如圖 3-7。 電動鎖圖 3-8由于電動鎖使用 P0口驅(qū)動要加上上拉電阻如圖 3-8。 蜂鳴器xx 大學 2022 屆本科生畢業(yè)設(shè)計- 11 -圖 3-9由于蜂鳴器使用 P0口驅(qū)動要加上上拉電阻如圖 3-9。 完整電路圖xx 大學 2022 屆本科生畢業(yè)設(shè)計- 12 -圖 3—9 使用到的元器件列表xx 大學 2022 屆本科生畢業(yè)設(shè)計- 13 -元器件 規(guī)格 /型號 數(shù)量四位八段共陰數(shù)碼管 3461AFR1B10 1四位八段共陰數(shù)碼管 SR42036 1三極管 SR9013 8三極管 S965 1電阻 27k 8電阻 10k 1電阻 1k 4電解電容 瓷片電容 30pF 2單片機 AT89C51 1 表 3—1第 4 章 軟件程序設(shè)計本系統(tǒng)程序部分使用 C 語言編寫,C 語言是一種高級程序設(shè)計語言,它的優(yōu)點是xx 大學 2022 屆本科生畢業(yè)設(shè)計- 14 -簡潔明了、可移植性高。主要完成,開始時數(shù)碼管顯示提示“INPUT”輸入密碼。輸入密碼后按下確認鍵,系統(tǒng)會將所輸入與系統(tǒng)密碼進行比對。若輸入密碼正確則顯示“PASS”開鎖。然后可以選擇上鎖或者修改密碼。開鎖后,按下上鎖“LOCK”鍵,系統(tǒng)上鎖并返回;選擇修改密碼則可以對系統(tǒng)進行修改密碼操作。在修改密碼前要輸入正確舊的密碼。正確輸入舊密碼之后,會有提示輸入兩次新密碼,若兩次密碼一致,則修改成功。期間操作出現(xiàn)失誤,系統(tǒng)會返回初始狀態(tài),操作錯誤超過 3 次,系統(tǒng)會鎖定鍵盤,并報警用以防止惡意試探密碼。 軟件設(shè)計流程圖xx 大學 2022 屆本科生畢業(yè)設(shè)計- 15 -開始輸入密碼正確否?開鎖判斷按鍵LOCKModify 鍵上鎖結(jié)束輸入密碼正確否?輸入新密碼再次輸入一致否?修改密碼YesNoNoYesNoYes圖 4—1 具體功能軟件實施 開始等待流程 系統(tǒng)開始一直顯示提示“INPUT”,并判斷有否按鍵,當有鍵按下跳出等待。xx 大學 2022 屆本科生畢業(yè)設(shè)計- 16 - 開始顯示“INPUT”判斷是否有按鍵?結(jié)束NoYes圖 4—2 密碼檢查功能本系統(tǒng)使用數(shù)組 PASSWORD[6]存儲密碼,系統(tǒng)初始化對數(shù)組負值 PASSWORD[6]={5,6,7,9,10,11}相當于鍵盤上的 1,2,3,4,5,6。輸入密碼的時候,先將輸入的每一位密碼分別放置在數(shù)組 check[6]中,然后再將 check[6]與 PASSWORD[6]的每一位分別對照。若每一位都相等,密碼檢查通過。xx 大學 2022 屆本科生畢業(yè)設(shè)計- 17 -開始輸入一位密碼,數(shù)碼管顯示“-”K=6?k=0按鍵為CEL?結(jié)束YesNoNoYes圖 4—3 顯示功能 本系統(tǒng)使用共陰極數(shù)碼管顯示(如圖 3-5)。選碼由 P3口輸出高電平有效,選位由 P1口輸出低電平有效。顯示原理如下圖及下表: 圖 4—4                    表 4—14位數(shù)碼管上的管腳 單片機輸出管腳a 11 b 7 c 4 d 2 e 1 f 10 g 5 h 3 xx 大學 2022 屆本科生畢業(yè)設(shè)計- 18 -顯示方式分別有靜態(tài)顯示與動態(tài)顯示兩種。在顯示提示信息如:輸入密碼“INPUT”,操作通過“PASS”,操作錯誤“ERROR”,輸入舊密碼“OLD”,輸入新密碼“NE”,再次輸入“AGAIN”等信息時使用的是動態(tài)顯示。由于 8個顯示器的段碼同名端是連接在一起的,如果選碼的管腳(本系統(tǒng)中為 P1)都為 0,那么 8個顯示器則顯示同一字符。要使各個數(shù)碼管出現(xiàn)不同字符必須采用“分時動態(tài)掃描”的方法顯示。即每次點亮一個 LED顯示器,延時一段時間再點亮下一個 LED顯示器……周而復始,8 個 LED顯示器輪流動態(tài)掃描。利用人視覺余輝的暫留效應(yīng),看起來好像幾個顯示器上“同時”顯示不同的字符。如子程序 view_input_password():void view_input_password(void){ for(i=0。i200。i++) {P3=0X48。P1=0XFe。}//第四個顯示器顯示 I for(i=0。i200。i++) {P3=0X43。P1=0X7F。}//第五個顯示器顯示 N for(i=0。i200。i++) {P3=0XCD。P1=0XBF。}//第六個顯示器顯示 P for(i=0。i200。i++) {P3=0X62。P1=0XDF。}//第七個顯示器顯示 U for(i=0。i200。i++) {P3=0X69。P1=0XEF。}//第八個顯示器顯示 T }靜態(tài)顯示應(yīng)用在輸入密碼時數(shù)碼管的顯示進行輸入密碼操作時,每輸入一位密碼數(shù)碼管顯示一個“-”,實施方法為:當有第一個按鍵時,第八個數(shù)碼管的片選信號為低電平,其他為高。當有第二個按鍵時,第八、第七個數(shù)碼管的片選信號為低,其他為高,如此類推。如子程序 input_view():void input_view(void) //k為判斷輸入第幾位的變量{switch(k) case 0:P1=0XEF。P3=0X01。//顯示由右至左 1個“-” case 1:P1=0XcF。P3=0X01。//顯示由右至左 2個“-” case 2:P1=0X8F。P3=0X01。//顯示由右至左 3個“-” case 3:P1=0X0F。P3=0X01。//顯示由右至左 4個“-” case 4:P1=0X0E。P3=0X01。//顯示由右至左 5個“-”xx 大學 2022 屆本科生畢業(yè)設(shè)計- 19 - case 5:P1=0X0A。P3=0X01。//顯示由右至左 6個“-” } 鍵盤掃描如圖 32,本系統(tǒng)使用 44矩陣鍵盤當沒有鍵按下時,行線和列線之間是不相連的,若第 N行與第 M列的鍵被按下,那么第 N行與第 M列的線就被接通。根據(jù)上述原理,本系統(tǒng)的鍵盤掃描方法是利用 P2口的低四位作為行掃描線,P2 口的高四位作為列回掃線。具體實施方法為:先使 ,
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1