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

正文內容

十位數字密碼鎖電路設計(參考版)

2024-12-10 01:29本頁面
  

【正文】 相信在單片機開發(fā)應用中 PROTEUS也能茯得愈來愈廣泛的應用。它具有設計靈活,結果、過程的統(tǒng)一的特點。因此, Proteus 有較高的推廣利用價值。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調試、運行結果等。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 PROTEUS 是單片機 教學和開發(fā) 的先進助手。這些測試信號包括模擬信號和數字信號。這些都盡可能減少了儀器對測量結果的影響。 ( 3)除了現(xiàn)實存在的儀器外, Proteus還提供了一個圖形顯示 功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。 ( 2) Proteus 可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、 SPI 調試器、 I2C 調試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等, Proteus建立了完備的電子設計開發(fā)環(huán)境。 ( 2)仿真處理器及其外圍電路 可以仿真 51系列、 AVR、 PIC、 ARM、等常用主流單片機。這些功能是: ( 1)原理布圖 。在編譯方面,它也支 持 IAR、 Keil和 MPLAB等多種 編譯器 。 Proteus 是世界上著名的 EDA 工具 (仿真軟件 ),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到 PCB 設計,真正實現(xiàn)了從概念到產品的完整設計。它是目前最好的仿真單片機及外圍器件的工具。 22 用 Proteus 軟件進行仿真 Proteus簡介 Proteus 軟件是英國 Labcenter electronics 公司出版的 EDA 工具軟件。可以用 View菜單調出各種輸出窗口觀察結果。編譯、連接情況如圖 51. 圖 51 編譯、連接顯示圖 當項目編譯、連接成功后,就可以 運行它來觀察結果,如果有程序有錯誤,在下面的 Build 選項卡中會顯示錯誤 或者警告提示,可以根據提示修改程序。在編譯、連接前注意選擇 Project菜單下的 Options for Target‘ Target1’命令,選擇 Output選項卡,在 Create Executable選項前打鉤,以選擇生成可執(zhí)行文件 HEX文件。然后將 asm程序文件添加到建立的項目中。 另外, Keil uVision2 IDE 支持 C 語言程序,也 支持 匯編語言程序。 Keil uVision2 IDE 軟件 提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全 Windows 界面,使您能在很短的時間內就能學會使用 它 來開發(fā)您的單片機 應用程序 。整個完整的軟件程序見附錄。如圖 44 所示 ,左邊為寫命令子程序流程,中間是些數據子程序流程,右邊是顯示“ OK”子程序流程圖。 1602 液晶顯示器是靜態(tài)顯示,它只有 11條指令,第三章中已作了詳細介紹,使用比較簡單。 密碼比較相對比較簡單, 這里就不在詳細介紹了,具體程序段詳見附錄中的程序代碼。比較完后將此結果送到 , 1,按下開鎖鍵后驅動開鎖指示發(fā)個二極管 D1 點亮,并且蜂鳴器不會鳴響。 P 1 = 0 F 0 H 置行線低電平 讀 P1 口送入累加器 A A a n l 0 F 0 H (保留列線狀態(tài)) A 中內容送 B 保存 P 1 = 0 F H 置列線低電平 讀 P1 口送入累加器 A A a n l 0 F H (保留行線狀態(tài)) A= A o r l B 返回 R 2 = 1 1 1 1 0 1 1 1 初始化掃描碼 掃描碼循環(huán)左移一位存入 R2 掃描碼送入累加器 A 送掃描碼給 P1 口 P1 口狀態(tài)讀入累加器 A A o r l 0 F 0 H 屏蔽列線狀態(tài) A = 0 F F H ? A C C . 0 = 1 ? A C C . 1 = 1 ? A C C . 2 = 1 ? 行地址 =3 A= 行地址 4 A = A + 列地址 返回 不在此列列地址加 1 是 否 列地址 =4 ? 否 是 是 是 是 行地址 =0 行地址 =1 行地址 =2 否 否 否 列地址( R4 ) =0 圖 43 鍵盤掃描(左)和按鍵識別(右)程序流程圖 密碼比較 和顯示 程序 密碼比較是通過邏輯運算來完成的。 此次設計將 P1口的低四位作為行線,高四位作為列線, 19 按鍵識別就是通過向 P1口送列掃描字 逐列掃描, 并記錄下當前列號, 掃描字的 初始值為 11110111,開始掃描時將掃描字向左循環(huán)移一位送入 P1口,使第 0列置零其他列和行都是高電平,然后從第 0行開始逐行檢測各行的電平狀態(tài),如果檢測到某一行為低電平,那么按下的鍵就在當前掃描的列與此行 交點處,此按鍵的鍵碼值 =行 號 4+列 號 。 否則則可判定無鍵按下。 外中斷 0 服務程序 是否已有輸入 存儲地址指針減 1 需輸入位數加 1 光標左移 1 位 寫入空格鍵 光標左移 1 位 中斷返回 是 否 外中斷 1 服務程序 調用顯示 c r e a t e 程序 調用鍵盤掃描程序 調用按鍵識別程序 鍵碼入棧 調用鍵盤掃描程序 鍵碼出棧 是否為功能鍵 是否已輸入十位 修改密碼 調用顯示“ OK ”程序 中斷返回 有鍵按下 無鍵按下 按鍵釋放 按鍵未放 是 否 是 否 調用顯示“ F A I L ”程序 是否已輸入十位 存儲 顯示 否 是 累加器 A 出棧 累加器 A 入棧 圖 42 刪除密碼 (左) 和修改密碼流程圖 (右) 鍵盤掃描和按鍵識別 程序 辨別鍵盤中有無鍵按下,由單片機 I/O 口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。還有就是,當修改密碼不成功時調用顯示“ FAIL”子程序在顯示器上顯示 FAIL表示未能修改成 功,修改成功時調用顯示“ OK”子程序在顯示器上顯示 OK 表示修改密碼成功。輸入新密碼部分這部分程序和主程序里面的輸入密碼程序類似,都是一位一位 18 的輸入密碼并臨時存儲,輸入完后接到確認鍵命令時,把輸入的十位密碼存儲于固定密碼存儲區(qū)域(覆蓋舊密碼)。 修改密碼其實就是一個存儲的過程,此設計中修改密碼通過外中斷 1 來完成的。同時,在密碼輸入時有一個地址指針,指向輸入的密碼臨時要存儲的位置,因此要實現(xiàn)密碼刪除也很簡單,因為用外中斷 0 來實現(xiàn)密碼刪除,所以在外中斷 0 的中斷服務程序里面將待輸入密碼位數加 1,把存儲地址減一即下一次輸入時覆蓋即可。 在整個過程中外中斷 0 都是開放的,可以刪除一位密碼。如果檢查結果為不正確,則顯示 FAIL。主程序中首先向密碼存儲區(qū)( 30H39H)寫入初始密碼,本設計寫入的初始密碼是 0123456789, 然后不斷地調用鍵盤掃描程序,當檢查到有信號從鍵盤輸入時,再調用按鍵識別程序識別出輸入值并壓入堆棧,再調用鍵盤掃描程序檢查到按鍵松開再把輸入的值出棧,如果按下的鍵不是確認鍵并且輸入的密碼不超過十位就把此值存儲(臨時存儲區(qū)為 40H49H), 并調用顯示程序 顯示此值, 如果按下的鍵是確認鍵 ,那么看輸入的密碼是否已有十位,如果不夠十位就直接結束不輸出開鎖控制信號(開鎖控制信號低電平有效) 并調用顯示( FAIL)的子程序提示錯誤。下面 介紹下 這幾個部分 設計思路。 系統(tǒng)設計原理圖如圖 36. 15 圖 36 系統(tǒng)原理圖 16 第 4 章 系統(tǒng)軟件設計 主程序 本設計的軟件設計思路主要有這么幾個模塊:主程序模塊、鍵盤掃描模塊、按鍵識別模塊、刪除模塊和修改密碼模塊 以及顯示模塊 等。 基本操作時序: 讀狀態(tài) 輸入: RS=L, RW=H, E=H 輸出: DB0~ DB7=狀態(tài)字 寫指令 輸入: RS=L, RW=L, E=下降沿脈沖 , DB0~ DB7=指令碼 讀數據 輸入: RS=H, RW=H, E=H 輸出: DB0~ DB7=數據 寫數據 輸入: RS=H, RW=L, E=下降沿脈沖, DB0~ DB7=數據 硬件 設計原理圖 51 單片機是整個電路的核心部分,利用 51 單片機內部自帶振蕩器產生 12MHz 的時鐘信號作為賴以工作的時序;指示燈發(fā)光二極管和蜂鳴器是通過 CPU 輸出的電平信號來控制亮滅和是否發(fā)聲;密碼通過 4 4 鍵盤輸入,密碼存儲就是 地址位加 1,密碼位數減 1,當十位密碼全部輸入時密碼位數減為零,輸入完畢。當然寫入之前須設定地址。 BF=1表示忙, 暫時無法接收數據或指令 ; 當 BF=0時, 表示不忙。 DDRAM地址指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 DDRAM的地址 功能:設定 當前顯示緩沖區(qū) DDRAM的地址 ,對 DDRAM訪問時要先設定地址,地址范疇為 0127。設置字形大小 F=0 為 57 點陣 , F=1為 510 點陣 。 14 置 指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 DL N F * * 功能:設定數據位數 , DL=0數據為 4位 , DL=1數據總線為 8位 。當 S/C=1 時,整個顯示字幕移位 ,當 S/C=0 時只光標移位??刂谱址欠耖W爍,當 B=1時字符閃爍, B=0時字符不閃爍。 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 1 D C B 功能:控制顯示器開關 ,當 D=1時顯示, D=0時不顯示。當 I/D=1 時,光標從左向右移動; I/D=0,光標從右向左移動。保持 DDRAM內容不變。 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 1 0 功能:把光標撤回到顯示器的左上方 。 光標歸位,即將光標撤回液晶顯示屏的左上方 。但具體的寫入是要按 LCD模塊的指令格式來進行的, 下 面 會說到的。第二行也一樣用前 16個地址。 HD44780內置了 顯示緩沖區(qū) DDRAM、 字符發(fā)生存儲器 ROM和 用戶 自定義的字符發(fā)生器 CGRAM。 HD44100是作擴展顯示字符位的。 RT1602 控制器 采用的 HD44780,驅動器采用的 HD44100。 液晶 6端為使能信號,是操作時必需的信號 。 液晶 4端為向液晶控制器寫數據 /寫命令選擇端。 液晶 3端為液晶對比度調節(jié)端,通過一個 10K歐姆電位器接地來調節(jié)液晶顯示對比度。 1602液晶的引腳圖如圖 35所示。 1602液晶模塊內部的字符發(fā)生存儲器( ROM)已經存儲了 160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母 “A” 的代碼是 01000001B( 41H),顯示時模塊把地址 41H中的點陣字符圖形顯示出來,我們就能看到字母 “A” 。 下面簡單介紹下 RT1602的功能及使用方法。 需要注意的就是 P0 口需要外接上拉電阻。為了使用 Proteus 進 行仿真時方便,所以使用了按鍵復位方式,當然復位電路也可以設計成為上電復位方式,上電復位 方式的電路如圖 32中所示。 圖 34 開鎖指示電路 12 由于 P0口在用作通用 I/O接口輸出使用時需要外接上拉電阻才能使“ 1”信號正常輸出,所以圖 35中的電阻 R3和 R4為上拉電阻, U2: A和 U2: B是兩個非門, D3和 D4兩個二極管起單向導通作用, BUZ1是蜂鳴器, KP 為開鎖鍵。 發(fā)光二極管 D2并通過反相器(非門)接蜂鳴器,一般情況下, ,是常亮的,蜂鳴器也不會響,只有在改密碼錯誤時, 會被置為低電平,指示燈 D2 熄滅,并且蜂鳴器會鳴響,表示修改密碼不成功。電路中 有兩個指示燈通過 P0 口的 和 驅動 點亮 , , 口接開鎖鍵后接蜂鳴器并且通過反相器(非門) 發(fā)光二極管 D1,當密碼輸入正確時,會將 ,這樣按下開鎖鍵后 D1會 點亮,蜂鳴器不 會鳴響 ,表示密碼輸入正確,開鎖 ;如果密碼輸入錯誤, (繼續(xù)輸出高電平),這樣,按下開鎖鍵 后 D1不會點亮并且蜂鳴器會鳴響。 在本次設計中,著重于密 碼鎖的核心部分的設計,為了簡明的講清設計原理和方便仿真調試 ,暫時用發(fā)光二極管 和蜂鳴器來 代替 此部分電路 ,發(fā)光 二極 管亮 時蜂鳴器不會響 ,表示開鎖;滅,表示沒有開鎖 ,并且蜂鳴器鳴響 。其中 D C24是為了消除電磁鎖可能產生的反向高電壓以及 11 可能產生的電磁干擾。由 D R T10組成驅動電路,其中 T10可以選擇普通的小功率三極管如 901 9018都可以滿足要求。開鎖電路如圖 33所示。 圖 32 4 4 矩陣鍵盤 開鎖 電路 當密碼輸入后并經過與約定的密碼對比后,如果輸入的密碼正確,那么單片機將輸出開鎖信號給開鎖執(zhí)行機構,才能開鎖。 為求取鍵碼 , 在逐列
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1