




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘要摘要:在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機(jī)械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險(xiǎn)器件的要求越來越高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),使密碼鎖無論在技術(shù)上還是在性能上都大大提高一步。隨著大規(guī)模集成電
2、路技術(shù)的發(fā)展,特別是單片機(jī)的問世,出現(xiàn)了帶微處理器的智能密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,應(yīng)用日益廣泛。本次設(shè)計(jì)使用 stc公司的stc89c52實(shí)現(xiàn)一基于單片機(jī)的電子密碼鎖的設(shè)計(jì),其主要具有如下功能: 1.密碼通過鍵盤輸入,若密碼正確,則將鎖打開,語音提示開鎖,蜂鳴器播放一段開鎖音樂。 2.密碼可由管理員修改設(shè)定,鎖打開后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)需要二次確認(rèn),以防止誤操作。3.報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤,lcd液晶顯示器會出現(xiàn)錯(cuò)誤提示,同時(shí)語音提示錯(cuò)誤信息,蜂鳴器鳴響;若密
3、碼輸入錯(cuò)誤次數(shù)達(dá)到3次,蜂鳴器報(bào)警并且鎖定鍵盤,蜂鳴器播放一段報(bào)警音樂。 主要的設(shè)計(jì)過程:首先,選用stc公司的單片機(jī)stc89c52,以及選用其他電子元器件。第二步,使用alitm designer 設(shè)計(jì)硬件電路原理圖,完成人工布線。第三步,使用 keil c51 軟件編寫單片機(jī)的 c 語言程序、仿真、軟件調(diào)試。最后,聯(lián)合軟、硬件調(diào)試電路板,完成本次電子綜合設(shè)計(jì)。 關(guān)鍵詞:44矩陣鍵盤;stc89c52;isd1760;lcd液晶顯示器;密碼二次確認(rèn) 目錄第一部分 總 述4一引言4二課題內(nèi)容及要求4第二部分 硬件設(shè)計(jì)部分5一設(shè)計(jì)總框圖5二單片機(jī)stc89c52介紹5三輸入鍵盤6四lcd液晶顯
4、示8五isd1760語音提示9六蜂鳴器發(fā)聲10第三部分 軟件設(shè)計(jì)部分11一程序流程圖11二鍵盤掃描設(shè)計(jì)11三液晶顯示設(shè)計(jì)13四語音提示設(shè)計(jì)18五蜂鳴器發(fā)聲設(shè)計(jì)9第四部分 調(diào)試報(bào)告20一硬件調(diào)試24二軟件調(diào)試24三調(diào)試心得24總結(jié)25參考資料25附錄26一元器件清單26二工具27三硬件設(shè)計(jì)總圖27四源程序28 第一部分 總 述一引言科技的發(fā)展是電子產(chǎn)品的應(yīng)用越來越廣泛,電子電路的設(shè)計(jì)也越來越重要。隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于結(jié)構(gòu)簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞。同時(shí)隨著電子產(chǎn)品向智
5、能化和微型化的不斷發(fā)展,數(shù)字邏輯電路電子芯片已成為電子產(chǎn)品研制和開發(fā)的首選控制器。用電子邏輯電路設(shè)計(jì)的密碼鎖經(jīng)實(shí)際操作表明,該密碼鎖具有安全、實(shí)用、成本低等優(yōu)點(diǎn),符合一般鎖的需要,具有一定的現(xiàn)實(shí)意義。本系統(tǒng)采用stc公司的單片機(jī)stc89c52作為主控芯片,結(jié)合外圍的矩陣鍵盤輸入、lcd顯示、報(bào)警系統(tǒng)和開鎖等電路,用c語言編寫主控芯片的控制程序,設(shè)計(jì)了一款可以多次更改密碼且具有報(bào)警功能的電子密碼鎖。用戶想要打開鎖,必先通過提供的鍵盤輸入正確的密碼才能將鎖打開,且密碼輸入錯(cuò)誤時(shí)有提示,為了提高安全性,當(dāng)密碼連續(xù)輸入錯(cuò)誤三次將報(bào)警。密碼只可以由管理員自己修改、設(shè)定,鎖打開后只有管理員才能修改密碼。
6、修改之前必須先輸入管理員登錄密碼,然后再次輸入舊密碼,在輸入新密碼時(shí)需要二次確認(rèn),以防止誤操作。二課題內(nèi)容及要求1設(shè)計(jì)內(nèi)容: 采用lcd液晶顯示,4*4的矩形鍵盤輸入的基于單片機(jī)的電子密碼鎖,能夠?qū)崿F(xiàn)修改密碼,糾錯(cuò),確認(rèn)的功能。2基本要求: 硬件布局基本合理,焊接比較美觀,器件運(yùn)用基本合理,用比較簡單的電路實(shí)現(xiàn)修改密碼、糾錯(cuò)、確認(rèn)等基本功能。3 提高部分: 電子密碼鎖能夠?qū)崿F(xiàn)管理員登陸、動態(tài)顯示登陸密碼、登陸密碼驗(yàn)證,登陸成功與否給出提示、超次鎖定并報(bào)警鳴示、在登陸成功的情況下管理員可以進(jìn)行修改和確認(rèn)密碼,新密碼位數(shù)不夠或太簡單給出提示,能在修改密碼成功的情況下給出提示。另外,可以用語音發(fā)聲芯
7、片發(fā)出相應(yīng)的提示信息,并用蜂鳴器報(bào)警,播放簡單的音樂段。本方案采用一種以stc89c52為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的i/o端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能,以及一些擴(kuò)展功能。第二部分 硬件設(shè)計(jì)部分一設(shè)計(jì)總框圖圖一 總體設(shè)計(jì)框圖2 單片機(jī)stc89c52介紹stc89c52是一種帶8k字節(jié)閃爍可編程可檫除只讀存儲器(fperom-flash programable and erasable read only memory )的低電壓,高性能comos8的微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令
8、集和輸出管腳相兼容。stc89c52具體介紹如下: 主電源引腳(2根)vcc(pin40):電源輸入,接5v電源gnd(pin20):接地線外接晶振引腳(2根)xtal1(pin19):片內(nèi)振蕩電路的輸入端xtal2(pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)rst/vpp(pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。ale/prog(pin30):地址鎖存允許信號psen(pin29):外部存儲器讀選通信號ea/vpp(pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令??删幊梯斎?輸出引腳(32根)st
9、c89c52單片機(jī)有4組8位的可編程i/o口,分別位p0、p1、p2、p3口,每個(gè)口有8位(8根引腳),共32根。p0口(pin39pin32):8位雙向i/o口線,名稱為p0.0p0.7p1口(pin1pin8):8位準(zhǔn)雙向i/o口線,名稱為p1.0p1.7 p2口(pin21pin28):8位準(zhǔn)雙向i/o口線,名稱為p2.0p2.7 p3口(pin10pin17):8位準(zhǔn)雙向i/o口線,名稱為p3.0p3.7stc89c52主要功能如表二所示。表二 stc89c52主要功能主要功能特性兼容mcs51指令系統(tǒng)8k可反復(fù)擦寫flash rom32個(gè)雙向i/o口256x8bit內(nèi)部ram3個(gè)16
10、位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24mhz2個(gè)串行中斷可編程uart串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能3 輸入鍵盤由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成,與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多i/o口。本設(shè)計(jì)中使用的這個(gè)4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比如清空顯示功能等。鍵盤的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置。其原理圖如下:圖二 矩陣鍵盤每一條水平(行線)與垂直線(列線)的交叉處不相通,
11、而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要n條行線和m條列線,即可組成具有nm個(gè)按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個(gè)按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。對照圖四所示的44鍵盤,說明線反轉(zhuǎn)法工作原理:首先辨別鍵盤中有無鍵按下,有單片機(jī)i/o口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00h,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器a中。如果有按鍵按下,總會有一根行線電平被拉至低
12、電平從而使行線不全為1。判斷鍵盤中哪一個(gè)鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。圖三 按鍵操作面板示意圖(順序以實(shí)際電路為準(zhǔn))10個(gè)數(shù)字鍵用來輸入密碼,0鍵有切換模式的功能,另外6個(gè)功能鍵分別是:權(quán)限鍵、退出鍵、清零鍵、開啟鍵、刪除鍵、確定鍵。其中權(quán)限鍵的功能是設(shè)置密碼修改權(quán)限,只有管理員可以登錄修改密碼。退出鍵的功能是退出當(dāng)前程序。清零鍵鍵的功能是當(dāng)前輸入數(shù)據(jù)清零。開啟鍵的功能是退出屏幕保護(hù)界面,開啟lcd顯示功能
13、:未按下時(shí)lcd動態(tài)顯示屏保圖形,需要開鎖時(shí)按下此鍵,lcd上會顯示“hello enter your code”。未輸入密碼時(shí),單獨(dú)按下0鍵具有切換模式功能,密碼輸入后0作為數(shù)字鍵。4 lcd液晶顯示為了提高密碼鎖的密碼顯示效果能力。本設(shè)計(jì)的顯示部分由液晶顯示器lcd1602取代普通的數(shù)碼管來完成。只有按下鍵盤上的開啟按鍵后,顯示器才處于開啟狀態(tài)。同理只有按下退出按鍵后顯示器才處于屏保狀態(tài)。否則顯示器將一直處于開啟狀態(tài),當(dāng)需要對密碼鎖進(jìn)行開鎖時(shí),按下鍵盤上的開啟按鍵后利用鍵盤上的數(shù)字鍵09輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*(設(shè)定為6個(gè))。當(dāng)密碼輸入完成
14、時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話, lcd上顯示“successfully lock is opened”,單片機(jī)其中p3.1引角會輸出低電平,使三極管q1導(dǎo)通,電磁鐵吸合,電子密碼鎖被打開,如果密碼不正確,lcd顯示屏?xí)@示“code error”,p3.1輸出的是高電平,電子密碼鎖不能被打開。若連續(xù)三次密碼輸入錯(cuò)誤,則密碼所被鎖定,lcd上顯示“please wait.”。若密碼修改太簡單,則顯示“code is too simple”。若輸入的密碼大于原密碼,則lcd上顯示“l(fā)arge”,若輸入的密碼小于原密碼,lcd上顯示“small”。通過lcd顯示屏,可以清楚的判斷出鎖所處的
15、狀態(tài)。其顯示部分引腳接口如圖六所示:圖四 顯示電路原理圖5 isd1760語音提示 本設(shè)計(jì)采用isd760單片60秒高保真語音錄放電路進(jìn)行語音操作,實(shí)時(shí)提示當(dāng)前狀態(tài)。當(dāng)密碼連續(xù)輸入3次錯(cuò)誤之后語音芯片給出語音提示“連續(xù)3次密碼輸入錯(cuò)誤,鍵盤已鎖定”。語音電路如圖:圖五 語音電路原理圖6 蜂鳴器發(fā)聲報(bào)警模塊由蜂鳴器和單片機(jī)組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)約需要100ma驅(qū)動電流。蜂鳴器電路如圖七所示。當(dāng)89c52的p3.1口輸出為低電平時(shí),蜂鳴器產(chǎn)生蜂鳴音,89c52輸出為高電平時(shí),蜂鳴器不發(fā)聲。圖六 報(bào)警電路原理圖第三部分 軟件設(shè)計(jì)部分一程序流程圖圖七 程序流程圖二鍵盤掃描設(shè)計(jì)鍵
16、盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。主要程序如下:uchar keyscan(void) /鍵盤掃描函數(shù),使用行列逐級掃描法 uchar val; keyport=0xf0; /高四位置高,低四位拉低 if(keyport!=0xf0) /表示有按鍵按下 delay(10); /去抖if(keyport!=0xf0) /表示有按鍵按下 keyport=0xfe; /檢測第一行if(keyport!=0xfe) val=keyport&0xf0; val+=0x0e; while(keyport!=0xf
17、e); delay(10); /去抖 while(keyport!=0xfe); return val; keyport=0xfd; /檢測第二行if(keyport!=0xfd) val=keyport&0xf0; val+=0x0d; while(keyport!=0xfd); delay(10); /去抖 while(keyport!=0xfd); return val; keyport=0xfb; /檢測第三行if(keyport!=0xfb) val=keyport&0xf0; val+=0x0b; while(keyport!=0xfb); delay(10); /去抖 while
18、(keyport!=0xfb); return val; keyport=0xf7; /檢測第四行if(keyport!=0xf7) val=keyport&0xf0; val+=0x07; while(keyport!=0xf7); delay(10); /去抖 while(keyport!=0xf7); return val; return 0xff;/*按鍵值處理函數(shù),返回掃鍵值*/uchar keypro(void) switch(keyscan() case 0xee:return 1;break;/1按下相應(yīng)的鍵顯示相對應(yīng)的碼值 case 0xde:return 2;break;/
19、2 case 0xbe:return 3;break;/3 case 0xed:return 4;break;/4 case 0xdd:return 5;break;/5 case 0xbd:return 6;break;/6 case 0xeb:return 7;break;/7 case 0xdb:return 8;break;/8 case 0xbb:return 9;break;/9 case 0xe7:return 10;break;/刪除 case 0xd7:return 0;break;/0模式 case 0xb7:return 11;break;/確定 case 0x7e:re
20、turn 13;break;/開啟 case 0x7d:return 14;break;/清零 case 0x7b:return 15;break;/退出 case 0x77:return 16;break;/權(quán)限 default:return 12;break; 三液晶顯示設(shè)計(jì)由于是顯示數(shù)據(jù),所以就要用到如下幾個(gè)顯示子程序,分別是:開鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后的提示子程序。密碼在規(guī)定的時(shí)間內(nèi)輸入錯(cuò)誤次數(shù)超過3次后的鎖定狀態(tài)顯示子程序,輸入密碼錯(cuò)誤的情況下清除密碼子程序等。動態(tài)顯示主要程序:void delay_gd(int ms) / 延時(shí)子程序 int
21、i; while(ms-) for(i = 0; i0)w_cht(miao); else tr1=0;/*顯示部分*/void display1(uchar *tab) uchar i; write_com(0x80); for(i=0;i16;i+) write_date(*tab); tab+;void display2(uchar *tab) uchar i; write_com(0x80+0x40); for(i=0;i8); isd_senddata(endadr&0x00ff); isd_senddata(endadr8); isd_senddata(0x00); ss=1; i
22、sd_senddata(0x05);/rd_status 狀態(tài)寄存器 isd_senddata(0x00); statu=isd_senddata(0x00); ss=1; while(statu&0x04)=0x04) isd_senddata(0x05);/rd_status 狀態(tài)寄存器 isd_senddata(0x00); statu=isd_senddata(0x00); ss=1; isd_senddata(0x07);/pd 掉電 isd_senddata(0x00); ss=1; /*功 能: 發(fā)送數(shù)據(jù) 返回接收數(shù)據(jù) uchar isd_senddata(uchar buf_i
23、sd) uchar i,dat=buf_isd; sclk=1; ss=0; for(i=0;i=1; if(miso) dat|=0x80; sclk=1; i_delay(); mosi=0; return(dat); 五蜂鳴器發(fā)聲設(shè)計(jì)蜂鳴器的工作原理蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動它,單片機(jī) io 引腳輸出的電流較小,單片機(jī)輸出的 ttl 電平基本上驅(qū)動不了蜂鳴器,因此需要增加一個(gè)電流放大的電路,一多半采取一個(gè)三極管來放大驅(qū)動蜂鳴器。蜂鳴器的正極接到 q1 的集電極 c 極上面,蜂鳴器的負(fù)極地,三極管發(fā)射極 e 極接電源
24、vcc,基極 b 經(jīng)過限流電阻 r33 后由單片機(jī)的p3.1引腳控制,當(dāng)p3.1輸出高電平時(shí),三極管 t1 截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)p3.1輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制p3.1腳的電平來使蜂鳴器發(fā)出聲音和關(guān)閉聲音。程序中改變單片機(jī)p3.1引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色音調(diào)的聲音,另外改變p3.1輸出電平的高低電平占空比則可以控制蜂鳴器的聲音大小。蜂鳴器簡單發(fā)聲程序:void beep_( uint frq,uint time) uint tt1,tt2; for(tt1=time;tt1
25、0;tt1-) beep=0; for(tt2=frq;tt20;tt2-); beep=1; for(tt2=frq;tt20;tt2-); 蜂鳴器播放歌曲首先,蜂鳴器按其結(jié)構(gòu)可分為兩種蜂鳴器:壓電式、電磁式。有源蜂鳴器內(nèi)部帶振蕩源,無源蜂鳴器內(nèi)部不帶振蕩源。這里所說的“源”不是指“電源”,而是指“振蕩源”。 有源蜂鳴器直接接上額定電源就可連續(xù)發(fā)聲;而無源的需要在其供電端上加上高低不斷變化的電信號才可以驅(qū)動發(fā)出聲音。對于無源的我們可以先讓 buzz=1 接著延時(shí)一小段時(shí)間,在又關(guān)閉 buzz(即 buzz=0);這樣才能聽到連續(xù)變化的聲音。蜂鳴器播放歌曲程序:unsigned char ti
26、mer0h, timer0l, time;/-/單片機(jī)晶振采用12mhz/頻率-半周期數(shù)據(jù)表 高八位 本軟件共保存了四個(gè)八度的28個(gè)頻率數(shù)據(jù)code unsigned char freqh = 0xf2, 0xf3, 0xf5, 0xf5, 0xf6, 0xf7, 0xf8, /低音1234567 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc,/1,2,3,4,5,6,7,i 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, /高音 234567 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf
27、f; /超高音 1234567/頻率-半周期數(shù)據(jù)表 低八位code unsigned char freql = 0x42, 0xc1, 0x17, 0xb6, 0xd0, 0xd1, 0xb6, /低音1234567 0x21, 0xe1, 0x8c, 0xd8, 0x68, 0xe9, 0x5b, 0x8f,/1,2,3,4,5,6,7,i 0xee, 0x44, 0x6b, 0xb4, 0xf4, 0x2d, /高音 234567 0x47, 0x77, 0xa2, 0xb6, 0xda, 0xfa, 0x16; /超高音 1234567/-/世上只有媽媽好 數(shù)據(jù)表 要想演奏不同的樂曲,
28、只需要修改這個(gè)數(shù)據(jù)表code unsigned char sszymmh5 = 6, 2, 3, 5, 2, 1, 3, 2, 2, 5, 2, 2, 1, 3, 2, 6, 2, 1, 5, 2, 1, 6, 2, 4, 3, 2, 2, 5, 2, 1, 6, 2, 1, 5, 2, 2, 3, 2, 2, 1, 2, 1, 6, 1, 1, 5, 2, 1, 3, 2, 1, 2, 2, 4, 2, 2, 3, 3, 2, 1, 5, 2, 2, 5, 2, 1, 6, 2, 1, 3, 2, 2, 2, 2, 2, 1, 2, 4,5, 2, 3, 3, 2, 1, 2, 2, 1,
29、1, 2, 1, 6, 1, 1, 1, 2, 1, 5, 1, 6, 0, 0, 0; /-/可惜不是你 數(shù)據(jù)表code unsigned char sszymmh1 = 6,2,1, 5,3,1, 3,3,1, 1,3,1, 2,3,1, 2,3,4,5,2,1, 5,3,1, 3,3,1, 5,2,1, 1,3,1, 1,3,4,6,2,1, 5,3,1, 3,3,1, 1,3,1, 7,2,2, 7,2,1, 1,3,1, 2,3,1,4,3,3, 3,3,1, 3,3,1, 3,3,4,0, 0, 0; /-/北京歡迎你 數(shù)據(jù)表code unsigned char sszymmh2
30、= 3,2,2, 5,2,2, 1,3,1, 5,2,1, 6,2,2, 6,2,1, 5,2,1, 3,2,1, 3,2,1, 5,2,1, 5,2,4, 3,2,1, 5,2,1, 6,2,1, 1,3,1, 2,3,1, 1,3,1, 5,2,1, 3,2,1, 2,2,1, 5,2,1, 3,2,1, 3,2,1, 3,2,2,0, 0, 0; /-/送別 數(shù)據(jù)表code unsigned char sszymmh3 = 5,2,2, 3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,1, 6,2,1, 5,2,4,5,2,2, 1,2,1, 2,2,1, 3,2,2,2
31、,2,1, 1,2,1, 2,2,4,0,0,0; /-/中國人 數(shù)據(jù)表code unsigned char sszymmh4 = 6,2,3, 1,3,1, 6,2,1, 5,2,1, 6,2,3, 1,3,1, 6,2,1, 5,2,1,6,2,1, 5,2,1, 6,2,1, 5,2,1, 3,2,4,6,2,2, 6,2,1, 5,2,1, 3,2,1, 2,2,1, 3,2,1, 5,2,1, 1,3,1, 7,2,1, 6,2,1, 5,2,1, 6,2,4,1,3,2, 7,2,2, 6,2,2, 5,2,2, 6,2,8, 0, 0, 0; /報(bào)警 數(shù)據(jù)表code unsign
32、ed char sszymmh6 = 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1,0, 0, 0; /-void t0int() interrupt 1 /t0中斷程序,控制發(fā)音的音調(diào) tr0=0; /先關(guān)閉t0 beep=!beep; /輸出方波, 發(fā)音 th0=timer0h; /下次的中斷時(shí)間, 這個(gè)時(shí)間, 控制音調(diào)高低 tl0=timer0l; tr0=1; /啟動t0/-void delay_fmq(unsigned char t) /延時(shí)程序,控制發(fā)音的時(shí)間長度
33、 unsigned char t1; unsigned long t2;/t=t*2; for(t1=0;t1t;t1+) /雙重循環(huán), 共延時(shí)t個(gè)半拍 for(t2=0;t28000;t2+); /延時(shí)期間, 可進(jìn)入t0中斷去發(fā)音 tr0=0; /關(guān)閉t0, 停止發(fā)音/-void song() /演奏一個(gè)音符 th0=timer0h; /控制音調(diào) tl0=timer0l; tr0=1; /啟動t0, 由t0輸出方波去發(fā)音 delay_fmq(time); /控制時(shí)間長度/-void play_fmq(unsigned char *sszymmh) unsigned char k, i; tm
34、od=1; /置t0定時(shí)工作方式1 et0=1; /開t0中斷 ea=1; /開cpu中斷 beep=0; i=0; time=1; while(time) k=sszymmhi+7*sszymmhi+1-1;/第i個(gè)是音符, 第i+1個(gè)是第幾個(gè)八度 timer0h=freqhk; /從數(shù)據(jù)表中讀出頻率數(shù)值 timer0l=freqlk; /實(shí)際上, 是定時(shí)的時(shí)間長度 time=sszymmhi+2; /讀出時(shí)間長度數(shù)值 i+=3; song(); /發(fā)出一個(gè)音符 beep=1; 第四部分 調(diào)試報(bào)告一硬件調(diào)試1.利用altium designer畫好相應(yīng)的硬件連接圖,并用proteus仿真部分
35、電路,整體布局,并焊接。2.用萬用表對電路進(jìn)行測試,排除斷路、短路(虛焊、漏焊等)等故障。3.通過wavek51/l仿真器對電子密碼鎖進(jìn)行仿真調(diào)試,發(fā)現(xiàn)部分功能不能實(shí)現(xiàn),經(jīng)分析檢查排除部分引腳錯(cuò)接的錯(cuò)誤,漏掉元件的可能。4.電路板上電后,通過觀察指示燈的情況、測量各個(gè)管腳的電平值,判斷硬件電路是否存在各種缺陷。二軟件調(diào)試1.通過用wavek51/l仿真器對電子密碼瑣進(jìn)行仿真調(diào)試,發(fā)現(xiàn)部分功能不能實(shí)現(xiàn),經(jīng)分析并重新檢查單片機(jī)程序,發(fā)現(xiàn)了部分程序漏洞和錯(cuò)誤并及時(shí)排除。2.通過用wavek51/l仿真器對電子密碼鎖進(jìn)行仿真調(diào)試,發(fā)現(xiàn)蜂鳴器不能在執(zhí)行子程序的時(shí)候不能正確發(fā)出響聲以及l(fā)cd亮滅不準(zhǔn)確。從
36、實(shí)際應(yīng)用的角度出發(fā),我們經(jīng)過多次試驗(yàn),調(diào)整了程序中的部分有關(guān)lcd的程序賦值,并重新修改了蜂鳴器的電路。從了達(dá)到了實(shí)際應(yīng)用的最佳效果。三調(diào)試心得 設(shè)計(jì)的成功是通過不斷檢查硬件電路,不斷修改程序來達(dá)到的。要確保設(shè)計(jì)后的成品經(jīng)得住檢驗(yàn),就必須要保證程序有很好的容錯(cuò)功能。 在設(shè)計(jì)過程中,我們先后利用altium designer畫原理圖,proteus仿真,并用keil軟件調(diào)試程序。在整個(gè)過程中,我們進(jìn)一步深刻地學(xué)習(xí)各種軟件的利用以及各種軟件給我們帶來的便利。proteus可以在沒有實(shí)物的情況下進(jìn)行仿真進(jìn)行程序的檢查,看是否可以實(shí)現(xiàn)功能。 本次設(shè)計(jì)中,我們遇到過很多的困難。但是,我們通過上網(wǎng)搜集資料,詢問請教他人漸漸地解決了各種困難,收獲很多。這在另一方面也說明,我們在知識上還存在很多的漏洞和疑惑,需要進(jìn)一步的改進(jìn)!總結(jié)為期四周的電子綜合設(shè)計(jì)實(shí)習(xí),在老師的指
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商品房預(yù)售抵押合同
- 筒倉鋼管樓梯施工方案
- 變壓器采購合同采購合同
- 商鋪物業(yè)服務(wù)合同
- 酒店裝修改造施工方案
- 外墻面鋁鋼板加固施工方案
- 2025屆甘肅省蘭州市部分學(xué)校高三一模地理試題(原卷版+解析版)
- 計(jì)劃生育手術(shù)器械項(xiàng)目風(fēng)險(xiǎn)識別與評估綜合報(bào)告
- 2025年人力資源制度:04 -藝人簽約合同書
- 2025年陜西國防工業(yè)職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫學(xué)生專用
- 2025年浙江寧波市奉化區(qū)農(nóng)商控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年中考百日誓師大會校長發(fā)言稿:激揚(yáng)青春志 決勝中考時(shí)
- YY/T 1860.1-2024無源外科植入物植入物涂層第1部分:通用要求
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 上海浦東新區(qū)2024-2025高三上學(xué)期期末教學(xué)質(zhì)量檢測(一模)物理試卷(解析版)
- 人教版高中物理選擇性必修第二冊電磁波的發(fā)射與接收課件
- 2025河南中煙工業(yè)限責(zé)任公司一線崗位招聘128人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 《建筑冷熱源》全冊配套最完整課件1
- 廣州2025年廣東廣州市番禺區(qū)小谷圍街道辦事處下屬事業(yè)單位招聘5人筆試歷年參考題庫附帶答案詳解
- 2025年春新人教版生物七年級下冊全冊教學(xué)課件
評論
0/150
提交評論