版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告 題 目院 系: 機(jī)電學(xué)院 學(xué)生姓名: 任 專 業(yè): 班 級(jí): 1 1 1 指導(dǎo)教師: 完成時(shí)間: 2014-10-17 目 錄1 系統(tǒng)總體方案設(shè)計(jì)12 硬件電路設(shè)計(jì).32.1 鍵盤電路設(shè)計(jì). 32.2 LCD1206顯示電路 42.3 響應(yīng)電路 53 軟件設(shè)計(jì)63.1軟件設(shè)計(jì)思路 .63.2 子程序 .74 系統(tǒng)調(diào)試 105 心得體會(huì) 116 參考文獻(xiàn) 12附 錄 13(1)源程序 .13(2)硬件原理圖 .16 摘要: 隨著人們對(duì)安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識(shí)別、IC卡辨認(rèn))已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對(duì)特定的指紋和有效卡,只能適用于保密
2、要求的箱、柜、門等。而且指紋識(shí)識(shí)別器若在公共場(chǎng)所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等特點(diǎn)。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場(chǎng)的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。 關(guān)鍵詞:44矩陣鍵盤;stm32;密碼鎖;LCD1602151 系統(tǒng)總體方案設(shè)計(jì)1.1 采用數(shù)字電路控制其原理方框圖如圖11所示。正確密碼修改電路執(zhí)行電路開鎖電路密碼校驗(yàn)電路鍵盤輸入圖1.1 數(shù)字密碼鎖電路方案密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測(cè)、開鎖電路、執(zhí)行電路、鍵盤輸入次數(shù)鎖定電路。1.2 采用一種是用以stm32為核心的控制方案利用其靈活的編程設(shè)計(jì)及
3、其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲(chǔ)、聲光提示甚至添加遙控控制功能。其原理如圖1.2所示。Stm32矩陣鍵盤控制輸入錯(cuò)誤鎖定鍵盤開鎖控制電路指示電路串口顯示電路圖1.2 stm32控制方案通過比較以上兩種方案stm32有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),所以我們采用后一種方案。初步設(shè)計(jì)思路如下:基于以上思路,本次設(shè)計(jì)使用stm32設(shè)計(jì),其主要具有如下功能: 密碼通過鍵盤輸入,若密碼正確,則將鎖打開。電子密碼鎖的設(shè)計(jì)主要由三部分組成:44 矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。密碼鎖設(shè)計(jì)的關(guān)
4、鍵問題是實(shí)現(xiàn)密碼的輸入、清除、更改、開鎖等功能: (1)密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)“”就顯示在最右邊的數(shù)碼管上,同時(shí)將先前輸入的所有“”向左移動(dòng)一位。 (2)密碼清除功能:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所有顯示。 (3)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對(duì),如果正確鎖打開,否則不打開。 輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵。LCD1602顯示輸入密碼。打開電源后,顯示器顯示“000000”,設(shè)原始密碼為“12345”,只要輸入此密碼便了開門。這樣可預(yù)防停電后再來電時(shí)無密碼可用。按“C”鍵,清除顯示器為“000000”。欲重新設(shè)定密碼,先輸入密碼在案“*”
5、。輸入密碼,再按“D”鍵。若密碼與設(shè)定密碼相同,則開門。否則顯示器清為“000000”。軟件的設(shè)計(jì)主要包括鍵盤鍵值的讀取,LCD顯示程序,密碼比較程序。2 硬件電路設(shè)計(jì)2.1 鍵盤電路設(shè)計(jì)使用矩陣鍵盤,所以本設(shè)計(jì)就采用行列式鍵盤。其原理如圖2.1圖2.1 矩陣鍵盤每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有NM個(gè)按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別哪一個(gè)按鍵按下。對(duì)鍵的識(shí)別通常有兩種方法:一種是
6、常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。具體的功能設(shè)計(jì)如表2.1:表2.1 按鍵功能按 鍵鍵 名功 能 說 明19鍵數(shù) 字 鍵輸 入 密 碼* 鍵重 設(shè) 密 碼 鍵設(shè) 定 新 密 碼D鍵確 定 鍵比 較 密 碼# 鍵清 除 鍵使 顯 示 器 清 零2.2 LCD1206顯示電路現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0D7和RS,R/W,EN三個(gè)控制端口,工作電壓為5V,并且具有字符對(duì)比度調(diào)節(jié)和背光功能。3.3.1 接口信號(hào)說明 1602型
7、LCD的接口信號(hào)說明如表3-3所示: 表3-3 1602型LCD的接口信號(hào)說明管腳功能1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第714腳:D0D7為8位
8、雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。指令集1602通過D0D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置: (初始化)0011 0000 0x38 設(shè)置162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置: (初始化)0000 1DCB D顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)0000 01NS N=1(讀或?qū)懸粋€(gè)字符后地址指針加1 &光標(biāo)加1),N=0(讀或?qū)懸粋€(gè)字符后地址指針減1 &光標(biāo)減1),S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移)s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為8
9、0H+地址碼(0-27H,40-67H)其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。VSS1VCC2VO3RS4RW5E6D07D18D29D310D411D512D613D714BZ15BF16LCD160211602GNDRWQ1VCCVCCRSGNDGNDGNDVCCC212JP222PINRWED0D1D2D3D4D5D6D7VCCVCCVOC3圖2.2 1602顯示電路2.3 響應(yīng)電路在本次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。電路圖如3.3所示。當(dāng)P2.0口輸出低電平時(shí),二極管發(fā)光,表
10、示開鎖。 圖2.3 響應(yīng)電路3 軟件設(shè)計(jì)3.1軟件設(shè)計(jì)思路電子密碼鎖工作的主要過程是LCD顯示器提示開始輸入密碼,通過鍵盤輸入密碼,同時(shí)LCD顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,作出開鎖處理。密碼的設(shè)定,假設(shè)預(yù)設(shè)的密碼為123456共6位密碼。由于采用兩個(gè)按鍵來完成密碼的輸入,那么其中一個(gè)按鍵為功能鍵,另一個(gè)按鍵為數(shù)字鍵。在輸入過程中,首先輸入密碼的長度,接著根據(jù)密碼的長度輸入密碼的位數(shù),直到所有長度的密碼都已經(jīng)輸入完畢;或者輸入確認(rèn)功能鍵之后,才能完成密碼的輸入過程。進(jìn)入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。主要的設(shè)計(jì)實(shí)施過程:首先,選購電子元器件。第二步,使用 DXP 設(shè)
11、計(jì)硬件電路原理圖,并設(shè)計(jì) PCB圖完成人工布線。第三步,使用 Keil uVision4 軟件編寫C 語言程序、仿真、軟件調(diào)試。第四步,使用 PROTEUS 軟件進(jìn)行模擬軟、硬件調(diào)試。最后,聯(lián)合軟、硬件調(diào)試電路板,完成本次畢業(yè)設(shè)計(jì)。 3.2 子程序設(shè)計(jì)(1)鍵盤掃描子程序如下:#ifndef _KEY_H #define _KEY_H #include stm32f10x.h void Delay(_IO uint32_t nCount); int key(void); #endif#include stm32f10x.h #include key.hvoid InitKey(void) GP
12、IO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO
13、_InitStructure.GPIO_Mode=GPIO_Mode_IPD; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_Init(GPIOA,&GPIO_InitStructure); int key(void) int KeyVal=0; /u16 WriteVal=0
14、; GPIO_Write(GPIOA,(GPIOA-ODR&0xfff0|0xf); if(GPIOA-IDR&0x00f0)=0x0000) return -1; else Delay(0xfffff); if(GPIOA-IDR & 0x00f0)=0x0000) return -1; GPIO_Write(GPIOA,(GPIOA-ODR&0xfff0|0x1); switch(GPIOA-IDR & 0x00f0) case 0x0010: KeyVal=15; break; case 0x0020: KeyVal=11; break; case 0x0040: KeyVal=7; b
15、reak; case 0x0080: KeyVal=3; break; GPIO_Write(GPIOA,(GPIOA-ODR&0xfff0|0x2); switch(GPIOA-IDR & 0x00f0) case 0x0010: KeyVal=14; break; case 0x0020: KeyVal=10; break; case 0x0040: KeyVal=6; break; case 0x0080: KeyVal=2; break; GPIO_Write(GPIOA,(GPIOA-ODR&0xfff0|0x4); switch(GPIOA-IDR & 0x00f0) case 0
16、x0010: KeyVal=13; break; case 0x0020: KeyVal=9; break; case 0x0040: KeyVal=5; break; case 0x0080: KeyVal=1; break; GPIO_Write(GPIOA,(GPIOA-ODR&0xfff0|0x8); switch(GPIOA-IDR&0x00f0) case 0x0010: KeyVal=12; break; case 0x0020: KeyVal=8; break; case 0x0040: KeyVal=4; break; case 0x0080: KeyVal=0; break
17、; return KeyVal; void Delay(_IO uint32_t nCount) /簡(jiǎn)單的延時(shí)函數(shù)for(; nCount != 0; nCount-);(2)密碼比較密碼比較流程圖如4.2.3開始清除顯示比較第一位比較下一位6位比較?完?正確開鎖清零圖3.1 密碼比較和報(bào)警流程4 系統(tǒng)調(diào)試本次調(diào)試采用Protues軟件仿真。首先設(shè)計(jì)電子密碼鎖的源程序,源程序經(jīng)過匯編后,生成的目標(biāo)文件經(jīng)過仿真調(diào)試。依次按下1,2,3,4,5,6后,LCD顯示如圖4.1圖5.1 LCD顯示按下確定鍵后,二極管亮,表示密碼正確開門。如圖4.2圖5.2 密碼正確開門5 心得體會(huì)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合
18、運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,ARM已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握ARM的開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜蜛RM課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論
19、知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)匯編語言掌握得不好,通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。對(duì)我而言,知識(shí)上的收獲重要,精神上的豐收更加可喜。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次實(shí)習(xí)必將成為我人生旅途上一個(gè)非常美好的回憶!6 參考文獻(xiàn)1. 李連華.基于FPGA的電子密碼鎖設(shè)計(jì)J.中國科技信息,2006 2. 許琦.基于FPGA的電
20、子密碼鎖的設(shè)計(jì)J.科技信息,2006 3. 閻石 數(shù)字電路技術(shù)基礎(chǔ)M.高等教育出版社,2005 4. 童詩白 華成英 模擬電子技術(shù)基礎(chǔ)M.高等教育出版社,20065. 韓國棟 趙月飛 電路設(shè)計(jì)入門與提高 化學(xué)工業(yè)出版社,2009附 錄1.源程序#include stm32f10x.h#include LCD_gpio.h #includelcd1602.h#include key.h void gaimima(void);void delay_ms(unsigned int q);#define uchar unsigned charuchar nm05;uchar nm15;uchar Q=
21、0,W=1,R=2,Y=3,P=4;uchar A,B,C,D,G,l;uchar jz,k=0; /鍵值int main(void) key(); L1602_string(1,1,Please input the password); L1602_string(2,1,); while(1) jz=key(); if(jz!=0) k+; if(k5)k=0; else switch(k)case1:A=jz;nm00=jz;L1602_string(2,1,A);L1602_string(2,1,*);break;case2:B=jz;nm01=jz;L1602_string(2,1,A
22、B);L1602_string(2,1,*); break;case3:C=jz;nm02=jz;L1602_string(2,1,ABC);L1602_string(2,1,*); break;case4:D=jz;nm03=jz;L1602_string(2,1,ABCD);L1602_string(2,1,*); break;case5:G=jz;nm04=jz;L1602_string(2,1,ABCDG);L1602_string(2,1,*); break; for(l=1;l0;o-) for(f=255;f0;f-);void gaimima(void) uchar j=0; jz=key(); if(jz=15) delay_ms(6000); if(jz0&jz5)j=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025新裝修工廠開荒保潔合同
- 二手房屋買賣合同范本
- 優(yōu)惠價(jià)房買賣合同
- 審計(jì)采購合同范例
- 小龍坎租房合同范例
- 公路加寬合同范例
- ktv酒吧合伙合同范例
- 公司做飯阿姨勞務(wù)合同范例
- 手套噸貨合同范例
- 施工電梯司機(jī)合同范例
- GB/T 5534-2024動(dòng)植物油脂皂化值的測(cè)定
- 幼兒園手足口病教師培訓(xùn)
- 超市安保人員工作管理制度
- 2024時(shí)事政治考試100題及參考答案
- 2024屆消防安全知識(shí)競(jìng)賽題庫及答案(80題)
- 2024年職業(yè)健康素養(yǎng)考試題庫及答案
- 2024年山東省青島市中考地理試題卷(含答案及解析)
- 2024秋期國家開放大學(xué)本科《納稅籌劃》一平臺(tái)在線形考(形考任務(wù)一至五)試題及答案
- 《技術(shù)規(guī)程》范本
- 重點(diǎn)語法清單2024-2025學(xué)年人教版英語八年級(jí)上冊(cè)
- 紅色簡(jiǎn)約中國英雄人物李大釗課件
評(píng)論
0/150
提交評(píng)論