單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告格式_第1頁(yè)
單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告格式_第2頁(yè)
單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告格式_第3頁(yè)
單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告格式_第4頁(yè)
單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告格式_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、西安航空職業(yè)技術(shù)學(xué)院課程設(shè)計(jì)/實(shí)訓(xùn)報(bào)告課程名稱: 小系統(tǒng)設(shè)計(jì) 所屬學(xué)院:電子工程學(xué)院指導(dǎo)教師:楊思俊學(xué)生姓名: 學(xué)號(hào): 專業(yè):11級(jí)應(yīng)用電子技術(shù)五年制西安航空職業(yè)技術(shù)學(xué)院制西安航空職業(yè)技術(shù)學(xué)院課程設(shè)計(jì)/實(shí)訓(xùn)任務(wù)書課程名稱: 單片機(jī)原理及應(yīng)用任務(wù)與要求: 1、完成布置的所有原理圖設(shè)計(jì); 2、完成程序編制及調(diào)試;3、完成實(shí)訓(xùn)報(bào)告書寫;時(shí)間: 2021 年12 月 8日 至 2021年 12 月 12 日 共 1周所屬學(xué)院: 電子工程學(xué)院學(xué)生姓名: 學(xué) 號(hào): 專業(yè): 11級(jí)應(yīng)用電子技術(shù)五年制指導(dǎo)教師: 楊思俊西安航空職業(yè)技術(shù)學(xué)院制目錄 TOC o 1-3 h z u HYPERLINK l _Toc

2、403765318 1 引言 PAGEREF _Toc403765318 h 3 HYPERLINK l _Toc403765319 2 硬件設(shè)計(jì) PAGEREF _Toc403765319 h 4 HYPERLINK l _Toc403765320 單片機(jī)局部 PAGEREF _Toc403765320 h 4 HYPERLINK l _Toc403765321 2.1.1 AT89S51功能介紹 PAGEREF _Toc403765321 h 4 HYPERLINK l _Toc403765322 2.1.2 AT89S51管腳功能說(shuō)明 PAGEREF _Toc403765322 h 4

3、HYPERLINK l _Toc403765324 振蕩器特性 PAGEREF _Toc403765324 h 6 HYPERLINK l _Toc403765325 2.1.4 AT 89S51相對(duì)于AT89C51增加的新功能 PAGEREF _Toc403765325 h 7 HYPERLINK l _Toc403765326 四乘四行列式鍵盤局部 PAGEREF _Toc403765326 h 7 HYPERLINK l _Toc403765327 七段數(shù)碼管顯示器局部 PAGEREF _Toc403765327 h 8 HYPERLINK l _Toc403765328 密碼存儲(chǔ)電路設(shè)

4、計(jì) PAGEREF _Toc403765328 h 9 HYPERLINK l _Toc403765329 系統(tǒng)硬件設(shè)計(jì)原理結(jié)構(gòu)框圖如圖2-7所示 PAGEREF _Toc403765329 h 9 HYPERLINK l _Toc403765330 系統(tǒng)板上硬件連線 PAGEREF _Toc403765330 h 10 HYPERLINK l _Toc403765331 電路原理圖 附錄A PAGEREF _Toc403765331 h 10 HYPERLINK l _Toc403765332 3 軟件設(shè)計(jì) PAGEREF _Toc403765332 h 11 HYPERLINK l _To

5、c403765333 鍵盤輸入局部 PAGEREF _Toc403765333 h 11 HYPERLINK l _Toc403765334 鍵盤程序設(shè)計(jì)內(nèi)容 PAGEREF _Toc403765334 h 11 HYPERLINK l _Toc403765335 鍵盤程序框圖附錄B PAGEREF _Toc403765335 h 11 HYPERLINK l _Toc403765336 鍵盤C語(yǔ)言源程序附錄C PAGEREF _Toc403765336 h 11 HYPERLINK l _Toc403765337 數(shù)碼管顯示局部 PAGEREF _Toc403765337 h 11 HYPE

6、RLINK l _Toc403765338 數(shù)碼管程序設(shè)計(jì)內(nèi)容 PAGEREF _Toc403765338 h 11 HYPERLINK l _Toc403765339 數(shù)碼管C語(yǔ)言源程序附錄C PAGEREF _Toc403765339 h 11 HYPERLINK l _Toc403765340 蜂鳴器聲音提示局部 PAGEREF _Toc403765340 h 11 HYPERLINK l _Toc403765341 蜂鳴器程序設(shè)計(jì)內(nèi)容 PAGEREF _Toc403765341 h 12 HYPERLINK l _Toc403765342 蜂鳴器C語(yǔ)言源程序附錄C PAGEREF _T

