電信專(zhuān)業(yè)技能_第1頁(yè)
電信專(zhuān)業(yè)技能_第2頁(yè)
電信專(zhuān)業(yè)技能_第3頁(yè)
電信專(zhuān)業(yè)技能_第4頁(yè)
電信專(zhuān)業(yè)技能_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專(zhuān)業(yè)技能實(shí)訓(xùn)報(bào)告系 部: 專(zhuān) 業(yè): 班 級(jí): 姓 名: 學(xué) 號(hào): 成 績(jī): 2014年 12月 一、 設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)單片機(jī)電子密碼鎖,要求如下:(1)設(shè)計(jì)為了防止密碼被竊取要求在輸入密碼時(shí)在LCD屏幕上顯示*號(hào)。(2)設(shè)計(jì)開(kāi)鎖密碼位六位密碼的電子密碼鎖。(3)能夠LCD顯示在密碼正確時(shí)顯示PASSWORD OK,密碼錯(cuò)誤時(shí)顯示PASSWORD ERROR,輸入密碼時(shí)顯示INPUT PASSWORD。(4)實(shí)現(xiàn)輸入密碼錯(cuò)誤超過(guò)限定的三次電子密碼鎖定。(5)4×4的矩陣鍵盤(pán)其中包括0-9的數(shù)字鍵和A-F的功能鍵(6)本產(chǎn)品具備報(bào)警功能,當(dāng)輸入密碼錯(cuò)誤時(shí)蜂鳴器響并且LED燈亮。(7)密碼

2、可以由用戶(hù)自己修改設(shè)定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作 。二、 元器件清單表1 元器件表電子元器件器件名稱(chēng)數(shù)量(個(gè))RL1揚(yáng)聲器1按鍵17三極管NPN2顯示器LED-RED27段顯示器LCD數(shù)碼管6電阻10021K210K8電容33p222u1電解電容1三、設(shè)計(jì)過(guò)程1、系統(tǒng)結(jié)構(gòu)框圖采用以AT89S51為核心的單片機(jī)控制方案。選用單片機(jī)AT89S51 作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接LCD1602顯示

3、器用于顯示作用。其原理如下圖1所示:圖1 單片機(jī)控制密碼鎖原理圖2、系統(tǒng)硬件設(shè)計(jì)2.1單片機(jī)AT89S51簡(jiǎn)介2.1.1主要特性(1)與MCS-51 兼容 (2)4K字節(jié)可編程閃爍存儲(chǔ)器 (3)壽命:1000寫(xiě)/擦循環(huán) (4)數(shù)據(jù)保留時(shí)間:10年 (5)全靜態(tài)工作:0Hz-24Hz (6)三級(jí)程序存儲(chǔ)器鎖定 (7)128*8位內(nèi)部RAM (8)32可編程I/O線(xiàn) (9)兩個(gè)16位定時(shí)器/計(jì)數(shù)器 (10)5個(gè)中斷源 (11)可編程串行通道 (12)低功耗的閑置和掉電模式 (13)片內(nèi)振蕩器和時(shí)鐘電路3.1.2引腳功能說(shuō)明圖2 單片機(jī)引腳圖Vcc:電源電壓 GND:接地 P0口:P0口是一組8位漏

4、極開(kāi)路型雙向I0口,也即地址數(shù)據(jù)總線(xiàn)復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用。在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線(xiàn)分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線(xiàn)復(fù)用,在訪(fǎng)問(wèn)期間激活內(nèi)部上拉電阻。在F1ash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 P1口:Pl 是一個(gè)帶內(nèi)部上拉電阻的8位雙向IO口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“l(fā)”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(II

5、L),F(xiàn)lash編程和程序校驗(yàn)期間,Pl接收低8位地址。 P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL),在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪(fǎng)問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRi 指令)時(shí),P2 口線(xiàn)上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪(fǎng)問(wèn)期間

