畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、(輸入章及標(biāo)題)畢業(yè)設(shè)計(jì)(論文) 基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院 年級(jí)專業(yè) 03電信3班 學(xué)生姓名 指導(dǎo)教師 專業(yè)負(fù)責(zé)人 答辯日期 6月24日 iii大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)院:里仁學(xué)院 系級(jí)教學(xué)單位:電子與通信工程系 學(xué)號(hào)3學(xué)生姓名專 業(yè)班 級(jí)2003級(jí)電子工程系3班題目題目名稱基于51單片機(jī)的硬件加密鎖的設(shè)計(jì)與實(shí)現(xiàn)題目類型工程設(shè)計(jì)實(shí)驗(yàn)研究型題目性質(zhì)實(shí)際題目來源自選主要內(nèi)容隨著pc級(jí)的普及各種不同功能的計(jì)算機(jī)軟件相繼產(chǎn)生,使pc機(jī)的功能不段增強(qiáng),方便了人們的學(xué)習(xí),工作和生活。但是在利益的驅(qū)使下,軟件盜版,盜用現(xiàn)象日益嚴(yán)重。如何保護(hù)軟件開發(fā)者的知識(shí)產(chǎn)權(quán)和經(jīng)濟(jì)利益,保證正版軟

2、件用戶的權(quán)益,是一個(gè)亟待解決的問題。單純的軟件加密顯然是不夠的。因此我們需要一種更為有效的硬件加密方式。本設(shè)計(jì)要求基于51系列單片機(jī)設(shè)計(jì)出一種硬件加密鎖,并加以實(shí)現(xiàn)?;疽?.查閱與課題相關(guān)的文獻(xiàn),了解硬件“看門狗”的作用及工作原理2實(shí)現(xiàn)硬件電路 3.實(shí)現(xiàn)單片機(jī)軟件算法4編制一個(gè)簡(jiǎn)單的demomcs-51單片機(jī)應(yīng)用設(shè)計(jì) 張毅剛編 哈爾濱工業(yè)大學(xué)出版社 1990.8mcs-51單片機(jī)應(yīng)用設(shè)計(jì) 張毅剛等編 哈爾濱工業(yè)大學(xué)出版社 1992.4單片機(jī)原理及系統(tǒng)設(shè)計(jì)胡漢才編著 清華大學(xué)出版社 2002周 次14周58周912周1316周1718周應(yīng)完成的內(nèi)容查閱資料熟悉內(nèi)容硬件設(shè)計(jì)單片機(jī)程序設(shè)計(jì)軟硬件

3、聯(lián)合調(diào)試撰寫論文指導(dǎo)教師:李林職稱:講師 年 月 日系級(jí)教學(xué)單位審批: 年 月 日說明:如計(jì)算機(jī)輸入,表題黑體小三號(hào)字,內(nèi)容五號(hào)字。本任務(wù)書一式二份,教師、學(xué)生各執(zhí)一份。 摘要摘 要單片機(jī)是把主要計(jì)算機(jī)功能部件都集成在一塊芯片上的微型計(jì)算機(jī)。單片機(jī)即單片微型計(jì)算機(jī)(single-chip microcomputer ),是集cpu ,ram ,rom ,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。其中51單片機(jī)是各種單片機(jī)中最為典型和最有代表性的一種,廣泛應(yīng)用于各個(gè)領(lǐng)域。 本課題選擇mcs-51單片機(jī)為核心控制元件,設(shè)計(jì)了一個(gè)日常生活中用到的硬件加密鎖系統(tǒng)。該系統(tǒng)是由單片機(jī)系統(tǒng)及max232組成。使

4、用單片機(jī)匯編語言進(jìn)行編程,實(shí)現(xiàn)了硬件加密鎖的功能本論文主要介紹了硬件加密鎖的軟、硬件部分的設(shè)計(jì),以及在設(shè)計(jì)、調(diào)試過程中遇到的問題及解決方案。經(jīng)過實(shí)踐證明,本課題設(shè)計(jì)的該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定,造價(jià)成本低,功能完全,具有很強(qiáng)的實(shí)用性。關(guān)鍵詞8051單片機(jī);硬件加密鎖系統(tǒng);max2327abstractthe single slice machine is the microcomputer which all integrates main calculator function partses on a piece of chip.single slice machine namely singl

5、e slice microcomputer(the microcomputer of the single-chip), gather cpu, ram, rom, count to connect in the tiny controller of integral whole with variety in fixed time.among them 51 single slice machines is various single slice machine in is a typical model most and have representative 1 kind most ,

6、 extensively applied in each realm.this topic choice mcs-51 single slice machine is a core control component, designed a daily life convenient arrive of the hardware encrypt lock system.that system constitutes to°from single slice machine system and max232.using the single slice machine edits c

7、ollected materials language to carry on weaving a distance, the function which carries out hardware to encrypt a lock originally the thesis mainly introduced hardware to encrypt to lock of soft, the design of hardware part, and meet in the design, adjust try the process of the problem and the soluti

8、on.pass by to practice a certificate, the system's structure ofwith this topic design simple, stabilize, build price cost low, function complete, have very strong function.keywords single chip computer 805151 the hardware encrypts lock system max232目 錄摘 要iabstractii第1章緒論11.1課題背景11.1.1 課題的國(guó)內(nèi)外現(xiàn)狀11

9、.1.2 課題的發(fā)展趨勢(shì)31.1.3 本文研究的主要內(nèi)容71.2 本章小結(jié)7第2章總體方案與論證52.1 8051單片機(jī)52.1.1 8051的介紹52.2 本章小結(jié)11第3章硬件電路設(shè)計(jì)113.1 設(shè)計(jì)部分113.1.1 硬件部分113.4本章小結(jié)17第4章軟件電路設(shè)計(jì)194.1程序框圖194.1.1軟件系統(tǒng)中的主程序流程圖194.1.2軟件電路設(shè)計(jì)204.2 系統(tǒng)調(diào)試204.3 測(cè)試過程214.4本章小結(jié)21結(jié) 論23參考文獻(xiàn)24附錄125附錄231附錄334附錄447致謝1第1章緒論 第1章緒論1.1 課題背景1.1.1 課題的國(guó)內(nèi)外現(xiàn)狀 隨著pc機(jī)的普及,各種不同功能的計(jì)算機(jī)軟件相繼產(chǎn)

