




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 湖南工程學院課 程 設(shè) 計課程名稱 微機原理與應(yīng)用 課題名稱 智能密碼鎖設(shè)計 專 業(yè) xx 班 級 xx 學 號 xx 姓 名 xx 指導教師 xx 200x 年 x 月 x 日湖南工程學院課 程 設(shè) 計 任 務(wù) 書課程名稱 微機原理與應(yīng)用 課 題 智能密碼鎖設(shè)計 專業(yè)班級 xxxxxxxx 學生姓名 xxx 學 號 xxxxxxxxx 指導老師 xxxxxxxxxxxxxxxxx 審 批 任務(wù)書下達日期 200x 年 x 月 x 日任務(wù)完成日期 200x 年 x 月 x 日設(shè)計內(nèi)容與設(shè)計要求設(shè)計內(nèi)容:1、 密碼的設(shè)定,此密碼是固定在程序存儲器rom中,假設(shè)預(yù)設(shè)的密碼為“12345”共5位密
2、碼。2、 密碼的輸入: 采用兩個按鍵來完成密碼的輸入,其中一個按鍵為功能鍵,另一個按鍵為數(shù)字鍵。在密碼都已經(jīng)輸入完畢并且確認功能鍵之后,才能完成密碼的輸入過程。然后進入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。3、 按鍵禁止功能:初始化時,允許按鍵輸入密碼,當有按鍵按下并開始進入按鍵識別狀態(tài)時,按鍵禁止功能被激活,但啟動的狀態(tài)是在3次密碼輸入不正確的情況下發(fā)生的。設(shè)計要求:1、 設(shè)計方案要合理、正確;2、 系統(tǒng)硬件設(shè)計及焊接制作;3、 系統(tǒng)軟件設(shè)計及調(diào)試;4、 系統(tǒng)聯(lián)調(diào);5、 寫出設(shè)計報告。主 要 設(shè) 計 條 件1、 mcs-51單片機實驗操作臺1臺;2、 pc機及單片機調(diào)試軟件;3、 單片
3、機應(yīng)用系統(tǒng)板1套;4、 制作工具1套;5、 系統(tǒng)設(shè)計所需的元器件。說 明 書 格 式1. 封面2. 課程設(shè)計任務(wù)書3. 目錄4. 系統(tǒng)總體方案設(shè)計5. 系統(tǒng)硬件設(shè)計6. 軟件設(shè)計(包括流程圖)7. 系統(tǒng)的安裝調(diào)試說明8、 總結(jié) 9、參考文獻10、附錄(源程序清單及硬件原理圖等);11、課程設(shè)計成績評分表。 進 度 安 排設(shè)計時間為兩周第一周星期一、上午:布置課題任務(wù),講課及課題介紹 下午:借閱有關(guān)資料,總體方案討論星期二、確定總體設(shè)計方案星期三、硬件模塊方案設(shè)計星期四、軟件模塊方案設(shè)計星期五、設(shè)計及調(diào)試第二周星期一、設(shè)計及調(diào)試星期二、設(shè)計及調(diào)試星期三、總調(diào)星期四、寫說明書星期五、上午:寫說明書
4、,整理資料下午:交設(shè)計資料,答辯參 考 文 獻1、微型計算機原理及應(yīng)用許立梓編 機械工業(yè)出版社 20022、微型計算機接口技術(shù)及應(yīng)用劉樂善編 華中理工大學出版社 2000 3、計算機硬件技術(shù)基礎(chǔ)試驗教程鄒逢興編 高等教育出版社 20004、16位微型計算機原理接口及其應(yīng)用周佩玲編 中國科學技術(shù)大學出版社2000 5、微型計算機原理與接口技術(shù)吳秀清編 中國科學技術(shù)出版社 20016、微型計算機接口技術(shù)鄧亞平編 清華大學出版社 20017、單片機原理及及應(yīng)用王迎旭編 機械工業(yè)出版社 20018、單片機應(yīng)用程序設(shè)計技術(shù) 周航慈 著 北京航空航天大學出版社 20029、單片機實用技術(shù)問答 謝宜仁 主編
5、 人民郵電出版社 2002目 錄第1章 概述 1.1 設(shè)計內(nèi)容 1.2 系統(tǒng)需求分析 1.3 芯片介紹第2章 系統(tǒng)方案設(shè)計 2.1 設(shè)計思路 2.2 硬件電路設(shè)計方案及框圖第3章 硬件設(shè)計 3.1 時鐘電路 3.2 復位電路 3.3 鍵盤電路設(shè)計 3.4 led數(shù)碼管顯示電路設(shè)計 3.5 其它電路設(shè)計第4章 軟件設(shè)計 4.1 密碼鎖系統(tǒng)軟件設(shè)計方案 4.2系統(tǒng)程序設(shè)計第5章 系統(tǒng)的pcb板制作 5.1 protel簡介 5.2 pcb圖第6章 調(diào)試 6.1 硬件調(diào)試 6.2 軟件調(diào)試 6.3 聯(lián)調(diào)設(shè)計總結(jié)參考文獻附錄a 系統(tǒng)組成原理框圖附錄b 硬件原理圖附錄c 總流程圖附錄d 程序清單第1章
6、概述1.1設(shè)計內(nèi)容設(shè)計內(nèi)容如下:1) 密碼的設(shè)定,此密碼是固定在程序存儲器rom中,假設(shè)預(yù)設(shè)的密碼為“12345”共5位密碼。2) 密碼的輸入: 采用兩個按鍵來完成密碼的輸入,其中一個按鍵為功能鍵,另一個按鍵為數(shù)字鍵。在密碼都已經(jīng)輸入完畢并且確認功能鍵之后,才能完成密碼的輸入過程。然后進入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。3) 按鍵禁止功能:初始化時,允許按鍵輸入密碼,當有按鍵按下并開始進入按鍵識別狀態(tài)時,按鍵禁止功能被激活,但啟動的狀態(tài)是在3次密碼輸入不正確的情況下發(fā)生的。4).密碼的修改:采用串行eeprom快速存儲器實現(xiàn)密碼的保存.改完之后的密碼寫入eeprom中,每次開機或者
7、復位之后,自動讀取密碼。1.2系統(tǒng)需求分析根據(jù)上節(jié)的設(shè)計內(nèi)容,則對系統(tǒng)的需求如下:系統(tǒng)需要使用led數(shù)碼管,用來顯示各種狀態(tài),可以告訴用戶系統(tǒng)運行的實時狀態(tài)。系統(tǒng)需要使用鍵盤電路,實現(xiàn)密碼的輸入和控制密令的下達,完成用戶的設(shè)計要求。密碼的存儲,而且要掉電保寸,需要使用串行eeprom快速存儲器。系統(tǒng)還需要使用led指示燈、蜂鳴器、繼電器來模擬各種狀態(tài)。系統(tǒng)軟硬件要支持在線系統(tǒng)編程。1.3芯片介紹1.3.1 單片機單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。在一片集成電路芯片上集成微處理器、存儲器、i/o接口電路,從而構(gòu)成了單芯片微型計算機,即單
8、片機。 intel公司推出了mcs-51系列單片機:集成 8位cpu、4k字節(jié)rom、128字節(jié)ram、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64k,并有控制功能較強的布爾處理器。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應(yīng)用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。 可以說,二十世紀跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱pc機。它由主機、鍵盤、顯示器等組成(如圖1所示)。還有一類計算機,大多數(shù)人卻不怎么熟悉。這種計算機就是把智能賦予各
9、種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統(tǒng)只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了?,F(xiàn)在,這種單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機等。現(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。 單片機的應(yīng)
10、用領(lǐng)域 : 1.單片機在智能儀器儀表中的應(yīng)用; 2.單片機在工業(yè)測控中的應(yīng)用; 3.單片機在計算機網(wǎng)絡(luò)和通訊技術(shù)中的應(yīng)用; 4.單片機在日常生活及家電中的應(yīng)用; 5.單片機在辦公自動化方面。 目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學習、開發(fā)與應(yīng)用將造就一批計
11、算機應(yīng)用與智能化控制的科學家、工程師。1.3.2 串行eeprom芯片介紹 串行eeprom是一種用電擦除的存儲器,擦除時不需要其它擦除設(shè)備,使用方便,而且它可實時寫入,且具有掉電保護功能,因此受到廣泛應(yīng)用。串行eeprom芯片采用串行總線技術(shù),可以方便與系統(tǒng)連接,具有設(shè)計簡單,體積很小,系統(tǒng)更改和擴展容易等優(yōu)點。它是用i2c總線與mcu連接。i2c總線是phlips公司推出的一種串行總線,是具備多主機系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線。i2c總線只有兩根雙向信號線,一根是sdl數(shù)據(jù)線,另一根是scl時鐘信號線。i2c總線必須通過上拉電阻接正電源。當總線空閑時,兩根線均
12、為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的sda及scl都是線“與”關(guān)系。串行eeprom具有很多系列產(chǎn)品,常見的是atmel公司的at24c系列。其典型產(chǎn)品如下:at24c01:128字節(jié)(1288位); at24c02:256字節(jié)(2568位);at24c04:512字節(jié)(5128位);at24c08:1k字節(jié)(1k8位);at24c16:2k字節(jié)(2k8位); 本系統(tǒng)設(shè)計采用的是24c02型號的eeprom芯片,內(nèi)存容量是256b。1.3.3 串行eeprom基本操作 (1)寫入過程 at24c系列e2prom芯片地址的固定部分為1010,a2、a1、a
13、0引腳接高、低電平后得到確定的3位編碼。形成的7位編碼即為該器件的地址碼。msb r/t單片機進行寫操作時,首先發(fā)送該器件的7位地址碼和寫方向位“0”(共8位,即一個字節(jié)),發(fā)送完后釋放sda線并在scl線上產(chǎn)生第9個時鐘信號。被選中的存儲器器件在確認是自己的地址后,在sda線上產(chǎn)生一個應(yīng)答信號作為相應(yīng),單片機收到應(yīng)答后就可以傳送數(shù)據(jù)了。傳送數(shù)據(jù)時,單片機首先發(fā)送一個字節(jié)的被寫入器件的存儲區(qū)的首地址,收到存儲器器件的應(yīng)答后,單片機就逐個發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個字節(jié)后都要等待應(yīng)答。at24c系列器件片內(nèi)地址在接收到每一個數(shù)據(jù)字節(jié)地址后自動加1,在芯片的“一次裝載字節(jié)數(shù)”(不同芯片字節(jié)數(shù)不同)
14、限度內(nèi),只需輸入首地址。裝載字節(jié)數(shù)超過芯片的“一次裝載字節(jié)數(shù)”時,數(shù)據(jù)地址將“上卷”,前面的數(shù)據(jù)將被覆蓋。當要寫入的數(shù)據(jù)傳送完后,單片機應(yīng)發(fā)出終止信號以結(jié)束寫入操作。寫入n個字節(jié)的數(shù)據(jù)格式 :(2)讀出過程 單片機先發(fā)送該器件的7位地址碼和寫方向位“0”(“偽寫”),發(fā)送完后釋放sda線并在scl線上產(chǎn)生第9個時鐘信號。被選中的存儲器器件在確認是自己的地址后,在sda線上產(chǎn)生一個應(yīng)答信號作為回應(yīng)。然后,再發(fā)一個字節(jié)的要讀出器件的存儲區(qū)的首地址,收到應(yīng)答后,單片機要重復一次起始信號并發(fā)出器件地址和讀方向位(“1”),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個字節(jié),單片機都要回復應(yīng)答信號。當最后
15、一個字節(jié)數(shù)據(jù)讀完后,單片機應(yīng)返回以“非應(yīng)答”(高電平),并發(fā)出終止信號以結(jié)束讀出操作。 第2章 系統(tǒng)方案設(shè)計2.1 設(shè)計思路 根據(jù)設(shè)計要求,初步思路如下:1).系統(tǒng)的原始密碼放在ram區(qū),在運行過程中可以實時更改系統(tǒng)密碼。.2).利用串行eeprom存儲芯片,可以隨時讀取新密碼,且具有掉電保護功能。3).人機交互通過鍵盤輸入,系統(tǒng)根據(jù)鍵值做出相應(yīng)的處理,完成具體的功能。4).led數(shù)碼管通過驅(qū)動電路,顯示相應(yīng)的狀態(tài)。位選由p2口高四位產(chǎn)生,段碼由p1口輸入。5).系統(tǒng)還擴展了led指示燈、蜂鳴器、繼電器等一些其本外圍電路。6).此系統(tǒng)共設(shè)計了3個基本功能鍵:密碼設(shè)置鍵、確認鍵、復位鍵。密碼設(shè)置
16、鍵:當用戶需更改密碼時,可通過此功能鍵方便地修改原先的舊密碼。確認鍵:當完成密碼輸入后,可按此功能鍵即可實現(xiàn)密碼的比較和處理。復位鍵:當密碼三次輸入錯誤時,系統(tǒng)進入死鎖狀態(tài),可按此功能鍵跳出此狀態(tài)。2.2 硬件電路設(shè)計方案及框圖 根據(jù)設(shè)計要求與設(shè)計思路,確定系統(tǒng)的設(shè)計方案,圖2-1為系統(tǒng)組成原理框圖。硬件有以下幾部分組成:單片機、時鐘電路、復位電路、鍵盤輸入電路、串行eeprom擴展電路、led數(shù)碼管顯示電路、led指示燈電路、蜂鳴器電路、繼電器電路等。單片機鍵盤輸入電路系統(tǒng)復位電路時鐘電路 led數(shù)碼管顯示電路 led指示燈 、蜂鳴器、繼電器電路eeprom擴展電路 圖 2-1 系統(tǒng)組成原理
17、框圖第3章 硬件設(shè)計3.1 時鐘電路 單片機工作的時間基準是由時鐘電路提供的,在單片機的xtal1和xtal2兩個引腳間,接一只晶振及兩只電容就構(gòu)成了單片機的時鐘電路,如圖2-2所示。 圖 2-2 時鐘電路電路中器件選擇可以通過計算和實驗確定,也可以參考一些典型電路參數(shù)。電路中,電容器c1和c2對振蕩頻率有微調(diào)作用,同時幫助晶振起振,通常取值范圍在3010pf,一般晶振為6mhz,電容取20pf,晶振為12mhz,電容取30pf。石英晶體選擇6mhz或12mhz,其結(jié)果只是機器周期不同,影響計數(shù)器計數(shù)初值。 2.3.2.復位電路單片機的rst引腳為系統(tǒng)提供一個外部復位信號,復位信號是高電平有效
18、,高電平有效維持時間為2個機器周期以上,復位電路如圖2-3所示.。 圖2-3 復位電路 單片機復位方式有上電復位和手動復位兩種方式。此復位電路集有上電自動和手動復位組合電路,各元件阻值如圖2-3所示,按鈕為手動復位按鈕。 3.2 鍵盤電路設(shè)計 電子密碼鎖應(yīng)用系統(tǒng)工作時應(yīng)具備兩種基本功能,一是密碼設(shè)置功能,二是密碼輸入功能。要實現(xiàn)這兩種功能就必須通過鍵盤輸入單元來完成。 1).鍵盤結(jié)構(gòu)選擇在單片機組成的測控系統(tǒng)及智能儀器中,用得最多的是非編碼式鍵盤。鍵盤結(jié)構(gòu)可分為獨立式鍵盤和行列式鍵盤(矩陣式)兩種。在實際系統(tǒng)中,單片機簡單開關(guān)參數(shù)的輸入是通過按鍵實現(xiàn)的。但是,在需要輸入?yún)?shù)較多、功能較復雜時,
19、就需要用行列鍵盤的形式對單片機進行輸入。在本系統(tǒng)設(shè)計中,采用了行列式鍵盤設(shè)計單元。按鍵識別方法采用行掃描法。2).鍵盤與單片機接口電路設(shè)計鍵盤識別在此系統(tǒng)設(shè)計中,鍵盤行列與單片機p2口連接,通過單片機程序?qū)崿F(xiàn)對按鍵碼的識別。鍵盤上有好多鍵,每一個鍵對應(yīng)一個鍵碼,以便將鍵碼轉(zhuǎn)到相應(yīng)的的鍵處理子程序,進一步實現(xiàn)數(shù)據(jù)輸入和命令處理的功能,鍵識別的流程圖如圖2-4所示。 有鍵按下 去抖動 確定鍵碼等待按鍵釋放 返回 圖2-4 鍵盤按鍵功能分為如下:09 數(shù)字鍵功能:完成鍵值的輸入,即密碼設(shè)置和密碼輸入。 a 設(shè)置鍵功能:完成密碼的修改。 b 確認鍵功能:確定密碼輸入完畢。3.3 led數(shù)碼管顯示電路設(shè)
20、計單片機應(yīng)用系統(tǒng)中,通常都需要進行人-機對話。這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示狀態(tài)及各種運行結(jié)果,顯示器、鍵盤電路都是用來實現(xiàn)人-機對話活動的人機通道,因此在單片機系統(tǒng)中有著廣泛的應(yīng)用。 數(shù)碼管在系統(tǒng)中的主要作用是顯示單片機的輸出數(shù)據(jù)、狀態(tài)等,因而,作為外圍典型器件,數(shù)碼管顯示是反映系統(tǒng)輸出和操作輸入的有效器件。數(shù)碼管具備數(shù)字接口,可以方便地和單片機系統(tǒng)連接;數(shù)碼管的體積小,重量輕,并且共耗低,是一種理想的顯示單片機數(shù)據(jù)輸出內(nèi)容的器件,在單片機系統(tǒng)中有著重要的作用。 led數(shù)碼管的驅(qū)動是一個非常重要的問題由于單片機并行口不能直接驅(qū)動led數(shù)碼管,必須采用驅(qū)動電路或
21、放大電路,使之產(chǎn)生足夠大的電路,顯示器才能高亮正常工作。如果驅(qū)動能力差,顯示器亮度就低,這樣顯示效果就會很差,達不到設(shè)計的需要。在本系統(tǒng)中,采用了三極管放大電路驅(qū)動數(shù)碼管顯示。 led顯示器顯示控制方法有兩種,即動態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示亮度一般比動態(tài)顯示效果好,但本次設(shè)計中,采用了動態(tài)顯示。led顯示器有共陰和共陽兩種接法,因此設(shè)計過程中要注意接法的區(qū)別。下表為led顯示器掃描的字符編碼。 表 2-5 字形代碼 字形共陰極代碼 字形共陰極代碼 0 28h 7 eah 1 ebh 8 20h 2 32h 9 a0h 3 a2h a 60h 4 e1h b 25h 5 a4h 6 24h 3.
22、4 其它電路設(shè)計1).蜂鳴器電路當密碼三次輸入錯誤時,系統(tǒng)就會進入死鎖狀態(tài),蜂鳴器就會發(fā)出聲音,實現(xiàn)報警的功能。電路如圖2-6所示,蜂鳴器作為三極管9012的集電極負載,當三極管導通時,蜂鳴器就會發(fā)聲,當三極管截止時,蜂鳴器停止發(fā)聲。電阻r是限流電阻,可改變輸入電流的大小,從而可改變聲音的大小,由p3.7的高低電平變化的快慢來改變蜂鳴器的頻率。 圖2-6 2).led指示燈電路 在本次設(shè)計過程中,有l(wèi)ed 指示燈來顯示不同的狀態(tài)。當密碼輸入正確后,led指示燈前四個發(fā)光,當密碼錯誤后,led指示燈后四個發(fā)光,當三次輸入錯誤后led指示燈閃爍。3).繼電器電路 此系統(tǒng)用繼電器的開關(guān)的跳變來模擬密
23、碼鎖的開和關(guān),當密碼輸入正確后繼電器的開關(guān)會發(fā)生跳變,即常閉打開,常開吸和。4).串行eeprom擴展電路串行eeprom芯片和單片機系統(tǒng)連接,可實現(xiàn)掉電保護系統(tǒng)重要數(shù)據(jù),在此是實時存儲修改后的密碼,在掉電后自動讀取設(shè)置好的密碼。至此,我們設(shè)計完成了密碼鎖硬件電路的設(shè)計,要使該電路具有密碼鎖的功能,還需要相關(guān)的軟件配合才能達到設(shè)計要求。 第4章 軟件設(shè)計進行應(yīng)用軟件設(shè)計時,可采用模塊化程序設(shè)計方法,其優(yōu)點是:1).每個模塊的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫、調(diào)試和修改。2).程序可讀性好,對程序修改可局部進行,其他部分可以保持不變。3).對于使用頻率高的子程序可以建立程序庫,便于多個模塊調(diào)用。
24、4).便于分開合作,多個程序可同時進行程序編寫和調(diào)試工作,加快軟件的開發(fā)進度。4.1 密碼鎖系統(tǒng)軟件設(shè)計方案 根據(jù)設(shè)計要求,首先確定軟件設(shè)計方案,即確定軟件應(yīng)該完成哪些功能,其次是規(guī)劃為了完成這些功能需要多少個功能模塊,以及每個程序模塊具體的任務(wù)是什么,模塊劃分原則是盡可能相互獨立,相互間的聯(lián)系盡可能少,即低藕合,高內(nèi)聚的原則。根據(jù)模塊劃分原則,此系統(tǒng)可以將設(shè)計方案劃分成以下幾個模塊: 延時程序密碼設(shè)置密碼比較鍵盤掃描密碼讀取主程序延時程序延時程序延時程序延時程序延時程序延時程序延時程序延時程序延時程序延時程序延時程序 圖4-1 4.2系統(tǒng)程序設(shè)計4.2.1 主程序設(shè)計主程序設(shè)計內(nèi)容一般包括:
25、變量的初始化,有關(guān)子程序調(diào)用,以及相關(guān)數(shù)據(jù)處理等等。系統(tǒng)的主程序主要用來初始化一些參數(shù)。對鍵盤的狀態(tài)不斷查詢,以讀取當前的鍵值,并進行相應(yīng)的數(shù)據(jù)處理。系統(tǒng)一上電,主程序就一直處于運行狀態(tài),等待按鍵的輸入,一但有按鍵輸入,主程序就會將它保存在密碼緩沖區(qū)內(nèi)。當功能鍵按下時,系統(tǒng)就會根據(jù)功能鍵轉(zhuǎn)到相應(yīng)的地方進行數(shù)據(jù)處理。例如密碼的修改和密碼的比較。主程序流程圖見附錄a。4.2.2 鍵盤模塊設(shè)計鍵盤采用矩陣式結(jié)構(gòu),用行掃描的方法查詢按鍵的輸入。鍵盤輸入信息的主要過程如下:1. mcu判斷是否有鍵按下。2. 確定按下的是哪一個按鍵。3. 根據(jù)按鍵信息轉(zhuǎn)處理相應(yīng)的數(shù)據(jù)。采用查詢法實現(xiàn)鍵盤掃描程序過程如下:
26、1. 查詢是否有鍵按下。首先單片機向行掃描端口一行全為零的信號,然后從列檢測輸入信號,只要有一列信號不為“1”,則表示有鍵按下。接著就判斷是哪一個按鍵。2. 若有鍵按下,還需要進行一定時間的延時,判斷是否是誤動作。3. 找到該按鍵后,還應(yīng)進行松手檢測,不然的話一直保持該鍵的鍵值,系統(tǒng)就會出錯。 鍵盤掃描程序的流程圖返回判斷返回鍵碼逐行掃描按鍵有無鍵按下p2=0xfe行線輸入keyscan()keyscan()函數(shù)定義開 始 圖4-2 4.2.3 數(shù)碼管模塊設(shè)計在本系統(tǒng)設(shè)計中,數(shù)碼管采用動態(tài)顯示,段碼顯示由p0口控制,位碼顯示由p2口高四位控制。先打開一位數(shù)碼管,接著就送入段碼,然后逐個打開數(shù)碼
27、管,逐個送入字形碼,循環(huán)顯示,從而實現(xiàn)動態(tài)顯示。 數(shù)碼管顯示程序流程圖開 始延 時指定字形碼指定字位碼 顯示緩沖區(qū)初始化 圖4-3程序主要完成以下的功能:1)定義字位和字形碼。根據(jù)驅(qū)動電路的硬件連接,得到led的字位和字形碼;2)顯示。得到字位和字形碼后,向不同的字位送數(shù)據(jù),進行數(shù)據(jù)的顯示。3)動態(tài)掃描。由于使用的是動態(tài)顯示法,在led顯示程序中,需要不停地掃描字位口,從而實現(xiàn)不同字位的數(shù)據(jù)的動態(tài)顯示效果。第5章 系統(tǒng)的pcb制作5.1 protel 99 簡介 隨著現(xiàn)代科學日新月異地發(fā)展,現(xiàn)代電子工業(yè)也取得了長足的進步,大規(guī)模、超大規(guī)模集成電路的使用使印制電路板的走線愈加精密和復雜。在這種情
28、況下,傳統(tǒng)的手工方式設(shè)計和制作電路板已顯得越來越難以適應(yīng)新形勢了。如今,protel 99的技術(shù)愈加成熟,強大的功能受到了廣大用戶的青睞。它主要以下兩大部分組成。l 原理圖設(shè)計系統(tǒng)。它主要用于電路原理圖的設(shè)計,為印制電路板的設(shè)計打好基礎(chǔ)。l 印制電路板設(shè)計系統(tǒng)。它主要用于印制電路板的設(shè)計,產(chǎn)生最終的pcb文件,直接聯(lián)系到印制電路板的生產(chǎn)。5.2 試驗板pcb制作 印制電路板的設(shè)計工作主要分為原理圖設(shè)計和印制電路板設(shè)計兩部分。試驗板pcb制作流程如下。一、 繪制原理圖及生成網(wǎng)絡(luò)表 印制電路板設(shè)計工作首先是繪制原理圖,然后由原理圖生成相應(yīng)的網(wǎng)絡(luò)表,而網(wǎng)絡(luò)表正是印制電路板自動布線的基礎(chǔ)和靈魂。二、
29、規(guī)劃電路板 在繪制印制電路板之前,用戶必須對所有的電路板進行初步的規(guī)劃。比如是采用單面板、雙面板還是多面板,電路板的尺寸,元件采用什么樣的封裝形似,元件的安裝的位置。三、 啟動protel 99印制電路板(pcb)編輯器這步工作就是如何進入protel 99印制電路板的編輯器的編輯環(huán)境。四、 設(shè)置參數(shù) 啟動編輯器后,用戶要對元件的布置參數(shù)、板層參數(shù)、布線參數(shù)等進行相應(yīng)的設(shè)置。五、 裝入網(wǎng)絡(luò)表及元件的封裝 對于每一個裝入的元件必須要有相應(yīng)的封裝形式,這是自動布線中所不能缺少的。只有將網(wǎng)絡(luò)表和元件的封裝裝入后,才能開始印制電路板的自動布線工作。六、 布置元件在設(shè)定好電路板的尺寸和外形的封裝并裝入網(wǎng)
30、絡(luò)表后,程序會自動裝入元件,并自動將元件布置在電路板的邊界內(nèi)。七、 自動布線與手工調(diào)整 只要各種參數(shù)設(shè)置合理、元件的位置布置得當,自動布線就會非常順利。八、 印制電路板文件的保存及打印輸出完成印制電路板的布線工作后,用戶應(yīng)該及時將文件保存及打印輸出。印制好的文件可以拿到廠里制作,這樣完成了試驗板的制作。 上述只完成了試驗板的制作,接下來就是對硬件的調(diào)試了,否則后續(xù)工作就不能開展下去了。第6章 系統(tǒng)調(diào)試單片機應(yīng)用系統(tǒng)的調(diào)試,包括硬件調(diào)試和軟件調(diào)試,是一個很重要的步驟。硬件調(diào)試和軟件調(diào)試并不能完全分開,許多硬件錯誤事在軟件調(diào)試過程中被發(fā)現(xiàn)和糾正的,一般方法是先排除明顯的硬件故障,在進行軟硬件綜合調(diào)
31、試。6.1 硬件調(diào)試 6.1.1實驗板介紹本次課程設(shè)計中,所用的開發(fā)板是lk-51 單片機實驗開發(fā)板,它是老師們根據(jù)多年的教學與應(yīng)用開發(fā)經(jīng)驗,結(jié)合單片機技術(shù)的發(fā)展與應(yīng)用情況,為單片機學習和應(yīng)用者研發(fā)的一款具有編程、實驗、仿真和開發(fā)等功能的單片機學習機。具有資源豐富、穩(wěn)定性好、使用方便、便于擴展開發(fā)和高性價比等特點。不需其他仿真器和編程器等工具,可直接通過串行口下載程序,或在線仿真,方便快捷,適合于單片機學習和應(yīng)用者完成實驗、課程設(shè)計、科技創(chuàng)新活動以及應(yīng)用開發(fā)等。利用該款學習機可極大的降低學習單片機的成本,用戶還可以通過實驗例子理解編程思路,學習單片機應(yīng)用系統(tǒng)的一般設(shè)計和調(diào)試方法等,使你快速的掌
32、握單片機技術(shù)。該學習機由基本實驗主機板和若干功能擴展模塊構(gòu)成。實驗主機板除51 系列單片機芯片外,其主要硬件資源有:(1)8 路led 指示;(2)4 位7 段數(shù)碼管以及驅(qū)動電路;(3)1 個43 矩陣式鍵盤以及接口電路,1 個獨立式中斷按鍵;(4)1 個蜂鳴器或小型揚聲器;(5)1 個繼電器輸出電路,含常開常、閉觸點;(6)1 片 at24c02 存儲器芯片;(7)一個塑封一體化紅外線接收頭;(8)1 個三位撥碼開關(guān);(9)1 根rs232 串口通訊接口以及下載線,可完成程序下載、在線仿真(用sst 芯片),并實現(xiàn)與pc 機以及與其他單片機之間的通信;(10)1 個可對s5x 系列單片機編程
33、的isp 接口;(11)可對用戶開放的全部i/o 口引腳,方便用戶根據(jù)需要進行功能擴展和二次開發(fā);(12)1 個整流、濾波穩(wěn)壓電路,可采用712v 電源輸入(交、直流均可),對本機提供5v 工作電壓,并可對擴展功能模塊提供5v和12v 直流電源。此外還可配置其他的功能模塊,功能擴展模塊有:(1)a/d、d/a 功能模塊;(2)lcd 字符型液晶顯示模塊;(3)多路繼電器模塊;6.1.2聯(lián)機前的靜態(tài)調(diào)試 當設(shè)計者完成了繪圖制板工作,并且拿到印制電路板,準備焊接元器件及插座,進行聯(lián)機仿真調(diào)試之前,應(yīng)做好下述工作:1)在未焊接元器件管座或元件之前,首先用眼睛和萬用表直接檢查線路板各處是否有明顯的斷路
34、、短路的地方,尤其是要注意電源是否短路。這一步雖然簡單,而且枯燥,但非常重要。否則未檢查就焊上元件或管座,以至發(fā)現(xiàn)短路、開路、故障時,卻常因管座、元件遮蓋住線路難以進行故障定位,甚至還要將已焊好的管座再拔下來,造成的麻煩可想而知的。2)元件在焊接過程中要逐一檢查,例如二極管、三極管、電容的極性,電阻的阻值和擺放的位置是否正確。3)元器件焊接完畢后,還有仔細檢查元件面各元件之間裸露部分有無相互接觸現(xiàn)象,焊接面的各焊點間有無連接或著是否出現(xiàn)虛焊。4)完成上述檢查后,先空載上電(未插芯片),檢查電路電路板各引腳及插件上的電位是否正常,特別是單片機引腳上的各點電位是否正常。若一切正常,將芯片插入各管座
35、,再通電檢查各點電壓是否達到要求,邏輯電平是否符合電路或器件的邏輯關(guān)系。若有問題,掉電后再認真檢查故障原因。 在完成上述聯(lián)機調(diào)試準備工作后,在斷電情況下用,用串行口線將試驗板與pc機相連,下載綜合程序,然后操作實驗板上的按鍵,仔細觀察實驗現(xiàn)象,反復調(diào)試,直到?jīng)]有錯誤為止。6.2 軟件調(diào)試 單片機系統(tǒng)的開發(fā)除了需要硬件支持以外,同樣離不開軟件。cpu真正可執(zhí)行的是機器碼,用匯編語言或c語言等高級語言編寫的程序必須轉(zhuǎn)換為機器碼才能被執(zhí)行,轉(zhuǎn)換的方法有手工匯編和機器匯編兩種,前者比較麻煩,已不太實用了。機器匯編是指通過匯編軟件將程序變?yōu)闄C器碼的編譯方法。這種匯編軟件稱為編譯器。本次系統(tǒng)開發(fā)用到了目前
36、流行的keil編譯器。6.2.1 keil 編譯器簡介keil提供了一個集成開發(fā)環(huán)境ide uvision,它包括了c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器。這樣開發(fā)一個系統(tǒng)比較簡單了。先用編輯器編寫程序,接著調(diào)用編譯器進行編譯,連接后即可直接進行運行,縮短了程序開發(fā)周期。開發(fā)人員在軟件調(diào)試前,先在keil 編譯器中建立一個工程文件,接著新建一個文件,后綴名為 *.c ,軟件編譯是會自動調(diào)用c編譯器編譯程序。之后要選擇mcu控制芯片,然后就編寫程序保存,經(jīng)編譯鏈接后,會生成后綴名 *.hex 可執(zhí)行文件,用在線下載軟件將可執(zhí)行文件燒錄到單片機內(nèi),就完成了程序的開發(fā)。6.2.2
37、 應(yīng)用系統(tǒng)動態(tài)調(diào)試 戶的源程序經(jīng)過匯編后,生成的目標文件必須經(jīng)過仿真調(diào)試,才能固化到應(yīng)用系統(tǒng)的程序存儲器eprom中。 在下載程序前,應(yīng)進行軟件調(diào)試,以免錯誤的程序下載到實驗板上,燒壞控制芯片,因此軟件調(diào)試是必不可少的。程序編譯無誤后,設(shè)置好仿真參數(shù),就可以進行軟件調(diào)試了。程序執(zhí)行可采用兩種方法,即單步執(zhí)行和全速執(zhí)行??傮w調(diào)試最好采用前者方法,這樣做有助于找到錯誤所在。子程序內(nèi)部或著延時程序可以采用后者方法,這樣有助于節(jié)省調(diào)試時間。調(diào)試過程中,要適當打開一些關(guān)鍵變量的窗口,觀察它的變化情況,仔細分析,實驗結(jié)果要與預(yù)期結(jié)果相比較,如果出現(xiàn)錯誤,反復分析與調(diào)試。6.3聯(lián)調(diào)從實質(zhì)上說,應(yīng)用系統(tǒng)的聯(lián)調(diào)
38、是對軟硬件的綜合調(diào)試,一方面要排除軟件的錯誤,同時進一步解決硬件部分遺留故障。聯(lián)調(diào)的總體方案是:把整個應(yīng)用系統(tǒng)按其功能分成若干個模塊,如系統(tǒng)擴展模塊、輸入輸出模塊、鍵盤掃描模塊等。針對不同的模塊,用led指示燈來跟蹤調(diào)試。調(diào)試的方法是“最短程序”調(diào)試法?!白疃坛绦颉笔侵赣米詈啙嵉闹鞒绦蚣罢{(diào)用最少子程序的系統(tǒng)軟件程序。在實踐過程中,我發(fā)現(xiàn)“最短程序”調(diào)試法對系統(tǒng)調(diào)試有很大的幫助。特別是在程序模塊多、錯誤多的情況下,就越有好處。如果最短程序調(diào)試不能通過的話,則說明硬件有問題。這時就應(yīng)該首先將你的硬件簡化成最小系統(tǒng),排除硬件故障后,在運行“最短程序”。如果運行通過,可逐步增加軟件模塊和硬件模塊,反復
39、實驗。 設(shè)計總結(jié)忙碌了兩個星期,最終把這個課程設(shè)計做完了。在這次課程設(shè)計過程中,讓我學到了許多東西,收益匪淺。課程設(shè)計是檢驗理論知識的掌握和應(yīng)用能力最好的方法。它能迅速提高個人的動手能力和實踐能力,它能幫助我們對知識的掌握,促進知識體系的構(gòu)建,因此,我好好地把握了這短短的兩周時間,完成了課程設(shè)計的任務(wù)。在課程設(shè)計過程中,雖然有點辛苦,但樂在其中。在接到任務(wù)后,我就立刻動手寫好了方案設(shè)計,接著就把程序?qū)懞昧?。在這一階段,完成的還是比較順利的。接下來就是調(diào)試程序就花了一兩天的時間。調(diào)試過程中,出現(xiàn)了好多從未遇見過的問題,剛開始調(diào)試還是比較順利的,后來出現(xiàn)了一個問題,調(diào)試了很久也沒能解決,我也詢問過
40、老師,從老師那也得到了許多寶貴的意見,可是還是不能解決。我就把它放了幾天,我就幫我們班同學調(diào)試程序,在這個過程中,我學到了許多的知識,那是書本上學不到的的知識。后來我還是靜下心來,慢慢調(diào)試,運用“最短程序”的調(diào)試的方法一步一步地調(diào)試,可是還是不能解決掉。后來我就和同學討論,才發(fā)現(xiàn)了錯誤所在。原來是我的變量定義出了問題,把,全局變量改成局部變量后,錯誤就沒有了。這時我才真正地體會到了全局變量和局部變量的區(qū)別。它們的含義和在文件中的作用域是截然不同的。同時,我也明白了程序中的沒一個細節(jié)都能影響程序的運行,所以在設(shè)計程序時,一定要保持一絲不茍的精神開發(fā)應(yīng)用系統(tǒng)。經(jīng)過這一次的課程設(shè)計,雖然做的不太完美
41、,但畢竟還是做出來了一點東西,心里還是比較高心的,也學到了很多的東西,積累了許多經(jīng)驗,也明白了很多。理論與實踐是有著一定的距離,即使這理論學的好,不會編程序,這也是枉然!所以在今后的學習當中,我們更應(yīng)該重視理論與實踐結(jié)合的重要性。程序的設(shè)計過程就有如解決一個實際問題,我們要先學會分析問題,然后再去解決這一問題。在整個設(shè)計過程中懂得了許多東西,也培養(yǎng)了獨立思考和設(shè)計的能力,樹立了對知識應(yīng)用的信心,相信會對今后的學習工作和生活有非常大的幫助,并且提高了自己的動手實踐操作能力, 使自己充分體會到了在設(shè)計過程中的成功喜悅。雖然這個設(shè)計做的不怎么好,但是在設(shè)計過程中所學到的東西是這次課程設(shè)計的最大收獲和
42、財富??傊@次課程設(shè)計讓我受益良多!在此,深誠感謝指導老師的辛勤指導。由于本人水平有限,敬請老師批評指正。參考文獻1 許立梓.微型計算機原理及應(yīng)用m.北京:機械工業(yè)出版社, 20022、微型計算機接口技術(shù)及應(yīng)用劉樂善編 華中理工大學出版社 2000 3、計算機硬件技術(shù)基礎(chǔ)試驗教程鄒逢興編 高等教育出版社 20004、16位微型計算機原理接口及其應(yīng)用周佩玲編 中國科學技術(shù)大學出版社2000 5、微型計算機原理與接口技術(shù)吳秀清編 中國科學技術(shù)出版社 20016、微型計算機接口技術(shù)鄧亞平編 清華大學出版社 20017、單片機原理及及應(yīng)用王迎旭編 機械工業(yè)出版社 20018、單片機應(yīng)用程序設(shè)計技術(shù)
43、周航慈 著 北京航空航天大學出版社 20029、單片機實用技術(shù)問答 謝宜仁 主編 人民郵電出版社 200210、51單片機應(yīng)用系統(tǒng)開發(fā)典型實例 戴佳 編 中國電力出版社 2005 11、單片機應(yīng)用系統(tǒng)設(shè)計 韓志軍 編 機械工業(yè)出版社 200512、protel 99入門與提高 老虎工作實主編 人民郵電出版社附錄a: 系統(tǒng)組成原理框圖單片機時鐘電路鍵盤輸入電路 led數(shù)碼管顯示電路 系統(tǒng)復位電路 led指示燈 、蜂鳴器、繼電器電路eeprom擴展電路 電源電路 附錄b:硬件原理圖附錄c:系統(tǒng)軟件流程圖 有鍵按下?結(jié)束鍵= = a?讀取功能鍵count= =4?按鍵個數(shù)加1調(diào)用鍵盤掃描子程序顯示“鎖”字形變量的設(shè)置與初始化主程序 密碼比較 調(diào)用密碼比較子程序 正確是否 y n 顯示開鎖重新輸入密碼 比較次數(shù)加1 n次數(shù)= = 3 ? y 存取鍵值 n y 顯示錯誤,并報警 n y n y 密碼比較修改密碼保存密碼附錄d: 程序清單 #include#define uchar unsigned char#define
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鉬合金行業(yè)發(fā)展戰(zhàn)略及前景趨勢分析報告
- 2025-2030年中國透明聚丙烯行業(yè)運行狀況及發(fā)展規(guī)劃分析報告
- 2025-2030年中國過氧化二異丙苯行業(yè)運行現(xiàn)狀及發(fā)展前景分析報告
- 2025-2030年中國苗圃產(chǎn)業(yè)市場十三五規(guī)劃及發(fā)展建議分析報告
- 2025-2030年中國納米銀市場運行態(tài)勢及投資戰(zhàn)略研究報告
- 2025-2030年中國紫菜市場競爭格局與發(fā)展策略分析報告
- 2025-2030年中國管殼式換熱器行業(yè)運行態(tài)勢與未來發(fā)展戰(zhàn)略研究報告
- 2025-2030年中國硬質(zhì)纖維板行業(yè)運行態(tài)勢及投資戰(zhàn)略研究報告
- 天津師范大學津沽學院《半導體器件》2023-2024學年第二學期期末試卷
- 江西交通職業(yè)技術(shù)學院《測量學基礎(chǔ)》2023-2024學年第二學期期末試卷
- 【公開課】同一直線上二力的合成+課件+2024-2025學年+人教版(2024)初中物理八年級下冊+
- 人教鄂教版六年級下冊科學全冊知識點
- 鄭州市地圖含區(qū)縣可編輯可填充動畫演示矢量分層地圖課件模板
- 2024年湖南生物機電職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及答案解析
- 《中華民族共同體概論》考試復習題庫(含答案)
- 2023年青島遠洋船員職業(yè)學院高職單招(數(shù)學)試題庫含答案解析
- 商業(yè)動線設(shè)計(修改版)
- 建筑行業(yè)鋼桁架等制作工藝流程圖
- 承德市普通住宅區(qū)物業(yè)服務(wù)等級和基準價格
- 環(huán)??己嗽嚲?8285(含答案)
- HG20592-2009法蘭(PL)法蘭蓋(BL)精加工尺寸
評論
0/150
提交評論