7、oc403765342 h 12 HYPERLINK l _Toc403765343 密碼修改與存儲(chǔ)局部 PAGEREF _Toc403765343 h 12 HYPERLINK l _Toc403765344 密碼修改與存儲(chǔ)程序設(shè)計(jì)內(nèi)容 PAGEREF _Toc403765344 h 12 HYPERLINK l _Toc403765345 密碼修改與存儲(chǔ)C語(yǔ)言源程序附錄C PAGEREF _Toc403765345 h 12 HYPERLINK l _Toc403765346 系統(tǒng)程序流程總框圖如圖3-1所示 PAGEREF _Toc403765346 h 12 HYPERLINK l _

8、Toc403765347 整個(gè)系統(tǒng)的C語(yǔ)言源程序附錄C PAGEREF _Toc403765347 h 12 HYPERLINK l _Toc403765348 4仿真設(shè)計(jì) PAGEREF _Toc403765348 h 13 HYPERLINK l _Toc403765349 41 Proteus仿真軟件 PAGEREF _Toc403765349 h 13 HYPERLINK l _Toc403765350 42 ProteusV71SP2的使用 PAGEREF _Toc403765350 h 13 HYPERLINK l _Toc403765351 43 進(jìn)行仿真設(shè)計(jì) PAGEREF _

9、Toc403765351 h 14 HYPERLINK l _Toc403765352 431設(shè)計(jì)仿真電路 PAGEREF _Toc403765352 h 14 HYPERLINK l _Toc403765353 432 軟件仿真設(shè)計(jì) PAGEREF _Toc403765353 h 15 HYPERLINK l _Toc403765354 結(jié)束語(yǔ) PAGEREF _Toc403765354 h 16 HYPERLINK l _Toc403765355 參考文獻(xiàn) PAGEREF _Toc403765355 h 17 HYPERLINK l _Toc403765356 附錄A 電路圖原理 PAGE

10、REF _Toc403765356 h 18 HYPERLINK l _Toc403765357 附錄B 鍵盤輸入程序框圖 PAGEREF _Toc403765357 h 19 HYPERLINK l _Toc403765358 附錄C 整個(gè)系統(tǒng)的C語(yǔ)言源程序主程序 PAGEREF _Toc403765358 h 201 引言隨著社會(huì)物質(zhì)財(cái)富的日益增長(zhǎng),如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,而鎖自古以來(lái)就是把守門戶的鐵將軍,人們對(duì)它要求甚高,即要平安可靠地防盜,又要使用方便。目前普遍使用的機(jī)械鎖結(jié)構(gòu)簡(jiǎn)單、使用方便、價(jià)格廉價(jià)。但在使用過(guò)程中暴露了很多缺點(diǎn):1.機(jī)械鎖是靠金屬制成的鑰匙上的不同

11、齒形與鎖芯的配合來(lái)工作的。所以很多鑰匙可以互開,保密性差,平安性低。2.鑰匙一旦喪失,無(wú)論誰(shuí)撿到都可以將鎖翻開。3.機(jī)械鎖的材料大多為黃銅,質(zhì)地較軟容易損壞。4.機(jī)械鎖鑰匙易于復(fù)制,不適于諸如賓館等公共場(chǎng)所使用。所以機(jī)械鎖已難以滿足當(dāng)前社鎖會(huì)和人們的要求。出于平安、方便的需要。隨著人們生活水平的提高,電子密碼防盜作為防盜衛(wèi)士的作用日趨重要。電子密碼鎖用密碼代替鑰匙,不但省去了佩戴鑰匙的煩惱,也從根本上解決了普通門鎖保密性差的缺點(diǎn)。如果采用6位密碼,那么密碼組合可到達(dá),每增加1位,密碼組合就增加10倍。從而提高了密碼鎖的平安系數(shù)。 密碼鎖被廣泛應(yīng)用保險(xiǎn)柜、保險(xiǎn)箱、文件柜、防磁防火柜、防盜門、銀庫(kù)