6、不改變。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和其它控制信號(hào)。 P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門(mén)電路。P3口除了作為一般的I0口線(xiàn)外,更重要的用途是它的第二功能,如下表所示:P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào) RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRT0 位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開(kāi)狀態(tài)。 ALEPROG:當(dāng)訪(fǎng)問(wèn)

7、外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪(fǎng)問(wèn)外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的16 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。 PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的PSEN信號(hào)。 EAVPP:外部訪(fǎng)問(wèn)允許。欲使CPU僅訪(fǎng)問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)

8、。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vpp。 XTALl:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。2.2液晶顯示LCD1602簡(jiǎn)介1、LM1602字符型模塊的性能重量輕:<100g;體積?。?lt;11mm 厚;功耗低:1015mW;顯示內(nèi)容:192 種字符(5×7 點(diǎn)字型);32 種字符(5×10 點(diǎn)字型);可自編8(5×7)或許(5×10)種字符;指令功能強(qiáng):可組合成各種輸入、顯示、移位方式以滿(mǎn)足不同的要求;接口簡(jiǎn)單方

9、便:可與8 位微處理器或微控制器相聯(lián);工作溫度寬:050oC可靠性高:壽命為50,000 小時(shí)(25oC)2、 基本原理 液晶體液晶板上排列著若干5×7 或5×10 點(diǎn)陣的字符顯示位,每個(gè)顯示位可顯示1 個(gè)字符,從規(guī)格上分為每行8、16、20、24、32、40 位,有一行、兩行及四行三類(lèi)。 工作電路它由KS0066、KS0065 及幾個(gè)電阻電容組成。KS0065 是擴(kuò)展顯示字符用的(例如:16 個(gè)字符×1 行模塊就可不用KS0065,16 個(gè)字符×2 行模塊就要用1 片KS0065)接口方面,有8 條數(shù)據(jù),三條控線(xiàn)。可與微處理器或微控制相連,通過(guò)送入數(shù)據(jù)

10、和指令,就可使模塊正常工作。 LCD 驅(qū)動(dòng)器和控制器A、LCD 驅(qū)動(dòng)器KS0065KS0065 是用低功耗CMOS 技術(shù)制造的大規(guī)模LCD 驅(qū)動(dòng)IC。它既可當(dāng)行驅(qū)動(dòng)用,也可以當(dāng)列驅(qū)動(dòng)用,由20×2Bin 二進(jìn)制移位寄存器、20×2Bin 數(shù)據(jù)鎖存器和20×2Bin 驅(qū)動(dòng)器組成功能:a、40 通道點(diǎn)陣LCD 驅(qū)動(dòng);b、可選擇當(dāng)做行驅(qū)動(dòng)或列驅(qū)動(dòng);c、輸入/輸出信號(hào):輸出,能產(chǎn)生20×2 個(gè)LCD 驅(qū)動(dòng)波型;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號(hào),偏壓(V1V6);特性:A、顯示驅(qū)動(dòng)偏壓低:靜態(tài)1/5;b、電源電壓:+5V+10%;c、顯示驅(qū)動(dòng)電源:-5V;

11、d、CMOS 處理;e、60 引腳、塑封;B、LCD 控制器KS0066見(jiàn)圖4,KS0066 是用低功耗CMOS 技術(shù)制造的大規(guī)模點(diǎn)陣LCD控制器(兼帶驅(qū)動(dòng)器),和4Bin/8Bin 微處理器相連連,它能使點(diǎn)陣LCD 顯示大小英文字母、符號(hào)。應(yīng)用KS0066,用戶(hù)能有少量元件就可組成一個(gè)完整點(diǎn)陣LCD 系統(tǒng)。特性:a、容易和Bin/8Bin Mpu 相連;b、可選擇5×7 或5×10 點(diǎn)字符;c、顯示數(shù)據(jù)RAM 容量:80×8Bin(80 字符);d、字符發(fā)生器ROM 能提供戶(hù)所需字符庫(kù)或標(biāo)準(zhǔn)庫(kù);字符容量:192 個(gè)字符(5×7 點(diǎn)字符);32 個(gè)字符(

12、5×10 點(diǎn)字符);e、DDRAM 和CGRAM 都能從Mpu 讀取數(shù)據(jù);f、輸出信號(hào):16 個(gè)行掃信號(hào)(common singnal),40 個(gè)列掃信號(hào)(sengment singnal)g、電源復(fù)位電路;h、顯示占空比:1/8duty(1Line,5×7dots+Cursor);1/11 duty(1Line,5×10dote+Cuesor);1/16 duty(2Line,5×7dots+Cuesir);i、振蕩電路;j、指令:11 種;k、80 引腳、塑封。2.3 硬件電路的設(shè)計(jì)本設(shè)計(jì)單片機(jī)硬件資源的分配:P0.0P0.7用于LCD液晶顯示作用。

