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

正文內(nèi)容

電子信息工程-基于單片機的十位數(shù)字密碼鎖電路設(shè)計(編輯修改稿)

2025-01-11 03:30 本頁面
 

【文章內(nèi)容簡介】 51單片機存儲器及中斷系統(tǒng) MCS51單片機的存儲器結(jié)構(gòu)與一般微機的存儲器結(jié)構(gòu)不同,分為程序存儲器 ROM和數(shù)據(jù)計數(shù)器RAM。程序存儲器存放程序、固定常數(shù)和數(shù)據(jù)表格,數(shù)據(jù)存儲器用作工作區(qū)及存放數(shù)據(jù),兩者完全分開。程序存儲器和數(shù)據(jù)存儲器都有各自的尋址方式、尋址空間 和控制系統(tǒng)。程序存儲器和數(shù)據(jù)存儲器從物理結(jié)構(gòu)上分為片內(nèi)和片外兩種。它們的尋址空間和訪問方式也不相同。 數(shù)據(jù)存儲器在單片機中用于存取程序執(zhí)行時所需的數(shù)據(jù)。 MCS51系列單片機的片內(nèi)數(shù)據(jù)存儲器除了 RAM塊外,還有特殊功能寄存器( SFR)塊。對于 51子系列,前者有 128字節(jié),編址為 00H7FH;后者也占 128 字節(jié),編址為 80HFFH;二者連續(xù)不重疊。 片內(nèi)數(shù)據(jù)存儲器按功能可以分成以下幾個部分:工作寄存器組區(qū)、位尋址區(qū)、一般 RAM區(qū)和特殊功能寄存器區(qū),其中還包含堆棧區(qū)。 00H1FH單元為工作寄存器組區(qū),共 32個字節(jié)。工作寄存器也稱為通用寄存器,用于臨時存放 8位信息。工作寄存器共有 4組,稱為 0組、 1組、 2組、 3組、每組 8個寄存器,依次用 R0R7表示。也就是說,R0 可能表示 0組的第一個寄存器,也可能表示 1組的第一個寄存器,還可能表示 2 組、 3組的第一成都大學(xué)學(xué)士學(xué)位論文 ( 設(shè)計) 7 個寄存器。使用哪一組當(dāng)中的寄存器由程序狀態(tài)寄存器 PSW 中的 RS0 和 RS1 兩位來選擇。 20H2FH為位尋址區(qū),共 16字節(jié), 128位。這 128位每位都可以按位方式使用,每一位都有一個位地址,位地址范圍為 007FH。 30H7FH 是一般 RAM 區(qū),也稱為用戶 RAM 區(qū),共 80字節(jié),對于 52 子系列,一般 RAM區(qū)從 30HFFH單元 。另外,對于前兩區(qū)中未使用的單元也可以作為用戶 RAM 單元來使用。堆棧是按先入后出、后入先出的原則進行管理的一段存儲器區(qū)域。在 MCS51單片機中,堆棧占用片內(nèi)數(shù)據(jù)存儲器的一段區(qū)域,在具體使用時應(yīng)避開工作寄存器、位尋址區(qū),一般在 2FH 以后的單元,為實現(xiàn)堆棧的先入后出、后入先出的數(shù)據(jù)處理,單片機中專門設(shè)置了一個堆棧指針 SP。堆棧指針 SP是一個 8位特殊功能寄存器。它指向當(dāng)前堆棧段得位置, MCS51單片機的堆棧是向上生長型的,存入數(shù)據(jù)是從低端向高端延伸,取出數(shù) 據(jù)則相反。入棧和出棧數(shù)據(jù)是以字節(jié)為單位。入棧時先把 SP指針的內(nèi)容加 1,然后把數(shù)據(jù)存入 SP 指向的單元,出棧時先把 SP 指針指向單元的數(shù)據(jù)取出,然后把SP的內(nèi)容減 , SP的初值為 07H,因此堆棧實際上是從 08H開始存放數(shù)據(jù)。用戶也可以通過給 SP 賦值來改變堆棧的初始位置。特殊功能寄存器( SFR)也稱為專用寄存器,專門用于控制、管理片內(nèi) 算術(shù)邏輯部件、并行 I/O接口、串行口、定時 /計數(shù)器、中斷系統(tǒng)等功能模塊工作。用戶在編程時可以給其設(shè)定值,但不能移作他用。 SFR 分布在 80HFFH 的地址空間,與片內(nèi)數(shù)據(jù)存儲器統(tǒng) 一編址。 MCS51 單片機提供 5 個硬件中斷源:兩個外部中斷源 INT0( )和 INT1( ),兩個定時 /計數(shù)器 T0和 T1的溢出中斷 TF0和 TF1;一個串行口發(fā)送 T1和接收 R1中斷。設(shè)計中用了 兩個 外部中斷 。外部中斷源 INT0和 INT1 的中斷請求信號從外部引腳 ,主要用于自動控制、實時處理、單片機掉電等。 外部中斷請求有兩種觸發(fā)方式:電平觸發(fā)及邊沿觸發(fā)。這兩種觸發(fā)方式可以通過對特殊功能寄存器 TCON編程來選擇。 TCON的高四位用于定時 /計數(shù)器控制,低四位用于外部中斷控制, IT0和 IT1位為外部中斷 0 和外部中斷 1 的觸發(fā)方式控制位。設(shè)置 0選擇為電平觸發(fā)方式;設(shè)置 1 選擇為邊沿觸發(fā)方式。 邊沿觸發(fā)方式時, CPU響應(yīng)中斷后能夠由硬件自動將 IE0(或 IE1)清零。對于電平觸發(fā)方式, CPU 響應(yīng)中斷后不能夠由硬件自動將標志位清零。 MCS51 單片機中沒有專門的開中斷和關(guān)中斷指令,對各個中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器 IE 的各位來控制的。 IE 的最高位( EA)為中斷允許控制位。 EA=0屏蔽所有中斷請求, EA=1開放中斷。 IE的最低位( EX0)為外部中斷 0的中斷允許控制位, EX0=0禁止外部中斷 0中斷 , EX0=1允許外部中斷 0中斷; IE的第三位( EX1)為外部中斷 1的中斷允許位。 EX1=0 禁止外部中斷 1 中斷, EX1=1允許外部中斷 1中斷。 MCS51 單片機 5個中斷源可以通過內(nèi)部的中斷優(yōu)先級寄存器 IP 來設(shè)置,中斷優(yōu)先級寄存器 IP的字節(jié)地址為B8H,可以進行位尋址, 如果某位被置 1,則對應(yīng)的中斷源被置為高優(yōu)先級,對于同級中斷源, 系統(tǒng)有默認的優(yōu)先權(quán)順序,默認優(yōu)先權(quán)順序下外部中斷 0 優(yōu)先級高于外部中斷 1。 通過中斷優(yōu)先級寄存器 IP改變中斷源的優(yōu)先級 順序 可以實現(xiàn) 兩個方面的功能:改變系統(tǒng)中斷源的優(yōu)先級順序和實現(xiàn) 二級中斷嵌套 。通過中斷優(yōu)先級寄存器組成的兩級優(yōu)先級實現(xiàn)二級中斷嵌套有以下三條規(guī)定:第一,正在進行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷,直到該中斷服務(wù)程序結(jié)束,返回了主程序且執(zhí)行了主程序中的一條指令后, CPU 才響應(yīng)新的中斷請求。第二,正在進行的低優(yōu)先級中斷服務(wù)程序能被高優(yōu)先級中斷請求所中斷,實現(xiàn)兩級中斷嵌套。第三, CPU 同時接收到幾個中斷請求時,首先響應(yīng) 優(yōu)先級最高的中斷請求。 這是此次設(shè)計中要用到的。 外部中斷 0 的入口地址為0003H,外部中斷 1的入口地址為 0013H。 成都大學(xué)學(xué)士學(xué)位論文 ( 設(shè)計) 8 第 3 章 系統(tǒng)硬件設(shè)計 系統(tǒng) 總體設(shè)計 原理 本設(shè)計利用所學(xué)電路知識 ,單片機知識和 EDA方面的知識設(shè)計一電子密碼鎖 。 目的是 要有較高的安全性 , 密碼位數(shù)高,錯誤提示 ,使用方便 ,顯示界面友好 等特點 。 確定方案與原理框圖,設(shè)計出硬件線路,給出軟件程序。 根據(jù)設(shè)計 目的 , 本設(shè)計以單片機 8051AH為核心,用單片機的通用 I/O接口 P1口組成一個 4 4鍵盤作為輸入電路,用發(fā)光二極管和蜂鳴器作為指示和警報提示設(shè)計一個十位數(shù)字電子密碼鎖電路。密碼鎖的 開鎖密碼應(yīng)是( 09)中的十位數(shù)字,密碼輸入完全正才確能控制開鎖裝置打開 密碼鎖 , 并且 指示燈 亮 ;輸入的密碼錯誤則 不能打開 密碼鎖 , 并且 發(fā)出聲音警報 提示 。采用單片機來完成此電路設(shè)計,硬件電路簡單,但是需要編程序來實現(xiàn)相應(yīng)功能 。完成此密碼鎖設(shè)計 主要有幾個方面問題需要解決: 輸入的問題,輸入鍵中包含 09十位數(shù)字鍵、一個刪除鍵(刪除上一個輸入的數(shù)字)、開鎖鍵、確認鍵、改密碼鍵和復(fù)位鍵; 開鎖和改密碼的問題,密碼輸入正確了怎樣控制電路開鎖,密碼輸入不正確則不能開鎖,如何實現(xiàn)修改密碼,必須輸入了正確的密碼后才能修改密碼; 設(shè)計出電路圖,編出程序,然后仿真, 看 是否能實現(xiàn)相應(yīng)功能。 綜上所述,決定采用以下思 路來完成十位數(shù)字密碼鎖電路的設(shè)計。用單片機的 P1口 8根 I/O接口線組成 4 4鍵盤有 16個按鍵,本設(shè)計用到其中 11個鍵 ,這 11個鍵包括 09十個數(shù)字鍵和 A(十)鍵,將 A鍵用作確認鍵。此外,擬用單片機的外中斷 0來用作刪除(刪除上一位輸入值),利用單片機的外中斷 1來修改密碼, 通過中斷優(yōu)先級寄存器 IP把外中斷 0的中斷優(yōu)先級順序設(shè)為高 , 這樣 外中斷 0 優(yōu)先級高于外中斷 1,所以即使在執(zhí)行外中斷 1 的中斷服務(wù)程序時可以 利用中斷嵌套來 響應(yīng)外中斷 0,即當(dāng)用戶修改密碼時一樣可以使用刪除鍵。這樣以來,刪除(刪除上一位輸入)程序和改密碼 程序 只需要寫作單片機的外中斷 0和 1 的中斷服務(wù)程序即可。另外要注意的是,改密碼只能在輸入正確密碼后進行改密碼,所以外中斷 1 在輸入正確的密碼時才允許中斷,也就是說必須先輸入正確的密碼后改密碼鍵才能有效,這時按改密碼鍵就可以進行密碼修改。 如果在輸入了正確的十位密碼后的十秒時間內(nèi)沒有其他任何動作,那么密碼鎖將自動結(jié)束本次運轉(zhuǎn), 回到程序初始位置執(zhí)行等待輸入密碼,即用戶需在輸入正確密碼后的十秒時間內(nèi)執(zhí)行需要的操作 — 開鎖或者修改密碼。最后, 由于此設(shè)計的為十位數(shù)字密碼鎖,有十位密碼,密碼位數(shù)較多,所以使用一般的數(shù)碼管顯示電 路已不能滿足要求,這里選用 1602LCD 顯示器作為顯示電路,這樣不僅能方便的顯示密碼,而且顯示界面更加友好,顯示內(nèi)容也可以更加豐富。 本設(shè)計中設(shè)有復(fù)位鍵,實際運用中可以將復(fù)位鍵設(shè)在鎖內(nèi),即開鎖后才能按到復(fù)位鍵,因為按了復(fù)位鍵單片機將恢復(fù)默認設(shè)置,密碼也將恢復(fù)為默認密碼。 當(dāng)然復(fù)位鍵也可以不設(shè), 可以將單片機復(fù)位方式設(shè)為上電復(fù)位。 總體設(shè)計框圖如 第一章的 圖11所示。 單片機作為整個硬件系統(tǒng)的核心,它既 是 協(xié)調(diào)整機工作的控制器,又是數(shù)據(jù)處理器。 整個系統(tǒng)由單片機、 時鐘電路 、 復(fù)位電路 等組成。 本系統(tǒng)采用 的 8051AH單片機 , 它是一款 MCS51系列中的高性能單片機 內(nèi)部自帶有 4KB 的 Flash 存儲器及 256KB RAM 單元的芯片,因此可以不需另外擴展EEPROM及靜態(tài) RAM就可以實現(xiàn)所需功能。 單片機最小系統(tǒng)是軟硬件系統(tǒng)連接的橋梁。其中單片機最小系統(tǒng)的電路圖如圖 31所示。 單片機的時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準,時鐘信號通常用兩種電路形式得到 :內(nèi)部振蕩和外部振蕩。 MCS51 單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTAL1 和 XTAL2 分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單, 所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式,如圖 31 所示在其外接晶體振蕩器 (簡稱晶振 )或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧成都大學(xué)學(xué)士學(xué)位論文 ( 設(shè)計) 9 振器一起可構(gòu)成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。圖 31 中 C1 和 C2 構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值均為 30PF左右,晶振頻率選 12MHz。 為了初始化單片機內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使 CPU 及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機的復(fù)位是靠外電路來 實現(xiàn)的,在正常運行情況下,只要 RST 引腳上出現(xiàn)兩個機器周期時間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果 RST 引腳上持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入 /輸出 (I/O)端口寄存器置為 FFH,堆棧指針 SP置為 07H, SBUF內(nèi)置為不定值,其余的寄存器全部清 0,內(nèi)部 RAM的狀態(tài) 不受復(fù)位的影響,在系統(tǒng)上電時 RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動 (開關(guān) )復(fù)位。 圖 31中就是 上 電復(fù)位方式, R2和 C3組成上電復(fù)位電路,其值 R取為 1K, C取為 22μ F。 圖 31 單片機最小 系統(tǒng) 鍵盤 電路 本設(shè)計用的按鍵較多,所以這里采用矩陣鍵盤,用了 4 4矩陣鍵盤的 16個鍵中的 11個。矩陣鍵盤又叫行列式鍵盤, 行列式鍵盤的特點是能減少鍵盤與單片機接口時所占用的 I/O 線的數(shù)目,使硬件資源得到合理利用,但判鍵速度慢,在按鍵比較多時, 往往 采用 矩陣式鍵盤 。 矩陣式鍵盤的鏈接方法有多種,可以利用擴展的并行 I/O 接口線;可以利用可編程的鍵盤、顯示接口芯片進行連接、也可以直接連接于單片機的 I/O接口線;利用擴展的并行 I/O接口連接方便靈活,在單片機應(yīng)用系統(tǒng)中比較常用。這里直接用單片機的 P1 口連接, P1 的低四位作為行線,高四位作為列線。 第一行的首鍵碼就是 0,第二行的首鍵碼是 4,第三行的首鍵碼是 8,第四行首鍵碼是 12。編碼情況如圖 32所示。 矩陣鍵盤的 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要 N條行線和 M條列線,即可組成具有 N M個按鍵的鍵盤。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。 當(dāng)確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描 查詢法;另一種是速度較快的線反轉(zhuǎn)法。 矩陣鍵盤的工作過程可分為兩步;第一步是 CPU 首先檢測鍵盤上是否有鍵按下;第二步是識別哪一個鍵按下。 對照圖 32的 4 4矩陣鍵盤,說明鍵盤的工作原理。 判斷 鍵盤中有無鍵按下 的處理方法是: 由單片機 I/O 口向鍵盤送全掃描字,然后讀入行線狀態(tài)成都大學(xué)學(xué)士學(xué)位論文 ( 設(shè)計) 10 來判斷。 其具體過程如下 : 先 向 P1 口 輸出 0F0H,把全部 行 線置為低電平,然后將 列線電平狀態(tài)讀入累加器 A中 。 如果有鍵按下,總會有一根列線電平被拉至低電平,從而使列輸入狀態(tài)不全為“ 1”否則則可判定無鍵按下。 本設(shè)計中還用類似的方法將列線置為低電平 ,讀行線狀態(tài),這樣用兩次讀得的結(jié)果判斷是否有鍵按下。具體設(shè)計方法在第四章中詳細介紹,這里先說明原理。 辨別 鍵盤中哪一個鍵被按下 的處理方法是: 將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的 ,稱為逐列掃描 。 其具體過程如下 : 從 開始, 依次給列線送低電平 (通過向 P1 口寫入掃描字實現(xiàn),然后讀入 所有行線狀態(tài),如果全為 1,則所按下的鍵不在此列;如果不全為 1,則所按下的鍵必在此列,而且是在 此列 與零電平行線相交的交點上的那個鍵。 為求取鍵碼 , 在逐列掃
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1