0.png (73.01 KB, 下載次數(shù): 148)
下載附件
2017-2-10 22:12 上傳
存包系統(tǒng)完整設(shè)計(jì)資料下載:
密碼鎖資料.rar
(2.05 MB, 下載次數(shù): 688)
2017-2-10 16:19 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
-----以下是部分內(nèi)容預(yù)覽-------------------------------------
一、引言
課題設(shè)計(jì)的目的以及主要內(nèi)容社會(huì)在不斷發(fā)展、物質(zhì)生活水平在不斷的提高,人們對(duì)自己的生活水平也提出了更高的要求,尤其是在安全隱私方面。因此洗安全易用的密碼鎖又顯得極其重要,而且它已經(jīng)成為人們?nèi)粘I畹闹匾M成部分。 本系統(tǒng)設(shè)計(jì)了一款性價(jià)比較高的基于LCD1602和單片機(jī)為控制核心的電子密碼鎖系統(tǒng)。 本課題設(shè)計(jì)功能主要包括如下幾個(gè)方面: 1. 按下“存包”按鍵生成隨機(jī)的四位數(shù)密碼; 2. 按下“取包”按鍵后,進(jìn)行密碼輸入并自動(dòng)校驗(yàn); 3. 密碼校驗(yàn)時(shí)對(duì)錯(cuò)與否,通過(guò)不同的LED指示燈來(lái)指示; 4. LCD實(shí)時(shí)顯示相關(guān)信息; 5. 用protues仿真軟件實(shí)現(xiàn)上述功能。 二、系統(tǒng)硬件設(shè)計(jì)
2.1、系統(tǒng)硬件總體設(shè)計(jì) 為了達(dá)到系統(tǒng)要求,硬件應(yīng)該包括如下部分: 單片機(jī)最小系統(tǒng),最小系統(tǒng)主要包括時(shí)鐘電路和復(fù)位電路; LCD電路,為了能直觀的看到生成的密碼,以及用戶輸入的密碼,就需要一個(gè)顯示設(shè)備,而在單片機(jī)系統(tǒng)中,比較常見(jiàn)的顯示設(shè)備就是LED和LCD,相比較于LED來(lái)說(shuō),LCD顯示效果更加美觀,更加真實(shí); 按鍵電路,為了做到密碼的提取以及校驗(yàn),就需要有人機(jī)交互的操作,本設(shè)計(jì)采用了機(jī)械按鍵充當(dāng)此功能。 LED電路,本設(shè)計(jì)有紅綠兩個(gè)LED,當(dāng)密碼校驗(yàn)正確時(shí),綠燈亮;相反當(dāng)密碼校驗(yàn)錯(cuò)誤時(shí),紅燈亮。 繼電器電路,為了模擬鎖的開(kāi)和關(guān),用到了繼電器的開(kāi)關(guān)來(lái)模擬。 系統(tǒng)整體框圖如圖2-1所示
1.001.jpg (9.52 KB, 下載次數(shù): 104)
下載附件
2017-2-10 22:13 上傳
圖2-1 硬件總體框圖2.2 單片機(jī)型號(hào)的選擇本課題設(shè)計(jì)的電熱洗腳盆溫控系統(tǒng)主控制芯片選型為STC89C52單片機(jī),其特點(diǎn)如下: 1.STC89C52單片機(jī)簡(jiǎn)介目前,不管是在工業(yè),農(nóng)業(yè)還是消費(fèi)電子領(lǐng)域,51系列單片機(jī)的身影隨處可見(jiàn),例如,我們可以利用單片機(jī)來(lái)檢測(cè)溫濕度,來(lái)檢測(cè)空氣質(zhì)量,我們?nèi)粘J褂玫碾娮訒r(shí)鐘等等都能很方便的使用51單片機(jī)來(lái)實(shí)現(xiàn)。STC89C52單片機(jī)是深圳宏晶科技有限公司生產(chǎn)的一種單片機(jī),它是在一小塊很小的集成電路上集成了一個(gè)微型計(jì)算機(jī)。每一個(gè)單片機(jī)的組成都離不開(kāi)如下幾種組成成分: CPU:51系列單片機(jī)內(nèi)部集成的CPU都是8位的; IO口;數(shù)據(jù)輸入輸出的并行口,51單片機(jī)有32個(gè)IO口,分別是P0,P1,P2,P3,每種有8條數(shù)據(jù)線; ROM:片內(nèi)程序存儲(chǔ)器,它主要用來(lái)存儲(chǔ)程序的,一般大小為4K; RAM:片內(nèi)數(shù)據(jù)存儲(chǔ)器,它主要用來(lái)存儲(chǔ)臨時(shí)數(shù)據(jù),一般大小為512K; 中斷源;它主要用來(lái)引發(fā)中斷的,有5個(gè)中斷源; 定時(shí)器:它主要用來(lái)計(jì)數(shù)定時(shí)用,51單片機(jī)有2個(gè),分別是定時(shí)器0和定時(shí)器1; 2.STC89C52單片機(jī)時(shí)序 任何一個(gè)單片機(jī)的運(yùn)行都離不開(kāi)時(shí)鐘,時(shí)鐘就好比是人的心臟,只有心臟起搏,系統(tǒng)才能運(yùn)轉(zhuǎn),那么單片機(jī)的時(shí)鐘信號(hào)是由晶振產(chǎn)生的,而晶振又分為外部晶振和內(nèi)部晶振,一般來(lái)說(shuō),采用外部晶振的穩(wěn)定性要高很多,有了晶振,那個(gè)系統(tǒng)的各個(gè)部分就在這個(gè)晶振所產(chǎn)生的時(shí)鐘下有條不紊的按自己的節(jié)拍工作了。 51單片機(jī)的時(shí)序可以分成如下幾個(gè)名詞:節(jié)拍,震蕩周期,機(jī)器周期,他們的關(guān)系為,一個(gè)機(jī)器周期分為12個(gè)震蕩周期,而一個(gè)震蕩周期又分成6個(gè)節(jié)拍。 一個(gè)CPU的運(yùn)算分為算術(shù)運(yùn)算和邏輯運(yùn)算,以及運(yùn)算完成后數(shù)據(jù)的傳輸,比如從寄存器到寄存器的傳輸。那么大部分情況下,運(yùn)算操作發(fā)送在P1器件,而傳輸操作發(fā)生在P2期間。并且對(duì)于不同類(lèi)型的指令,其時(shí)序也是不一樣的,大致分為如下: 對(duì)于單周期指令,當(dāng)指令操作碼讀人指令寄存器時(shí),使從S1P2開(kāi)始執(zhí)行指令。如果是雙字節(jié)指令,則在同一機(jī)器周期的s4讀入第二字節(jié)。 3.STC89C52單片機(jī)引腳介紹STC89C52單片機(jī)總共有40個(gè)引腳,其中有32個(gè)IO口,分別是P0(8個(gè)),P1(8個(gè)),P2(8個(gè))和P3(8個(gè)),還有8個(gè)專(zhuān)用引腳,現(xiàn)在將他們分成四個(gè)大部分分別介紹如下: (1)電源引腳Vcc和Vss Vcc(40腳):接+5V電源正端; Vss(20腳):接+5V電源正端。 XTAL1是單片機(jī)的第19腳,XTAL2是單片機(jī)的第18腳,這兩個(gè)引腳就是用來(lái)接晶體振蕩器的,當(dāng)我們不用外部晶體振蕩器,只是使用內(nèi)部振蕩器的話,這兩個(gè)管腳就懸空;當(dāng)我們接外部晶體振蕩器時(shí),它又有兩種接法,最常用的接法就是這兩個(gè)腳分別接上晶體振蕩器的兩個(gè)腳(沒(méi)有極性之分),然后分別并聯(lián)一個(gè)電容到地(電容的大小根據(jù)晶振大小來(lái)定);另外一種接法就是,XTAL1接晶體振蕩器的一個(gè)引腳,晶振的另外一個(gè)接地,而XTAL2就懸空或接地。 單片機(jī)總共有四種狀態(tài)的控制信號(hào)引腳,它們分別是 RST,EA,PSEN以及ALE。 (a).RST/VPD:該引腳是單片機(jī)的第九腳,從名稱(chēng)就可以看出來(lái)它具有兩個(gè)功能,第一個(gè)就是復(fù)位功能(RST即為RESET的意思,復(fù)位),當(dāng)單片機(jī)上電后,晶體振蕩器開(kāi)始工作之時(shí),如果該引腳是出現(xiàn)連續(xù)兩個(gè)震蕩周期的高電平,就能正常的復(fù)位,也就是單片機(jī)進(jìn)入工作狀態(tài),否則,復(fù)位不成功,單片機(jī)可能無(wú)法工作;第二個(gè)功能就是掉電保護(hù)功能,它可以接上備用電源以防止VCC發(fā)生故障。 (b).ALE/ P :該引腳是單片機(jī)的第三十腳,當(dāng)內(nèi)部程序空間不夠用,需要外接外部程序存儲(chǔ)器時(shí),該引腳便派上了用場(chǎng),不接時(shí)該引腳恒定的接高電平,接外部的時(shí)候,該引腳接低電平。 (c).PSEN:該引腳是單片機(jī)的第二十九腳,當(dāng)接了外部程序存儲(chǔ)器的時(shí)候,該引腳就是用來(lái)決定是否開(kāi)始讀取外部存儲(chǔ)器的,當(dāng)該引腳為低電平時(shí),單片機(jī)就可以讀取外部存儲(chǔ)器,相反,當(dāng)它是高電平的時(shí)候,就禁止讀取。同時(shí),此引腳對(duì)于外部數(shù)據(jù)存儲(chǔ)器的讀寫(xiě)不起作用。 (d).EA/Vpp:該引腳是單片機(jī)的第三十一腳,當(dāng)內(nèi)部程序空間不夠用,需要外接外部程序存儲(chǔ)器時(shí),該引腳便派上了用場(chǎng),不接時(shí)該引腳恒定的接高電平,接外部的時(shí)候,該引腳接低電平。 (4)IO口P0、P1、P2及P3 (a).P0口:該組引腳有8跟數(shù)據(jù)線,分別是P0.0到P0.7,位于單片機(jī)的第三十九腳到第二十二腳。該引腳主要有三個(gè)功能,正常情況下,他作為普通的IO口,數(shù)據(jù)的輸入跟輸出;當(dāng)接了外部存儲(chǔ)器的時(shí)候,它作為地址總線的高8位;同時(shí),如果單片機(jī)內(nèi)部有EEPROM,對(duì)該EEPROM讀寫(xiě)操作的時(shí)候,也要從P0口輸入或輸出指令。 (b).P1口:該組引腳有8跟數(shù)據(jù)線,分別是P1.0到P1.7,位于單片機(jī)的第一腳到第八腳。該引腳主要有兩個(gè)功能,正常情況下,他作為普通的IO口,數(shù)據(jù)的輸入跟輸出;另外,對(duì)于本設(shè)計(jì)使用的STC89C52單片機(jī)來(lái)說(shuō),P1.0和P1.1還有另外的功能:作為兩個(gè)計(jì)數(shù)脈沖輸入端,可以統(tǒng)計(jì)脈沖的個(gè)數(shù),此舉很多應(yīng)用在測(cè)試頻率、速度的場(chǎng)合。 (c).P2口:該組引腳有8跟數(shù)據(jù)線,分別是P2.0到P2.7,位于單片機(jī)的第二十一腳到第二十八腳。該引腳主要有兩個(gè)功能,正常情況下,他作為普通的IO口,數(shù)據(jù)的輸入跟輸出;當(dāng)接有外部程序存儲(chǔ)器時(shí),P2口用于地址總線的高8位。 (d).P3口(10腳~17腳):該組引腳有8跟數(shù)據(jù)線,分別是P2.0到P2.7,位于單片機(jī)的第十腳到第十七腳。該引腳主要有兩個(gè)功能,正常情況下,他作為普通的IO口,數(shù)據(jù)的輸入跟輸出;同時(shí)它的每個(gè)口都有第二功能。P3口的第2功能見(jiàn)下表 表1 單片機(jī)P3.0管腳含義 | | | | | | | INT0(部中斷0請(qǐng)求輸入端,低電平有效) | | INT1(中斷1請(qǐng)求輸入端,低電平有效) | | T0(時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖端) | | T1(時(shí)器/計(jì)數(shù)器1數(shù)脈沖端) | | WR(部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端,低電平有效) | | RD(部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效) |
綜上所述,STC89C52單片機(jī)的引腳作用可歸納為以下兩點(diǎn): 1).可以用少數(shù)幾根數(shù)據(jù)線實(shí)現(xiàn)多樣化的功能; 2).IO口除了作為通用的數(shù)據(jù)輸入輸出外,還有地址總線和數(shù)據(jù)總線分時(shí)復(fù)用的功能。
2.3 單片機(jī)最小系統(tǒng)任何一個(gè)處理器,都有與之對(duì)應(yīng)的最小系統(tǒng),該系統(tǒng)能保證處理器啟動(dòng)起來(lái),并能夠連續(xù)不斷的正常運(yùn)轉(zhuǎn)下去,除此之外并沒(méi)有其他多余的功能,所以成為最小系統(tǒng),對(duì)51單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般包括:?jiǎn)纹瑱C(jī)、復(fù)位電路和晶振電路。最小系統(tǒng)如圖2-2所示。
1.003.jpg (25.22 KB, 下載次數(shù): 110)
下載附件
2017-2-10 22:13 上傳
1.004.jpg (27.69 KB, 下載次數(shù): 111)
下載附件
2017-2-10 22:13 上傳
圖2-2 單片機(jī)最小系統(tǒng) 電阻和電容組成的電路經(jīng)常用在單片機(jī)的復(fù)位電路中,它的工作過(guò)程如下,當(dāng)系統(tǒng)一上電時(shí),RST引腳瞬間將會(huì)出現(xiàn)高電平,同時(shí),電阻和電容之積(RC)決定了高電平的持續(xù)時(shí)間,51單片機(jī)對(duì)于此時(shí)間的要求是2個(gè)機(jī)器周期以上。所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位,一般來(lái)說(shuō),C 取10UF,R取10K,也可以去其他參數(shù)值,原則就是要讓RC組合可以在RST腳產(chǎn)生不少于2個(gè)機(jī)器周期的高電平,保證可靠的復(fù)位。 晶振電路中的晶振采用典型的11.0592M ,因?yàn)檫@個(gè)頻率的晶振可以產(chǎn)生更準(zhǔn)確的波特率,用于RS232通訊的場(chǎng)合,它經(jīng)過(guò)內(nèi)部12分頻后,產(chǎn)生11.0592/12M的機(jī)器頻率。同時(shí),為了保證晶振能夠穩(wěn)定可靠的起振,一般還需要在晶振兩端分別并接兩個(gè)電容,電容取值一般在10~47pf之間 另外注意,單片機(jī)的第31腳是用來(lái)決定上電時(shí)是從內(nèi)部ROM讀取數(shù)據(jù)還是從外部ROM讀取數(shù)據(jù),當(dāng)為高電平時(shí),表示從內(nèi)部ROM讀;當(dāng)為低電平時(shí),表示從外部ROM,本設(shè)計(jì)中,考慮到實(shí)際程序的大小不是特別大,無(wú)需外界ROM,所以就將該引腳接了高電平。 2.4 LCD選型隨著人機(jī)界面的越來(lái)越人性化,液晶屏應(yīng)運(yùn)而生,十九世紀(jì)八十年代,奧地利科學(xué)家賴倪次在一種植物身上提取出了看起來(lái)很奇怪的物質(zhì),它既不是液態(tài)的,也不是固態(tài)的,徘徊于兩者之間,但是他即具有固態(tài)的特征,也有液態(tài)的特征,所以,當(dāng)時(shí)的人們就把它叫做成液態(tài)的晶體,這就是當(dāng)今液晶的前身。 市面上的LCD顯示屏可謂是林林總總,大型的有拼接墻,數(shù)十寸的等等,從才子上來(lái)分,有TFT、LED等等,但對(duì)于單片機(jī)系統(tǒng)來(lái)說(shuō),常用的LCD有兩種:分別是1602和12864型號(hào)。 12864的意思就是該LCD的點(diǎn)陣是128行*64列,總共有8192個(gè)像素點(diǎn), 控制器AIP31020?娠@示漢字及圖形, 內(nèi)置8192 個(gè)中文漢字 (16X16 點(diǎn)陣)、 128 個(gè)字符 (8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM)?膳cCPU 直接接口,提供兩種界面來(lái)連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫(huà)面移位、睡眠模式等。其硬件結(jié)構(gòu)如圖2-3所示。
1.005.jpg (34.2 KB, 下載次數(shù): 110)
下載附件
2017-2-10 22:13 上傳
圖 2-3 12864內(nèi)部結(jié)構(gòu) 而1602的意思就是該LCD的點(diǎn)陣是16行*2列,總共有32個(gè)像素點(diǎn),1602LCD分為帶背光和不帶背光兩種,帶背光的用起來(lái)就比較方便,但缺點(diǎn)就是比較厚,而不帶背光的需要自己加一個(gè)背光片,不方便使用,但他比較輕薄。 1602LCD主要技術(shù)參數(shù): 顯示容量:16×2個(gè)字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H) 1602LCD的管腳也分為兩種標(biāo)準(zhǔn),對(duì)于沒(méi)有背光的是采用的14管腳,對(duì)于有背光的采用的16腳,各引腳接口說(shuō)明如表1所示 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,,當(dāng)該腳接5V時(shí),由于電壓差幾乎為0,所以對(duì)比度最弱,幾乎看不見(jiàn)顯示內(nèi)容,該腳接地時(shí),由于電壓差幾乎為最大,對(duì)比度最高,有可能會(huì)產(chǎn)生“鬼影”,因此為了是顯示有個(gè)舒適的感覺(jué),使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度,根據(jù)不同的外界光線靈活的調(diào)整亮度。 第4腳:RS為讀寫(xiě)內(nèi)容的選擇端,當(dāng)要往LCD發(fā)送數(shù)據(jù)的時(shí)候,該端就需要拉低;相反,當(dāng)要往LCD發(fā)送命令的時(shí)候,該端就需要置高。 第5腳:為讀寫(xiě)選擇端子,當(dāng)要往LCD寫(xiě)操作的時(shí)候,該端就需要拉低;相反,當(dāng)要從LCD讀操作的時(shí)候,該端就需要置高。并且他和RS共同組合可以產(chǎn)生不同的效果,具體見(jiàn)表2 表2 第6腳:E端是enable的簡(jiǎn)稱(chēng),也就是使能的意思,要使液晶模塊執(zhí)行讀寫(xiě)操作,需要使此引腳信號(hào)出現(xiàn)下降沿。 第7~14腳:D7到D0為總線,共八位,既可以作為數(shù)據(jù)線也可以作為地址線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。 由于本設(shè)計(jì)需要顯示的內(nèi)容不多,信息量不大,所以經(jīng)分析,1602已經(jīng)足夠了。 2.5 LCD電路設(shè)計(jì)LCD1602跟單片機(jī)相連的電路圖如圖2-4所示
1.006.jpg (18.36 KB, 下載次數(shù): 94)
下載附件
2017-2-10 22:13 上傳
圖2-4 LCD1602跟單片機(jī)連接圖 LCD的8個(gè)數(shù)據(jù)口跟單片機(jī)的P1的8個(gè)口相連,控制信號(hào)RS接P30,RW接P31以及E接P32。 2.6 LED提示電路本設(shè)計(jì) 用到了一個(gè)紅色LED和一個(gè)綠色LED來(lái)指示輸入密碼的正確與否。每個(gè)LED的正極通過(guò)一個(gè)限流電阻接到電源正極,然后負(fù)極分別接到P33和P34,當(dāng)IO口為高電平時(shí),燈熄滅,當(dāng)LED為低電平時(shí),燈亮起來(lái)。圖2-5是其連線圖。
1.007.jpg (12.85 KB, 下載次數(shù): 119)
下載附件
2017-2-10 22:13 上傳
圖2-5 LED提示燈電路 2.7 繼電器電路本設(shè)計(jì)用繼電器來(lái)模擬鎖的動(dòng)作,當(dāng)繼電器吸合表示開(kāi)始鎖關(guān)閉,當(dāng)繼電器斷開(kāi)表示斷開(kāi),繼電器的控制引腳接在單片機(jī)的P37口,高電平讓其吸合,低電平讓其斷開(kāi),圖2-6是其連接圖。
1.008.jpg (44.79 KB, 下載次數(shù): 116)
下載附件
2017-2-10 22:13 上傳
圖2-6 繼電器跟單片機(jī)連接圖 2.8 按鍵電路為了滿足輸入功能的需要,本設(shè)計(jì)采用了14個(gè)按鍵,如果全部接成獨(dú)立式按鍵,那么就需要14個(gè)IO口,資源占用過(guò)多,所以這里采用了矩陣式4*4規(guī)格的鍵盤(pán),多余兩個(gè)按鍵做備用。它總共占用8個(gè)IO口,分別接到了P0口上,由于P0口的特殊結(jié)構(gòu),必須接一個(gè)上拉電阻,才能輸出高電平。 鍵盤(pán)電路如圖2-7所示。
1.009.jpg (23.77 KB, 下載次數(shù): 100)
下載附件
2017-2-10 22:13 上傳
圖2-7 按鍵電路 其按鍵功能如下所示: 0-9的數(shù)字按鍵用來(lái)輸入密碼; “存包”按鍵 -- 按下此鍵生成四位隨機(jī)數(shù)密碼 “取包”按鍵 -- 按下此按鍵,提示輸入密碼 “清空”按鍵 -- 在輸入密碼過(guò)程中,按下此鍵清掉剛才輸入的數(shù)字 “確認(rèn)”按鍵 -- 密碼輸入完畢后,按下此鍵進(jìn)行密碼的校驗(yàn)。
三、系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的軟件主要是采用單片機(jī)特定的C語(yǔ)言--C51,對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)所有功能。主程序?qū)δK進(jìn)行初始化,而后調(diào)用按鍵掃描程序、顯示子程序、LED子程序以繼電器模塊程序。圖3-1是其主程序流程圖。
1.010.jpg (17.52 KB, 下載次數(shù): 108)
下載附件
2017-2-10 22:13 上傳
圖3-1 主流程圖 主程序里面首先對(duì)單片機(jī)的硬件資源進(jìn)行初始化,硬件資源的初始化包括: - IO口的初始化,本設(shè)計(jì)所采用的51單片機(jī)有32個(gè)IO口,并且單片機(jī)復(fù)位后,所有IO口被默認(rèn)賦值為高電平(1),這就給一些功能帶來(lái)了一些不必要的麻煩,所以就需要對(duì)某些上電需要置低電平的IO口置低電平(比如本設(shè)計(jì)中的LCD某些管腳);
- 定時(shí)器的初始化,定時(shí)器是單片機(jī)中的一個(gè)非常重要的資源,有了它,單片機(jī)就能“并行”的處理多個(gè)事情了,不然為了做到定時(shí),只能用死等來(lái)實(shí)現(xiàn),那樣會(huì)造成單片機(jī)資源大量的浪費(fèi),更嚴(yán)重的是,單片機(jī)運(yùn)行會(huì)相當(dāng)不流暢;
- 串口的初始化,串口的存在使得單片機(jī)跟外界的通訊帶來(lái)了很大的方便,因?yàn)樗裱瓨?biāo)準(zhǔn)的RS232協(xié)議,所以可以跟任何具有RS232接口的設(shè)備通信,
基本的資源初始化完畢后,程序然后進(jìn)入了一個(gè)while(1)死循環(huán),這樣保證了程序不斷的運(yùn)行,在該循環(huán)中,多個(gè)任務(wù)逐一按順序的執(zhí)行。 3.1 LCD子程序模塊LCD1602的讀時(shí)序如圖3-2所示。
1.011.jpg (17.75 KB, 下載次數(shù): 114)
下載附件
2017-2-10 22:13 上傳
圖3-2 LCD1602讀時(shí)序 LCD1602的寫(xiě)時(shí)序如圖3-3 所示。 圖3-3 LCD2602寫(xiě)時(shí)序 從時(shí)序圖可以看出,首先判斷RS和RW,從硬件那一章我們得知,RS代表了是指令的操作(高電平)還是數(shù)據(jù)的操作(低電平),而RW代表了是往LCD里面寫(xiě)數(shù)據(jù)(高電平)還是從LCD里面讀出數(shù)據(jù)(低電平),所以圖3-5就表示讀時(shí)序,而圖3-6就表示寫(xiě)時(shí)序。 然后再通過(guò)控制器把使能端拉低(通過(guò)上面一章,我們知道此管腳為高表示禁用該芯片,此管腳為低表示使能該芯片),拉低后需要延時(shí)一段時(shí)間,至于要不要 延時(shí),延時(shí)的時(shí)間多長(zhǎng),對(duì)于51單片機(jī)來(lái)說(shuō),其實(shí)關(guān)系都不大,不影響其使用。 以上兩步準(zhǔn)備操作完成后,就可以開(kāi)始讀和寫(xiě)了,也就是從這時(shí)候開(kāi)始數(shù)據(jù)或地址信號(hào)就被送上了數(shù)據(jù)總線,數(shù)據(jù)送完之后,然后又將使能端拉高(禁止芯片),當(dāng)然,這中間需要一個(gè)建立時(shí)間的延遲,改時(shí)間最短為40納秒。然后再將使能端拉低(啟用),就可以將剛才數(shù)據(jù)總線上的數(shù)據(jù)送入LCD了。 根據(jù)上面描述的時(shí)序,可以得出如圖3-4所示的流程圖
1.024.jpg (14.98 KB, 下載次數(shù): 104)
下載附件
2017-2-10 22:13 上傳
圖3-4 LCD1602流程圖 3.3 按鍵模塊流程圖16個(gè)按鍵接在了P0的8個(gè)口,其中P00-P03為四行,P04-P07為四列,本設(shè)計(jì)采用的是行掃描法,也就是說(shuō)每次給四行當(dāng)中的一行輸出低電平(其他三行為高電平),然后再讀取四列的值,如果發(fā)現(xiàn)四列全部為高電平,那么就表示沒(méi)有按鍵按下,如果有某一列為低電平,就表示有按鍵按下了。 其工作流程圖如3-5所示
1.025.jpg (7.72 KB, 下載次數(shù): 94)
下載附件
2017-2-10 22:13 上傳
圖3-5 按鍵流程圖 3.4 LED指示燈流程圖 在密碼校驗(yàn)過(guò)程中,如果密碼正確,就亮起綠燈,如果密碼校驗(yàn)錯(cuò)誤,就讓紅燈亮起。流程圖如3-6所示
圖3-6 LED指示燈流程圖 參考文獻(xiàn)
[1] 李廣弟,朱月秀,王秀山.《單片機(jī)基礎(chǔ)》北京航空航天大學(xué)出版社,2001(07). [2] 蔡美琴,張為民等.《MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用》高等教育出版社,2004(06). [3] 張毅剛,等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱工業(yè)大學(xué)出版社,1997. [4] 劉瑞星,胡健等.《Protel DXP 實(shí)用教程》機(jī)械工業(yè)出版社,2003(04). [5] 于海生. 《計(jì)算機(jī)控制技術(shù)》 機(jī)械工業(yè)出版社 2007(05). [6] 譚浩強(qiáng). 《C程序設(shè)計(jì)》 清華大學(xué)出版社. [7] 康華光. 《電子技術(shù)基礎(chǔ) 模擬部分》 高等教育出版社 1998(08). [8] 余錫存. 《單片機(jī)原理與接口技術(shù)》 西安電子科技大學(xué)出版社,2003. 致謝本論文是在我的指導(dǎo)老師密切關(guān)心和悉心指導(dǎo)下完成的。老師在課題開(kāi)題期間和論文寫(xiě)作的過(guò)程中給予了我許多指導(dǎo),導(dǎo)師總是以認(rèn)真負(fù)責(zé)、一絲不茍的工作態(tài)度閱讀并修改文章中不足的地方,他優(yōu)良的作風(fēng)和嚴(yán)謹(jǐn)治學(xué)的態(tài)度深深影響著我,至此,向恩師致以最真摯的感謝和最崇高的敬意! 同時(shí)我要感謝我的同學(xué),特別是我的室友們,正是他們?cè)谶@幾年里陪我一起成長(zhǎng),一起學(xué)習(xí),才讓我有了今天的成績(jī)。他們?cè)谄綍r(shí)的學(xué)習(xí)和生活中他們給予了我無(wú)私的關(guān)懷和幫助,在此表示我最誠(chéng)摯的謝意。 |