10、生,使pc機(jī)的功能不斷增強(qiáng),方便了人們的學(xué)習(xí),工作,和生活。但是在利益的驅(qū)使下,軟件盜版盜用的現(xiàn)象日益嚴(yán)重。如何保護(hù)軟件開發(fā)者的知識(shí)產(chǎn)權(quán)和經(jīng)濟(jì)利益,保證正版軟件用戶的利益是一個(gè)急需解決的問題。單純的軟件加密顯然是不夠的。因此我們需要一種更為有效的硬件加密方式。硬件加密鎖,俗程“加密狗”。它通過硬件設(shè)備實(shí)現(xiàn)防止軟件在使用過程中被非法復(fù)制和盜版。在當(dāng)今中國(guó)市場(chǎng)上最主要的加密鎖品牌有:1。美國(guó)彩虹公司(也是最早做硬件加密的公司)的國(guó)產(chǎn)品牌“加密狗”、美國(guó)品牌“圣天諾軟件加密鎖”;2。阿拉丁的“hasp”系列加密鎖;3。德國(guó)威博公司的“wbukey”加密鎖;4。深思洛克的“深思加密鎖”;5。藍(lán)宇風(fēng)公司

11、的“金盾加密鎖”;6。飛天公司的“rockey”加密鎖等幾個(gè)主要品牌。以上加密鎖品牌的工作原理都是大同小異:被保護(hù)的軟件加密鎖之間形成一一對(duì)映的關(guān)系,被保護(hù)的軟件在運(yùn)行的過程當(dāng)中不斷通過其api函數(shù)向加密鎖發(fā)指令來判斷加密鎖是否存在于,軟件離開保護(hù)鎖不能運(yùn)行。第一代硬件保護(hù)鎖,只是通過一個(gè)簡(jiǎn)單查詢函數(shù)來驗(yàn)證并口的硬件保護(hù)鎖是否存在,存在則程序繼續(xù)運(yùn)行,不再則軟件終止運(yùn)行,來完成并保護(hù)軟件開發(fā)商的利益;第二代的硬件加密鎖與第一代的產(chǎn)品相比較最大的改變?cè)谟诩用苕i硬件里頭的運(yùn)算芯片由rainbow公司寫入了一個(gè)固定的“加密算法”,但這個(gè)算法是單一的固定的。以上兩種產(chǎn)品對(duì)于軟件開發(fā)商來說有一個(gè)相當(dāng)大的

12、風(fēng)險(xiǎn)。如果rainbow把相同的產(chǎn)品出售給別人的話,別人拿到這個(gè)加密鎖就能使用開發(fā)商的軟件;第三代的硬件加密產(chǎn)品,這種產(chǎn)品徹底解決了軟件開發(fā)商的后顧之憂。這種產(chǎn)品其運(yùn)算芯片中內(nèi)置了28種算法,共分為56個(gè)單元,每?jī)蓚€(gè)單元可以單獨(dú)保護(hù)一個(gè)應(yīng)用程序,故用rainbow公司的說法其一把鎖可以保護(hù)28個(gè)應(yīng)用程序;且這種加密鎖的每個(gè)算法單元所采用的算法因子是由軟件開發(fā)商自己設(shè)定的,當(dāng)其寫入加密鎖后對(duì)于外界來說就相當(dāng)于一個(gè)暗箱,是任何人也讀不出來的。但隨著解密者的技術(shù)的不斷提高,rainbow中國(guó)公司研發(fā)出了第四代的產(chǎn)品智能狗,與現(xiàn)今的差不多所有品牌的加密鎖相比較,這種狗有了一個(gè)質(zhì)的飛躍:其通過在開發(fā)過程

13、中把一段代碼加密后寫入加密狗,當(dāng)程序運(yùn)行時(shí)再把加密狗里的代碼在加密狗里自行運(yùn)行,程序調(diào)用其運(yùn)算結(jié)果來完成軟件的加密,如此就從理論上杜絕了軟件被破解的可能。 現(xiàn)在市面上的加密狗的工作原理不外乎rainbow的這兩種形式:1、程序發(fā)命令查詢加密狗運(yùn)算后相應(yīng)程序;2、把源代碼放入加密狗內(nèi)部執(zhí)行。1.1.2 課題的發(fā)展趨勢(shì)盜版既是軟件行業(yè)的問題,也是一個(gè)社會(huì)問題。 在軟件行業(yè),所有的軟件開發(fā)商、銷售商都為來自光盤、來自internet的全球范圍內(nèi)的軟件盜版而困擾。從軟件使用者的角度來講,往往只看到購(gòu)買盜版“所占到的便宜”,而忽視了服務(wù)無法保證、系統(tǒng)安全風(fēng)險(xiǎn)等諸多問題的存在,也正是由于這種“忽視”,在很

14、大程度上限制了軟件產(chǎn)業(yè)特別是民族軟件產(chǎn)業(yè)的成長(zhǎng)。我們回想一下有多少軟件企業(yè)被盜版而扼殺在搖籃里?又有多少企業(yè)倒在了反盜版的路上?軟件企業(yè)要生存,軟件行業(yè)要持續(xù)、健康發(fā)展,因此軟件保護(hù)才應(yīng)運(yùn)而生,大部分軟件商最初采用的保護(hù)方式主要是軟加密,主要有密碼方式、 軟件自校驗(yàn)方式和鑰匙盤方式等純軟件的手段,但是隨著軟件保護(hù)行業(yè)的發(fā)展,解密技術(shù)也隨之出現(xiàn)并快速的發(fā)展起來,軟加密的方式已經(jīng)“不堪一擊”;在這種情況下,依賴于硬件的保護(hù)開始被廣泛應(yīng)用,成為最常用的保護(hù)手段。加密卡、加密狗(加密鎖)等也成為了軟件保護(hù)技術(shù)進(jìn)步下的產(chǎn)物。 但是,加密與解密的斗爭(zhēng)是永無休止的;很快,普通的硬件保護(hù)技術(shù)受到了挑戰(zhàn)!于是,

