單片機(jī)任務(wù)書_第1頁
單片機(jī)任務(wù)書_第2頁
單片機(jī)任務(wù)書_第3頁
單片機(jī)任務(wù)書_第4頁
單片機(jī)任務(wù)書_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)系統(tǒng)課程設(shè)計(jì)單片機(jī)系統(tǒng)課程設(shè)計(jì)成績評定表設(shè)計(jì)課題:基于89C51的電子密碼鎖設(shè)計(jì)學(xué)院名稱:電氣工程學(xué)院專業(yè)班級:自動F1202學(xué)生姓名:張春雷學(xué)號:201223910418指導(dǎo)教師:李攀峰設(shè)計(jì)地點(diǎn):31-517設(shè)計(jì)時間:2014-12-29~2015-01-09指導(dǎo)教師意見:成績:簽名:年月日單片機(jī)系統(tǒng)課程設(shè)計(jì)課程設(shè)計(jì)名稱:基于89C51 的電子密碼鎖設(shè)計(jì)專業(yè)班級:自動F1202學(xué)生姓名:張春雷學(xué)號:201223910418指導(dǎo)教師:李攀峰課程設(shè)計(jì)地點(diǎn):31-517課程設(shè)計(jì)時間:2014-12-29~2015-01-09單片機(jī)系統(tǒng)課程設(shè)計(jì)任務(wù)書學(xué)生姓名張春雷專業(yè)班級自動F1202學(xué)號201223910418題目基于89C51的電子密碼鎖設(shè)計(jì)課題性質(zhì)工程設(shè)計(jì)課題來源自擬指導(dǎo)教師李攀峰主要內(nèi)容(參數(shù))基于AT89C51的電子密碼鎖,具有按鍵提示、密碼顯示、密碼出錯報(bào)警、控制開鎖等功能,具體功能如下:密碼輸入:用戶通過鍵盤輸入正確的密碼后,系統(tǒng)自動鎖。提示報(bào)警:系統(tǒng)使用不同的聲音作為用戶不同操作的提示。數(shù)碼管顯示:系統(tǒng)使用6位字符表示有關(guān)信息。電子鎖控制:當(dāng)用戶輸入正確密碼后,系統(tǒng)開鎖;否則,系統(tǒng)閉鎖。任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫程序。第7-8天:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計(jì)正確,篇幅合理。主要參考資料[1]張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)[M].北京:國防工業(yè)出版社,2004[2]偉福LAB6000系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)使用說明書[3]閻石.?dāng)?shù)字電路技術(shù)基礎(chǔ)(第五版).北京:高等教育出版社,2006審查意見系(教研室)主任簽字:年月日目錄1緒論 41.1 電子密碼鎖概述 41.2 設(shè)計(jì)思路及功能 42 總體方案設(shè)計(jì) 53 硬件電路設(shè)計(jì) 63.1 電源電路設(shè)計(jì) 63.2 鍵盤電路設(shè)計(jì) 73.3 顯示器電路設(shè)計(jì) 83.4 報(bào)警電路設(shè)計(jì) 93.5 電子鎖控制電路設(shè)計(jì) 103.6 單片機(jī)電路設(shè)計(jì) 104 軟件電路設(shè)計(jì) 114.1 系統(tǒng)主程序設(shè)計(jì) 124.2 顯示子程序設(shè)計(jì) 134.3 報(bào)警子程序設(shè)計(jì) 134.4 鍵盤子程序設(shè)計(jì) 135 調(diào)試 155.1 硬件調(diào)試 155.2 軟件調(diào)試 156 總結(jié) 167 參考文獻(xiàn) 178 附錄 188.1 附錄1源程序 188.2 附錄2電路圖 251緒論電子密碼鎖概述隨著科技的發(fā)展和社會生活水平的提高,人們對日常生活中安全保險(xiǎn)器件的要求越來越高,電子安全密碼鎖是基于這一要求的保險(xiǎn)器件。目前使用的密碼鎖種類繁多,如指紋密碼鎖、紅外密碼鎖、GPS密碼鎖等,各具特色。著社會科技的進(jìn)步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,不同磁場,不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來控制鎖的開啟當(dāng)今安全信息系統(tǒng)應(yīng)用越來越廣泛,特別在保護(hù)機(jī)密、維護(hù)隱私和財(cái)產(chǎn)保護(hù)方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實(shí)意義。電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個人資料的保存等多種場合使用。設(shè)計(jì)思路及功能基于AT89C51單片機(jī)的電子密碼鎖,它具有按鍵提示、輸入錯誤提示、密碼顯示、密碼出錯報(bào)警、控制開鎖等功能,具體功能如下:密碼輸入:用戶通過鍵盤輸入正確的密碼后,系統(tǒng)自動鎖。提示報(bào)警:系統(tǒng)使用不同的聲音作為用戶不同操作的提示。短叫一聲表示有按鍵輸入,長叫一聲表示密碼正確,長叫5s表示密碼錯誤,長叫3min表示連續(xù)5次密碼出錯。數(shù)碼管顯示:系統(tǒng)使用6位字符白哦是有關(guān)信息。第一個字符表示功能,P表示等待用戶輸入開鎖密碼;O表示系統(tǒng)已經(jīng)開鎖;顯示A表示密碼多次出錯告警。電子鎖控制:當(dāng)用戶輸入正確的密碼后,系統(tǒng)開鎖;否則系統(tǒng)閉鎖,當(dāng)系統(tǒng)處于開鎖狀態(tài)時,可以通過按鍵操作,使系統(tǒng)閉鎖。 總體方案設(shè)計(jì)根據(jù)功能介紹,密碼鎖系統(tǒng)要完成用戶密碼輸入、顯示和控制報(bào)警3大功能,因此可分為鍵盤模塊、顯示模塊、報(bào)警模塊、電子鎖控制模塊、電源模塊和單片機(jī)模塊。系統(tǒng)模塊圖如圖2.1所示。圖2.1系統(tǒng)模塊圖各模塊設(shè)計(jì)思路如下:用戶通過鍵盤模塊輸入密碼和其他功能。密碼鍵有10個,功能鍵有3個,一共需要13個按鍵。因此,系統(tǒng)鍵盤采用4x4行列式鍵盤,可安裝16個按鍵,能夠滿足需要。系統(tǒng)只需要顯示0~9共10個數(shù)字和若干字符,不用顯示漢字等信息,所以采用6位LED數(shù)碼管顯示器。第一個數(shù)碼管用來顯示功能字符,其余5位用于顯示密碼。為了簡化電路設(shè)計(jì),系統(tǒng)采用動態(tài)顯示方法。報(bào)警模塊用來產(chǎn)生報(bào)警或提示聲音,可以有蜂鳴器構(gòu)成。電子鎖控制模塊用于控制開鎖或閉鎖。系統(tǒng)通過繼電器控制電子鎖,方便用戶使用。本設(shè)計(jì)電子所部分采用發(fā)光二極管代替,當(dāng)發(fā)光二極管亮,表示系統(tǒng)閉鎖;當(dāng)發(fā)光二級光滅,表示系統(tǒng)閉鎖。單片機(jī)模塊采用AT89C51,用于接收鍵盤輸入、控制顯示、報(bào)警、電子鎖等模塊。電源部分接收外部9v輸入,產(chǎn)生5v輸出,為單片機(jī)及其他模塊供電。硬件電路設(shè)計(jì)根據(jù)系統(tǒng)各模塊的功能,選擇合適的集成電路芯片,然后就可進(jìn)行硬件電路設(shè)計(jì)。密碼鎖硬件電路較為簡單,按照系統(tǒng)功能模塊分為電源電路、顯示電路、報(bào)警電路、電子鎖電路及單片機(jī)電路。單片機(jī)電路是主控電路,接收鍵盤電路的按鍵輸入,并送顯示電路顯示;根據(jù)輸入的按鍵,控制報(bào)警電路是否報(bào)警及電子鎖電路的開、閉鎖。下面對個電路逐一加以介紹。電源電路設(shè)計(jì)整個電路的芯片使用5v電壓,所以電源電路將外部9v的輸入電壓,穩(wěn)壓后形成5v電壓供系統(tǒng)使用。穩(wěn)壓芯片種類繁多,系統(tǒng)采用線性穩(wěn)壓芯片LM7805CT。LM7805CT是美國國家半導(dǎo)體公司生產(chǎn)的降壓式三端穩(wěn)壓芯片,輸入電壓范圍是7.5~30v,最大輸出電流為1A,內(nèi)部有過熱、短路保護(hù)電路,需要較少的外接元件,方便使用。整個系統(tǒng)需要電流不大,系統(tǒng)電源電路圖如圖3.1所示。圖3.1系統(tǒng)電源電路圖說明:外部9v電源通過二極管D2接LM7805的1號腳,+5v電源通過3號腳輸出,2號腳是地引腳。輸入端和輸出端通常接兩個電容,一個大電容用于低頻濾波,一個小電容用于高頻濾波。本設(shè)計(jì)C5、C4采用電解電容,容量是25v/100uF。C6、C7采用0.1uF的獨(dú)石電容。D2用于防止外接電源極性接反。J1用于制作PCB板時預(yù)留電源接線端子。鍵盤電路設(shè)計(jì)按鍵模塊采用4x4行列矩陣結(jié)構(gòu),由4條行線和4條列線構(gòu)成。行線和列線共有你16個交叉點(diǎn),每個交叉點(diǎn)可放置一個按鍵,這樣共可放置16個按鍵。按鍵電路圖如圖3.2所示。圖3.2按鍵電路圖說明:KEYL0-KEYL3是行線,分別接單片機(jī)的P2.0~P2.3;KEYR0~KEYR3是列線,分別接單片機(jī)的P2.4~P2.7。軟件編程采用線反轉(zhuǎn)法,但是該方法要求行線和列線都要有上拉電阻。由于8C51單片機(jī)的P2口內(nèi)部集成上拉電阻,所以系統(tǒng)未加。S1~S10分別表示0~9數(shù)字鍵,S14表示退格鍵,S15表示閉鎖鍵,S16表示確認(rèn)鍵。線反轉(zhuǎn)個工作原理。首先辨別鍵盤中有無鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個鍵。顯示器電路設(shè)計(jì)顯示電路由6個共陽極LED數(shù)碼管構(gòu)成。軟件編程時,采用動態(tài)顯示的方法,顯示電路圖如圖3.3所示。圖3.3顯示電路圖說明:系統(tǒng)使用PNP三極管Q1~Q6控制LED數(shù)碼管輪流點(diǎn)亮。由于單片機(jī)復(fù)位期間,I/O引腳輸出高電平,使用PNP三極管可避免在復(fù)位時顯示亂碼。R1~R6是三極管的基極電阻,取值1kΩ,R8~R15是LED數(shù)碼管的限流電阻,取值320Ω.系統(tǒng)使用74LS07驅(qū)動LED數(shù)碼管。由于有8個引腳要驅(qū)動,每個74LS07能驅(qū)動6個,所以系統(tǒng)使用2片74LS07(U2,U3)。動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。報(bào)警電路設(shè)計(jì)報(bào)警電路主要由PNP三極管和蜂鳴器構(gòu)成。報(bào)警電路圖如圖3.4所示。圖3.4報(bào)警電路圖LS1是一個5v的壓電蜂鳴器,當(dāng)對其1、2號引腳施加5v電壓時,便會鳴叫。由圖3.4可知,當(dāng)ALARMCON輸出低電平時,三極管Q7飽和導(dǎo)通,蜂鳴器響;輸出高電平時,Q7截止,蜂鳴器停止鳴叫。通過控制ALARMCON輸出低電平的時間長短來控制蜂鳴器長叫或短叫。蜂鳴器在此設(shè)計(jì)主要是為了提供按鍵提醒,通過一個三極管來提供驅(qū)動,蜂鳴器一端接高電平,一端接三極管的發(fā)射極,三極管的基極通過一個電阻接I/O口的P2.3,集電極接地。當(dāng)P2.3口送出低電平時,三極管接通,蜂鳴器接通,發(fā)出響聲。電子鎖控制電路設(shè)計(jì)電子鎖控制電路主要由繼電器、三極管和發(fā)光二極管組成。電子鎖控制電路如圖3.5所示。圖3.5電子鎖控制電路繼電器線圈的一個接線端接VCC,另一端接NPN三極管Q8的集電極。Q8的基極通過電阻R17接單片機(jī)的引腳。當(dāng)LOCKCON輸出高電平時,Q8導(dǎo)通,繼電器線圈得點(diǎn),觸點(diǎn)閉合,DS1發(fā)光,相當(dāng)于電子鎖閉鎖;當(dāng)LOCKCON輸出低電平時,Q8截止,繼電器線圈失電,觸點(diǎn)釋放,DS1熄滅,相當(dāng)于電子鎖開鎖。D1是線圈的續(xù)流二極管,為感應(yīng)電動勢提供回路,以免損壞三極管。單片機(jī)電路設(shè)計(jì)單片機(jī)電路主要由單片機(jī)、振蕩電路和復(fù)位電路組成,電路圖如圖3.6所示。AT89C51的P0口用于輸出顯示器段碼。P1口的P1.1~P1.5用于控制LED0~LED5的亮滅。P2口用于構(gòu)成行列矩陣鍵盤。P3.3用于控制蜂鳴器的鳴叫。P3.5用于控制電子鎖的開閉。31號引腳接VCC,使得單片機(jī)執(zhí)行片內(nèi)程序。軟件電路設(shè)計(jì)軟件設(shè)計(jì)主要是對鍵盤進(jìn)行掃描,根據(jù)按鍵控制報(bào)警電路、電子鎖電路,并將結(jié)果顯示。因此,整個軟件分為按鍵子程序、顯示子程序、報(bào)警子程序、電子鎖控制子程序及主程序。按鍵子程序針對硬件電路中的按鍵電路,掃描鍵盤返回用戶按鍵值。顯示子程序針對硬件電路中的顯示電路,實(shí)現(xiàn)數(shù)據(jù)的顯示。報(bào)警子程序針對硬件電路中的報(bào)警電路,實(shí)現(xiàn)蜂鳴器鳴叫。電子鎖控制子程序針對硬件電路中的電子鎖控制電路,通過控制繼電器通斷實(shí)現(xiàn)LED的亮滅。主程序通過調(diào)用各個子程序,實(shí)現(xiàn)系統(tǒng)功能。系統(tǒng)主程序設(shè)計(jì)函數(shù)main是系統(tǒng)主程序,調(diào)用其他子程序?qū)崿F(xiàn)系統(tǒng)功能。主程序流程圖如圖4.1所示。函數(shù)main調(diào)用Ini_System對系統(tǒng)進(jìn)行初始化,其后程序是一個無限循環(huán)程序。在循環(huán)體中,當(dāng)TimerBit值為1時,即每隔20ms執(zhí)行一次顯示、報(bào)警、按鍵掃描、按鍵處理等子程序。圖4.1主程序流程圖顯示子程序設(shè)計(jì)顯示子程序通過控制LED數(shù)碼管電路顯示DispBuf[]緩沖區(qū)的內(nèi)容,主要包括填充子程序和顯示子程序。填充子程序負(fù)責(zé)將顯示內(nèi)容寫入DispBuf、PassInBuf緩沖區(qū)中,分為以下幾個子程序。函數(shù)Fill_Buf:使用特定字符填充DispBuf、PassInBuf。函數(shù)Fill_Buf_P:將系統(tǒng)閉鎖時的顯示信息寫入緩沖區(qū)。函數(shù)Fill_Buf_O:將系統(tǒng)開鎖時的顯示信息寫入緩沖區(qū)。函數(shù)Fill_Buf_A:將系統(tǒng)報(bào)警時的顯示信息寫入緩沖區(qū)。填充區(qū)子程序顯示信息填好后,由緩沖區(qū)顯示子程序通過LED數(shù)碼管將其顯示,主要包括以下主程序。函數(shù)Disp_led_Sin:在某個LED數(shù)碼管上顯示一個字符。函數(shù)Disp_led_OFF:關(guān)閉數(shù)碼管顯示。函數(shù)Disp_led_ALL:將DispBuf緩沖區(qū)的內(nèi)容顯示。具體程序請查看附錄1.報(bào)警子程序設(shè)計(jì)報(bào)警子程序通過控制蜂鳴器鳴叫,實(shí)現(xiàn)按鍵提示音及密碼鎖錯誤報(bào)警提示音,包括以下子程序。函數(shù)Sys_Speaker:設(shè)置報(bào)警時間及報(bào)警標(biāo)志位。函數(shù)Sys_Alarm:控制蜂鳴器鳴叫。具體程序請參照附錄1.鍵盤子程序設(shè)計(jì)按鍵檢測子程序負(fù)責(zé)掃描鍵盤,生成按鍵值以及按鍵去抖動等操作,由以下函數(shù)構(gòu)成。函數(shù)Find_Key:掃描一次鍵盤返回按鍵值。函數(shù)Scan_Key:負(fù)責(zé)按鍵去抖等操作。鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖4.4所示。.圖4.4鍵盤掃描流程圖調(diào)試硬件調(diào)試單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的.許多硬件故障只有通過軟、硬件聯(lián)調(diào)才能發(fā)現(xiàn),但一般是先排除系統(tǒng)中比較明顯的硬件故障后才和軟件一起聯(lián)調(diào)。元器件錯誤元器件錯誤的原因有器件損壞或性能不符合要求,電解電容、二極管的極性接反或集成塊裝反等??煽啃圆顟?yīng)用系統(tǒng)可靠性差的原因很多,如內(nèi)部和外部的干擾、電壓紋波系數(shù)過大、器件負(fù)載過重等均會造成系統(tǒng)的可靠性差。電源故障電源故障包括:電壓值不符合設(shè)計(jì)要求、電源功率不足、負(fù)載能力差、紋波太重等。硬件調(diào)試辦法:脫機(jī)調(diào)試是在加電前,先用萬用表等工具,按圖紙仔細(xì)核對線路是否正確,并對元器件的安裝、型號、規(guī)格等進(jìn)行仔細(xì)檢查,特別是有無走線之間相互短路等。軟件調(diào)試偉福軟件中,在“文件\新建文件”中,新建C語言源程序文件,編寫相應(yīng)的程序。在“文件\新建項(xiàng)目”的菜單中,新建項(xiàng)目并將C語言源程序文件包括在項(xiàng)目文件中。在