13、P2.6、P2.7用于蜂鳴器和報(bào)警燈的控制。P2.0用于開(kāi)鎖電路的控制。P1.0P1.7用于鍵盤(pán)電路的控制。P3.3P3.5用于LCD顯示模塊的控制端口的控制。2.3.1 最小系統(tǒng)的設(shè)計(jì)當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱(chēng)RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和開(kāi)關(guān)復(fù)位。圖3.3即為手動(dòng)(開(kāi)關(guān))復(fù)位電路。圖3 手動(dòng)復(fù)位電路(2)復(fù)位后的狀態(tài)a、復(fù)位后PC值為0000H,表明復(fù)位后的程序從0000H開(kāi)始執(zhí)行。b、SP值為07H,表明堆棧底部在07H,一般需要

14、重新設(shè)置SP值。c、P0P3口值為FFH。P0P3口用作輸入口時(shí),必須先寫(xiě)入“1”。單片機(jī)在復(fù)位后,已使P0P3口每一端線(xiàn)為“1”,為這些端線(xiàn)用作輸入口做好了準(zhǔn)備。(3)WDT 溢出將使該引腳輸出高電平,所以本設(shè)計(jì)采用圖3.4的手動(dòng)復(fù)位電路:圖4 本設(shè)計(jì)手動(dòng)復(fù)位電路AT89S51 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖3.5。外接石英晶體(或陶瓷諧振器)及電容Cl、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容Cl、C2 雖然沒(méi)有十

15、分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10F。用戶(hù)也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖1所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。圖5 單片機(jī)自激震蕩電路由于單片機(jī)有內(nèi)部振蕩器,所以本設(shè)計(jì)采用圖3.6

16、的晶振電路:圖6 晶振電路2.3.2芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89S51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。2.3.3開(kāi)鎖機(jī)構(gòu)用戶(hù)通過(guò)LCD提示信息,用鍵盤(pán)輸入正確密碼,從而達(dá)到開(kāi)鎖的目的。當(dāng)用戶(hù)

17、輸入的密碼正確并且是在按下確定鍵的話(huà),單片機(jī)便輸出開(kāi)門(mén)信號(hào),送到開(kāi)鎖驅(qū)動(dòng) 電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開(kāi)門(mén)的目的。電路驅(qū)動(dòng)和開(kāi)鎖兩級(jí)組成。由D5、R1、T10組成驅(qū)動(dòng)電路,其中T10可以選擇普通的小功率三極管如9014、9018都可以滿(mǎn)足要求。D5作為開(kāi)鎖的提示;由D6、C24、T11組成。其中D6、C24是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。 在本次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開(kāi)鎖;滅,表示沒(méi)有開(kāi)鎖。圖7 密碼鎖開(kāi)鎖機(jī)構(gòu)電路圖2.3.4