15、 2001年以后,軟件保護(hù)行業(yè)形成一輪新的技術(shù)升級(jí)浪潮,突破性地在金融、軍隊(duì)、網(wǎng)絡(luò)身份認(rèn)證等對(duì)安全性、穩(wěn)定性要求極高的領(lǐng)域廣泛使用的智能卡(smart card)技術(shù)來對(duì)商業(yè)軟件的進(jìn)行保護(hù)。以智能卡技術(shù)為核心構(gòu)建的新一代的軟件保護(hù)系統(tǒng),對(duì)用戶的軟件代碼和重要數(shù)據(jù)提供了全方位、高安全度的保護(hù),被稱為軟件盜版的“終結(jié)者”。在與盜版的激烈斗爭(zhēng)中,中國(guó)軟件保護(hù)行業(yè)市場(chǎng)逐步形成并在市場(chǎng)的強(qiáng)烈激發(fā)和需求下快步的蓬勃發(fā)展,深思洛克、阿拉丁、彩虹天地(現(xiàn)為美國(guó)賽孚耐)等都是其中的佼佼者。 時(shí)至今日,在以智能卡技術(shù)為基礎(chǔ)構(gòu)建的軟件保護(hù)技術(shù)已經(jīng)非常完善,以深思洛克的代表產(chǎn)品-精銳iv加密鎖為例。她所采用的芯片是目

16、前國(guó)際上唯一通過eal5+的安全芯片,以其優(yōu)秀的防物理攻擊、電子探測(cè)功能為加密鎖提供了一個(gè)安全的“芯”。利用她強(qiáng)大的處理能力,軟件開發(fā)商可以將軟件中一段或幾段關(guān)鍵的代碼移植到加密鎖中運(yùn)行,或?qū)④浖\(yùn)行所需的關(guān)鍵數(shù)據(jù)保存在鎖內(nèi),外部軟件通過接口函數(shù)訪問硬件中的關(guān)鍵代碼或數(shù)據(jù),由于這些代碼和數(shù)據(jù)在pc端沒有副本存在,解密者根本無從猜測(cè)算法或竊取數(shù)據(jù)。然而,就在軟件保護(hù)行業(yè)正在為技術(shù)變革帶來的高安全性而欣喜的時(shí)候,軟件開發(fā)商卻提出了新的需求要求加密鎖將軟件銷售渠道、加密鎖生產(chǎn)、發(fā)行管理起來。目前,我國(guó)軟件開發(fā)商大多采用代理制、分銷制的發(fā)行方式,在享受其帶來的諸多優(yōu)勢(shì)的同時(shí),也給軟件發(fā)行管理帶來了諸多

17、問題,而這是傳統(tǒng)加密鎖根本無法解決的,事實(shí)證明所謂的這類普通加密鎖已經(jīng)在逐漸失去其存在的價(jià)值和意義。 首先,如果軟件開發(fā)商是采用傳統(tǒng)加密鎖進(jìn)行軟件保護(hù)的,那么在軟件升級(jí)及功能更新時(shí)候,必須將加密鎖通過郵寄的方式往返于軟件開發(fā)商和最終用戶,這種方式大大增加了運(yùn)輸和管理成本;其次傳統(tǒng)加密鎖采用的是普通的單片機(jī),所以單純從硬件來說很難抵御目前快速發(fā)展的解密技術(shù)攻擊,硬克隆這種完全的破解對(duì)于解密者來說也并非難事,傳統(tǒng)的加密鎖存在極大的被解密的風(fēng)險(xiǎn);另外,傳統(tǒng)的加密鎖由于天生的安全缺陷,無法幫助軟件企業(yè)對(duì)發(fā)行渠道進(jìn)行有效地控制和管理,所以對(duì)渠道過程中“兼守自盜”束手無策,然而往往一些軟件的盜版壓力就來自

18、發(fā)行渠道。 基于以上亟待解決的問題,深思洛克率先在 2002年推出基于安全智能卡芯片的高強(qiáng)度加密鎖,輔以及安全、高效的加密解決方案,使數(shù)千套軟件得到安全無憂的保護(hù),并利用智能卡所具有的網(wǎng)絡(luò)安全特質(zhì),將加密鎖的遠(yuǎn)程升級(jí)功能,以及軟件授權(quán)管理功能賦予了安全的智能卡加密鎖,從而成功的解決了軟件企業(yè)及軟件保護(hù)行業(yè)共同面臨的難題。 如果說智能卡加密鎖的安全解決方案以及“遠(yuǎn)程更新”技術(shù)是實(shí)現(xiàn)軟件銷售管理的基礎(chǔ),那么授權(quán)管理技術(shù)則是這一應(yīng)用得以實(shí)現(xiàn)的保障。他不僅可以成功解決軟件企業(yè)眼前的難題,更重要的是基于軟件授權(quán)管理可以打造全新的軟件銷售模式,為軟件行業(yè)帶來革命性的進(jìn)步??蛻艨梢愿鶕?jù)自己的需求按使用時(shí)間或

19、使用次數(shù)定制軟件,也可以按自己的要求定制使用的軟件種類與模塊組合,客戶只需要為自己必須的應(yīng)用功能或服務(wù)付款;并通過試用,確定符合自己的需求的基礎(chǔ)上,購(gòu)買服務(wù),并通過遠(yuǎn)程開通來使用這種服務(wù)! 可見,新的“加密鎖整體保護(hù)方案”與傳統(tǒng)“軟件加密”有太大不同。首先,軟件企業(yè)利用這種管理模式可以非常方便的管理自己的銷售渠道和最終用戶;其次,消費(fèi)者可以通過遠(yuǎn)程申請(qǐng)使用滿足自己需求的軟件模塊,并且不需要初期昂貴的投資,而僅僅需要按次或按時(shí)支付固定的費(fèi)用。 可以預(yù)見,軟件租賃服務(wù)一旦成為軟件銷售的主流形式,對(duì)軟件保護(hù)行業(yè)來說,則意味著許多商業(yè)機(jī)會(huì),如財(cái)務(wù)、crm、hr等需要較多服務(wù)的管理類軟件或建筑類、娛樂類

20、對(duì)安全有較高要求,對(duì)客戶信息需要管理的軟件采用傳統(tǒng)的加密已遠(yuǎn)遠(yuǎn)無法滿足需求!大多數(shù)軟件企業(yè)將采用這種新的管理模式,軟件企業(yè)關(guān)心的將不僅僅是盜版問題,而是在軟件安全的情況下如何提高服務(wù)質(zhì)量、如何輕松實(shí)現(xiàn)渠道、客戶信息的可控管理、如何保證授權(quán)管理的高安全性1.1.3 本課題研究的主要內(nèi)容本設(shè)計(jì)目的使學(xué)生熟練掌握mcs-51本操作和調(diào)試程序的各種指令。熟悉編程及調(diào)試程序的方法。掌握8051的工作原理和應(yīng)用編程方法,練習(xí)編寫中斷程序的方法。掌握8051的工作原理、工作方式及其應(yīng)用編程。本設(shè)計(jì)的要求:1.查閱與課題相關(guān)的文獻(xiàn),了解硬件“看門狗”的作用及工作原理2.實(shí)現(xiàn)硬件電路3.實(shí)現(xiàn)單片機(jī)軟件算法4.編