“項(xiàng)目\編譯”菜單中將C源文件編譯,檢查語法錯誤及邏輯錯誤。在編譯成功后,產(chǎn)生以

“*.hex”和“*.bin”

后綴的目標(biāo)文件。對于模塊結(jié)構(gòu)程序.要一個個子程序分別調(diào)試。調(diào)試時,一定要符合入口條件和出口條件,調(diào)試可用單步運(yùn)行和斷點(diǎn)運(yùn)行方式,通過檢查用者系統(tǒng)的CPU現(xiàn)場情況、RAM的內(nèi)容和I/O口的狀態(tài),檢測程序執(zhí)行結(jié)果是否符合設(shè)計(jì)要求,有無循環(huán)錯誤、有無機(jī)器碼錯誤以及轉(zhuǎn)移地址的錯誤,同時,還可以發(fā)現(xiàn)系統(tǒng)中存在的硬件設(shè)計(jì)錯誤和軟件算法錯誤。總結(jié)通過對該課題的研究,加深對所學(xué)知識的理解,提高對課外知識的學(xué)習(xí)力增強(qiáng)知識的應(yīng)用能力,提高解決實(shí)際問題的能力,培養(yǎng)自我創(chuàng)新意識。積累實(shí)踐經(jīng)驗(yàn),為以后的發(fā)展打下基礎(chǔ),也為以后我們自己在這方面的發(fā)展打下基礎(chǔ),并能夠在這方面培養(yǎng)自己的興趣在設(shè)計(jì)中我們必須首先熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理,單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù)了解表關(guān)電路參數(shù)的計(jì)算方法。單片機(jī)不是完成某一個邏輯功能的芯片,而是把一個計(jì)算機(jī)系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計(jì)算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。隨著單片機(jī)的廣泛應(yīng)用,將大大促進(jìn)各領(lǐng)域的技術(shù)更新,向自動化、小型化、智能化方向邁進(jìn)。而對于我們來說,我們這代人的目標(biāo)和任務(wù)是把這些高科技產(chǎn)品更升一個層次。參考文獻(xiàn)【1】:張迎新.單片微型計(jì)算機(jī)原理,應(yīng)用及接口技術(shù).北京:國防工業(yè)出版社?!?】:偉福LAB6000系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)使用說明書。