18、鍵盤(pán)設(shè)計(jì)本設(shè)計(jì)就采用行列式鍵盤(pán),同時(shí)也能減少鍵盤(pán)與單片機(jī)接口時(shí)所占用的I/O線(xiàn)的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣方法。 每一條水平(行線(xiàn))與垂直線(xiàn)(列線(xiàn))的交叉處不相通,而是通過(guò)一個(gè)按鍵來(lái)連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線(xiàn)和M條列線(xiàn),即可組成具有N×M個(gè)按鍵的鍵盤(pán)。 在這種行列式矩陣鍵盤(pán)非鍵盤(pán)編碼的單片機(jī)系統(tǒng)中,鍵盤(pán)處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。 4×4矩陣鍵盤(pán)的工作原理 在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式,如圖5所示。在矩陣式鍵盤(pán)中,每條水平線(xiàn)和垂直線(xiàn)在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這

19、樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線(xiàn)用于鍵盤(pán)多出了一倍,而且線(xiàn)數(shù)越多,區(qū)別越明顯,比如再多加一條線(xiàn)就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線(xiàn)則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。掃描原理 把每個(gè)鍵都分成水平和垂直的兩端接入,比如說(shuō)掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個(gè)bit,而讀入掃描碼的則是水平,掃描的動(dòng)作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過(guò)比對(duì)之后就可知道是哪個(gè)鍵被按下。 比如說(shuō)掃描碼送入01111111,前面的0111是代表此時(shí)掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設(shè)為V

20、DD,若此時(shí)第一行的第三列按鍵被按下,那讀取的結(jié)果就會(huì)變成01111101(注意1111變成1101),其中LSB的第三個(gè)bit會(huì)由1變成0,這是因?yàn)檫@個(gè)按鍵被按下之后,會(huì)被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。 由於這種按鍵是機(jī)械式的開(kāi)關(guān),當(dāng)按鍵被按下時(shí),鍵會(huì)震動(dòng)一小段時(shí)間才穩(wěn)定,為了避免讓8051誤判為多次輸入同一按鍵, 我們必須在偵測(cè)到有按鍵被按下,就Delay一小段時(shí)間,使鍵盤(pán)以達(dá)穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓鍵盤(pán)的輸入穩(wěn)定。圖3.8為鍵盤(pán)整體??驁D:圖8 鍵盤(pán)整體??驁D2.3.5顯示電路設(shè)計(jì)顯示設(shè)計(jì)采用字符型液晶屏設(shè)計(jì),由單片機(jī)的p0

21、口控制顯示,由p3.3p3.5控制lcd的控制端口。本設(shè)計(jì)采用以下液晶顯示設(shè)計(jì):圖9 LCD液晶顯示電路抓圖2.4電路設(shè)計(jì)總圖Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來(lái)完成PCB的設(shè)計(jì),而ISIS模塊用來(lái)完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢(shì)就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤(pán)、LED、LCD等等。通過(guò)Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方

22、便的單片機(jī)實(shí)驗(yàn)室。 本密碼鎖采用proteus進(jìn)行電路圖設(shè)計(jì),經(jīng)過(guò)元件選型,用萬(wàn)能實(shí)驗(yàn)版進(jìn)行硬件焊接,以實(shí)現(xiàn)硬件部分。 下圖為proteus設(shè)計(jì)的密碼鎖電路圖整體抓圖:圖10 密碼鎖電路圖整體抓圖3、系統(tǒng)軟件設(shè)計(jì)因設(shè)計(jì)主要是作用匯編語(yǔ)言來(lái)開(kāi)發(fā)的51單片機(jī)項(xiàng)目程序,所以首先必須有一個(gè)可以在Windows XP或Windows vista操作系統(tǒng)下執(zhí)行的匯編語(yǔ)言編譯器,本設(shè)計(jì)采用Keil編譯器進(jìn)行編程,因?yàn)樗梢灾С忠幌盗械?1單片機(jī)。開(kāi)始初始化模式選擇識(shí)別按鍵密碼輸入手動(dòng)清除密碼比較開(kāi)門(mén)舊密碼輸入新密碼輸入存入緩存區(qū)再次輸入密碼重新輸入設(shè)置完畢返回NANBY圖11 主程序的流程圖3.1主程序模塊