21、制一個(gè)簡(jiǎn)單的demo1.2 本章小結(jié)本章簡(jiǎn)單介紹了本次設(shè)計(jì)的課題國(guó)內(nèi)外現(xiàn)狀和發(fā)展趨勢(shì)和研究的主要內(nèi)容,為以后的設(shè)計(jì)的設(shè)計(jì)作好準(zhǔn)備。第2章總體方案與論證 第2章總體方案與論證2.1 8051單片機(jī) 2.1.1 8051簡(jiǎn)介8051系列單片機(jī)是8051是mcs-51系列單片機(jī)的典型產(chǎn)品,美國(guó)atmel公司前些年推出的一種新型高性能低價(jià)位、低電壓低功耗的8位cmos微型計(jì)算機(jī)。     8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(rom)、數(shù)據(jù)存儲(chǔ)器(ram)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線

22、,現(xiàn)在我們分別加以說明: 下圖是mcs-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。 中央處理器:     中央處理器(cpu)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,cpu負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。 存儲(chǔ)器:?jiǎn)纹瑱C(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的形式,即哈佛(harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(princeton)結(jié)構(gòu)。intel的mcs-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后

23、續(xù)產(chǎn)品16位的mcs-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。8051單片機(jī)的存儲(chǔ)器在物理結(jié)構(gòu)上分為程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間,共有4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器空間。這種程序存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的結(jié)構(gòu)形式被稱為哈佛結(jié)構(gòu)。但從用戶的角度,8051存儲(chǔ)器地址空間可分為3類:片內(nèi)、片外統(tǒng)一編址0000hffffh的64kb程序存儲(chǔ)器地址空間(用16位地址);64kb片外數(shù)據(jù)存儲(chǔ)器地址空間,地址也從0000hffffh(用16位地址)編址;256b片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間(用8位地址)。 上述4個(gè)存儲(chǔ)空間地址是重疊的,如圖所示。8051的指令系統(tǒng)設(shè)計(jì)了不同的

24、數(shù)據(jù)傳送指令以區(qū)別這4個(gè)不同的邏輯空間:cpu訪問片內(nèi)、片外rom指令用movc,訪問片外ram指令用movx,訪問片內(nèi)ram指令用mov。 數(shù)據(jù)存儲(chǔ)器(ram):     8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的的ram只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 程序存儲(chǔ)器(rom):  8051共有4096個(gè)8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。程序存儲(chǔ)器用于存放編好的

25、程序和表格常數(shù)。程序通過16位程序計(jì)數(shù)器尋址,尋址能力為64kb。這使得指令能在64kb的地址空間內(nèi)任意跳轉(zhuǎn),但不能使程序從程序存儲(chǔ)器空間轉(zhuǎn)移到數(shù)據(jù)存儲(chǔ)器空間。實(shí)際上,當(dāng)引腳ea接高電平時(shí),8051的程序計(jì)數(shù)器pc執(zhí)行片內(nèi)rom中的程序,當(dāng)指令地址超過片內(nèi)rom地址時(shí),就自動(dòng)轉(zhuǎn)向片外rom中去取指令。當(dāng)引腳ea接低電平(接地)時(shí),8051片內(nèi)rom不起作用,cpu只能從片外rom中取指令,地址可以從0000h開始編址。8051從片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器取指時(shí)的執(zhí)行速度相同。 定時(shí)/計(jì)數(shù)器(rom): 8051不僅有豐富的可用端口,其還內(nèi)含有兩個(gè)16位的計(jì)時(shí)器/定時(shí)器,稱為計(jì)數(shù)器

26、to及計(jì)數(shù)器t1,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。其主要作用有兩點(diǎn):第一,做一段特定時(shí)間長(zhǎng)短的計(jì)時(shí)。第二,可以計(jì)算由to或tl引腳的輸入脈沖數(shù)。前者在應(yīng)用上可以產(chǎn)生正確的時(shí)間延遲及定時(shí)去執(zhí)行中斷服務(wù)程序,這是mcu在軟件控制程序上常用到的技巧,而后者的應(yīng)用則是計(jì)數(shù)器或是頻率計(jì)的設(shè)計(jì)。這兩個(gè)計(jì)數(shù)器本身都有4種工作模式可以選用: 模式0:13位計(jì)時(shí)工作模式 模式1:16位計(jì)時(shí)工作模式 模式2:具有從新載入計(jì)數(shù)值的8位計(jì)時(shí)模式 模式3:計(jì)數(shù)器tl停止計(jì)時(shí)工作,而計(jì)數(shù)器0分為兩個(gè)獨(dú)立的8位計(jì)數(shù)器由tlo和tho來負(fù)責(zé)計(jì)時(shí)工作。計(jì)數(shù)器的初值設(shè)定是由下面的公式來計(jì)算的,設(shè)c為要計(jì)數(shù)的次數(shù)則: 并

27、行輸入輸出(i/o)口:     8051共有4組8位i/o口(p0、 p1、p2或p3),用于對(duì)外部數(shù)據(jù)的傳輸。p0口有三個(gè)功能: 1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線(如圖1中的d0d7為數(shù)據(jù)總線接口) 2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖1中的a0a7為地址總線接口) 3、不擴(kuò)展時(shí),可做一般的i/o使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。 p1口只做i/o口使用:其內(nèi)部有上拉電阻。 p2口有兩個(gè)功能: 1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用 2、做一般i/o口使用,其內(nèi)部有上拉電阻; p3口有兩個(gè)功能: 除了作為i/o使用外(

28、其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來設(shè)置。 全雙工串行口:     8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。 8051單片機(jī)的串行端口有4種基本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場(chǎng)合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的io電路;方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2、3除有方式1的功能外,還可用作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。 串行端口有兩個(gè)控制寄存器,用來設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位

29、、數(shù)據(jù)傳送的波特率(每秒傳送的位數(shù))以及作為中斷標(biāo)志等。串行端口有一個(gè)數(shù)據(jù)寄存器sbuf(在特殊功能寄存器中的字節(jié)地址為99h),該寄存器為發(fā)送和接收所共同。發(fā)送時(shí),只寫不讀;接收時(shí),只讀不寫。在一定條件下,向陽uf寫入數(shù)據(jù)就啟動(dòng)了發(fā)送過程;讀sbuf就啟動(dòng)了接收過程。 串行通信的波特率可以程控設(shè)定。在不同工作方式中,由時(shí)鐘振蕩頻率的分頻值或由定時(shí)器tl的定時(shí)溢出時(shí)間確定,使用十分方便靈活。8051的串行i/o有4中工作模式可供選擇:模式0:此模式是做串行傳送1/0控制,而非真正的串行通信應(yīng)用。工作于此模式時(shí)由txd引腳發(fā)送出同步移位脈沖,由rxd引腳送出或接收串行數(shù)據(jù)。串行數(shù)據(jù)形式是8位數(shù)據(jù)

30、,同步脈沖的寬度也是固定的,為系統(tǒng)工作震蕩的1/12,等于8051的一個(gè)工作周期。 模式1:此模式為經(jīng)常使用的串行工作模式,串行數(shù)據(jù)位由txd引腳傳送出去,由rxd引腳將對(duì)方發(fā)來的串行數(shù)據(jù)位接收進(jìn)來。至于傳輸?shù)牟ㄌ芈适怯捎?jì)時(shí)器t1來規(guī)劃的,只要將不同的計(jì)數(shù)器初值載入計(jì)時(shí)器中,可以做不同的波特:而在模式1和模式3下的波特率由內(nèi)部計(jì)數(shù)器t1來控制,此時(shí)應(yīng)使用計(jì)數(shù)器工作模式2,自動(dòng)重新載入計(jì)時(shí)模式。在模式2下,使用的計(jì)數(shù)寄存器為tl 1,而th 1則是在做自動(dòng)載入計(jì)時(shí)值的設(shè)定。波特率的計(jì)算公式為:將上式整理得: 中斷系統(tǒng):     8051具備較完善的中斷功能