12、門、倉(cāng)庫(kù)門、車門、民用門等。目前市場(chǎng)上普遍所見的電子密碼鎖的密碼很容易被窺探和屢次試探,而喪失密碼,使密碼鎖失去其平安性。該電子密碼鎖利用單片機(jī)作為主控核心,單片機(jī)AT89S51所具有的特殊功能使得電子密碼鎖的保密性能大大加強(qiáng),這樣就可以有效的防止屢次試探密碼的可能性。隨著單片機(jī)和其它智能芯片的進(jìn)一步開發(fā)防盜鎖將實(shí)現(xiàn)智能化,這將是鎖的平安性能大大提高。本系統(tǒng)實(shí)現(xiàn)密碼一次輸入的提示功能,假設(shè)密碼輸入不正確將發(fā)出“嘀嘀的報(bào)警聲,引起他人警覺。同時(shí)可添加外圍設(shè)備實(shí)現(xiàn)遠(yuǎn)程報(bào)警如添加繼電器一類設(shè)備可以連接到主人的 上,是主人知道家里有人非法操作,及時(shí)報(bào)警。假設(shè)密碼輸入正確將發(fā)出“叮咚的門鈴聲。本系統(tǒng)使用

13、的單片機(jī)所具有強(qiáng)大的功能能夠?qū)崿F(xiàn)智能控制用來(lái)完成密碼的輸入、判斷和比擬從而執(zhí)行相應(yīng)的開鎖顯示或報(bào)警等功能。2 硬件設(shè)計(jì)本系統(tǒng)硬件設(shè)計(jì)由單片機(jī)AT89S51局部、44行列式鍵盤、四聯(lián)七段共陰數(shù)碼管、報(bào)警器、密碼存儲(chǔ)5個(gè)根本局部所組成。2.1單片機(jī)局部主控器件是單片機(jī),AT89S51是一個(gè)低功耗、高性能CMOS 8位單片機(jī),片內(nèi)含4k字節(jié)的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中。2.1.1 AT89S51功能介紹AT

14、89S51主要性能參數(shù):與MCS51產(chǎn)品指令系統(tǒng)完全兼容,4k字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲(chǔ)器,1000次檫寫周期,4.0-5.5V的工作電壓范圍,全靜態(tài)工作模式:0Hz33MHz,三級(jí)程序加密鎖,128k字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器RAM,32個(gè)可編程I/O口線,6個(gè)中斷源,全雙工串行UART通信,低功耗空閑和掉電模式,中斷可從空閑模式喚醒系統(tǒng),掉電標(biāo)志和快速編程特性,靈活的在系統(tǒng)編程,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,看門狗WDT電路及雙數(shù)據(jù)指針。AT89S51芯片引腳排列如圖2-1所示: 圖2-5 仿真介面2.1.2 AT89S51管腳功能說(shuō)明(1)VCC:供電電壓,GND:接地。(2

15、)P0口:P0口為一組8位漏級(jí)開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸入口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,當(dāng)P1口的管腳第一次寫“1時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址低8位和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。本系統(tǒng)中把 “單片機(jī)系統(tǒng)區(qū)域中的P0.0端口用導(dǎo)線連接到報(bào)警器上,用來(lái)提示密碼輸入的正確或錯(cuò)誤并發(fā)出相應(yīng)的聲音。(3)P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1口的輸出緩沖器可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏

16、輯門電路。P1口管腳寫入“1后,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,P1口被外部下拉為低電平時(shí),將輸出電流。在FLASH編程和校驗(yàn)時(shí),P1口作為低8位地址接收。本系統(tǒng)中把“單片機(jī)系統(tǒng)P1.7用導(dǎo)線連接到數(shù)碼管顯示器的一端。用來(lái)實(shí)現(xiàn)數(shù)碼管的顯示。(4)P2口:P2口為一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2口的輸出緩沖器可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯門電路,當(dāng)P2口被寫“1時(shí),其管腳被內(nèi)部上拉電阻拉到高電平,且作為輸入。并因此作為輸入口使用時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16

17、位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。本系統(tǒng)中把“單片機(jī)系統(tǒng)P2.7用導(dǎo)線連接到三極管的一端通過(guò)三極管放大輸入到數(shù)碼管顯示器上。本系統(tǒng)中由“單片機(jī)系統(tǒng)區(qū)域中的P1口和P2口共同來(lái)完成數(shù)碼管的顯示。(5)P3口:P3口管腳是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯門電路。當(dāng)P3口寫入“1后,它們被內(nèi)部上拉電阻拉高可作為輸入端口。作為輸入端時(shí),由于外部下拉為低電平

18、,P3口將輸出電流ILL這是由于上拉的緣故。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2-1所示:-44行列式鍵盤中的四條橫線、四條豎線上,用來(lái)完成密碼的輸入。(6)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位可翻開或關(guān)閉該功能,DISRTO位缺省為RESET輸出高電平翻開狀態(tài)。表2-1 XXX表端口引腳第二功能P3.0RXD串行輸入口TXD串行輸出口INT0外部中斷0/INT1外部中斷1T0記時(shí)器0外部輸入T1記

