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

正文內(nèi)容

基于單片機(jī)的6位電子密碼鎖的設(shè)計(jì)(編輯修改稿)

2024-12-16 15:44 本頁(yè)面
 

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