31、,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。8051單片機(jī)的中斷系統(tǒng)簡(jiǎn)單實(shí)用,其基本特點(diǎn)是:有5個(gè)固定的可屏蔽中斷源,3個(gè)在片內(nèi),2個(gè)在片外,它們?cè)诔绦虼鎯?chǔ)器中各有固定的中斷入口地址,由此進(jìn)入中斷服務(wù)程序;5個(gè)中斷源有兩級(jí)中斷優(yōu)先級(jí),可形成中斷嵌套;2個(gè)特殊功能寄存器用于中斷控制和條件設(shè)置的編程。5個(gè)中斷源的符號(hào)、名稱及產(chǎn)生的條件如下:int0:外部中斷0,由p32端口線引入,低電平或下跳沿引起。int1:外部中斷1,由p33端口線引入,低電平或下跳沿引起。t0:定時(shí)器計(jì)數(shù)器0中斷,由t0計(jì)滿回零引起。t1:定時(shí)器計(jì)數(shù)器l中斷,由t1計(jì)滿

32、回零引起。tiri:串行io中斷,串行端口完成一幀字符發(fā)送接收后引起。整個(gè)中斷系統(tǒng)的結(jié)構(gòu)框圖見下圖一所示。由圖一可見,外部中斷有下跳沿引起和低電平引起的選擇;串行中斷有發(fā)送(ti)相接收(r1)的區(qū)別;各個(gè)中斷源打開與否,受中斷自身的允許位和全局允許位的控制,并具有高優(yōu)先級(jí)和低優(yōu)先級(jí)的選擇。中斷系統(tǒng)的控制寄存器:中斷系統(tǒng)有兩個(gè)控制寄存器ie和ip,它們分別用來設(shè)定各個(gè)中斷源的打開關(guān)閉和中斷優(yōu)先級(jí)。此外,在tcon中另有4位用于選擇引起外部中斷的條件并作為標(biāo)志位。 時(shí)鐘電路:     8051內(nèi)置最高頻率達(dá)12mhz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖

33、時(shí)序,但8051單片機(jī)需外置振蕩電容。后面章節(jié)詳細(xì)介紹。2. 本章小結(jié)本章介紹了8051單片機(jī)的結(jié)構(gòu)及工作原理,為以后的設(shè)計(jì)做準(zhǔn)備。17第3章硬件電路設(shè)計(jì) 第3章硬件電路設(shè)計(jì)3.1 設(shè)計(jì)部分3.1.1 硬件部分1 8051單片機(jī)的引腳介紹 目前制造工藝為hmos的mcs-51的單片機(jī)都采用40只引腳的雙列直插封裝方式,40只引腳按其功能分,可分為三個(gè)部分: 圖1-11 電源及時(shí)鐘引腳:vcc,vss;xtal1.xtal2.2 控制引腳:psen、ale、ea、reset3 i/o口引腳:p0、p1、p2、p3,為4個(gè)8位i/o口的外部引腳。電源及時(shí)鐘引腳( 1 )電源引腳接入單片機(jī)的工作電源

34、。vcc(40腳):接+5v電源;vss(20腳):接地。( 2 )時(shí)鐘引腳xtal1、xtal2。時(shí)鐘引腳接外接晶體與片內(nèi)的反相放大器構(gòu)成了一個(gè)振蕩器,它提供單片機(jī)的時(shí)鐘控制信號(hào)。時(shí)鐘引腳也可外接晶體振蕩器。( 3 )控制引腳此類引腳提供控制信號(hào),有的還具有復(fù)制功能。( 4 )rst/vpd(9腳):當(dāng)振蕩器運(yùn)行時(shí),在此引腳外加上兩個(gè)機(jī)器周期的高電平將使單片復(fù)位(rst)。掉電期間,此引腳可接上備用電源(vpd),以保持內(nèi)部ram的數(shù)據(jù),當(dāng)vcc下掉到低于規(guī)定的值,而vpd在其規(guī)定的電壓范圍內(nèi)(5±0.5v)時(shí),vpd就向內(nèi)部ram提供備用電源。(5)ale/prog(30腳):當(dāng)

