【本科優(yōu)秀畢業(yè)設計】基于51單片機的硬件加密鎖的設計與實現_第1頁
【本科優(yōu)秀畢業(yè)設計】基于51單片機的硬件加密鎖的設計與實現_第2頁
【本科優(yōu)秀畢業(yè)設計】基于51單片機的硬件加密鎖的設計與實現_第3頁
【本科優(yōu)秀畢業(yè)設計】基于51單片機的硬件加密鎖的設計與實現_第4頁
【本科優(yōu)秀畢業(yè)設計】基于51單片機的硬件加密鎖的設計與實現_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業(yè)設計(論文)基于51單片機的硬件加密鎖的設計與實現摘要單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。單片機即單片微型計算機(SINGLECHIPMICROCOMPUTER),是集CPU,RAM,ROM,定時,計數和多種接口于一體的微控制器。其中51單片機是各種單片機中最為典型和最有代表性的一種,廣泛應用于各個領域。本課題選擇MCS51單片機為核心控制元件,設計了一個日常生活中用到的硬件加密鎖系統。該系統是由單片機系統及MAX232組成。使用單片機匯編語言進行編程,實現了硬件加密鎖的功能本論文主要介紹了硬件加密鎖的軟、硬件部分的設計,以及在設計、調試過程中遇到的問題及解決方案。經過實踐證明,本課題設計的該系統結構簡單,穩(wěn)定,造價成本低,功能完全,具有很強的實用性。關鍵詞8051單片機;硬件加密鎖系統;MAX232ABSTRACTTHESINGLESLICEMACHINEISTHEMICROCOMPUTERWHICHALLINTEGRATESMAINCALCULATORFUNCTIONPARTSESONAPIECEOFCHIPSINGLESLICEMACHINENAMELYSINGLESLICEMICROCOMPUTERTHEMICROCOMPUTEROFTHESINGLECHIP,GATHERCPU,RAM,ROM,COUNTTOCONNECTINTHETINYCONTROLLEROFINTEGRALWHOLEWITHVARIETYINFIXEDTIMEAMONGTHEM51SINGLESLICEMACHINESISVARIOUSSINGLESLICEMACHINEINISATYPICALMODELMOSTANDHAVEREPRESENTATIVE1KINDMOST,EXTENSIVELYAPPLIEDINEACHREALMTHISTOPICCHOICEMCS51SINGLESLICEMACHINEISACORECONTROLCOMPONENT,DESIGNEDADAILYLIFECONVENIENTARRIVEOFTHEHARDWAREENCRYPTLOCKSYSTEMTHATSYSTEMCONSTITUTESTOFROMSINGLESLICEMACHINESYSTEMANDMAX232USINGTHESINGLESLICEMACHINEEDITSCOLLECTEDMATERIALSLANGUAGETOCARRYONWEAVINGADISTANCE,THEFUNCTIONWHICHCARRIESOUTHARDWARETOENCRYPTALOCKORIGINALLYTHETHESISMAINLYINTRODUCEDHARDWARETOENCRYPTTOLOCKOFSOFT,THEDESIGNOFHARDWAREPART,ANDMEETINTHEDESIGN,ADJUSTTRYTHEPROCESSOFTHEPROBLEMANDTHESOLUTIONPASSBYTOPRACTICEACERTIFICATE,THESYSTEMSSTRUCTUREOFWITHTHISTOPICDESIGNSIMPLE,STABILIZE,BUILDPRICECOSTLOW,FUNCTIONCOMPLETE,HAVEVERYSTRONGFUNCTIONKEYWORDSSINGLECHIPCOMPUTER805151THEHARDWAREENCRYPTSLOCKSYSTEMMAX232目錄摘要IABSTRACTII第1章緒論111課題背景1111課題的國內外現狀1112課題的發(fā)展趨勢3113本文研究的主要內容712本章小結7第2章總體方案與論證5218051單片機52118051的介紹522本章小結11第3章硬件電路設計1131設計部分11311硬件部分1134本章小結17第4章軟件電路設計1941程序框圖19411軟件系統中的主程序流程圖19412軟件電路設計2042系統調試2043測試過程2144本章小結21結論23參考文獻24附錄125附錄231附錄334附錄447致謝1第1章緒論11課題背景111課題的國內外現狀隨著PC機的普及,各種不同功能的計算機軟件相繼產生,使PC機的功能不斷增強,方便了人們的學習,工作,和生活。但是在利益的驅使下,軟件盜版盜用的現象日益嚴重。如何保護軟件開發(fā)者的知識產權和經濟利益,保證正版軟件用戶的利益是一個急需解決的問題。單純的軟件加密顯然是不夠的。因此我們需要一種更為有效的硬件加密方式。硬件加密鎖,俗程“加密狗”。它通過硬件設備實現防止軟件在使用過程中被非法復制和盜版。在當今中國市場上最主要的加密鎖品牌有1。美國彩虹公司(也是最早做硬件加密的公司)的國產品牌“加密狗”、美國品牌“圣天諾軟件加密鎖”;2。阿拉丁的“HASP”系列加密鎖;3。德國威博公司的“WBUKEY”加密鎖;4。深思洛克的“深思加密鎖”;5。藍宇風公司的“金盾加密鎖”;6。飛天公司的“ROCKEY”加密鎖等幾個主要品牌。以上加密鎖品牌的工作原理都是大同小異被保護的軟件加密鎖之間形成一一對映的關系,被保護的軟件在運行的過程當中不斷通過其API函數向加密鎖發(fā)指令來判斷加密鎖是否存在于,軟件離開保護鎖不能運行。第一代硬件保護鎖,只是通過一個簡單查詢函數來驗證并口的硬件保護鎖是否存在,存在則程序繼續(xù)運行,不再則軟件終止運行,來完成并保護軟件開發(fā)商的利益;第二代的硬件加密鎖與第一代的產品相比較最大的改變在于加密鎖硬件里頭的運算芯片由RAINBOW公司寫入了一個固定的“加密算法”,但這個算法是單一的固定的。以上兩種產品對于軟件開發(fā)商來說有一個相當大的風險。如果RAINBOW把相同的產品出售給別人的話,別人拿到這個加密鎖就能使用開發(fā)商的軟件;第三代的硬件加密產品,這種產品徹底解決了軟件開發(fā)商的后顧之憂。這種產品其運算芯片中內置了28種算法,共分為56個單元,每兩個單元可以單獨保護一個應用程序,故用RAINBOW公司的說法其一把鎖可以保護28個應用程序;且這種加密鎖的每個算法單元所采用的算法因子是由軟件開發(fā)商自己設定的,當其寫入加密鎖后對于外界來說就相當于一個暗箱,是任何人也讀不出來的。但隨著解密者的技術的不斷提高,RAINBOW中國公司研發(fā)出了第四代的產品智能狗,與現今的差不多所有品牌的加密鎖相比較,這種狗有了一個質的飛躍其通過在開發(fā)過程中把一段代碼加密后寫入加密狗,當程序運行時再把加密狗里的代碼在加密狗里自行運行,程序調用其運算結果來完成軟件的加密,如此就從理論上杜絕了軟件被破解的可能?,F在市面上的加密狗的工作原理不外乎RAINBOW的這兩種形式1、程序發(fā)命令查詢加密狗運算后相應程序;2、把源代碼放入加密狗內部執(zhí)行。112課題的發(fā)展趨勢盜版既是軟件行業(yè)的問題,也是一個社會問題。在軟件行業(yè),所有的軟件開發(fā)商、銷售商都為來自光盤、來自INTERNET的全球范圍內的軟件盜版而困擾。從軟件使用者的角度來講,往往只看到購買盜版“所占到的便宜”,而忽視了服務無法保證、系統安全風險等諸多問題的存在,也正是由于這種“忽視”,在很大程度上限制了軟件產業(yè)特別是民族軟件產業(yè)的成長。我們回想一下有多少軟件企業(yè)被盜版而扼殺在搖籃里又有多少企業(yè)倒在了反盜版的路上軟件企業(yè)要生存,軟件行業(yè)要持續(xù)、健康發(fā)展,因此軟件保護才應運而生,大部分軟件商最初采用的保護方式主要是軟加密,主要有密碼方式、軟件自校驗方式和鑰匙盤方式等純軟件的手段,但是隨著軟件保護行業(yè)的發(fā)展,解密技術也隨之出現并快速的發(fā)展起來,軟加密的方式已經“不堪一擊”;在這種情況下,依賴于硬件的保護開始被廣泛應用,成為最常用的保護手段。加密卡、加密狗(加密鎖)等也成為了軟件保護技術進步下的產物。但是,加密與解密的斗爭是永無休止的;很快,普通的硬件保護技術受到了挑戰(zhàn)于是,2001年以后,軟件保護行業(yè)形成一輪新的技術升級浪潮,突破性地在金融、軍隊、網絡身份認證等對安全性、穩(wěn)定性要求極高的領域廣泛使用的智能卡(SMARTCARD)技術來對商業(yè)軟件的進行保護。以智能卡技術為核心構建的新一代的軟件保護系統,對用戶的軟件代碼和重要數據提供了全方位、高安全度的保護,被稱為軟件盜版的“終結者”。在與盜版的激烈斗爭中,中國軟件保護行業(yè)市場逐步形成并在市場的強烈激發(fā)和需求下快步的蓬勃發(fā)展,深思洛克、阿拉丁、彩虹天地(現為美國賽孚耐)等都是其中的佼佼者。時至今日,在以智能卡技術為基礎構建的軟件保護技術已經非常完善,以深思洛克的代表產品精銳IV加密鎖為例。她所采用的芯片是目前國際上唯一通過EAL5的安全芯片,以其優(yōu)秀的防物理攻擊、電子探測功能為加密鎖提供了一個安全的“芯”。利用她強大的處理能力,軟件開發(fā)商可以將軟件中一段或幾段關鍵的代碼移植到加密鎖中運行,或將軟件運行所需的關鍵數據保存在鎖內,外部軟件通過接口函數訪問硬件中的關鍵代碼或數據,由于這些代碼和數據在PC端沒有副本存在,解密者根本無從猜測算法或竊取數據。然而,就在軟件保護行業(yè)正在為技術變革帶來的高安全性而欣喜的時候,軟件開發(fā)商卻提出了新的需求要求加密鎖將軟件銷售渠道、加密鎖生產、發(fā)行管理起來。目前,我國軟件開發(fā)商大多采用代理制、分銷制的發(fā)行方式,在享受其帶來的諸多優(yōu)勢的同時,也給軟件發(fā)行管理帶來了諸多問題,而這是傳統加密鎖根本無法解決的,事實證明所謂的這類普通加密鎖已經在逐漸失去其存在的價值和意義。首先,如果軟件開發(fā)商是采用傳統加密鎖進行軟件保護的,那么在軟件升級及功能更新時候,必須將加密鎖通過郵寄的方式往返于軟件開發(fā)商和最終用戶,這種方式大大增加了運輸和管理成本;其次傳統加密鎖采用的是普通的單片機,所以單純從硬件來說很難抵御目前快速發(fā)展的解密技術攻擊,硬克隆這種完全的破解對于解密者來說也并非難事,傳統的加密鎖存在極大的被解密的風險;另外,傳統的加密鎖由于天生的安全缺陷,無法幫助軟件企業(yè)對發(fā)行渠道進行有效地控制和管理,所以對渠道過程中“兼守自盜”束手無策,然而往往一些軟件的盜版壓力就來自發(fā)行渠道?;谝陨县酱鉀Q的問題,深思洛克率先在2002年推出基于安全智能卡芯片的高強度加密鎖,輔以及安全、高效的加密解決方案,使數千套軟件得到安全無憂的保護,并利用智能卡所具有的網絡安全特質,將加密鎖的遠程升級功能,以及軟件授權管理功能賦予了安全的智能卡加密鎖,從而成功的解決了軟件企業(yè)及軟件保護行業(yè)共同面臨的難題。如果說智能卡加密鎖的安全解決方案以及“遠程更新”技術是實現軟件銷售管理的基礎,那么授權管理技術則是這一應用得以實現的保障。他不僅可以成功解決軟件企業(yè)眼前的難題,更重要的是基于軟件授權管理可以打造全新的軟件銷售模式,為軟件行業(yè)帶來革命性的進步。客戶可以根據自己的需求按使用時間或使用次數定制軟件,也可以按自己的要求定制使用的軟件種類與模塊組合,客戶只需要為自己必須的應用功能或服務付款;并通過試用,確定符合自己的需求的基礎上,購買服務,并通過遠程開通來使用這種服務可見,新的“加密鎖整體保護方案”與傳統“軟件加密”有太大不同。首先,軟件企業(yè)利用這種管理模式可以非常方便的管理自己的銷售渠道和最終用戶;其次,消費者可以通過遠程申請使用滿足自己需求的軟件模塊,并且不需要初期昂貴的投資,而僅僅需要按次或按時支付固定的費用。可以預見,軟件租賃服務一旦成為軟件銷售的主流形式,對軟件保護行業(yè)來說,則意味著許多商業(yè)機會,如財務、CRM、HR等需要較多服務的管理類軟件或建筑類、娛樂類對安全有較高要求,對客戶信息需要管理的軟件采用傳統的加密已遠遠無法滿足需求大多數軟件企業(yè)將采用這種新的管理模式,軟件企業(yè)關心的將不僅僅是盜版問題,而是在軟件安全的情況下如何提高服務質量、如何輕松實現渠道、客戶信息的可控管理、如何保證授權管理的高安全性113本課題研究的主要內容本設計目的使學生熟練掌握MCS51本操作和調試程序的各種指令。熟悉編程及調試程序的方法。掌握8051的工作原理和應用編程方法,練習編寫中斷程序的方法。掌握8051的工作原理、工作方式及其應用編程。本設計的要求1查閱與課題相關的文獻,了解硬件“看門狗”的作用及工作原理2實現硬件電路3實現單片機軟件算法4編制一個簡單的DEMO12本章小結本章簡單介紹了本次設計的課題國內外現狀和發(fā)展趨勢和研究的主要內容,為以后的設計的設計作好準備。第2章總體方案與論證218051單片機2118051簡介8051系列單片機是8051是MCS51系列單片機的典型產品,美國ATMEL公司前些年推出的一種新型高性能低價位、低電壓低功耗的8位CMOS微型計算機。8051單片機包含中央處理器、程序存儲器ROM、數據存儲器RAM、定時/計數器、并行接口、串行接口和中斷系統等幾大單元及數據總線、地址總線和控制總線等三大總線,現在我們分別加以說明下圖是MCS51系列單片機的內部結構示意圖。中央處理器中央處理器CPU是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統協調的工作,完成運算和控制輸入輸出功能等操作。存儲器單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛HARVARD結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一的結構,即普林斯頓PRINCETON結構。INTEL的MCS51系列單片機采用的是哈佛結構的形式,而后續(xù)產品16位的MCS96系列單片機則采用普林斯頓結構。8051單片機的存儲器在物理結構上分為程序存儲器空間和數據存儲器空間,共有4個存儲空間片內程序存儲器、片外程序存儲器以及片內數據存儲器、片外數據存儲器空間。這種程序存儲和數據存儲分開的結構形式被稱為哈佛結構。但從用戶的角度,8051存儲器地址空間可分為3類片內、片外統一編址0000HFFFFH的64KB程序存儲器地址空間用16位地址;64KB片外數據存儲器地址空間,地址也從0000HFFFFH用16位地址編址;256B片內數據存儲器地址空間用8位地址。上述4個存儲空間地址是重疊的,如圖所示。8051的指令系統設計了不同的數據傳送指令以區(qū)別這4個不同的邏輯空間CPU訪問片內、片外ROM指令用MOVC,訪問片外RAM指令用MOVX,訪問片內RAM指令用MOV。數據存儲器RAM8051內部有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。程序存儲器ROM8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數據或表格。程序存儲器用于存放編好的程序和表格常數。程序通過16位程序計數器尋址,尋址能力為64KB。這使得指令能在64KB的地址空間內任意跳轉,但不能使程序從程序存儲器空間轉移到數據存儲器空間。實際上,當引腳EA接高電平時,8051的程序計數器PC執(zhí)行片內ROM中的程序,當指令地址超過片內ROM地址時,就自動轉向片外ROM中去取指令。當引腳EA接低電平接地時,8051片內ROM不起作用,CPU只能從片外ROM中取指令,地址可以從0000H開始編址。8051從片內程序存儲器和片外程序存儲器取指時的執(zhí)行速度相同。定時/計數器ROM8051不僅有豐富的可用端口,其還內含有兩個16位的計時器/定時器,稱為計數器TO及計數器T1,以實現定時或計數產生中斷用于控制程序轉向。其主要作用有兩點第一,做一段特定時間長短的計時。第二,可以計算由TO或TL引腳的輸入脈沖數。前者在應用上可以產生正確的時間延遲及定時去執(zhí)行中斷服務程序,這是MCU在軟件控制程序上常用到的技巧,而后者的應用則是計數器或是頻率計的設計。這兩個計數器本身都有4種工作模式可以選用模式013位計時工作模式模式116位計時工作模式模式2具有從新載入計數值的8位計時模式模式3計數器TL停止計時工作,而計數器0分為兩個獨立的8位計數器由TLO和THO來負責計時工作。計數器的初值設定是由下面的公式來計算的,設C為要計數的次數則并行輸入輸出I/O口8051共有4組8位I/O口P0、P1、P2或P3,用于對外部數據的傳輸。P0口有三個功能1、外部擴展存儲器時,當做數據總線(如圖1中的D0D7為數據總線接口)2、外部擴展存儲器時,當作地址總線(如圖1中的A0A7為地址總線接口)3、不擴展時,可做一般的I/O使用,但內部無上拉電阻,作為輸入或輸出時應在外部接上拉電阻。P1口只做I/O口使用其內部有上拉電阻。P2口有兩個功能1、擴展外部存儲器時,當作地址總線使用2、做一般I/O口使用,其內部有上拉電阻P3口有兩個功能除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由特殊寄存器來設置。全雙工串行口8051內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。8051單片機的串行端口有4種基本工作方式,通過編程設置,可以使其工作在任一方式,以滿足不同應用場合的需要。其中,方式0主要用于外接移位寄存器,以擴展單片機的IO電路;方式1多用于雙機之間或與外設電路的通信;方式2、3除有方式1的功能外,還可用作多機通信,以構成分布式多微機系統。串行端口有兩個控制寄存器,用來設置工作方式、發(fā)送或接收的狀態(tài)、特征位、數據傳送的波特率每秒傳送的位數以及作為中斷標志等。串行端口有一個數據寄存器SBUF在特殊功能寄存器中的字節(jié)地址為99H,該寄存器為發(fā)送和接收所共同。發(fā)送時,只寫不讀;接收時,只讀不寫。在一定條件下,向陽UF寫入數據就啟動了發(fā)送過程;讀SBUF就啟動了接收過程。串行通信的波特率可以程控設定。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器TL的定時溢出時間確定,使用十分方便靈活。8051的串行I/O有4中工作模式可供選擇模式0此模式是做串行傳送1/0控制,而非真正的串行通信應用。工作于此模式時由TXD引腳發(fā)送出同步移位脈沖,由RXD引腳送出或接收串行數據。串行數據形式是8位數據,同步脈沖的寬度也是固定的,為系統工作震蕩的1/12,等于8051的一個工作周期。模式1此模式為經常使用的串行工作模式,串行數據位由TXD引腳傳送出去,由RXD引腳將對方發(fā)來的串行數據位接收進來。至于傳輸的波特率是由計時器T1來規(guī)劃的,只要將不同的計數器初值載入計時器中,可以做不同的波特而在模式1和模式3下的波特率由內部計數器T1來控制,此時應使用計數器工作模式2,自動重新載入計時模式。在模式2下,使用的計數寄存器為TL1,而TH1則是在做自動載入計時值的設定。波特率的計算公式為將上式整理得中斷系統8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。8051單片機的中斷系統簡單實用,其基本特點是有5個固定的可屏蔽中斷源,3個在片內,2個在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進入中斷服務程序;5個中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套;2個特殊功能寄存器用于中斷控制和條件設置的編程。5個中斷源的符號、名稱及產生的條件如下INT0外部中斷0,由P32端口線引入,低電平或下跳沿引起。INT1外部中斷1,由P33端口線引入,低電平或下跳沿引起。T0定時器計數器0中斷,由T0計滿回零引起。T1定時器計數器L中斷,由T1計滿回零引起。TIRI串行IO中斷,串行端口完成一幀字符發(fā)送接收后引起。整個中斷系統的結構框圖見下圖一所示。由圖一可見,外部中斷有下跳沿引起和低電平引起的選擇;串行中斷有發(fā)送TI相接收R1的區(qū)別;各個中斷源打開與否,受中斷自身的允許位和全局允許位的控制,并具有高優(yōu)先級和低優(yōu)先級的選擇。中斷系統的控制寄存器中斷系統有兩個控制寄存器IE和IP,它們分別用來設定各個中斷源的打開關閉和中斷優(yōu)先級。此外,在TCON中另有4位用于選擇引起外部中斷的條件并作為標志位。時鐘電路8051內置最高頻率達12MHZ的時鐘電路,用于產生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。后面章節(jié)詳細介紹。2本章小結本章介紹了8051單片機的結構及工作原理,為以后的設計做準備。第3章硬件電路設計31設計部分311硬件部分18051單片機的引腳介紹目前制造工藝為HMOS的MCS51的單片機都采用40只引腳的雙列直插封裝方式,40只引腳按其功能分,可分為三個部分圖111電源及時鐘引腳VCC,VSS;XTAL1XTAL22控制引腳PSEN、ALE、EA、RESET3I/O口引腳P0、P1、P2、P3,為4個8位I/O口的外部引腳。電源及時鐘引腳1電源引腳接入單片機的工作電源。VCC(40腳)接5V電源;VSS20腳接地。2時鐘引腳XTAL1、XTAL2。時鐘引腳接外接晶體與片內的反相放大器構成了一個振蕩器,它提供單片機的時鐘控制信號。時鐘引腳也可外接晶體振蕩器。3控制引腳此類引腳提供控制信號,有的還具有復制功能。4RST/VPD9腳當振蕩器運行時,在此引腳外加上兩個機器周期的高電平將使單片復位(RST)。掉電期間,此引腳可接上備用電源(VPD),以保持內部RAM的數據,當VCC下掉到低于規(guī)定的值,而VPD在其規(guī)定的電壓范圍內(505V)時,VPD就向內部RAM提供備用電源。(5)ALE/PROG30腳當訪問單片機外部存儲器時,ALE輸出脈沖的負跳沿用于16位地址的低8位的鎖存信號。即使不訪問外部存儲器,ALE端仍有正脈沖信號輸出,此頻率為時鐘頻率的1/6。但是,每當訪問外部數據存儲器時,在兩個機器周期中ALE只出現一次,即丟失一個ALE脈沖。因此,嚴格來說,用戶不能用ALE做時鐘愿或定時。ALE端可以驅動8個TTL負載(6)PSEN(29腳)此角的輸出是單片機訪問外部程序存儲器的讀選通信號。在由外部程序存儲器取指令期間,每個機器周期PSEN有兩次有效。但在此期間,每當訪問外部數據存儲器時,這兩次有效的PSEN信號不出現。PSEN可以驅動8個TTL負載。(7)EA/VPP31腳當EA端保持高電平時,單片機訪問內部程序存儲器,但在PC只超過0FFFH時,將自動轉向執(zhí)行外部程序存儲器內的程序。當EA保持低電平時,則只訪問外部程序存儲器,不管是否有內部程序存儲器。2MAX232的介紹MAX232一般說明MAX232是雙路驅動/接收器,內部包括電容型的電壓生成器,可以將單5V電源轉換成符合EIA/TIA232E的電壓等級。接收器將EIA/TIA232E標準的輸入電平轉換成5VTTL/CMOS電平。接收器的典型臨界值是13V,典型磁滯是05V,可以接收30V的輸入信號。驅動器(發(fā)送器)將TTL/CMOS輸入電平轉換成EIA/TIA232E電平。特性單5V電源,LINBICMOS工藝,兩個驅動器和兩個接收器,30V的輸入電平,低工作電流8MA典型值,滿足和超過ANSIEIA/TIA232E和ITU推薦標準V28,可以和MAXIM的MAX232互換應用,EIA/TIA232E標準,電池供電系統,終端MODEM計算機,ESD保護超過2000V(MILSTD883,METHOD3015)。3RS232的介紹RS232RS232接口就是串口,電腦機箱后方的9芯插座,旁邊一般有“|O|O|“樣標識。一般機箱有兩個,新機箱有可能只有一個。筆記本電腦有可能沒有。有很多工業(yè)儀器將它作為標準通信端口。通信的內容與格式一般附在儀器的用戶說明書中。計算機與計算機或計算機與終端之間的數據傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同的設備可以方便地連接起來進行通訊。RS232C接口(又稱EIARS232C)是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協會(EIA)聯合貝爾系統、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通訊的標準。它的全名是“數據終端設備(DTE)和數據通訊設備(DCE)之間串行二進制數據交換接口技術標準”該標準規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內容加以規(guī)定,還對各種信號的電平加以規(guī)定。(1)接口的信號內容實際上RS232C的25條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用39條引線。RS232C最常用的9條引線的信號內容見附表1所示(2)接口的電氣特性在RS232C中任何一條信號線的電壓均為負邏輯關系。即邏輯“1”,515V;邏輯“0”515V。噪聲容限為2V。即要求接收器能識別低至3V的信號作為邏輯“0”,高到3V的信號作為邏輯“1”3接口的物理結構RS232C接口連接器一般使用型號為DB25的25芯插頭座,通常插頭在DCE端,插座在DTE端一些設備與PC機連接的RS232C接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送數據”、“接收數據”和“信號地”。所以采用DB9的9芯插頭座,傳輸線采用屏蔽雙絞線。(4)傳輸電纜長度由RS232C標準規(guī)定在碼元畸變小于4的情況下,傳輸電纜長度應為50英尺,其實這個4的碼元畸變是很保守的,在實際應用中,約有99的用戶是按碼元畸變1020的范圍工作的,所以實際使用中最大距離會遠超過50英尺,美國DEC公司曾規(guī)定允許碼元畸變?yōu)?0而得出附表2的實驗結果。其中1號電纜為屏蔽電纜,型號為DECPNO9107723內有三對雙絞線,每對由22AWG組成,其外覆以屏蔽網。2號電纜為不帶屏蔽的電纜。型號為DECPNO910585604是22AWG的四芯電纜。1RS232C是美國電子工業(yè)協會EIA(ELECTRONICINDUSTRYASSOCIATION)制定的一種串行物理接口標準。RS是英文“推薦標準”的縮寫,232為標識號,C表示修改次數。RS232C總線標準設有25條信號線,包括一個主通道和一個輔助通道,在多數情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現,如一條發(fā)送線、一條接收線及一條地線。RS232C標準規(guī)定的數據傳輸速率為每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS232C標準規(guī)定,驅動器允許有2500PF的電容負載,通信距離將受此電容限制,例如,采用150PF/M的通信電纜時,最大通信距離為15M;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS232屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20M以內的通信。2RS485總線,在要求通信距離為幾十米到上千米時,廣泛采用RS485串行總線標準。RS485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測低至200MV的電壓,故傳輸信號能在千米以外得到恢復。RS485采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS485用于多點互連時非常方便,可以省掉許多信號線。應用RS485可以聯網構成分布式系統,其允許最多并聯32臺驅動器和32臺接收器。以往,PC與智能設備通訊多借助RS232、RS485、以太網等方式,主要取決于設備的接口規(guī)范。但RS232、RS485只能代表通訊的物理介質層和鏈路層,如果要實現數據的雙向訪問,就必須自己編寫通訊應用程序,但這種程序多數都不能符合ISO/OSI的規(guī)范,只能實現較單一的功能,適用于單一設備類型,程序不具備通用性。在RS232或RS485設備聯成的設備網中,如果設備數量超過2臺,就必須使用RS485做通訊介質,RS485網的設備間要想互通信息只有通過“主(MASTER)”設備中轉才能實現,這個主設備通常是PC,而這種設備網中只允許存在一個主設備,其余全部是從(SLAVE)設備。而現場總線技術是以ISO/OSI模型為基礎的,具有完整的軟件支持系統,能夠解決總線控制、沖突檢測、鏈路維護等問題。4電路圖的設計連接電路連接從計算機串口取電電路,實現系統供電連接MAX232接口電平轉換電路,實現邏輯電平與RS232的電平的相互轉換。51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,我們采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我們來說已經足夠使用了,電路如上圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接。34本章小結本章介紹了硬件電路的總電路圖,以及各個模塊的理論原理。比較細致的學習各個模塊的工作原理。第4章軟件電路設計41程序框圖411軟件設計的主程序流程圖開始下位機發(fā)送數據下位機收到數據下位機算出數據比較數據下位機向上位機發(fā)送數據開始通信下位機不回應上位機結束412軟件電路設計大多控制系統都把PC作為上位機,單片機系統作為下位機。單片機系統必需把采集的數據傳輸給PC機,以便進行存儲和處理。PC機幾乎都具有RS232接口,因此,單片機通過RS232口與PC機通信最方便,也是嘴常用的方法。但是單片機并沒有RS232電氣接口,要進行通信,必需要進行接口擴展。本設計采用了接口擴展的方案,并根據自行設計的通訊協議,編寫了通信軟件。編寫程序編寫單片機單片機端串口結束電和發(fā)送程序;編寫上位機端串口發(fā)送和接受程序。以上是串口通信的一般流程。對于本設計的硬件加密鎖的設計。要求在下位機中設計一個算法。上位機發(fā)送數據。下位機接受數據,并根據算法計算出結果,然后比較數據如果一致就進行串口通信。不一致就停止通信。程序見附錄42系統調試本次設計的最后一項任務是對系統進行調試,并測試程序和硬件是否能按照要求工作。單片機應用系統的程序存儲器必須放入調試好的應用程序,系統才能運行。如果研制人員對單片機的結構、系統硬件結構、指令系統十分熟悉,能確保所編制的程序不會出錯時,可不需要開發(fā)工具,只要把所開發(fā)的軟件固化到系統的EPROM中即可。一般來說,都需要借助開發(fā)工具來調試應用軟件。開發(fā)工具的主要作用是(1)系統硬件電路的診斷與檢查;(2)程序的輸入與修改;(3)程序的運行、調試,具有單步運行、狀態(tài)查詢等功能;(4)能將程序固化到EPROM芯片上去。本次測試的工具主要是面包板一個(用來進行硬件連接),導線若干,偉幅仿真器一個(用來對便好的程序進行調試,以及看最終結果是否符合設計要求),電源一臺(供給仿真器及單片機電源),萬用表一個。43測試過程測試過程的第一項任務是建立自己的項目文件,首先選擇菜單文件/新建文件功能在彈出的文件中輸入所編寫的程序。然后選擇菜單文件/保存文件或文件/令存為功能,給出文件所要保存的位置以及文件名,單擊保存。接下來的任務是建立新的項目選擇菜單文件/新建項目功能。此不工作要分三步完成。(A)加入模塊文件,在加入模塊文件的對話框中選擇剛才所保存的文件,按打開鍵。(B)加入包含文件,在加入包含文件的對話框中,選擇所要加入的包含文件。(C保存項目,在保存項目的對話框中輸入醒目的名稱,無需加后綴,軟件會自動將后綴設成“ASM“按保存鍵將項目保存在源程序相同的文件加下。項目保存好后,如果項目是打開的,可看到項目中的“模塊文件“已有一個模塊,并且就是你所保存的文件名,如果項目窗口沒有打開,可以選擇菜單窗口/項目窗口功能來打開。以上是編譯程序的初步階段,然后就是編譯程序了。選擇菜單項目/編譯功能或按編譯快捷圖標,編譯項目。在編譯過程中,如果有錯誤可以在信息窗口中顯示出來,雙擊錯誤信息,可以在源程序定位所在的行。糾正錯誤后,再次編譯直到沒有錯誤后,就可調試程序了。下一步工作是單步調試程序,選擇執(zhí)行/跟蹤功能或按跟蹤快捷圖標或按F7鍵進行單步跟蹤調試程序,單步跟蹤調試程序就一條指令一條指令地執(zhí)行程序,若有子程序調用,也會跟蹤到子程序中去。在這個過程中,可以觀察程序每步執(zhí)行的結果。連接硬件仿真時,按照說明書,將仿真器通過串行電纜連接計算機上,將仿真頭連接到仿真器,檢查連線無誤后,接上電源,打開仿真器的電源開關,如果仿真器和仿真頭設置正確,并且硬件連接正確,就會出現“硬件仿真“的對話框,并顯示仿真器、仿真頭的型號及仿真器的序列號。重新編譯程序,全速執(zhí)行程序,就可仿真了。在這過程中遇到的最多困難是在程序的編譯過程中,因為有時候是子程序沒有定義而編譯不過去,有時候是指令寫得不對,這就要求我們對單片機的知識了解得比較精。44本章小結本章利用前面已經掌握的知識設計出了軟件流程圖,并根據流程圖編寫出程序。然后將編好的主程序進行調試,看是否能實現預期的功能,找出缺陷和不足并解決出現的問題。結論硬件加密鎖的設計通過運用以前所掌握的單片機知識,設計出所需要的能夠實現加密鎖功能硬件電路,并在PROTEL99中把電路圖繪制完成。然后運用單片機知識進行程序地編寫和編譯仿真,最后進行硬件連調,并加上相應的外部電路和連線,來對所設計的電路的功能進行驗證。實驗結果完成了最初的設計預想,實現了設計所要達到的功能這次設計對我們的影響意義非凡。首先從選題來說,他的選題考慮到了我們大學四年所學的所有知識,既要求我們對知識掌握的牢固,又要求我們對知識能夠靈活運用。從運用到的知識面來說,它不僅要求我們運用所學過的知識還要求我們去尋找,學習,借鑒其他科目或門類的知識。從時間上來說,這次設計的時間是最長的,因此我們有足夠的時間去重新溫習學過的知識,更有充足的時間去搜集學習一些我們沒有涉獵過的知識。這樣不僅鍛煉了我們學習新知識的能力,同時也拓寬了我們的知識面。并且我們還有足夠時間去修改我們的設計中的缺陷,這也是對我們將來走入社會獨立完成一項課題的考驗。而對于我們來說最重要的是,這次實習告訴我們怎樣才能系統地完成一項實用的工作,他都需要哪些步驟。因此當我們步入社會后對于公司給我們的一個實際的應用項目將不會在感到陌生。參考文獻李華MCS51系列單片機實用接口技術北京航空學院出版社,199384吳金戌,沈慶陽,郭庭吉8051單片機實踐與應用清華大學出版社,19947張毅剛,彭喜源,譚曉昀MCS51單片機應用設計哈爾濱工業(yè)大學出版社,1997128樓然苗,李光飛51系列單片機設計實例北京航空航天大學出版社,2003310SHCHO,HKUMAGAI,ANDKMIDORIKAWA,FABRICATIONOFMULTICORESTRUCTUREINOPTICALFIBERSUSINGPLASMASELFCHANNELINGEXCITEDBYAFEMTOSECONDLASER,CLEOPACIFICRIMOL,JULY,2001,CHIBATUB2411INTELMICROCONTROLLERHANDBOOK198512INTELSOFTWAREHANDBOOK19841新編MCS51單片機應用設計張毅剛著哈爾濱工業(yè)大學出版社3電子技術基礎康平光著高等教育出版社48051單片機嵌入式系統應用賴麒文著科學出版社58051單片機基礎教程陳明熒著科學出版社6MCS51系列單片機應用系統設計何立民著北京航空航天大學出版社7流行單片機實用子程序及應用實例楊振江著西安電子科技大學出版社8增強型80C51單片機速成與實踐周立功著北京航空航天大學出版社9單片機系統設計與實驗汪道輝著電子工業(yè)出版社附錄1燕山大學本科畢業(yè)設計(論文)開題報告課題名稱基于51單片機的硬件加密鎖的設計和實現課題性質實際課題來源自選學院(系)里仁學院專業(yè)電子信息工程年級四年級學生姓名楊強強指導教師李林2007年4月9日一、綜述本課題國內外研究動態(tài),說明選題的依據和意義隨著PC機的普及,各種不同功能的計算機軟件相繼產生,使PC機的功能不斷增強,方便了人們的學習,工作,和生活。但是在利益的驅使下,軟件盜版盜用的現象日益嚴重。如何保護軟件開發(fā)者的知識產權和經濟利益,保證正版軟件用戶的利益是一個急需解決的問題。單純的軟件加密顯然是不夠的,。因此我們需要一種更為有效的硬件加密方式。通過比較軟件加密和硬件加密這兩種不同的途徑,我發(fā)現硬件加密顯然更適合自己。作為一個電子信息工程的學生,所學的專業(yè)就是偏硬件的一個專業(yè)又考慮到自己的知識背景和自己的愛好,所以我選擇了基于51單片機的硬件加密鎖為自己畢業(yè)設計的課題。作為當代的大學生,應抓住潮流立足于最新科技領域,而硬件加密鎖正是這樣的一個新的領域。這個課題可以培養(yǎng)我們把理論轉化為實際動手能力的能力,提高自己的綜合能力,為自己以后的就業(yè)和職業(yè)生涯提供資本。二、研究的基本內容,擬解決的主要問題本設計要求基于51系列單片機設計出一種硬件加密鎖并加以實現。在設計中一共用到兩個芯片,一個是51系列單片機,另一個是MAX232。通過兩者的正確連接,在加上電源情況下構成了硬件電路。主要解決的問題有五個第一搞清楚51板以及MAX232各引腳的功能。第二兩個芯片的連接方法以及電源的接法。第三51板的編程。第四主程序的編程。第五軟,硬件聯合調試。其中的難點是編程。三、研究步驟、方法及措施研究的步驟首先是查閱資料熟悉內容。其次是硬件設計。然后是單片機程序設計。接下來是軟,硬件的聯合調試。最后是撰寫論文。軟件研究的方法是PC機,也就是上位機。向單片機即下位機發(fā)送數據。下位機收到數據,然后按照一定的算法得出一個結果。將收到數據與算法結果比較。如果一致,就回應上位機向上位機返回數據。則串口進行通信。否則,單片機,即下位機不回應上位機,不返回數據。串口通信無法進行。具體過程是導師指導和自己動手做相結合。導師先給出題目并安排任務,這樣學生有足夠的時間來完成課題的設計。學生有疑問的地方可隨時向導師請教。導師是按周來安排任務。研究的措施學校為學生提供機時,供學生上機課程設計,查閱資料用。在每周四下午導師召集學生討論解答學生疑問,并且作出指導。最后安排下一周的任務。四、研究工作進度14周查閱資料和熟悉內容主要的工作是去圖書館查閱相關文獻。58周硬件設計主要是設計硬件電路以及涉及達到的芯片或者器件了解起引腳的作用及連接方法。912周單片機程序設計。1316周軟,硬件聯合調試。1718撰寫論文。五、主要參考文獻新編MCS51單片機應用設計張毅剛彭喜元編著。哈爾濱工業(yè)大學出版社單片機接口技術實用子程序陳小忠黃寧趙小俠編著人民郵電出版社8051單片機實踐與應用吳金戌,沈慶陽,郭庭吉清華大學出版社,1994中國期刊網及相關電子資源。GOOLE,百度等相關的網絡資源。六、導師意見指導教師(簽字)年月日七、審核意見審查結果1、通過;2、完善后通過;3、未通過負責人(簽字)年月日注本科畢業(yè)設計(論文)開題報告一般不少于1000字。附錄2燕山大學本科畢業(yè)設計(論文)文獻綜述課題名稱基于51單片機的硬件加密鎖的設計與實現課題性質實際課題來源自選學院(系)里仁學院專業(yè)電子信息工程年級四年級學生姓名楊強強指導教師李林2007年4月9日一、課題國內外現狀在中國,開發(fā)和銷售軟件離不開加密,因為我國的軟件保護法制還不太健全,人們的法制觀念也比較淡薄,盜版軟件有著豐富的土壤,并且因為軟件是一種非常特殊的商品,很容易復制,就其功能來講,正版和盜版的區(qū)別很小,如果開發(fā)出來的軟件不進行加密的話,那么在中國就無法銷售出去,人們樂意使用盜版軟件而沒有一些道德罪孽感,因此軟件開發(fā)商有必要使用一些加密產品來保護軟件開發(fā)者的利益,防止軟件被盜版。如何保護軟件開發(fā)者的知識產權和經濟利益,保證正版軟件用戶的利益是一個急需解決的問題。電腦狗,即加密狗,現在所說的加密狗,一般都是硬件加密狗。是一種類似于U盤一樣的東西,是一種防盜版的方式。一般是把程序的一小部分或解密部分集合到加密狗的硬件中,防止軟件的盜版。二、研究主要成果我國燈具研究的成果在當今中國市場上最主要的加密鎖品牌有1。美國彩虹公司(也是最早做硬件加密的公司)的國產品牌“加密狗”、美國品牌“圣天諾軟件加密鎖”;2。阿拉丁的“HASP”系列加密鎖;3。德國威博公司的“WBUKEY”加密鎖;4。深思洛克的“深思加密鎖”;5。藍宇風公司的“金盾加密鎖”;6。飛天公司的“ROCKEY”加密鎖等幾個主要品牌。以上加密鎖品牌的工作原理都是大同小異。三、發(fā)展趨勢隨著互聯網和電子商務的發(fā)展,USBKEY作為網絡用戶身份識別和數據保護的“電子鑰匙“,正在被越來越多的用戶所認識和使用。USBKEY這個概念最早是由加密鎖廠家提出來的,加密鎖是用來防止軟件盜版的硬件產品,加密鎖的概念是使安裝在計算機內的應用程序脫離加密鎖硬件無法運行來達到保護軟件不被盜版的目的。隨著網絡應用的不斷深入和應用軟件銷售模式的改變,未來的軟件用戶可能不需要購買軟件在本地計算機上安裝運行,而是將要處理的數據通過網絡上傳到專門運行該軟件服務的應用服務器上處理,再通過網絡取得數據處理的結果,軟件開發(fā)商通過提供該應用服務收取軟件費用。這個時候,軟件廠商面臨的問題就不再是如何防止本地軟件被復制,而是如何確認網絡用戶的身份和用戶數據的安全。于是加密鎖廠商提出了USBKEY的概念,用于識別用戶身份。四、存在問題因特網(INTERNET)給大家的生活和工作帶來了日新月異的變化,同時也為盜版軟件在網絡上快速傳播與流通提供了良好的媒介。因而除了如何有效地通過外在的法律手段打擊盜版行為之外,深入學習軟件保護技術,增強軟件自身抵抗盜版流毒的免疫力也受到越來越多軟件開發(fā)商的重視。但限于大多數開發(fā)商對此方面技術了解的版面性,在實施軟件加密的過程中,很少有人能夠像分析軟件工程一樣對軟件加密進行系統的分析,周密地計劃和設計加密方案,因而使得許多即使應用了一定軟件保護技術的程序,仍然能夠被解密者輕松破解。如何避免軟件保護方案設計的通病,及如何減少軟件加密的薄弱環(huán)節(jié)成為廣大開發(fā)商比較困惑的問題之一。并且與軟件保護方面相關的專業(yè)文章也是非常“罕見”的,雖然網上能夠搜索到大量的介紹破解方面的文章,但是要從這些破解的資料中總結出實用的加密心得,對于不精于破解的廣大開發(fā)商來說仍是一個不小的屏障。五、主要參考文獻新編MCS51單片機應用設計張毅剛彭喜元編著。哈爾濱工業(yè)大學出版社單片機接口技術實用子程序陳小忠黃寧趙小俠編著人民郵電出版社8051單片機實踐與應用吳金戌,沈慶陽,郭庭吉清華大學出版社,1994中國期刊網及相關電子資源。GOOLE,百度等相關的網絡資源。附錄3單片機簡介與應用1單片機簡介單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。單片機即單片微型計算機(SINGLECHIPMICROCOMPUTER),是集CPU,RAM,ROM,定時,計數和多種接口于一體的微控制器。其中51單片機是各種單片機中最為典型和最有代表性的一種,廣泛應用于各個領域。MCS51單片機是INTEL公司推出的世界上著名的高性能低功耗非易失性存儲器和數字集成電路的一流半導體,它的EEPROM電可擦除技術、閃速存儲器技術和質量、高可靠性的生產技術。在CMOS器件生產領域中,INTEL的先進設計水平、優(yōu)秀的生產工藝及封裝技術一直處于世界的領先地位,這些技術用于單片機生產使單片機

溫馨提示

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

評論

0/150

提交評論