欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13157|回復: 2
收起左側

存包柜密碼鎖設計 硬件電路和程序講解及操作說明

[復制鏈接]
ID:161768 發(fā)表于 2017-2-11 00:15 | 顯示全部樓層 |閱讀模式
221232ip5ja51wc588rr8a.png
存包柜設計的完整資料下載(含源碼 仿真 ppt教程 論文等等很全):
http://m.raoushi.com/bbs/dpj-77166-1.html

存包柜硬件電路講解


一、硬件概況


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



二、最小系統(tǒng)
0.png
最小系統(tǒng)分成晶振電路和復位電路,晶振電路的作用就是給單片機提供工作的

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



1.003.jpg


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

0.png 的。 控制引腳有三根:


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

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

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



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

四、矩陣鍵盤

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

IO 口,每一行的所有按鍵共用一個 IO 口,每一列的所有按鍵也共用一個 IO 口。
0.png
如上圖所示,A,B 各表示一個 IO 口,當 A 口輸出為低電平的同時來檢測 B 的電

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

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


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


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

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

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

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

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

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


超市存包柜軟件程序講解


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

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


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


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

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



一、程序入口



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



1.002.jpg
二、Main 函數(shù)框架

0.png

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

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

字來表示:

初始化狀態(tài)              --- 0 密碼生成狀態(tài)              --- 1 密碼輸入狀態(tài)              --- 2

各個狀態(tài)之間的切換關系如下圖所示


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

1.006.jpg
四、矩陣鍵盤的掃描

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



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

四列,本設計采用的是行掃描法,也就是說每次給四行當中的一行輸出低電平(其 他三行為高電平),然后再讀取四列的值,如果發(fā)現(xiàn)四列全部為高電平,那么就 表示沒有按鍵按下,如果有某一列為低電平,就表示有按鍵按下了。 比如我讓四行當中的第一行(P00)為0,同時讀取四列,發(fā)現(xiàn)第一列(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


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

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


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

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



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


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


二、操作步驟

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


2、回到仿真主界面,點擊開始按鈕, 0.png    ,就會看到液 晶顯示    0.png           “welcome”




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



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


1.002.jpg



1.003.jpg



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

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


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



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


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

使用道具 舉報

ID:150257 發(fā)表于 2017-2-22 18:38 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

ID:288178 發(fā)表于 2018-3-6 14:09 | 顯示全部樓層
感謝樓主 謝謝樓主的分享!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表