35、訪問單片機(jī)外部存儲(chǔ)器時(shí),ale輸出脈沖的負(fù)跳沿用于16位地址的低8位的鎖存信號(hào)。即使不訪問外部存儲(chǔ)器,ale端仍有正脈沖信號(hào)輸出,此頻率為時(shí)鐘頻率的1/6。但是,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),在兩個(gè)機(jī)器周期中ale只出現(xiàn)一次,即丟失一個(gè)ale脈沖。因此,嚴(yán)格來說,用戶不能用ale做時(shí)鐘愿或定時(shí)。ale端可以驅(qū)動(dòng)8個(gè)ttl負(fù)載(6)psen(29腳):此角的輸出是單片機(jī)訪問外部程序存儲(chǔ)器的讀選通信號(hào)。在由外部程序存儲(chǔ)器取指令期間,每個(gè)機(jī)器周期psen有兩次有效。但在此期間,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的psen信號(hào)不出現(xiàn)。psen可以驅(qū)動(dòng)8個(gè)ttl負(fù)載。(7)ea/vpp(31腳):當(dāng)ea端

36、保持高電平時(shí),單片機(jī)訪問內(nèi)部程序存儲(chǔ)器,但在pc只超過0fffh時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)ea保持低電平時(shí),則只訪問外部程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。2 max232的介紹 max232一般說明: max232是雙路驅(qū)動(dòng)/接收器,內(nèi)部包括電容型的電壓生成器,可以將單5v電源轉(zhuǎn)換成符合eia/tia-232-e的電壓等級(jí)。接收器將eia/tia-232-e標(biāo)準(zhǔn)的輸入電平轉(zhuǎn)換成5vttl/cmos電平。接收器的典型臨界值是1.3v,典型磁滯是0.5v,可以接收±30v的輸入信號(hào)。驅(qū)動(dòng)器(發(fā)送器)將ttl/cmos輸入電平轉(zhuǎn)換成eia/tia-232-e電平。 特

37、性:?jiǎn)?v電源 ,linbicmos工藝 ,兩個(gè)驅(qū)動(dòng)器和兩個(gè)接收器 ,±30v的輸入電平 ,低工作電流:8ma典型值 ,滿足和超過ansi eia/tia-232-e和itu推薦標(biāo)準(zhǔn)v.28 ,可以和maxim的max232互換應(yīng)用,eia/tia-232-e標(biāo)準(zhǔn),電池供電系統(tǒng) ,終端modem計(jì)算機(jī),esd保護(hù)超過2000v(mil-std-883,method 3015)。3 rs232的介紹 rs232rs232接口就是串口,電腦機(jī)箱后方的9芯插座,旁邊一般有 "|o|o|" 樣標(biāo)識(shí)。 一般機(jī)箱有兩個(gè),新機(jī)箱有可能只有一個(gè)。筆記本電腦有可能沒有。 有很多工業(yè)

38、儀器將它作為標(biāo)準(zhǔn)通信端口。通信的內(nèi)容與格式一般附在儀器的用戶說明書中。 計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時(shí),避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同 的設(shè)備可以方便地連接起來進(jìn)行通訊。 rs-232-c接口(又稱 eia rs-232-c)是目前最常用的一種串行通訊接口。它是在1970年由美國(guó)電子工業(yè)協(xié)會(huì)(eia)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo) 準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(dte)和數(shù)據(jù)通訊設(shè)

39、備(dce)之間 串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的 db25連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以規(guī)定,還對(duì)各種信 號(hào)的電平加以規(guī)定。 (1)接口的信號(hào)內(nèi)容 實(shí)際上rs-232-c的25條引線中有許多是很少使用的,在計(jì)算機(jī)與終端通訊中一般只使用3-9條引線。rs-232-c最常用的9條引線的信號(hào)內(nèi)容見附表1所示 (2)接口的電氣特性 在rs-232-c中任何一條信號(hào)線的電壓均為負(fù)邏輯關(guān)系。即:邏 輯“1”,-5 -15v;邏輯“0” +5 +15v 。噪聲容限為2v。即 要求接收器能識(shí)別低至+3v的信號(hào)作為邏輯“0”,高到-3v的信號(hào) 作為邏輯“1” (3) 接口

40、的物理結(jié)構(gòu) rs-232-c接口連接器一般使用型號(hào)為db-25的25芯插頭座,通常插頭在dce端,插座在dte端. 一些設(shè)備與pc機(jī)連接的rs-232-c接口,因?yàn)椴皇褂脤?duì)方的傳送控制信號(hào),只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號(hào)地”。所以采用db-9的9芯插頭座,傳輸線采用屏蔽雙絞線。 (4)傳輸電纜長(zhǎng)度 由rs-232c標(biāo)準(zhǔn)規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長(zhǎng)度應(yīng)為50英尺,其實(shí)這個(gè)4%的碼元畸變是很保守的,在實(shí)際應(yīng)用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實(shí)際使用中最大距離會(huì)遠(yuǎn)超過50英尺,美國(guó)dec公司曾規(guī)定允許碼元畸變?yōu)?0%而得出附表2 的實(shí)

41、驗(yàn)結(jié)果。其中1號(hào)電纜為屏蔽電纜,型號(hào)為decp.no.9107723 內(nèi)有三對(duì)雙絞線,每對(duì)由22# awg 組成,其外覆以屏蔽網(wǎng)。2號(hào)電纜為不帶屏蔽的電纜。型號(hào)為decp.no.9105856-04是22#awg的四芯電纜。 1.rs-232-c是美國(guó)電子工業(yè)協(xié)會(huì)eia(electronic industry association)制定的一種串行物理接口標(biāo)準(zhǔn)。rs是英文“推薦標(biāo)準(zhǔn)”的縮寫,232為標(biāo)識(shí)號(hào),c表示修改次數(shù)。rs-232-c總線標(biāo)準(zhǔn)設(shè)有25條信號(hào)線,包括一個(gè)主通道和一個(gè)輔助通道,在多數(shù)情況下主要使用主通道,對(duì)于一般雙工通信,僅需幾條信號(hào)線就可實(shí)現(xiàn),如一條發(fā)送線、一條接收線及一條地

42、線。rs-232-c標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。rs-232-c標(biāo)準(zhǔn)規(guī)定,驅(qū)動(dòng)器允許有2500pf的電容負(fù)載,通信距離將受此電容限制,例如,采用150pf/m的通信電纜時(shí),最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是rs-232屬單端信號(hào)傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內(nèi)的通信。 2.rs-485總線,在要求通信距離為幾十米到上千米時(shí),廣泛采用rs-485 串行總線標(biāo)準(zhǔn)。rs-485采用平衡發(fā)送和差分接收,因此具有抑制共

