![PIC單片機課設(shè)報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/41a6ec7a-7bba-4ca6-8999-81cf6bcea705/41a6ec7a-7bba-4ca6-8999-81cf6bcea7051.gif)
![PIC單片機課設(shè)報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/41a6ec7a-7bba-4ca6-8999-81cf6bcea705/41a6ec7a-7bba-4ca6-8999-81cf6bcea7052.gif)
![PIC單片機課設(shè)報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/41a6ec7a-7bba-4ca6-8999-81cf6bcea705/41a6ec7a-7bba-4ca6-8999-81cf6bcea7053.gif)
![PIC單片機課設(shè)報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/41a6ec7a-7bba-4ca6-8999-81cf6bcea705/41a6ec7a-7bba-4ca6-8999-81cf6bcea7054.gif)
![PIC單片機課設(shè)報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/41a6ec7a-7bba-4ca6-8999-81cf6bcea705/41a6ec7a-7bba-4ca6-8999-81cf6bcea7055.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精品一、目的2二、描述和要求2三、硬件選擇2四、硬件電路圖5五、程序設(shè)計5六、總結(jié)7七、參考書目8附錄:程序代碼9一、目的隨著社會物質(zhì)財富的日益增長和人們生活水平的提高,安全成為現(xiàn)代居民最關(guān)心的問題之一。而創(chuàng)自古以來就是把守門戶的鐵將軍,人們對它要求甚高。即要安全可靠地防盜,又要使用方便,這也是制鎖者長期以來研制的主題。傳統(tǒng)的門既要備有大量的鑰匙。又要擔心鑰匙丟失后的麻煩。另外,如:賓館、辦公大樓、倉庫、保險柜等由于人員的變動,開鎖的鑰匙也不再是只有一人擁有。購得新居的家庭。由于裝修施工等人住時也要把原有的鎖膽更換,況且鑰匙隨身攜帶也諸多不便。隨著單片機的問世,出現(xiàn)了帶微處理器的電子密碼鎖,它
2、的出現(xiàn)解決了傳統(tǒng)鎖的許多缺點,使密碼鎖具有很高的安全性、可靠性。目前已經(jīng)大量地應(yīng)用于日常生活之中。希望通過本課設(shè)完成具有一定實用性的電子密碼鎖,從而培養(yǎng)對單感謝下載載片機學習的興趣,鞏固PIC單片機的知識內(nèi)容,提高實踐動手能力。二、描述和要求1 、密碼正確則電機轉(zhuǎn)動。2 、密碼錯誤則需重新輸入,若連續(xù)三次輸入錯誤則報警聲響起,鍵盤被鎖。3、按錯鍵時可按“刪除”鍵刪除輸入鍵值。4、按下一個鍵時響一聲,說明按鍵按下。三、硬件選擇1、單片機PIC16F887本系統(tǒng)設(shè)計的核心控制芯片為PIC16F887。它是一款采用納瓦技術(shù)的40引腳8位CMOS增強型閃存單片機。PIC16F887具有8K字程序存儲器
3、,368字節(jié)用戶可用數(shù)據(jù)存儲器和256字節(jié)EEPROM。具有36個I/0口,14個A/D通道,1個CCP,1個增強型CCP,1個增強型通用同步/異步收發(fā)器,1個主控同步串行端口,2個比較器,2個8位計數(shù)器/定時器,1個16位計數(shù)器/定時器。PIC16F887引腳圖如下:引腳國PIC16FB84/a&7(4口引腳PCJIP)40引腳PDIPL L廠匚匚匚匚匚匚L匚匚匚匚廠匚匚匚匚LO9HU 7 65 4 321090 785432 43 3 333333322 2222224 RB7/ CSPDAT* RBS.' CSPCLK* Rm5,ANl3,TlG4 RB4.AN11a R
4、B3;4M9,PGM.C_2IN2-* RS2/AN8-RB1/AN10/C12IW3-* RB0AN12/INT-VDD VsS* RD7.P1D4 RD6,P1C-RDS.PtB,RD4,RCZ.RX.'DT4 RC6 TX/CK* RC5-SDO=RC4,SDI/SDA R034 RD2REBJMCLR/1VP*RACAHO/ULPWUZCI21KO-<RA1/AN1/C1?IN1-rVk2.VREF-,'CVREFC2IN+*F5A3/AN3/Vfjef+/C1IN+*RA4T(CKJ/C1OUT'*RA5/AN4fSS,C2OUTRE0/AN5RE1/A
5、N6-RE2/AN7.*Vtiti-Vsa.KA7/CSC1/CLKRA6/OSC2CLKOUTRCJTTQSQT1GKI-RC1/T1QSKCCP2-RC2/P1A/CCP1-0RCSCK/SCLTRDO.RD1r本系統(tǒng)用到的引腳主要有:引腳1:RE3/MCLR/Vpp,系統(tǒng)復(fù)位端。接操作按鍵K1。弓I腳11、32:Vdd,系統(tǒng)電源端。弓I腳12、31:Vss,系統(tǒng)接地端。弓唧13、14:RA7/OSC1/CLKIN、RA6/OSC2/CLKOUT,接4MHz的晶振,為系統(tǒng)的時鐘源。弓I腳33:RB0/AN12/INT,為外部中斷輸入端。接操作按鍵K2。引腳34:RB1/AN10/C12IN
6、3,設(shè)為輸入口,接操作按鍵K3。弓I腳35:RB2/AN8,設(shè)為輸入口,接操作按鍵K4。弓I腳1923:RD0RD3,設(shè)為輸出口,接LCD1602的數(shù)據(jù)輸入端高四位。引腳27:RD4,設(shè)為輸出口,接LCD1602的RS數(shù)據(jù)/命令選擇端。引腳28:RD5/P1B,設(shè)為輸出口,接LCD1602的RW讀寫選擇端。引腳29:RD6/P1C,設(shè)為輸出口,接LCD1602的E使能端引腳16:RC1/T1OSI/CCP2,設(shè)為輸出口,接微型直流電機。引腳17:RC2/P1A/CCP1,設(shè)為輸出口,接蜂鳴器。2、 點陣型LCDYB1602AVCP3BVCC LCD2VRin iokLKRS LCDRW LCD
7、E LCDRS_r芍DBOft/WIJB1EDB2VODB3 mwtVLLISV TJJXDR5GND】做JgDB6V T.ED-DB7U19YB1602A_7 a io-i1416XZ字符型LCDE)B4 LCDDB5 LCDDB7 LCDLEO IO皆光控制P22I/T5 卜則3函SEasSI£LCDId RS LCD15 RW LCD -14 E LCD " 13 DB4 LCb12 DH5 T封 1】DR6 T£D“10 DB7 LCD3 】jCD采用4位數(shù)據(jù)線接線方式,是為節(jié)省單片機的I/O口用到的引腳有:引腳1:GND,接地弓I腳2;VCCB,電源正極
8、引腳3:VO,液晶顯示偏壓信號口引腳4:RS,命令/數(shù)據(jù)選擇,接單片機RD4口引腳5:R/W,讀/寫選擇,接單片機RD5口引腳6:E,數(shù)據(jù)使能,接單片機RD6口弓唧1114:DB4DB7,數(shù)據(jù)輸入口,接單片機RD0RD3口3、 4x4按鍵4行(RB0RB3)作為輸入狀態(tài),低4位有弱上拉使能并允許電平變化中4歹(RB4RB7)作為輸入狀態(tài),輸出低電平4、 微型直流電機(5V供電)5、 蜂鳴器四、硬件電路圖', r 1 r" I" 1 " " p , « a r < r i0 r r r Jq -* - - - * JnakcLTA-
9、r r照bTlCB尸 lOKl修-ig,-8fF-AQ'ANES U L®W.U« 1ZHD-Hr in-iriRnp7 tCFIArt'CPI-TT"二MIWI1Q121N1-即出用11£ u HfekiV Hl:fcPn> > > 師Z4iHOUT- . - .但判i«wcxtrr RftSOSCSCLKOlJTR用 gC1 代 IK,R.»QEl審T- nan -QiTTrpnrAM iwirrPH7|jRBi/AN-iyC:r7li|"¥-口門h itJyftiia“鼻 H
10、DfTPIB-27-irt*RSj'.hN'Ei Pi3JK1ZNZKUHHJI11ROCVM ,疥R5RBT/KBf D"lUtfFIU. l.bWlfr工 uRgISAIf l.EYAIGZEm”PC-GF7-0時r .五、程序設(shè)計1.模塊介紹該電子密碼鎖系統(tǒng)的軟件設(shè)計分為以下幾個模塊:(1)主程序模塊主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵按下、以及調(diào)用顯示等等。主程序的流程圖如下所示。(2)鍵盤掃描及識別子程序鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。(3)顯小子程
11、序n);LCD初始化設(shè)定寫入指令數(shù)據(jù)到LCD4個顯示子程序,分別是:voidlcdcsh(void)voidxie_ml(unsignedcharml)寫入字符顯示數(shù)據(jù)到LCDvoidxie_sj(unsignedcharsj)寫入字符串到LCDvoidxie_zfc(unsignedchar*pp,unsignedintLCD 字符清除子程序voidqingchu(void)/(4)密碼比較子程序輸入密碼與正確密碼的比較intbijiao(void);(5)聲響子程序通過改變蜂鳴器接口電平高低發(fā)聲,包括2個聲響子程序警報聲voidjingbao(void);按鍵聲voidanjianshen
12、g(void);(6)延時子程序通過軟件程序進行延時voiddelay(unsignedint);2、程序流程圖:3、程序代碼:詳見附錄六、總結(jié)1、LCDYB1602A的編程,主要要點為:(1)數(shù)據(jù)使能端E的控制,高電平變?yōu)榈碗娖綍r寫入;(2)4位數(shù)據(jù)線的寫入方式,要分別將高4位和低4位寫入;(3)體現(xiàn)刪除效果時,可在原數(shù)據(jù)位寫入“空格”。2、鍵盤掃描及識別子程序的編程,主要要點為:(1)將RB低4位設(shè)置為輸入狀態(tài),注意弱上拉和電平變化中斷設(shè)置。(2)將RB高4位設(shè)置為輸出狀態(tài),通過判斷按下鍵時的PORTB值判斷鍵值(3)要有防抖動措施,防止按鍵錯誤。3、其他程序要點:(1)注意switch語
13、句的運用,包括break別漏。(2)標志位的設(shè)置有助于程序的判斷。(3)字符串的運用中用for語句進行各位的比較和寫入。(4)延時子程序的多處運用,如防抖、顯示等。經(jīng)過將近三周的PIC單片機課程設(shè)計,終于完成了我的電子密碼鎖的設(shè)計,雖然功能不算強大,譬如說無法從硬件上修改密碼,電路的密碼不能遺忘,一旦遺忘,就很難打開,這可以通過增加電路解決,但過于復(fù)雜,本次設(shè)計未其中;雖然如此但從心底里說,還是高興的,畢竟這次設(shè)計把實物都做了出來。通過這三周的學習,我感覺有很大的收獲:首先,通過學習使自己對課本上的知識可以應(yīng)用于實際,使的理論與實際相結(jié)合,加深自己對課本知識的更好理解,同時實習也段練了我個人的
14、動手能力:能夠充分利用網(wǎng)絡(luò)去查閱資料,增加了許多課本以外的知識。能對proteus、和mplab-ide等軟件操作,能達到學以致用。對我們學生來說,理論與實際同樣重要,這是我們以后在工作中說明自己能力的一個重要標準。在課設(shè)實踐過程中,我感受到了老師對學生的負責態(tài)度,無論是在課堂還是在網(wǎng)咯上老師都來給我們指導(dǎo),使我們少走彎路,順利完成課設(shè)任務(wù),感謝你們,老師!七、參考書目1 李榮正、劉啟中、陳學軍,PIC單片機原理及應(yīng)用,北京航空航天大學出版社,2006年10月2 江和、鮑光海,PIC單片機課程設(shè)計指導(dǎo)書,2010年6月3譚浩強.C程序設(shè)計(第二版),清華大學出版社,19994Microchip
15、TechnologyInc.PIC16F87XADataSheet.DS39582B,20035長沙太陽人電子有限公司.LCD1602使用說明書附錄:程序代碼#include<pic.h>_CONFIG(0x20f1);#defineRSRD4#defineRWRD5#defineERD6#defineLCDPORTDvoidlcdcsh(void);voidxie_sj(unsignedcharsj);voidxie_ml(unsignedcharml);voidxie_zfc(unsignedchar*pp,unsignedintn);voiddelay(unsignedint
16、);voidanjian(void);voidqingchu(void);voidjingbao(void);voidanjiansheng(void);intbijiao(void);unsignedchark,j=0,errorflag=0;charunsignedstr1="password:",str2="lock",password="123456",pw6;voidmain(void)TRISB=0x0F;/B口高4位設(shè)置為輸出,低4位設(shè)置為輸入TRISC=0x00;/C口設(shè)置為輸出TRISD=0X00;/C口設(shè)置為輸出P
17、ORTB=0X0F;/B口高4位設(shè)置為低電平,低4位設(shè)置為高電平PORTC=0x00;/C口設(shè)置為低電平WPUB=0x0F;/B口低4位設(shè)置為使能弱上拉IOCB=0x0F;/B口低4位設(shè)置為允許電平變化中斷ANSEL=0X00;/數(shù)字I/O設(shè)置ANSELH=0X00;OPTION=0X00;/選項寄存器設(shè)置xie_zfc(str1,9);/LCD寫入"password:"while(1)while(PORTB=0x0f)/等待鍵按下while(RBIF=0);delay(2);RBIF=0;/RB中斷標志位清零delay(2);anjiansheng();/按下一個鍵響一聲
18、anjian();/判斷哪個鍵按下switch(k)case'C':qingchu();j-;break;/清除LCD前一個字符case'E':if(bijiao()=0)/如果密碼比較錯誤errorflag+;/密碼錯誤標志位加1if(errorflag=3)/當密碼輸入錯誤三次xie_zfc(str2,4);/LCE寫入“l(fā)ock”jingbao();/警報聲響起TRISB=0X00;/B口設(shè)置為輸出,鍵盤被鎖else/當密碼輸入錯誤不足三次,允許再次輸入xie_zfc(str1,9);/LCD寫入"password:"j=0;else/
19、如果密碼比較正確PORTC=0x02;/RC2口輸出高電平,電機轉(zhuǎn)動errorflag=0;/密碼錯誤標志位清0;break;default:pwj=k;/按鍵值依次輸入字符串PW中j+;xie_sj('*');/每按一個鍵,LCE寫入一個“*”voidxie_ml(unsignedcharml)/寫入指令數(shù)據(jù)到LCDRW=0;/選擇寫入E=1;/數(shù)據(jù)使能:下降沿送入有效RS=0;/選擇命令delay(1);LCD=ml;/命令送入D口delay(1);E=0;/數(shù)據(jù)使能:寫入命令voidqingchu(void)/清除命令xie_ml(0x00);/寫入命令:完成一個字符碼傳
20、送后,光標左移,AC自動減1xie_ml(0x04);delay(2);xie_sj('');/在光標目前所在的位置寫入空格delay(2);xie_sj('');/在需刪除的字符位寫入空格xie_ml(0x01);/寫入命令:沒有讀寫顯示數(shù)據(jù)的情況下光標右移,AC自動加1xie_ml(0x04);xie_ml(0x00);/寫入命令:完成一個字符碼傳送后,光標左右移,AC自動加1xie_ml(0x06);voidxie_sj(unsignedcharsj)/寫入字符顯示數(shù)據(jù)到LCDcharsj_h,sj_l;sj_h=(sj&0xf0)>>
21、4;/獲得數(shù)據(jù)高4位寫入sj_h低4位sj_l=sj&0x0f;/獲得數(shù)據(jù)低4位寫入sj_l低4位E=1;NOP();/數(shù)據(jù)使能:下降沿送入有效RW=0;NOP();/選擇寫入RS=1;NOP();/選擇數(shù)據(jù)delay(1);LCD&=0xf0;/B口低4位清0,高4位保留LCD|=sj_h;/B口低4位為sj_h低4位值,高4位值不變E=0;/數(shù)據(jù)使能:寫入命令delay(1);E=1;/數(shù)據(jù)使能:下降沿送入有效LCD&=0xf0;/B口低4位清0,高4位保留LCD|=sj_l;/B口低4位為sj_l低4位值,高4位值不變delay(1);E=0;/數(shù)據(jù)使能:寫入命令
22、voidlcdcsh(void)/LCD初始化設(shè)定chari;delay(50);for(i=0;i<3;i+)/寫控制命令“0b0011”3次xie_ml(0x03);delay(10);xie_ml(0x02);/寫數(shù)據(jù)格式命令“0b0010”delay(5);xie_ml(0x02);/寫功能設(shè)置命令“0b00101000”,4位數(shù)據(jù)格式,2行,5*7點陣xie_ml(0x08);xie_ml(0x00);/寫顯示控制命令“0b00001111”,打開顯示,光標閃爍xie_ml(0x0f);xie_ml(0x00);/寫清除命令“0b00000001”xie_ml(0x01);de
23、lay(10);xie_ml(0x00);/寫模式命令“0b00000110”,每顯示一個字符后地址自動加1xie_ml(0x06);voidxie_zfc(unsignedchar*pp,unsignedintn)/寫入字符串inti;lcdcsh();/LCD初始化xie_ml(0x08);/光標移至LCD第一行第一位xie_ml(0x00);for(i=0;i<n;i+)/逐個寫入字符串xie_sj(ppi);xie_ml(0x0C);/光標移至LCD第二行第一位xie_ml(0x00);voidanjian(void)/判斷按鍵值unsignedinty;y=PORTB;swit
24、ch(y)case(0x0e):/如果B口值為0x0e,即RB0=0第一行按下TRISB=0xF0;/B口高4位設(shè)置為輸入,低4位設(shè)置為輸出PORTB=0XF0;/B口高4位設(shè)置為高電平,低4位設(shè)置為低電平WPUB=0xF0;/B口高4位設(shè)置為使能弱上拉IOCB=0xF0;/B口高4位設(shè)置為允許電平變化中斷if(RB4=0)k='0'/如果RB4口為低電平,則0鍵按下if(RB5=0)k='1'if(RB6=0)k='2'if(RB7=0)k='3'break;case(0x0d):TRISB=0xF0;PORTB=0XF0;WPUB=0xF0;精品IOCB=0xF0;if(RB4=0)k='4'if(RB5=0)k='5'if(RB6=0)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯人版道德與法治九年級上冊11.1《合同是當事人之間的法律》聽課評課記錄
- 滬教版數(shù)學九年級下冊27.1《圓的基本性質(zhì)》聽評課記錄
- 人教版地理七年級下冊第三節(jié)《撒哈拉以南的非洲》聽課評課記錄1
- 人教版七年級數(shù)學下冊 聽評課記錄5.1.3 第1課時《同位角、內(nèi)錯角、同旁內(nèi)角》
- 蘇科版數(shù)學七年級下冊聽評課記錄7.5多邊形的內(nèi)角和與外角和
- 聽評課記錄表8篇二年級
- 【部編版】道德與法治九年級下冊2.1《推動和平與發(fā)展》聽課評課記錄
- 湘教版數(shù)學七年級下冊《相交直線所成的角》聽評課記錄
- 生產(chǎn)計劃外包合同(2篇)
- 獨生子女合同
- 小學四年級語文閱讀理解專項訓(xùn)練
- 輔導(dǎo)班合伙人合同范本(2篇)
- 2021年嘉興市法院書記員招聘考試試題及答案解析
- 《念奴嬌赤壁懷古》名量教學實錄(特級教師程翔)
- 港股通知識點、港股通開通測評題及答案(全)
- 《直播電商平臺運營》-教案全套 第1-8章 直播電商電商營銷新風口-案例解析拆解典型直播成功秘訣
- 放射性肺炎診治
- 即興口語(姜燕)-課件-即興口語第七章PPT-中國傳媒大學
- 艾默生HipulseUPS操作手冊
- 愛心樹(繪本)
- NPI管理流程(精)
評論
0/150
提交評論