19、時(shí)器1外部輸入WR外部數(shù)據(jù)存儲(chǔ)器寫選通RD外部數(shù)據(jù)存儲(chǔ)器讀選通表2.2 P1口局部端口的第二功能(7)ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低8位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。(

20、8)/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。(9)/EA/VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器地址0000HFFFFH,EA端必須保持低電平接地,注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),CPU那么執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。在FLASH編程期間,此引腳也用于施加+12V編程電壓VPP。(10)XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.1.3振蕩器特性XTAL1和XTAL2分別

21、為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的上下電平要求的寬度。2.1.4 AT 89S51相對(duì)于AT89C51增加的新功能ISP在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于改寫單片機(jī)存儲(chǔ)器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離,是一個(gè)強(qiáng)大易用的功能。最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說(shuō)S51具有更高工作頻率,從而具有了更快的計(jì)算速度,具有雙工UART串行通道,內(nèi)部集成看門狗計(jì)時(shí)器,不

22、再需要像89C51那樣外接看門狗計(jì)時(shí)器單元電路,雙數(shù)據(jù)指示器,電源關(guān)閉標(biāo)識(shí),全新的加密算法,這使得對(duì)于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯。兼容性方面:向下完全兼容51全部子系列產(chǎn)品。比方8051、89C51等等早期MCS-51兼容產(chǎn)品。在89S51上一樣可以照常運(yùn)行,這就是所謂的向下兼容。2.2四乘四行列式鍵盤局部由于設(shè)計(jì)要求使用矩陣鍵盤,所以本設(shè)計(jì)就采用行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口時(shí)所占用的I/O線的數(shù)目,在按鍵比擬多的時(shí)候,通常采用這樣方法。其原理如圖2-2所示:圖2-2 44行列式鍵盤每一條水平行線與垂直線列線的交叉處不相通

23、,而是通過(guò)一個(gè)按鍵來(lái)連通,利用這種行列式矩陣結(jié)構(gòu)只需要4條行線和4條列線,即可組成具有44個(gè)按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。按鍵的操作如下列圖2-3所示:圖2-3 按鍵值共計(jì)數(shù)字鍵10個(gè),功能鍵6個(gè),用44組成09數(shù)字鍵、確認(rèn)鍵F及修改鍵C,10個(gè)數(shù)字鍵用來(lái)輸入密碼,另外6個(gè)功能鍵分別是:A、B、C、D、E、F。其中C鍵的功能是當(dāng)輸入密碼錯(cuò)誤的時(shí)候,去除前面已經(jīng)輸入的數(shù)據(jù),重新輸入。F鍵的功能是確認(rèn)輸入的密碼。2.3七段數(shù)碼管顯示器局部第0段第1段第2段第3段第4段第6段第5段七段LED數(shù)碼顯示器如下列圖2-4所

24、示:圖2-4 七段數(shù)碼管七段LED顯示器由7個(gè)發(fā)光二極管組成,其中7個(gè)長(zhǎng)條形的發(fā)光管排列成“日字形,如上圖所示,由七個(gè)發(fā)光二極管組成的七段顯示器。如再加一個(gè)賀點(diǎn)形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,那么組成八段LED顯示器。它能顯示各種數(shù)字及部份英文字母。LED顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱之為共陽(yáng)LED顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱之為共陰LED顯示器。如下列圖2-5所示:圖2-5 七段數(shù)碼管內(nèi)部結(jié)構(gòu)共陰和共陽(yáng)結(jié)構(gòu)的LED顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時(shí),相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8

25、個(gè)筆劃段hgfedcba對(duì)應(yīng)于一個(gè)字節(jié)8位的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二進(jìn)制碼就可以表示欲顯示字符的字形代碼。在單片機(jī)系統(tǒng)中,通常用LED數(shù)碼顯示器來(lái)顯示各種數(shù)字或符號(hào)。由于它具有顯示清晰、亮度高、使用電壓低、壽命長(zhǎng)的特點(diǎn),因此使用非常廣泛。2.4密碼存儲(chǔ)電路設(shè)計(jì)密碼儲(chǔ)在EEPROM芯片AT24C04中。AT24C04是IIC接口的EEPROM芯片,可以用于掉電不易失數(shù)據(jù)的存儲(chǔ)。其電路如圖2-6所示。圖中A0、A1和A2為芯片的地址引腳,一般接地即可。SCL和SDA為AT24C04和單片機(jī)IIC通信的時(shí)鐘線和數(shù)據(jù)線。圖2-6 EEPROM存儲(chǔ)電路2.5系統(tǒng)硬件設(shè)