43、模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測(cè)低至200mv的電壓,故傳輸信號(hào)能在千米以外得到恢復(fù)。 rs-485采用半雙工工作方式,任何時(shí)候只能有一點(diǎn)處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號(hào)加以控制。rs-485用于多點(diǎn)互連時(shí)非常方便,可以省掉許多信號(hào)線。應(yīng)用rs-485 可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺(tái)驅(qū)動(dòng)器和32臺(tái)接收器。 以往,pc與智能設(shè)備通訊多借助rs232、rs485、以太網(wǎng)等方式,主要取決于設(shè)備的接口規(guī)范。但rs232、rs485只能代表通訊的物理介質(zhì)層和鏈路層,如果要實(shí)現(xiàn)數(shù)據(jù)的雙向訪問,就必須自己編寫通訊應(yīng)用程序,但這種程序多數(shù)都不能符合iso/osi的規(guī)范,只

44、能實(shí)現(xiàn)較單一的功能,適用于單一設(shè)備類型,程序不具備通用性。在rs232或rs485設(shè)備聯(lián)成的設(shè)備網(wǎng)中,如果設(shè)備數(shù)量超過2臺(tái),就必須使用rs485做通訊介質(zhì),rs485網(wǎng)的設(shè)備間要想互通信息只有通過“主(master)”設(shè)備中轉(zhuǎn)才能實(shí)現(xiàn),這個(gè)主設(shè)備通常是pc,而這種設(shè)備網(wǎng)中只允許存在一個(gè)主設(shè)備,其余全部是從(slave)設(shè)備。而現(xiàn)場(chǎng)總線技術(shù)是以iso/osi模型為基礎(chǔ)的,具有完整的軟件支持系統(tǒng),能夠解決總線控制、沖突檢測(cè)、鏈路維護(hù)等問題。.4 電路圖的設(shè)計(jì)連接電路:連接從計(jì)算機(jī)串口取電電路,實(shí)現(xiàn)系統(tǒng)供電;連接max232接口電平轉(zhuǎn)換電路,實(shí)現(xiàn)邏輯電平與rs232的電平的相互轉(zhuǎn)換。51單片機(jī)有一個(gè)

45、全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是rs232電平的,而單片機(jī)的串口是ttl電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片max232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡(jiǎn)單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的gnd、第2腳的rxd、第3腳的txd。這是最簡(jiǎn)單的連接方法,但是對(duì)我們來說已經(jīng)足夠使用了,電路如上圖所示,max232的第10腳和單片機(jī)的11腳連接,第9腳和單片機(jī)的10腳連接,第15腳和單片機(jī)的20腳連接。3.4本章小結(jié)

46、本章介紹了硬件電路的總電路圖,以及各個(gè)模塊的理論原理。比較細(xì)致的學(xué)習(xí)各個(gè)模塊的工作原理。第4章軟件電路設(shè)計(jì) 第4章軟件電路設(shè)計(jì)4.1程序框圖4.1.1軟件設(shè)計(jì)的主程序流程圖開始下位機(jī)發(fā)送數(shù)據(jù)下位機(jī)收到數(shù)據(jù)下位機(jī)算出數(shù)據(jù)比較數(shù)據(jù)下位機(jī)向上位機(jī)發(fā)送數(shù)據(jù)開始通信下位機(jī)不回應(yīng)上位機(jī)結(jié)束4.1.2軟件電路設(shè)計(jì) 大多控制系統(tǒng)都把pc作為上位機(jī),單片機(jī)系統(tǒng)作為下位機(jī)。單片機(jī)系統(tǒng)必需把采集的數(shù)據(jù)傳輸給pc機(jī),以便進(jìn)行存儲(chǔ)和處理。pc機(jī)幾乎都具有rs232接口,因此,單片機(jī)通過rs232口與pc機(jī)通信最方便,也是嘴常用的方法。但是單片機(jī)并沒有rs232電氣接口,要進(jìn)行通信,必需要進(jìn)行接口擴(kuò)展。本設(shè)計(jì)采用了接口擴(kuò)

47、展的方案,并根據(jù)自行設(shè)計(jì)的通訊協(xié)議,編寫了通信軟件。編寫程序:編寫單片機(jī)單片機(jī)端串口結(jié)束電和發(fā)送程序;編寫上位機(jī)端串口發(fā)送和接受程序。以上是串口通信的一般流程。對(duì)于本設(shè)計(jì)的硬件加密鎖的設(shè)計(jì)。要求在下位機(jī)中設(shè)計(jì)一個(gè)算法。上位機(jī)發(fā)送數(shù)據(jù)。下位機(jī)接受數(shù)據(jù),并根據(jù)算法計(jì)算出結(jié)果,然后比較數(shù)據(jù)如果一致就進(jìn)行串口通信。不一致就停止通信。程序見附錄4.2 系統(tǒng)調(diào)試本次設(shè)計(jì)的最后一項(xiàng)任務(wù)是對(duì)系統(tǒng)進(jìn)行調(diào)試,并測(cè)試程序和硬件是否能按照要求工作。單片機(jī)應(yīng)用系統(tǒng)的程序存儲(chǔ)器必須放入調(diào)試好的應(yīng)用程序,系統(tǒng)才能運(yùn)行。如果研制人員對(duì)單片機(jī)的結(jié)構(gòu)、系統(tǒng)硬件結(jié)構(gòu)、指令系統(tǒng)十分熟悉,能確保所編制的程序不會(huì)出錯(cuò)時(shí),可不需要開發(fā)工具

48、,只要把所開發(fā)的軟件固化到系統(tǒng)的eprom中即可。一般來說,都需要借助開發(fā)工具來調(diào)試應(yīng)用軟件。開發(fā)工具的主要作用是:(1)系統(tǒng)硬件電路的診斷與檢查;(2)程序的輸入與修改;(3)程序的運(yùn)行、調(diào)試,具有單步運(yùn)行、狀態(tài)查詢等功能;(4)能將程序固化到eprom芯片上去。本次測(cè)試的工具主要是:面包板一個(gè)(用來進(jìn)行硬件連接),導(dǎo)線若干,偉幅仿真器一個(gè)(用來對(duì)便好的程序進(jìn)行調(diào)試,以及看最終結(jié)果是否符合設(shè)計(jì)要求),電源一臺(tái)(供給仿真器及單片機(jī)電源),萬用表一個(gè)。4.3 測(cè)試過程測(cè)試過程的第一項(xiàng)任務(wù)是建立自己的項(xiàng)目文件,首先選擇菜單文件/新建文件功能在彈出的文件中輸入所編寫的程序。然后選擇菜單文件/保存文件

