




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、沈陽航空航天大學課 程 設 計 報 告課程設計名稱:微機系統(tǒng)綜合課程設計課程設計題目:超市密碼箱的設計與實現(xiàn) 院(系): 計算機學院專 業(yè): 計算機科學與技術班 級: 學 號: 姓 名:指導教師: 說明:結論(優(yōu)秀、良好、中等、及格、不及格)作為相關教環(huán)節(jié)考核必要依據(jù);格式不符合要求;數(shù)據(jù)不實,不予通過。報告和電子數(shù)據(jù)必須作為實驗現(xiàn)象重復的關鍵依據(jù)。學術誠信聲明 本人聲明:所呈交的報告(含電子版及數(shù)據(jù)文件)是我個人在導師指導下獨立進行設計工作及取得的研究結果。盡我所知,除了文中特別加以標注或致謝中所羅列的內容以外,報告中不包含其他人己經發(fā)表或撰寫過的研究結果,也不包含其它教育機構使用過的材料。
2、與我一同工作的同學對本研究所做的任何貢獻均己在報告中做了明確的說明并表示了謝意。報告資料及實驗數(shù)據(jù)若有不實之處,本人愿意接受本教學環(huán)節(jié)“不及格”和“重修或重做”的評分結論并承擔相關一切后果。 本人簽名: 日期: 年 月 日 目 錄1 系統(tǒng)概述11.1 系統(tǒng)總體設計目標功能及要求12 系統(tǒng)總體設計121 系統(tǒng)原理簡介122系統(tǒng)設計方案23 系統(tǒng)硬件電路設計231系統(tǒng)硬件電路232 單片機簡述333鍵盤電路34系統(tǒng)的軟件設計541軟件設計思想542程序各模塊設計543各模塊的軟件程序設計544 密碼驗證方案比較745實物連線圖85系統(tǒng)調試85.1硬件問題調試95.2軟件問題調試9結 論10參考文獻
3、11附錄 系統(tǒng)程序12 系統(tǒng)概述1 系統(tǒng)總體設計目標功能及要求本次課設由MCS-51單片機構成核心控制系統(tǒng),整個系統(tǒng)由主控部分、鍵盤顯示控制部分、執(zhí)行部分三部分組成,通過密碼的核對完成自動存包取包過程。第一部分:CPU核心控制部分,由單片機MCS-51、復位電路、時鐘電路等構成,是整個系統(tǒng)的核心。第二部分:鍵盤顯示控制部分。用2個LED顯示器和24個按鍵進行管理,LED數(shù)碼管用于顯示柜的號碼和當前狀態(tài),24個按鍵分別為16個數(shù)字鍵和8個功能鍵。通過這些鍵盤,用戶就可以完成所有的操作。第三部分:執(zhí)行機構部分。它是通過MCS-51單片機的并行口控制8個發(fā)光二極管的狀態(tài)(亮滅)來模擬柜子的存包取包的
4、過程。軟件部分主要采用我們自己設定的一種與柜的號碼相關聯(lián)的算法由顧客輸入密碼并存儲,而密碼的設置、核對過程就對應存包、取包的過程。 本系統(tǒng)具有如下特色:(1)操作簡單。(2)顧客可以自行輸入4位密碼(3)利用軟件設定密碼而不是硬件,使得硬件更為簡潔、可靠、穩(wěn)定。2 系統(tǒng)總體設計21 系統(tǒng)原理簡介電子存包柜由電子電路和機械兩部分組成。本設計的存包柜主要實現(xiàn)電子電路方面的功能,它可以通過單片機完成密碼的設定、密碼的確認以及用發(fā)光二極管模擬柜子的開閉狀態(tài)等功能。從硬件上看,它由部分組成,分別是:LED數(shù)碼管顯示器,用于顯示相應的信息;MCS-51單片機是整個電路的核心部分,其中振蕩電路為CPU產生賴
5、以工作的時序,復位電路使CPU與系統(tǒng)中的其他部件處于一個確定的初始狀態(tài);還有鍵盤部分,鍵盤由LAB8000實驗箱提供,以及電源部分。22 系統(tǒng)設計方案在電子存包柜電路的設計中,控制方法是核心技術。方案一:采用數(shù)字電路控制。采用數(shù)字密碼鎖電路的好處就是設計簡單。用以74LS112雙JK觸發(fā)器構成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設了12個用戶輸入鍵,其中只有10個是有效的密碼按鍵,一個確定鍵和一個清除鍵;如果用戶輸入密碼的次數(shù)超過指定次數(shù)(若用戶覺得不便,還可以修改)電路將在10秒后發(fā)出報警聲,電路將鎖定鍵盤,防止他人繼續(xù)非法操作。方案二:采用一種是用以MCS-51單片機為核心的單片機控制方
6、案。利用單片機靈活的編程設計和豐富的IO端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加調電存儲甚至添加遙控控制功能。存包柜電路包含:鍵盤輸入、密碼檢測、開鎖電路、執(zhí)行電路、顯示電路。相比較及要求規(guī)定,本次題目采用方案二設計實現(xiàn)3系統(tǒng)硬件電路設計31 系統(tǒng)硬件電路硬件電路以MCS-51單片機為核心,矩陣鍵盤作為輸入,顯示屏為LED顯示器,發(fā)光二極管模擬存包箱柜。硬件電路的系統(tǒng)方框圖,如圖1所示:MCS-51矩陣鍵盤LED顯示器發(fā)光二極管PC控制電路圖1 系統(tǒng)方框圖32 單片機概述 8051單片機:8051單片機最早由Intel公司推出,其后,多家公司購買了8051的內核,使得以80
7、51為內核的MCU系列單片機在世界上產量最大,應用也最廣泛,有人推測8051可能最終形成事實上的標準MCU芯片.33鍵盤電路鍵盤按結構的不同可分為獨立式按鍵鍵盤和行列式鍵盤兩類,每類按譯碼方式的不同又分為編碼式和非編碼式兩種。單片機中一般使用的都是用軟件來識別和產生鍵代碼的非編碼鍵盤。行列式鍵盤的編碼方式有靜態(tài)和動態(tài)兩種。靜態(tài)接口主要由一個行編碼器和一個列編碼器構成;動態(tài)接口可用計數(shù)器、譯碼器和數(shù)據(jù)選擇器來構成。一般在小型儀器儀表和控制系統(tǒng)中,使用較多的是行列式和獨立式的非編碼鍵盤;如果系統(tǒng)要求實現(xiàn)多鍵同時按下的處理,則用非編碼獨立方式較為合適。本系統(tǒng)主要是采用了常用的矩陣式鍵盤,工作方式采用
8、的是外部中斷掃描,所中斷式鍵盤掃描原理是:當有鍵按下將會觸發(fā)一個中斷源,提醒處理器進行鍵值掃描查詢。鍵盤的中斷方式一般有定時中斷和外部中斷兩種,本系統(tǒng)采用的是外部中斷INT0。單片機先讓行線輸出低電平,當有鍵按下時列線電平不全為高,四輸入與門輸出端產生下降沿,將觸發(fā)外部中斷INT0,單片機進入中斷后先延時去抖動,再掃描查尋鍵盤,讀出鍵值,然后處理相應的鍵值處理子程序,無鍵按下則不進入中斷,單片機不掃描,從而節(jié)約了大量的資源。鍵盤電路設計流程圖及鍵盤電路圖如下:圖2 鍵盤輸入子程序流程圖 圖3 鍵盤電路連線路4 系統(tǒng)的軟件設計4.1軟件設計思想: 系統(tǒng)運行時,主程序調度LED顯示器先進行程序初始
9、化,若有人按下“存包鍵”時先由隨機數(shù)模塊產生一個隨機數(shù)保存在單片機內部數(shù)組中,并將產生的密碼顯示在LED顯示器上,一段時間后顯示數(shù)據(jù)消失,密碼顯示的同時系統(tǒng)也將所要打開的箱子號顯示在LED并發(fā)一個觸發(fā)信號使對應的箱子號打開。存包的過程也就此結束。當有取包時必然先要輸入存包時所顯示的密碼,輸入密碼時運行鍵盤掃描模塊掃描所輸入的按鍵值并按下“取包鍵”,假如輸入的密碼是正確的,系統(tǒng)將通過LED顯示所輸入的密碼是正確的并且系統(tǒng)將打開你存包時所打開的箱子。42程序各模塊設計本系統(tǒng)由四個程序模塊和一個主程序組成,四個程序模塊分別為密碼設定模塊、存取模塊、LED顯示模塊、鍵盤掃描模塊組成。43各模塊的軟件程
10、序設計(1)密碼設定:下圖為隨機模塊的程序框架。開始設定密碼保存密碼返回 圖4隨機模塊程序框圖 (2)LED顯示模塊 開始延時40ms功能設置顯示開關控制延時1ms延時1ms 清顯示延時10ms進入模式設置初始化結束 圖 5 LED工作框圖(3) 存包過程無鍵按下返回主程序并保存箱號返回主程序并保存密碼Y有鍵按下開始LCD初始化鍵盤掃描存包鍵按下?主程序設定密碼打開箱子顯示箱號顯示正常信息(4)取包過程箱子打開后提示信息過后返回主程序并刪除密碼和對應的箱號YN四位密碼輸入有鍵按下無鍵按下主程序鍵盤掃描密碼正確?打開對應箱子LED顯示器提示打開信息顯示正常信息圖7取包流程圖44密碼驗證方案比較當
11、鍵盤輸入密碼時,輸入的數(shù)如何與內部產生的密碼進行比較是一個需要解決的問題。因為內部產生的是一個4位數(shù)密碼。這也就有了兩種方案來解決這個問題。(1)先將內部生成的4位數(shù)密碼轉化成4個個位數(shù)的數(shù)字密碼,并將其保存在數(shù)組 中。將輸入的密碼保存在另一個數(shù)組中。最后再對這兩個數(shù)組的元素進行比較,如有錯誤返回主程序進行錯誤提示,若是正確的就將執(zhí)行后續(xù)的程序。 (2)將輸入的四個數(shù)進行乘計算得到一個四位數(shù)密碼。與系統(tǒng)產生的四位數(shù)密碼進行比較,如有錯誤返回主程序進行錯誤提示,若正確就執(zhí)行后續(xù)的程序。4.5 實物連線圖圖8 LAB8000連線圖注釋:KEY/LED連接CS0;P1.0-P1.7連接L0-L7.系
12、統(tǒng)調試本系統(tǒng)的調試主要分為硬件調試、軟件調試等兩大部分。經過初步的分析設計后,在制作硬件電路的同時,調試也在穿插進行。這樣有利于問題的分析和解決,不會造成問題的積累,而且不會因為一個小問題而進行整體電路的檢查,從而可以節(jié)約大量的調試時間。軟件編程中,首先完成單元功能模塊的調試,然后進行系統(tǒng)調試,整體上與硬件調試的方法差不多。聯(lián)機調試是最重要的一部分,同時也是本設計成功的關鍵。首先應對電路板表面進行檢查,對焊接后的電路板的所有連接線仔細檢查。通過目測查出一些明顯的安裝及連接錯誤并及時排除。其次用萬用表測量,主要是測量目測是懷疑通斷的情況,尤其是要測量電源與地之間是否短路。再次是加電檢查。開啟電源
13、后,檢查芯片的電源電壓是否正確,也可用手觸摸,是否有明顯發(fā)燙,所遇芯片均未發(fā)現(xiàn)異常,可進入下一步調試。調試中遇到的問題及解決方法51硬件 (1)LED顯示器無法顯示:把復位腳誤接在地端而使LED顯示器一直不停的在復位,把接線改過來從而使顯示屏正常工作。(2)在電路的調試過程中,發(fā)現(xiàn)LED顯示器能正常發(fā)光,而在有按鍵按下時,顯示屏上卻沒有顯示相應的信息,發(fā)光二極管也不能正常工作,后通過仔細檢查電路,發(fā)現(xiàn)單片機與鍵盤連接線路有問題,隨即改正過來后,電路工作正常。52 軟件(1)定義出錯:產生的現(xiàn)象是有密碼產生但無法檢測到輸入密碼。經過仔細檢查曾變量定義錯誤(誤將存儲密碼變量unsigned int
14、定義成unsigned char ):因為 unsigned int 無符號短整型數(shù)說明。簡寫為unsigned int, 字長為2字節(jié)共16位二進制數(shù), 數(shù)的范圍是0 65535。而 unsigned char 字符在計算機中以其ASCII碼方式表示, 其長度為1個字節(jié), 有符號字符型數(shù)取值范圍為-128127, 無符號字符型數(shù)到值范圍是0255。因此在Turbo C語言中,字符型數(shù)據(jù)在操作時將按整型數(shù)處理, 如果某個變量定義成char, 則表明該變量是有符號的, 即它將轉換成有符號的整型數(shù)。使輸入的數(shù)字無法轉換為一個4位數(shù)。使得無法與內部存儲的數(shù)進行密碼驗證,故無法打開箱子。 (2)LED
15、顯示器無法顯示:初始化程序出錯:按初始化順序時延時時間沒有達到要求。因為延時時間還沒達到內部初始化需求,上一步的初始化過程還沒有結束就進行了下一步初始化過程,這樣即跳過了上一步的初始化程序,這樣必然導致系統(tǒng)初始化失敗。結 論在本系統(tǒng)中,基本模擬了超市存包的功能。用MCS-51單片機為核心CPU進行系統(tǒng)任務調度,內部的隨機數(shù)模塊、LED顯示器液晶模塊、箱子模擬模塊和鍵盤輸入模塊通過系統(tǒng)主程序來調度實現(xiàn)系統(tǒng)所需要的功能。通過本次設計了解了51系列單片機的具體使用,比如寄存器、定時器、RAM、ROM。加深了對LED顯示器的使用,特別是在調試LED顯示器的初始化程序時,具體了解了初始化程序有哪些步驟且
16、延時也對初始化有著相當重要的關系。也加深了對發(fā)光二極管、矩陣鍵盤等常規(guī)元件的使用。由于時間等各個因素的影響本系統(tǒng)也有著一些缺點,比如安全性有待加強。 參考文獻1 謝維成.單片機原理與應用及C51程序設計M.北京:清華大學出版社.2006:169-1812 求是科技.單片機典型模塊設計實例導航M.北京:人民郵電出版社.2004:117-1353 馬家辰.MCS-51單片機原理及接口技術M.哈爾濱:哈爾濱工業(yè)大學出版社,1998:112-1544 馬鴻文.基于AT89C51單片機的自動存取柜的設計與實現(xiàn)B.單片機開發(fā)與應用,2005.95 盧敏生、盧惲.一個廉價的存包柜電腦控制裝置B.蘇州大學工學
17、院、蘇州職業(yè)大學,19996 黃石紅.雙子系統(tǒng)在電子存取柜中的應用B.微計算機信息,2003.97 常喜.微型打印機在單片機系統(tǒng)中的應用B.吉林師范大學信息技術學院.20048 黃湖劍,梁楚樵.單片機與微型打印機的接口設計A.武漢理工大學信息工程學院.20069 梁金千,張躍.在計算機上產生真隨機數(shù)的探討D.計算機工程.200310 李少芳.在C/ C + + 語言中如何自動生成隨機密碼D.福建電腦.200311 趙雪峰.一種偽隨機數(shù)生成算法的研究與實現(xiàn)A. 電腦學習.200512 劉西玲.MCS-51系列單片機與微型打印機的接口設計D.天水師范學院學報.2004附錄(系統(tǒng)程序)#includ
18、e#include #define uchar unsigned char xdata unsigned char dat _at_ 0x8004;xdata unsigned char key _at_ 0x8001;xdata unsigned char led _at_ 0x8002;sbit L1=P10;sbit L2=P11;sbit L3=P12;sbit L4=P13;sbit L5=P14;sbit L6=P15;sbit L7=P16;sbit L8=P17;int ff,f1,f2,f3,f4,f5,f6,f7,f8;uchar a1,a2,a3,a4,a5,a6;int
19、 count;uchar success;unsigned int K=240;code unsigned char ledmap=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;code unsigned char keytable= 0x16,0x15,0x14,0xff, 0x13,0x12,0x11,0x10, 0x0d,0x0c,0x0b,0x0a, 0x0e,0x03,0x06,0x09, 0x0f,0x02,0x05,0x08, 0x00,0x01,0x04,0x07;unsigned char pass16;unsigned
20、char passbuf16;code unsigned char sword16=0x00,0x01,0x02,0x03,0xff;uchar pasword94;void delay(int a); /鍵盤void ledoff();void system();unsigned char testkey() led = 0; return (key&0x0f);unsigned char getkey(int test,int success) int pos; int i; int k; if(test=0) while(!testkey() ledoff(); i=6; pos=0x2
21、0; do led=pos; pos=1; k=key&0x0f; while(-i!=0)&(k=0); if(k!=0) i*=4; if(k&2) i+=1; else if(k&4) i+=2; else if(k&8) i+=3; led=0; do delay(4);while(testkey(); return(keytablei); else return(0xff);void setpassword() unsigned char i; for(i=0;i16;i+) passi=getkey(0,0); if(passi=0xff) break; void delay(in
22、t a) int i=0,j=0,q=0; for(;ia;i+) for(;ja;j+) for(;qa;q+) void ledoff() led=0x02; dat=ledmapsuccess/10; delay(8); led=0x01; dat=ledmapsuccess%10; delay(8); void system()int q,x;x=0;K=240;while(!testkey() ledsys();for(;1;)for(q=0;q16;q+) passbufq=getkey(1,0); if (passbufq=0xff) break;q=0;while(swordq
23、!=0xff&q16) if(swordq!=passbufq) break; q+;if(swordq=0xff) K=240; break; void delay2() /延時int i,j;for(i=0;i100;i+)for(j=0;j500;j+);void main(void)int ffff; int i,j; int num; success=0; num=8; EA=1; /開總中斷 EX0=1; /允許使用外中斷 IT0=1; /選擇負跳變來觸發(fā)外中斷 a1=30; a2=30; P1=0x00; /從0開始累計中斷次數(shù) f1=f2=f3=f4=f5=f6=f7=f8=0
24、;AA: while(1) memset(0,pass,sizeof(pass);success=num; setpassword();success=0; switch(pass0) case 1: /取 if(num!=8) success=11;setpassword(); switch(pass0) case 1: if(f1) success=1; setpassword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword1j) ff=0; if(ff) L1=0; f1=0; num+; else goto AA; break; case 2:
25、 if(f2) success=2; setpassword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword2j) ff=0; if(ff) L2=0; f2=0; num+; else goto AA; break; case 3: if(f3) success=3; setpassword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword3j) ff=0; if(ff) L3=0; f3=0; num+; else goto AA; break; case 4: if(f4) success=4; setpa
26、ssword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword4j) ff=0; if(ff) L4=0; f4=0; num+; else goto AA; break; case 5: if(f5) success=5; setpassword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword5j) ff=0; if(ff) L5=0; f5=0; num+; else goto AA; break; case 6: if(f6) success=6; setpassword(); ff=1; for(j=0;
27、j4&ff;j+) if(passj!=pasword6j) ff=0; if(ff) L6=0; f6=0; num+; else goto AA; break; case 7: if(f7) success=7; setpassword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword7j) ff=0; if(ff) L7=0; f7=0; num+; else goto AA; break; case 8: if(f8) success=8; setpassword(); ff=1; for(j=0;j4&ff;j+) if(passj!=pasword8j) ff=0; if(ff) L8=0; f8=0; num+; else goto AA; break;else goto AA; break;case 2: /存 if(num!=0) success=22; setpassword(); switch(pass0) cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇南京金陵中學2024~2025學年高二下冊期末考試數(shù)學試題學生卷
- 江蘇常州聯(lián)盟學校2024~2025學年高一下冊期末調研數(shù)學試題學生卷
- 農村居民消費升級對農村金融服務的需求變化考核試卷
- 創(chuàng)新思維培訓效果評估考核試卷
- 設備自動化升級方案考核試卷
- 健康促進項目評估中的慢性病預防與控制效果評價考核試卷
- 水資源保護法規(guī)考核試卷
- 壓力傳感器數(shù)據(jù)傳輸考核試卷
- 哺乳期營養(yǎng)保健品效果評價考核試卷
- 智能化醫(yī)療器械產品追溯系統(tǒng)考核試卷
- 教師職業(yè)理想信念教育
- 農藥經營考試題及答案
- 2025年中考安徽物理試題及答案
- 寵物店合伙協(xié)議書范本
- GB/T 15972.33-2024光纖試驗方法規(guī)范第33部分:機械性能的測量方法和試驗程序應力腐蝕敏感性參數(shù)
- 質量保修卡樣本
- 軍人撫恤優(yōu)待條例培訓2024
- 零星工程維修 投標方案(技術方案)
- 【培訓課件】博士學位論文寫作經驗談
- 江蘇省南京市江寧區(qū)2023-2024學年高一下學期期末考試化學
- 中核陜西鈾濃縮有限公司招聘筆試題庫2024
評論
0/150
提交評論