26、計(jì)原理結(jié)構(gòu)框圖如圖2-7所示圖2.7 系統(tǒng)流程圖框圖2.6系統(tǒng)板上硬件連線(1)、把“單片機(jī)系統(tǒng)P2.7用導(dǎo)線連接到三極管的一端通過(guò)三極管放大輸入到數(shù)碼管顯示器上。(2)、把“單片機(jī)系統(tǒng)P1.7用導(dǎo)線連接到數(shù)碼管顯示器的另一端。(3)、把“單片機(jī)系統(tǒng)區(qū)域中的P0.0用導(dǎo)線連接到報(bào)警器上。(4)、把“單片機(jī)系統(tǒng)區(qū)域中的P0.4和P0.5用導(dǎo)線連接到EEPROM芯片AT24C04.(5)、把44-P3.7上。2.7電路原理圖 附錄A3 軟件設(shè)計(jì)本系統(tǒng)是以AT89S51為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)根本的密碼鎖功能,還能添加聲光提示甚

27、至添加遠(yuǎn)程遙控控制功能。本系統(tǒng)程序設(shè)計(jì)的內(nèi)容為: 密碼的設(shè)定,在此程序中密碼是固定在程序存儲(chǔ)器ROM中,密碼為6位。密碼的輸入問(wèn)題:根據(jù)事先設(shè)計(jì)好的密碼輸入,輸完后按確認(rèn)鍵將執(zhí)行相應(yīng)的功能。根據(jù)設(shè)定好的密碼,采用44行列式鍵盤實(shí)現(xiàn)密碼的輸入功能,密碼輸入時(shí)顯示管只顯示“8.,當(dāng)輸入密碼正確時(shí)數(shù)碼管顯示“1HELLO同時(shí)發(fā)出“叮咚聲,假設(shè)密碼輸入不正確那么顯示“2ERROR作為提示信息,同時(shí)發(fā)出“嘀、嘀報(bào)警聲。密碼輸入的過(guò)程中可隨時(shí)對(duì)輸入的密碼進(jìn)行修改。本系統(tǒng)程序設(shè)計(jì)由鍵盤輸入局部、數(shù)碼管顯示局部和蜂明器聲音提示局部3個(gè)局部組成。3.1鍵盤輸入局部3.1.1鍵盤程序設(shè)計(jì)內(nèi)容本系統(tǒng)中鍵盤采用44行

28、列式鍵盤,按鍵電路如上圖4所示。每個(gè)按鍵有它的行值和列值 ,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和列線分別通過(guò)兩并行接口和CPU 通信。每個(gè)按鍵的狀態(tài)同樣需變成數(shù)字量“0和“1,開關(guān)的一端列線通過(guò)電阻接VCC,而接地是通過(guò)程序輸出數(shù)字“0實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無(wú)鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地,另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,通過(guò)軟件查表,查出該鍵的功能。3.1.2鍵盤程序框圖附錄B3.1.3鍵盤C語(yǔ)言源程序附錄C3.2數(shù)碼管顯示局部3

29、.2.1數(shù)碼管程序設(shè)計(jì)內(nèi)容本系統(tǒng)采用的是8位數(shù)碼管組成的顯示電路作為提示信息,初始化時(shí),顯示“P,接著輸入最大的6位數(shù)的密碼,當(dāng)密碼輸入完后,按下確認(rèn)鍵“F,進(jìn)行密碼比擬,當(dāng)輸入密碼正確時(shí)在數(shù)碼管上顯示“1HELLO的提示信息,當(dāng)輸入密碼錯(cuò)誤時(shí)在數(shù)碼管上顯示“2ERROR的提示信息。在輸入密碼過(guò)程中,每輸入一位密碼顯示器上只顯示一個(gè)“8.從右到左依次顯示。當(dāng)輸入密碼位數(shù)超過(guò)6位時(shí),給出報(bào)警信息。在密碼輸入過(guò)程中,假設(shè)輸入錯(cuò)誤,可以利用“C鍵刪除剛剛輸入的錯(cuò)誤的數(shù)字。在輸入密碼的過(guò)程中可以隨時(shí)對(duì)輸入的密碼進(jìn)行修改。3.2.2數(shù)碼管C語(yǔ)言源程序附錄C3.3蜂鳴器聲音提示局部3.3.1蜂鳴器程序設(shè)計(jì)