23、主程序主要是完成系統(tǒng)初始化、設(shè)置中斷向量、檢查有無(wú)鍵按下、以及調(diào)用顯示等等。主程序部分如下所示:en bit p3.5;將lcd的en管腳連接到單片機(jī)的p3.5口rw bit p3.4;將lcd的rw管腳連接到單片機(jī)的p3.4口rs bit p3.3;將lcd的rs管腳連接到單片機(jī)的p3.3口display equ p0;將lcd的顯示端口連接到p0口上speaker bit p2.6;蜂鳴器連接到p2.6口led bit p2.7;與蜂鳴器共同作用的led燈連到p2.7口open bit p2.0;開(kāi)鎖電路的控制端連接到p2.0口returnbit bit 20h.1;ORG 0000h;程

24、序開(kāi)始地址LJMP start;ORG 000bh;LJMP intermit_t0;ORG 001bh;LJMP intermit_t1;ORG 0030h;start:MOV sp,#60h;lcall sys_initialization;調(diào)用子程序sys_initialization3.2鍵盤(pán)掃描及識(shí)別子程序鍵盤(pán)采用查詢(xún)的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖4.2所示 鍵盤(pán)部分程序如下: key:;鍵盤(pán)程序名稱(chēng)call ks;調(diào)用子程序ksjnz k1;判斷是否有鍵按下jmp key;跳回鍵盤(pán)

25、程序ks:mov p1,#0f0h;mov a,p1;xrl a,#0f0h;ret;圖12 鍵盤(pán)掃描程序流程圖3.3系統(tǒng)模塊密碼設(shè)置子程序由于設(shè)計(jì)是分模塊化進(jìn)行,所以子程序是整體軟件系統(tǒng)的組成部分,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)單化,同時(shí)也方便閱讀,修改等,每個(gè)功能模塊都有它自己的子程序,在本設(shè)計(jì)中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計(jì)中用的是矩陣鍵盤(pán),所以就用到鍵盤(pán)掃描子程序,例如還有顯示初始化子程序、LCD忙檢測(cè)子程序、關(guān)閉狀態(tài)顯示子程序、開(kāi)鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后的提示子程序等。如下圖為密碼修改子程序流程圖:選擇模式舊密碼輸入新

26、密碼輸入存入緩存再次輸入密碼比較密碼重新輸入返回YN是否大于3次鎖定NY圖13 設(shè)置密碼子程序四、調(diào)試過(guò)程1、在焊接調(diào)試時(shí)遇到的問(wèn)題以及解決方法。單片機(jī)的最小系統(tǒng)問(wèn)題:電源、晶振電路和復(fù)位電路都無(wú)異常。Lcd焊接時(shí)的問(wèn)題:(1)接通電源后lcd無(wú)反應(yīng),各個(gè)引腳均屬正常。推斷可能是初始化程序出現(xiàn)問(wèn)題。經(jīng)查找得知是lcd顯示器的15和16管腳控制背光功能,連接好之后還是不能顯示字符。(2)接通電源開(kāi)門(mén)燈和報(bào)警電路就會(huì)工作,分析原因是單片機(jī)剛開(kāi)始各個(gè)管腳輸出高電平。2、程序調(diào)試在硬件支持的環(huán)境下,用proteus設(shè)計(jì)好的電路,Keil編好的程序編譯成芯片可識(shí)別的S51文件,利用PC機(jī)寫(xiě)進(jìn)proteus程序圖芯片內(nèi)進(jìn)行仿真測(cè)試,并對(duì)其出現(xiàn)的錯(cuò)誤進(jìn)行修改,由圖4.4圖4.8可看出最終調(diào)試成功。圖14 keil編譯程序成功圖15 keil生成hex文件圖16 proteus調(diào)用keil的hex文件進(jìn)行仿真圖17 仿真成功密碼正確圖18 密碼正確綠燈亮五、總結(jié)單片機(jī)電子密碼鎖主要應(yīng)用矩陣鍵盤(pán)掃描技術(shù)、單片機(jī)、LCD

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論