49、或文件/令存為功能,給出文件所要保存的位置以及文件名,單擊保存。接下來的任務(wù)是建立新的項(xiàng)目選擇菜單文件/新建項(xiàng)目功能。此不工作要分三步完成。(a)加入模塊文件,在加入模塊文件的對(duì)話框中選擇剛才所保存的文件,按打開鍵。(b)加入包含文件,在加入包含文件的對(duì)話框中,選擇所要加入的包含文件。(c)保存項(xiàng)目,在保存項(xiàng)目的對(duì)話框中輸入醒目的名稱,無需加后綴,軟件會(huì)自動(dòng)將后綴設(shè)成“.asm“.按保存鍵將項(xiàng)目保存在源程序相同的文件加下。項(xiàng)目保存好后,如果項(xiàng)目是打開的,可看到項(xiàng)目中的“模塊文件“已有一個(gè)模塊,并且就是你所保存的文件名,如果項(xiàng)目窗口沒有打開,可以選擇菜單窗口/項(xiàng)目窗口功能來打開。以上是編譯程序的

50、初步階段,然后就是編譯程序了。選擇菜單項(xiàng)目/編譯功能或按編譯快捷圖標(biāo),編譯項(xiàng)目。在編譯過程中,如果有錯(cuò)誤可以在信息窗口中顯示出來,雙擊錯(cuò)誤信息,可以在源程序定位所在的行。糾正錯(cuò)誤后,再次編譯直到?jīng)]有錯(cuò)誤后,就可調(diào)試程序了。下一步工作是單步調(diào)試程序,選擇執(zhí)行/跟蹤功能或按跟蹤快捷圖標(biāo)或按f7鍵進(jìn)行單步跟蹤調(diào)試程序,單步跟蹤調(diào)試程序就一條指令一條指令地執(zhí)行程序,若有子程序調(diào)用,也會(huì)跟蹤到子程序中去。在這個(gè)過程中,可以觀察程序每步執(zhí)行的結(jié)果。連接硬件仿真時(shí),按照說明書,將仿真器通過串行電纜連接計(jì)算機(jī)上,將仿真頭連接到仿真器,檢查連線無誤后,接上電源,打開仿真器的電源開關(guān),如果仿真器和仿真頭設(shè)置正確,

51、并且硬件連接正確,就會(huì)出現(xiàn)“硬件仿真“的對(duì)話框,并顯示仿真器、仿真頭的型號(hào)及仿真器的序列號(hào)。重新編譯程序,全速執(zhí)行程序,就可仿真了。在這過程中遇到的最多困難是在程序的編譯過程中,因?yàn)橛袝r(shí)候是子程序沒有定義而編譯不過去,有時(shí)候是指令寫得不對(duì),這就要求我們對(duì)單片機(jī)的知識(shí)了解得比較精。 4.4本章小結(jié)本章利用前面已經(jīng)掌握的知識(shí)設(shè)計(jì)出了軟件流程圖,并根據(jù)流程圖編寫出程序。然后將編好的主程序進(jìn)行調(diào)試,看是否能實(shí)現(xiàn)預(yù)期的功能,找出缺陷和不足并解決出現(xiàn)的問題。7結(jié) 論硬件加密鎖的設(shè)計(jì)通過運(yùn)用以前所掌握的單片機(jī)知識(shí),設(shè)計(jì)出所需要的能夠?qū)崿F(xiàn)加密鎖功能硬件電路,并在 protel99 中把電路圖繪制完成。然后運(yùn)用

52、單片機(jī)知識(shí)進(jìn)行程序地編寫和編譯仿真,最后進(jìn)行硬件連調(diào),并加上相應(yīng)的外部電路和連線,來對(duì)所設(shè)計(jì)的電路的功能進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果完成了最初的設(shè)計(jì)預(yù)想,實(shí)現(xiàn)了設(shè)計(jì)所要達(dá)到的功能.這次設(shè)計(jì)對(duì)我們的影響意義非凡。首先從選題來說,他的選題考慮到了我們大學(xué)四年所學(xué)的所有知識(shí),既要求我們對(duì)知識(shí)掌握的牢固,又要求我們對(duì)知識(shí)能夠靈活運(yùn)用。從運(yùn)用到的知識(shí)面來說,它不僅要求我們運(yùn)用所學(xué)過的知識(shí)還要求我們?nèi)ふ?,學(xué)習(xí),借鑒其他科目或門類的知識(shí)。從時(shí)間上來說,這次設(shè)計(jì)的時(shí)間是最長(zhǎng)的,因此我們有足夠的時(shí)間去重新溫習(xí)學(xué)過的知識(shí),更有充足的時(shí)間去搜集學(xué)習(xí)一些我們沒有涉獵過的知識(shí)。這樣不僅鍛煉了我們學(xué)習(xí)新知識(shí)的能力,同時(shí)也拓寬了我

53、們的知識(shí)面。并且我們還有足夠時(shí)間去修改我們的設(shè)計(jì)中的缺陷,這也是對(duì)我們將來走入社會(huì)獨(dú)立完成一項(xiàng)課題的考驗(yàn)。而對(duì)于我們來說最重要的是,這次實(shí)習(xí)告訴我們?cè)鯓硬拍芟到y(tǒng)地完成一項(xiàng)實(shí)用的工作,他都需要哪些步驟。因此當(dāng)我們步入社會(huì)后對(duì)于公司給我們的一個(gè)實(shí)際的應(yīng)用項(xiàng)目將不會(huì)在感到陌生。附錄1 參考文獻(xiàn)李華mcs-51系列單片機(jī)實(shí)用接口技術(shù)北京:航空學(xué)院出版社,1993.84 吳金戌,沈慶陽,郭庭吉8051單片機(jī)實(shí)踐與應(yīng)用 清華大學(xué)出版社,19947 張毅剛,彭喜源,譚曉昀m(xù)cs-51單片機(jī)應(yīng)用設(shè)計(jì) 哈爾濱工業(yè)大學(xué)出版社, 1997.128 樓然苗,李光飛51系列單片機(jī)設(shè)計(jì)實(shí)例北京:航空航天大學(xué)出版社, 2003.310 s-h. cho, h. kumagai, and k. midorikawa, ¡°fabrication of multi-core structure in optical fibers using plasma self-channeling excited by a femtosecond laser,¡± cleo pacific rim¡¯ol,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論