30、內(nèi)容本系統(tǒng)把P0.0用作蜂鳴器報(bào)警的接口,對(duì)輸入的密碼與設(shè)定的密碼進(jìn)行比擬,假設(shè)密碼正確,蜂鳴器發(fā)出“叮咚聲;假設(shè)密碼不正確,蜂鳴器發(fā)出“嘀、嘀報(bào)警聲。3.3.2蜂鳴器C語(yǔ)言源程序附錄C3.4密碼修改與存儲(chǔ)局部3.4.1密碼修改與存儲(chǔ)程序設(shè)計(jì)內(nèi)容本系統(tǒng)把P0用EEPROM的IIC接口,用于把要修改的密碼存起來(lái),輸入密碼時(shí)從EEPROM里讀出來(lái)再做比照。3.4.2密碼修改與存儲(chǔ)C語(yǔ)言源程序附錄C3.5系統(tǒng)程序流程總框圖如圖3-1所示圖3-1 系統(tǒng)程序流程總框圖3.6整個(gè)系統(tǒng)的C語(yǔ)言源程序附錄C4仿真設(shè)計(jì)41 Proteus仿真軟件Proteus軟件是英國(guó)Lab Center Electronic

31、s公司出版的EDA工具軟件該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比擬好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。42 ProteusV71SP2的使用要想學(xué)會(huì)某個(gè)軟件,首先要對(duì)其操作界面的各種工具進(jìn)行熟悉,其操作界面如圖4-1所示。1翻開軟件,選擇電子元件。點(diǎn)擊“元件選擇按鈕,出現(xiàn)如下列圖圖3-2對(duì)話框,將電路中需要用到的各種電子元件的代號(hào)輸入“keywords中,雙擊對(duì)應(yīng)的模擬元件,該元件就添加到列表中。注意型號(hào)和大小的選擇。

32、例如:要得到單片機(jī)AT89C52的模擬器件,就要在“keywords輸入“at89,右邊就會(huì)出現(xiàn)和按鈕相關(guān)的元件,再根據(jù)預(yù)覽窗口的顯示選擇所需要的按鈕。添加完所需要的原件就可以關(guān)閉“元件選擇對(duì)話框, 如圖4-2所示。圖4-2 元件添加演示圖2再列表中的各元件放在電路板上,并將元件的引腳按正確的電路連接方法用線連接起來(lái)。單擊鼠標(biāo)左鍵為安放,單擊右鍵為選擇,雙擊右鍵為刪除,先右擊在左擊為修改或者查看元件參數(shù)。左擊元件的端口,再左擊另一端口那么可以將兩個(gè)端口用線連接起來(lái)。3在需要用到電源的地方加上電源。注意電壓的大小可根據(jù)不同需要進(jìn)行修改。4電路圖畫好后可以用簡(jiǎn)單的程序測(cè)試看電路圖是否正確。43 進(jìn)

33、行仿真設(shè)計(jì)431設(shè)計(jì)仿真電路仿真電路如下列圖4-3所示:圖4-3 仿真電路電路設(shè)計(jì)好之后,下一步就是要進(jìn)行軟件仿真調(diào)試。432 軟件仿真設(shè)計(jì)利用KEIL軟件編寫好程序,然后加載到Proteus進(jìn)行逐步仿真調(diào)試,直到到達(dá)預(yù)期的效果。仿真效果如圖4-4所示:圖4-4 仿真效果圖結(jié)束語(yǔ)本系統(tǒng)充分利用了AT89S51系統(tǒng)單片機(jī)軟、硬件資源,引入了智能化分析功能,提高了系統(tǒng)的可靠性和平安性。該系統(tǒng)主要有以下幾點(diǎn)優(yōu)點(diǎn):利用單片機(jī)去控制硬件電路,打破傳統(tǒng)的專用硬件的形式,使電路更加靈活,更加快捷.其重復(fù)概率僅為十萬(wàn)分之一,有著很高的平安性 電子密碼鎖采用單片機(jī)作為核心的控制元件具有功能強(qiáng)、性能可靠、電路簡(jiǎn)單

34、、本錢低等特點(diǎn)。智能密碼鎖它成功的實(shí)現(xiàn)了密碼的輸入識(shí)別和修改、報(bào)警、信息顯示等功能。另外,智能密碼鎖在軟、硬件方面稍加改動(dòng),便可構(gòu)成智能化的分布式監(jiān)控網(wǎng)絡(luò),實(shí)現(xiàn)某一范圍內(nèi)的集中式監(jiān)控管理,在金融、保險(xiǎn)、軍事重地及其它平安防范領(lǐng)域具有廣泛的應(yīng)用前景。因此電子密碼鎖憑借自身的優(yōu)勢(shì),它將會(huì)越來(lái)越廣泛的受到社會(huì)的歡送、接受。但是電子密碼鎖還具有自身的缺點(diǎn):電子鎖必須完成機(jī)械動(dòng)作(操作)電子識(shí)別轉(zhuǎn)換和電子控制機(jī)械執(zhí)行這一系列過(guò)程,顯然是復(fù)雜一些。二是故障概率相對(duì)較高,電子器件一多,一復(fù)雜化。必然增加故障機(jī)率,加上電子器件怕潮濕,怕強(qiáng)磁電,怕強(qiáng)震動(dòng),使它對(duì)使用環(huán)境有一定要求。絕大局部電子密碼鎖都增加了備用

