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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12527|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

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

存包柜硬件電路講解


一、硬件概況


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



二、最小系統(tǒng)

最小系統(tǒng)分成晶振電路和復(fù)位電路,晶振電路的作用就是給單片機(jī)提供工作的

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





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

的。 控制引腳有三根:


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

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

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



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

四、矩陣鍵盤

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

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

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

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

本設(shè)計中的矩陣鍵盤如下所示



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


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

五、繼電器電路 這里的繼電器用來模擬鎖的開關(guān),當(dāng)從軟件庫里面拿出來一個繼電器是,其默認(rèn)

開關(guān)電壓為 12V 的,為了兼容 51 單片機(jī)的控制,把它改成了 5V 的。

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

線圈導(dǎo)通,繼電器吸合。 六、LED電路

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


超市存包柜軟件程序講解


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

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



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



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

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



一、程序入口



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



二、Main 函數(shù)框架

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

整個軟件分成三個狀態(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)之間的切換關(guān)系如下圖所示


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

四、矩陣鍵盤的掃描

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



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

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


五、LCD1602 顯示程序

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

對于每個字符來說都有相應(yīng)的地址,第一行的 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)容參考程序。



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


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


二、操作步驟

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


2、回到仿真主界面,點(diǎn)擊開始按鈕,

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




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



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








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

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


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



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



超市存包柜設(shè)計的完整資料下載(含源碼 仿真 ppt教程 論文等等很全):
http://www.zg4o1577.cn/bbs/dpj-77166-1.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:150257 發(fā)表于 2017-2-22 18:38 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

板凳
ID:288178 發(fā)表于 2018-3-6 14:09 | 只看該作者
感謝樓主 謝謝樓主的分享!
回復(fù)

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久网| 99pao成人国产永久免费视频 | 日韩高清中文字幕 | 日韩一区在线观看视频 | 欧美日韩一区在线 | 久久久久久国产精品免费免费 | 国产精品123区 | 一二区成人影院电影网 | 久久久精品在线 | 狠狠干天天干 | 91高清视频在线 | 国产在线视频一区 | 久久久久久www | 国产成人精品综合 | 国产免费一区二区 | 欧美日韩国产精品一区二区 | 日韩久久综合 | www.久久| 天天爱av| 欧美二区在线 | 久久av一区二区 | 龙珠z在线观看 | 亚洲第一区久久 | 日韩中文一区二区三区 | 一区二区三区四区五区在线视频 | 欧美日韩视频网站 | 日韩在线中文 | 国产精品久久久久久影视 | 91高清视频 | 色综合视频 | 免费在线观看av片 | 日本一区二区高清视频 | 在线观看视频中文字幕 | 国产做爰 | 亚洲成人久久久 | 国产成人精品a视频一区www | 91精品在线观看入口 | 欧美一级二级三级视频 | 精品在线一区二区 | 国产真实精品久久二三区 | 成人免费大片黄在线播放 |