【3】:閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社。附錄附錄1源程序#include

<reg51.h>#include<intrins.h>

#define

uint

unsigned

int

#define

uchar

unsigned

char

sbit

buzzer=P3^0;

sbit

relay=P3^1;

uchar

code

table[2]={0x40,0x00

};

ucharkeyword[4]={1,1,1,1};

uchar

keycmp[4];

uchar

key=0,num=0,flg=0;void

delay(uint

x)

{

uint

i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}void

display()

{

uchar

i,j,cs=0x7f;

for(i=num;i>0;i--)

{

P0=table[0];

cs=_crol_(cs,1);

P2=cs;

delay(10);

}for(j=4-num;j>0;j--)

{

P0=table[1];

cs=_crol_(cs,1);P2=cs;

delay(10);

}

}void

set()

{

num=0;

display();

flg=1;

}//==============================確認(rèn)鍵程序void

ok()

{

uchar

i=0;

display();P0=(flg+1);delay(1000);

if(flg==0)

{

for(i=0;i<4;i++)if(keyword[i]!=keycmp[i])

{alarm();break;}

if(num==4)

{relay=0;num=0;}

}

if(flg==2)

{

num=0;for(i=0;i<4;i++)keyword[i]=keycmp[i];flg=0;}if(flg==1){for(i=0;i<4;i++)if(keyword[i]!=keycmp[i]){alarm();break;}if(num==4){num=0;display();//P0=0x07;delay(1000);flg=2;}}}//==============================鍵盤掃描程序voidkeyscan(){uchartemp1,temp2;P1=0xfe;//令第一列為低電平,檢測第1列temp1=P1;if(temp1!=0xfe){delay(5);//去抖temp2=P1;if(temp1==temp2){switch(temp2){case0xf6:if(num<4){key=1;keycmp[num]=key;num++;display();}elsealarm();break;case0xee:if(num<4){key=4;keycmp[num]=key;num++;display();}elsealarm();break;case0xde:if(num<4){key=7;keycmp[num]=key;num++;display();}elsealarm();break;case0xbe:set();break;}}}while(temp1!=0xfe)temp1=P1;//等待按鍵釋放P1=0xfd;//檢測第2列temp1=P1;if(temp1!=0xfd){delay(5);//去抖temp2=P1;if(temp1==temp2){

switch(temp2)

{

case

0xf5:

if(num<4){key=2;keycmp[num]=key;num++;disp

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論