35、開鎖手段或稱應(yīng)急接口,無(wú)疑又降低了平安性。由于采用鍵盤式密碼輸入很可能被他人窺探、盜用。所以在設(shè)計(jì)鍵盤時(shí)必須防他人窺探和試探等外圍設(shè)本。盡管電子鎖有以上還待解決問(wèn)題,但它的大密碼量和不用鑰匙的優(yōu)點(diǎn)以及眾多的識(shí)別方式卻有極大的誘惑力。它將在以后的開展中被廣泛應(yīng)用。 今后研究方向主要是以單片機(jī)設(shè)計(jì)為主,不斷學(xué)習(xí)更高級(jí)的單片機(jī),往操作系統(tǒng)方面開展。參考文獻(xiàn)1:楊欣.電路設(shè)計(jì)與仿真.北京:清華大學(xué)出版社,20062:樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例.北京:航空航天大學(xué)出版社,20043:王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā).北京:清華大學(xué)出版社,20054:張友德.單片微型機(jī)原理應(yīng)用與實(shí)驗(yàn).上海:復(fù)旦大學(xué)出

36、版社,1996附錄A 電路圖原理附錄B 鍵盤輸入程序框圖延時(shí)10msP3=FFH,P3.1=0P3=FFH,P3.0=0根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵延時(shí)10ms真得有鍵按下嗎?有鍵按下嗎真得有鍵按下嗎?有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵延時(shí)10msP3=FFH,P3.3=0P3=FFH,P3.2=0延時(shí)10ms有鍵按下嗎?有鍵按下嗎?真得有鍵按下嗎?真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵附錄C 整個(gè)系統(tǒng)的C語(yǔ)言源程序主程序#include #include 2402.h unsigned char wl6;/=1,2,3,4,5,6; /用于保存輸入密碼 unsigned char c

37、ode wl1=0 xfe,0 xfd,0 xfb,0 xf7, /位選 0 xef,0 xdf,0 xbf,0 x7f; unsigned char code wl220=0 x3f,0 x06,0 x5b,0 x4f,0 x66, /段碼 09,AF,全滅,-,P,全亮 0 x6d,0 x7d,0 x07,0 x7f,0 x6f, 0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71, 0 x00,0 x40,0 x73,0 xff; unsigned char code wl8=0 x00,0 x00,0 x77,0 x3f,0 x77, /全滅,全滅,A,0,A,A,

38、E,1 0 x77,0 x79,0 x06;unsigned char code wl9=0 x00,0 x00,0 x3f,0 x38,0 x38, /全滅,全滅,0,L,L,E,H,2 0 x79,0 x76,0 x5b;unsigned char wl38=18,16,16,16,16,16,16,16; unsigned char wl4; unsigned char wl5; unsigned char wl6; unsigned char wl7;unsigned char zw;unsigned char zq; unsigned char wl7count; /輸入的密碼個(gè)數(shù)u

39、nsigned char wllen=6; unsigned char getwl6; /保存輸入密碼緩沖unsigned char gettemp16; /第一次輸入密碼緩沖unsigned char gettemp26; /第二次輸入密碼緩沖bit wl7overflag; bit errorflag; bit rightflag; unsigned int second3; unsigned int aa,bb; unsigned int cc,dd; bit wl8flag; bit alarmflag; bit hibitflag; unsigned char wl8a,wl8b;

40、unsigned int var1;/unsigned char var2=0;unsigned char key_error_times=0;unsigned int count_3s=20000; unsigned int change_key_flag=0;unsigned int change_key_flag1=0;void key_init(void)unsigned char i;EA=0;for(i=0;i6;i+)/DELAY(200);wrteeprom(i,1);/初始密碼6個(gè)1 /keyiniti);DELAY(300);EA=1;void read_key(void)

41、unsigned char i;EA=0;for(i=0;i6;i+)wli=rdeeprom(i);DELAY(300);EA=1;void write_key(void)unsigned char i;EA=0;for(i=0;i0;i-) /去抖for(j=248;j0;j-); wl6=P3; wl6=wl6 & 0 x0f; if (wl6!=0 x0f) /確實(shí)是有鍵按下 wl6=P3; wl6=wl6 & 0 x0f; switch(wl6) case 0 x0e: /第一列第一行按下wl7=12; break; case 0 x0d: /第一列第二行按下wl7=13; brea

