久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 存包柜密碼鎖設計 硬件電路和程序講解及操作說明 [打印本頁]

作者: 51黑電子迷    時間: 2017-2-11 00:15
標題: 存包柜密碼鎖設計 硬件電路和程序講解及操作說明

存包柜設計的完整資料下載(含源碼 仿真 ppt教程 論文等等很全):
http://www.zg4o1577.cn/bbs/dpj-77166-1.html

存包柜硬件電路講解


一、硬件概況


總個硬件分成五大部分,分別是:
最小系統 液晶顯示 矩陣鍵盤 繼電器電路 LED 電路



二、最小系統

最小系統分成晶振電路和復位電路,晶振電路的作用就是給單片機提供工作的

時鐘頻率,相當于人體的心臟,沒有它就掛。 復位電路由一個電阻和一個電容構成,學過模電又聰明的的你應該懂得這叫阻容 復位電路,它的輸出加載在單片機的復位引腳就是給單片機一個上電的緩沖時 間,保證單片機正常工作。 但是,但是,但是(重要的事情說三遍),上述電路在仿真軟件里面是不起作用 的,也就是說你把他們統統刪掉,單片機照樣飛奔。并且,你看到那個晶振的頻 率為11.0592,其實那個也是虛的,真實的單片機晶振在這里(雙擊單片機本身)





三、液晶顯示
這里的顯示采用的是液晶顯示器 LCD1602,該顯示器有三類引腳,分別是 數 據引腳,控制引腳和電源引腳
其中的數據引腳有 8 根線,剛好傳送一個字節,該數據線是地址和數據共用

的。 控制引腳有三根:


RS -- 這個是用來選擇發送的是地址還是數據的,(因為 1602 的顯示是需要 先發送地址,告訴人家我要在哪個地方顯示,然后再發送數據,告訴人家我要在 這個地方顯示什么內容),所以如果發送地址的時候,RS 就要設為 0;發送數據 時,RS 就要設為 1.

RW -- 這個是用來進行讀寫控制的,如果要往 LCD 里面寫(就是讓它顯示),
RW 要設為 0

E -- 使能引腳 當該引腳為 1 時,表示 LCD 禁止被寫入,為 0 表示允許被寫 入;所以如果我們要往里面寫數據時,就需要拉低它,寫完后,再拉高。



本設計里面,8 位數據口接到了 P1 口(P10-D0......P17-D7),RS 接 P30,RW
接 P31,E 接 P32.

四、矩陣鍵盤

由于該設計使用的按鍵較多,拍屁股一想,只能用矩陣鍵盤,節約 IO 口, 還顯得高大上。矩陣鍵盤最明顯的優勢就是占用的 IO口少,比如 16 個按鍵,要 接獨立按鍵就需要 16 個 IO 口,但是如果接成矩陣鍵盤就只需要 8 個 IO 口。現 在來看一下矩陣鍵盤的工作原理。在矩陣鍵盤里面,每一個按鍵的兩端各占一個

IO 口,每一行的所有按鍵共用一個 IO 口,每一列的所有按鍵也共用一個 IO 口。

如上圖所示,A,B 各表示一個 IO 口,當 A 口輸出為低電平的同時來檢測 B 的電

平,如果讀到 B 口為高電平,則表示該按鍵沒有按下,如果讀到 B 口為低電平, 則表示該按鍵被按下。

本設計中的矩陣鍵盤如下所示



包括 0-9 總共 10 個數字按鍵,以及 1 個“存包”,1 個“取包”,1 個“清空”
和 1 個“確認”按鍵,都接在 P0 口的 8 個引腳上。


另外,由于 P0 口的特殊結構,需要接上上拉電阻,否則,它無法輸出高電平。

五、繼電器電路 這里的繼電器用來模擬鎖的開關,當從軟件庫里面拿出來一個繼電器是,其默認

開關電壓為 12V 的,為了兼容 51 單片機的控制,把它改成了 5V 的。

在接線上,線圈的一段固定接地,另外一段接 IO 口(P37),當 P37 為高電平時,

線圈導通,繼電器吸合。 六、LED電路

LED 電路就很簡單了,不過這里面特別要說明的是,LED 的限流電阻大小不能 超過 1K,否則看不到 LED 被點亮,這里面選取的是100 歐姆。


超市存包柜軟件程序講解


如果你想看程序,請你務必安裝 KEIL4 軟件,這樣才能看的心 安理得,切忌懶惰!!!

1、雙擊【密碼鎖.uvproj】文件



就能自然打開如下界面(前提是你安裝了 KEIL4 軟件)



看左邊紅色方框里面的內容,可以知道這個程序分成了 3 個 c 文件(實際上還

是一 個整體)。 每個文件的功能大致如下: Main.c --- 主文件,調用其他文件中的函數 Key.c ---              按鍵文件,處理矩陣按鍵 Lcd1602.c --- 顯示器文件,處理液晶顯示



一、程序入口



看程序首先要找到入口,不然就是無頭蒼蠅,相信稍微有點基礎的人都知道程 序入口是 main 函數,該函數在 main.c 文件中,如下



二、Main 函數框架

對于 main 函數,其核心思想就是狀態機(就是把整個軟件分成多個狀態,在 不同的觸發條件下,切換到不同的狀態下運行)。

整個軟件分成三個狀態:初始化狀態,密碼生成狀態,密碼輸入狀態。 程序里面用一個變量 global_state 來存儲各種狀態,并且各個狀態的用如下數

字來表示:

初始化狀態              --- 0 密碼生成狀態              --- 1 密碼輸入狀態              --- 2