42、k; case 0 x0b: /第一列第三行按下wl7=14; break; case 0 x07: /第一列第四行按下wl7=15; break; wl6=P3; if(wl7=0) & (wl710) if(wl7count6) wl7count=6; wl7overflag=1;/wl7 overflow else if(wl7=12)/delete wl7 if(wl7count0) wl7count-; getwlwl7count=0; /清密碼wl3wl7count+2=16; /不顯示 else wl7overflag=1; else if(wl7=15)/enter wl7 i

43、f(wl7count!=wllen) /密碼個(gè)數(shù)不為6 errorflag=1; rightflag=0; second3=0; else /密碼個(gè)數(shù)為6if(getwl0=4)&(getwl1=1)&(getwl2=3)&(getwl3=1)&(getwl4=0)&(getwl5=2)key_init();read_key();if(change_key_flag=0) for(i=0;iwl7count;i+) if(getwli!=wli) /輸入的密碼與保存在ROM中的密碼進(jìn)行比擬 i=wl7count; /密碼不正確errorflag=1; rightflag=0; second3=

44、0; key_error_times+;goto a; key_error_times=0;errorflag=0; /密碼正確rightflag=1; a:i=wl7count; else if(change_key_flag=1)for(i=0;iwl7count;i+) if(getwli!=wli) /輸入的密碼與保存在ROM中的密碼進(jìn)行比擬change_key_flag=1;wl30=1;break;elsechange_key_flag=2;wl30=2;for(var2=0;var28;var2+)if(var2=0);/wl3var2=18;elsewl3var2=16;for

45、(var2=0;var26;var2+)getwlvar2=0;wl7count=0; else if(change_key_flag=2)change_key_flag=3;for(i=0;iwl7count;i+) gettemp1i=getwli;/保存第一次輸入的密碼wl30=3;for(var2=0;var28;var2+)if(var2=0);/wl3var2=18;elsewl3var2=16;for(var2=0;var26;var2+)getwlvar2=0;wl7count=0; else if(change_key_flag=3)for(i=0;iwl7count;i+)

46、 if(gettemp1i!=getwli)/第二次輸入的密碼與第一次輸入的作比照change_key_flag=1;wl30=1;break;elsechange_key_flag=0;wl30=18;if(i=5)/兩次輸入的密碼匹配,剛把密碼寫到eeprom里面write_key();read_key(); for(var2=0;var28;var2+)if(var2=0);/wl3var2=18;elsewl3var2=16;for(var2=0;var20;i-) for(j=248;j0;j-); wl6=P3; wl6=wl6 & 0 x0f; if (wl6!=0 x0f) w

47、l6=P3; wl6=wl6 & 0 x0f; switch(wl6) case 0 x0e: /第二列第一行按下wl7=11; break; case 0 x0d: wl7=3; break; case 0 x0b: wl7=6; break; case 0 x07: wl7=9; break; wl6=P3; if(wl7=0) & (wl710) if(wl7count6) wl7count=6; wl7overflag=1;/wl7 overflow else if(wl7=12)/delete wl7 if(wl7count0) wl7count-; getwlwl7count=0;

48、 wl3wl7count+2=16; else wl7overflag=1; else if(wl7=15)/enter wl7 if(wl7count!=wllen) errorflag=1; rightflag=0; second3=0; else for(i=0;i0;i-) for(j=248;j0;j-); wl6=P3; wl6=wl6 & 0 x0f; if (wl6!=0 x0f) wl6=P3; wl6=wl6 & 0 x0f; switch(wl6) case 0 x0e: wl7=10; break; case 0 x0d: wl7=2; break; case 0 x0

49、b: wl7=5; break; case 0 x07: wl7=8; break; wl6=P3; if(wl7=0) & (wl710) if(wl7count6) wl7count=6; wl7overflag=1;/wl7 overflow else if(wl7=12)/delete wl7 if(wl7count0) wl7count-; getwlwl7count=0; wl3wl7count+2=16; else wl7overflag=1; else if(wl7=15)/enter wl7 if(wl7count!=wllen) errorflag=1; rightflag=0; second3=0; else for(i=0;i0;i-) for(j=248;j0;j-); wl6=P3; wl6=wl6 & 0 x0f; if (wl6!=0 x0f) wl6=P3; wl6=wl6 & 0 x0f; switch(wl6) case 0 x0e: wl7=0; break; case 0 x0d: wl7=1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論