各個狀態之間的切換關系如下圖所示


三、密碼的生成
隨機密碼的生成是取自與定時器 0 寄存器 TL0

四、矩陣鍵盤的掃描

對于 4*4 的矩陣鍵盤來說,從邏輯上將其劃分成四行四列,然后采用行掃描 法(或列掃描法)來進行鍵值的采集。



如上圖所示,16 個按鍵接在了 P0 的 8個口,其中 P00-P03 為四行,P04-P07 為

四列,本設計采用的是行掃描法,也就是說每次給四行當中的一行輸出低電平(其 他三行為高電平),然后再讀取四列的值,如果發現四列全部為高電平,那么就 表示沒有按鍵按下,如果有某一列為低電平,就表示有按鍵按下了。 比如我讓四行當中的第一行(P00)為0,同時讀取四列,發現第一列(P04)為 低電平,那么就說明”1”按鍵被按下。


五、LCD1602 顯示程序

先來普及一下 1602 的基本知識,該液晶顯示 2 行,每行顯示 16 個字符,并 且它不能顯示中文。

對于每個字符來說都有相應的地址,第一行的 16 個字符的地址是 0x80-0x8f, 第二行的 16 個字符的地址是 0xc0-0xcf。如下表所示




0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
0x88
0x89
0x8a
0x8b
0x8c
0x8d
0x8e
0x8f
0xc0
0xc1
0xc2
0xc3
0xc4
0xc5
0xc6
0xc7
0xc8
0xc9
0xca
0xcb
0xcc
0xcd
0xce
0xcf


程序控制液晶,想讓液晶顯示字符時,需要分兩步,第一步就是給它輸入地

址(告訴它我要在哪里顯示),第二部給它輸入要顯示的字符(告訴它我要在這 里顯示什么東西)。并且要注意的是,顯示的內容是需要字符形式,比如要顯示 數字 1,就不能直接給 1,而是需要將整數 1 換算成字符的‘1’(1+0x30=’1’)才 能正確顯示。


現在我們想讓液晶在左上角顯示字母‘a’,從上表得知,左上角的地址為 0x80。 所以分如下兩步,就可以顯示

Wr_com(0x80);Wr_dat(‘a’); 上面的兩個函數是作者自己編的,具體內容參考程序。



超市存包柜密碼鎖操作說明


一、功能概述 該設計主要是實現利用密碼來開鎖的功能。系統主要設置了“存包”和“取包”的功
能,當存包時,系統會生成一個四位的隨機數密碼,供用戶記憶;然后取包時,用戶輸入剛 才的密碼,如果密碼正確就開鎖,如果錯誤就不開鎖,并做出警告提示。


二、操作步驟

1、雙擊運行【仿真文件/密碼鎖.DSN】,并往單片機里面添加程序【密碼鎖.hex】


2、回到仿真主界面,點擊開始按鈕,

   ,就會看到液 晶顯示              “welcome”




并且繼電器處于閉合狀態,表示門是關著的。



3、找到矩陣鍵盤中的“存包”按鍵,并按下此鍵,繼電器會斷開,表示開 門。然后液晶顯示“close door”,表示提示用戶存好東西后關門。








4、大約三秒后,系統自動關門,繼電器閉合,并且液晶顯示當前生成的四位隨機數密碼。
大約 3 秒后,系統回到最初的頁面。

5、找到“取包”按鍵,并按下它,LCD 就會提示輸入密碼


此時按下數字按鍵,輸入四位密碼,然后按下“確認”按鍵,如果輸入的密碼錯 誤,就會有紅色 LED 亮。并且繼電器保存關閉狀態。三秒后,紅燈熄滅,系統返 回主頁面。



如果輸入的密碼正確,就會有綠色 LED 亮。并且繼電器保存開啟狀態。三秒 后,綠燈燈熄滅,系統返回主頁面。
在輸入密碼過程中,可以按下“清除”按鍵來清掉剛剛輸入的密碼,而重新輸入。



超市存包柜設計的完整資料下載(含源碼 仿真 ppt教程 論文等等很全):
http://www.zg4o1577.cn/bbs/dpj-77166-1.html

作者: 虛榮心像惡鬼    時間: 2017-2-22 18:38
好資料,51黑有你更精彩!!!
作者: henryyu    時間: 2018-3-6 14:09
感謝樓主 謝謝樓主的分享!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产福利在线 | 国产精品免费看 | 日韩网站免费观看 | 国产一区二区不卡 | 欧美一区二区三区 | 亚洲伊人久久综合 | 国产一区二区三区www | 欧美日韩中文字幕在线 | 在线免费看91 | 日韩精品在线观看视频 | 黑人一级片视频 | 网址黄| 日本a在线| 在线中文视频 | 日韩成人影院在线观看 | 中文字幕二区三区 | 国产精品久久久久久久久久免费看 | 在线一区二区三区 | 久草欧美 | 天天干天天干 | 免费观看一级毛片 | 一区二区在线不卡 | 欧美成人精品在线观看 | www日本在线播放 | 二区国产| 欧美一区二区三区国产 | 国产区视频在线观看 | 精品日韩在线 | 欧美精品被 | 国产三区在线观看视频 | 91精品导航 | 欧美高清性xxxxhd | 91亚洲精选 | 日韩欧美精品在线播放 | 嫩草一区二区三区 | 欧美在线亚洲 | 日韩欧美国产一区二区 | 三级黄色网址 | 91热在线| 一级片在线视频 | 亚洲天堂色 |