




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)基于51单片机的硬件加密锁的设计与实现摘要单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。单片机即单片微型计算机(SINGLECHIPMICROCOMPUTER),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域。本课题选择MCS51单片机为核心控制元件,设计了一个日常生活中用到的硬件加密锁系统。该系统是由单片机系统及MAX232组成。使用单片机汇编语言进行编程,实现了硬件加密锁的功能本论文主要介绍了硬件加密锁的软、硬件部分的设计,以及在设计、调试过程中遇到的问题及解决方案。经过实践证明,本课题设计的该系统结构简单,稳定,造价成本低,功能完全,具有很强的实用性。关键词8051单片机;硬件加密锁系统;MAX232ABSTRACTTHESINGLESLICEMACHINEISTHEMICROCOMPUTERWHICHALLINTEGRATESMAINCALCULATORFUNCTIONPARTSESONAPIECEOFCHIPSINGLESLICEMACHINENAMELYSINGLESLICEMICROCOMPUTERTHEMICROCOMPUTEROFTHESINGLECHIP,GATHERCPU,RAM,ROM,COUNTTOCONNECTINTHETINYCONTROLLEROFINTEGRALWHOLEWITHVARIETYINFIXEDTIMEAMONGTHEM51SINGLESLICEMACHINESISVARIOUSSINGLESLICEMACHINEINISATYPICALMODELMOSTANDHAVEREPRESENTATIVE1KINDMOST,EXTENSIVELYAPPLIEDINEACHREALMTHISTOPICCHOICEMCS51SINGLESLICEMACHINEISACORECONTROLCOMPONENT,DESIGNEDADAILYLIFECONVENIENTARRIVEOFTHEHARDWAREENCRYPTLOCKSYSTEMTHATSYSTEMCONSTITUTESTOFROMSINGLESLICEMACHINESYSTEMANDMAX232USINGTHESINGLESLICEMACHINEEDITSCOLLECTEDMATERIALSLANGUAGETOCARRYONWEAVINGADISTANCE,THEFUNCTIONWHICHCARRIESOUTHARDWARETOENCRYPTALOCKORIGINALLYTHETHESISMAINLYINTRODUCEDHARDWARETOENCRYPTTOLOCKOFSOFT,THEDESIGNOFHARDWAREPART,ANDMEETINTHEDESIGN,ADJUSTTRYTHEPROCESSOFTHEPROBLEMANDTHESOLUTIONPASSBYTOPRACTICEACERTIFICATE,THESYSTEMSSTRUCTUREOFWITHTHISTOPICDESIGNSIMPLE,STABILIZE,BUILDPRICECOSTLOW,FUNCTIONCOMPLETE,HAVEVERYSTRONGFUNCTIONKEYWORDSSINGLECHIPCOMPUTER805151THEHARDWAREENCRYPTSLOCKSYSTEMMAX232目录摘要IABSTRACTII第1章绪论111课题背景1111课题的国内外现状1112课题的发展趋势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机的功能不断增强,方便了人们的学习,工作,和生活。但是在利益的驱使下,软件盗版盗用的现象日益严重。如何保护软件开发者的知识产权和经济利益,保证正版软件用户的利益是一个急需解决的问题。单纯的软件加密显然是不够的。因此我们需要一种更为有效的硬件加密方式。硬件加密锁,俗程“加密狗”。它通过硬件设备实现防止软件在使用过程中被非法复制和盗版。在当今中国市场上最主要的加密锁品牌有1。美国彩虹公司(也是最早做硬件加密的公司)的国产品牌“加密狗”、美国品牌“圣天诺软件加密锁”;2。阿拉丁的“HASP”系列加密锁;3。德国威博公司的“WBUKEY”加密锁;4。深思洛克的“深思加密锁”;5。蓝宇风公司的“金盾加密锁”;6。飞天公司的“ROCKEY”加密锁等几个主要品牌。以上加密锁品牌的工作原理都是大同小异被保护的软件加密锁之间形成一一对映的关系,被保护的软件在运行的过程当中不断通过其API函数向加密锁发指令来判断加密锁是否存在于,软件离开保护锁不能运行。第一代硬件保护锁,只是通过一个简单查询函数来验证并口的硬件保护锁是否存在,存在则程序继续运行,不再则软件终止运行,来完成并保护软件开发商的利益;第二代的硬件加密锁与第一代的产品相比较最大的改变在于加密锁硬件里头的运算芯片由RAINBOW公司写入了一个固定的“加密算法”,但这个算法是单一的固定的。以上两种产品对于软件开发商来说有一个相当大的风险。如果RAINBOW把相同的产品出售给别人的话,别人拿到这个加密锁就能使用开发商的软件;第三代的硬件加密产品,这种产品彻底解决了软件开发商的后顾之忧。这种产品其运算芯片中内置了28种算法,共分为56个单元,每两个单元可以单独保护一个应用程序,故用RAINBOW公司的说法其一把锁可以保护28个应用程序;且这种加密锁的每个算法单元所采用的算法因子是由软件开发商自己设定的,当其写入加密锁后对于外界来说就相当于一个暗箱,是任何人也读不出来的。但随着解密者的技术的不断提高,RAINBOW中国公司研发出了第四代的产品智能狗,与现今的差不多所有品牌的加密锁相比较,这种狗有了一个质的飞跃其通过在开发过程中把一段代码加密后写入加密狗,当程序运行时再把加密狗里的代码在加密狗里自行运行,程序调用其运算结果来完成软件的加密,如此就从理论上杜绝了软件被破解的可能。现在市面上的加密狗的工作原理不外乎RAINBOW的这两种形式1、程序发命令查询加密狗运算后相应程序;2、把源代码放入加密狗内部执行。112课题的发展趋势盗版既是软件行业的问题,也是一个社会问题。在软件行业,所有的软件开发商、销售商都为来自光盘、来自INTERNET的全球范围内的软件盗版而困扰。从软件使用者的角度来讲,往往只看到购买盗版“所占到的便宜”,而忽视了服务无法保证、系统安全风险等诸多问题的存在,也正是由于这种“忽视”,在很大程度上限制了软件产业特别是民族软件产业的成长。我们回想一下有多少软件企业被盗版而扼杀在摇篮里又有多少企业倒在了反盗版的路上软件企业要生存,软件行业要持续、健康发展,因此软件保护才应运而生,大部分软件商最初采用的保护方式主要是软加密,主要有密码方式、软件自校验方式和钥匙盘方式等纯软件的手段,但是随着软件保护行业的发展,解密技术也随之出现并快速的发展起来,软加密的方式已经“不堪一击”;在这种情况下,依赖于硬件的保护开始被广泛应用,成为最常用的保护手段。加密卡、加密狗(加密锁)等也成为了软件保护技术进步下的产物。但是,加密与解密的斗争是永无休止的;很快,普通的硬件保护技术受到了挑战于是,2001年以后,软件保护行业形成一轮新的技术升级浪潮,突破性地在金融、军队、网络身份认证等对安全性、稳定性要求极高的领域广泛使用的智能卡(SMARTCARD)技术来对商业软件的进行保护。以智能卡技术为核心构建的新一代的软件保护系统,对用户的软件代码和重要数据提供了全方位、高安全度的保护,被称为软件盗版的“终结者”。在与盗版的激烈斗争中,中国软件保护行业市场逐步形成并在市场的强烈激发和需求下快步的蓬勃发展,深思洛克、阿拉丁、彩虹天地(现为美国赛孚耐)等都是其中的佼佼者。时至今日,在以智能卡技术为基础构建的软件保护技术已经非常完善,以深思洛克的代表产品精锐IV加密锁为例。她所采用的芯片是目前国际上唯一通过EAL5的安全芯片,以其优秀的防物理攻击、电子探测功能为加密锁提供了一个安全的“芯”。利用她强大的处理能力,软件开发商可以将软件中一段或几段关键的代码移植到加密锁中运行,或将软件运行所需的关键数据保存在锁内,外部软件通过接口函数访问硬件中的关键代码或数据,由于这些代码和数据在PC端没有副本存在,解密者根本无从猜测算法或窃取数据。然而,就在软件保护行业正在为技术变革带来的高安全性而欣喜的时候,软件开发商却提出了新的需求要求加密锁将软件销售渠道、加密锁生产、发行管理起来。目前,我国软件开发商大多采用代理制、分销制的发行方式,在享受其带来的诸多优势的同时,也给软件发行管理带来了诸多问题,而这是传统加密锁根本无法解决的,事实证明所谓的这类普通加密锁已经在逐渐失去其存在的价值和意义。首先,如果软件开发商是采用传统加密锁进行软件保护的,那么在软件升级及功能更新时候,必须将加密锁通过邮寄的方式往返于软件开发商和最终用户,这种方式大大增加了运输和管理成本;其次传统加密锁采用的是普通的单片机,所以单纯从硬件来说很难抵御目前快速发展的解密技术攻击,硬克隆这种完全的破解对于解密者来说也并非难事,传统的加密锁存在极大的被解密的风险;另外,传统的加密锁由于天生的安全缺陷,无法帮助软件企业对发行渠道进行有效地控制和管理,所以对渠道过程中“兼守自盗”束手无策,然而往往一些软件的盗版压力就来自发行渠道。基于以上亟待解决的问题,深思洛克率先在2002年推出基于安全智能卡芯片的高强度加密锁,辅以及安全、高效的加密解决方案,使数千套软件得到安全无忧的保护,并利用智能卡所具有的网络安全特质,将加密锁的远程升级功能,以及软件授权管理功能赋予了安全的智能卡加密锁,从而成功的解决了软件企业及软件保护行业共同面临的难题。如果说智能卡加密锁的安全解决方案以及“远程更新”技术是实现软件销售管理的基础,那么授权管理技术则是这一应用得以实现的保障。他不仅可以成功解决软件企业眼前的难题,更重要的是基于软件授权管理可以打造全新的软件销售模式,为软件行业带来革命性的进步。客户可以根据自己的需求按使用时间或使用次数定制软件,也可以按自己的要求定制使用的软件种类与模块组合,客户只需要为自己必须的应用功能或服务付款;并通过试用,确定符合自己的需求的基础上,购买服务,并通过远程开通来使用这种服务可见,新的“加密锁整体保护方案”与传统“软件加密”有太大不同。首先,软件企业利用这种管理模式可以非常方便的管理自己的销售渠道和最终用户;其次,消费者可以通过远程申请使用满足自己需求的软件模块,并且不需要初期昂贵的投资,而仅仅需要按次或按时支付固定的费用。可以预见,软件租赁服务一旦成为软件销售的主流形式,对软件保护行业来说,则意味着许多商业机会,如财务、CRM、HR等需要较多服务的管理类软件或建筑类、娱乐类对安全有较高要求,对客户信息需要管理的软件采用传统的加密已远远无法满足需求大多数软件企业将采用这种新的管理模式,软件企业关心的将不仅仅是盗版问题,而是在软件安全的情况下如何提高服务质量、如何轻松实现渠道、客户信息的可控管理、如何保证授权管理的高安全性113本课题研究的主要内容本设计目的使学生熟练掌握MCS51本操作和调试程序的各种指令。熟悉编程及调试程序的方法。掌握8051的工作原理和应用编程方法,练习编写中断程序的方法。掌握8051的工作原理、工作方式及其应用编程。本设计的要求1查阅与课题相关的文献,了解硬件“看门狗”的作用及工作原理2实现硬件电路3实现单片机软件算法4编制一个简单的DEMO12本章小结本章简单介绍了本次设计的课题国内外现状和发展趋势和研究的主要内容,为以后的设计的设计作好准备。第2章总体方案与论证218051单片机2118051简介8051系列单片机是8051是MCS51系列单片机的典型产品,美国ATMEL公司前些年推出的一种新型高性能低价位、低电压低功耗的8位CMOS微型计算机。8051单片机包含中央处理器、程序存储器ROM、数据存储器RAM、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明下图是MCS51系列单片机的内部结构示意图。中央处理器中央处理器CPU是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。存储器单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛HARVARD结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿PRINCETON结构。INTEL的MCS51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS96系列单片机则采用普林斯顿结构。8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。这种程序存储和数据存储分开的结构形式被称为哈佛结构。但从用户的角度,8051存储器地址空间可分为3类片内、片外统一编址0000HFFFFH的64KB程序存储器地址空间用16位地址;64KB片外数据存储器地址空间,地址也从0000HFFFFH用16位地址编址;256B片内数据存储器地址空间用8位地址。上述4个存储空间地址是重叠的,如图所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。数据存储器RAM8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器ROM8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。实际上,当引脚EA接高电平时,8051的程序计数器PC执行片内ROM中的程序,当指令地址超过片内ROM地址时,就自动转向片外ROM中去取指令。当引脚EA接低电平接地时,8051片内ROM不起作用,CPU只能从片外ROM中取指令,地址可以从0000H开始编址。8051从片内程序存储器和片外程序存储器取指时的执行速度相同。定时/计数器ROM8051不仅有丰富的可用端口,其还内含有两个16位的计时器/定时器,称为计数器TO及计数器T1,以实现定时或计数产生中断用于控制程序转向。其主要作用有两点第一,做一段特定时间长短的计时。第二,可以计算由TO或TL引脚的输入脉冲数。前者在应用上可以产生正确的时间延迟及定时去执行中断服务程序,这是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内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。8051单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的IO电路;方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率每秒传送的位数以及作为中断标志等。串行端口有一个数据寄存器SBUF在特殊功能寄存器中的字节地址为99H,该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向阳UF写入数据就启动了发送过程;读SBUF就启动了接收过程。串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器TL的定时溢出时间确定,使用十分方便灵活。8051的串行I/O有4中工作模式可供选择模式0此模式是做串行传送1/0控制,而非真正的串行通信应用。工作于此模式时由TXD引脚发送出同步移位脉冲,由RXD引脚送出或接收串行数据。串行数据形式是8位数据,同步脉冲的宽度也是固定的,为系统工作震荡的1/12,等于8051的一个工作周期。模式1此模式为经常使用的串行工作模式,串行数据位由TXD引脚传送出去,由RXD引脚将对方发来的串行数据位接收进来。至于传输的波特率是由计时器T1来规划的,只要将不同的计数器初值载入计时器中,可以做不同的波特而在模式1和模式3下的波特率由内部计数器T1来控制,此时应使用计数器工作模式2,自动重新载入计时模式。在模式2下,使用的计数寄存器为TL1,而TH1则是在做自动载入计时值的设定。波特率的计算公式为将上式整理得中断系统8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。8051单片机的中断系统简单实用,其基本特点是有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。5个中断源的符号、名称及产生的条件如下INT0外部中断0,由P32端口线引入,低电平或下跳沿引起。INT1外部中断1,由P33端口线引入,低电平或下跳沿引起。T0定时器计数器0中断,由T0计满回零引起。T1定时器计数器L中断,由T1计满回零引起。TIRI串行IO中断,串行端口完成一帧字符发送接收后引起。整个中断系统的结构框图见下图一所示。由图一可见,外部中断有下跳沿引起和低电平引起的选择;串行中断有发送TI相接收R1的区别;各个中断源打开与否,受中断自身的允许位和全局允许位的控制,并具有高优先级和低优先级的选择。中断系统的控制寄存器中断系统有两个控制寄存器IE和IP,它们分别用来设定各个中断源的打开关闭和中断优先级。此外,在TCON中另有4位用于选择引起外部中断的条件并作为标志位。时钟电路8051内置最高频率达12MHZ的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。后面章节详细介绍。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下掉到低于规定的值,而VPD在其规定的电压范围内(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时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。2MAX232的介绍MAX232一般说明MAX232是双路驱动/接收器,内部包括电容型的电压生成器,可以将单5V电源转换成符合EIA/TIA232E的电压等级。接收器将EIA/TIA232E标准的输入电平转换成5VTTL/CMOS电平。接收器的典型临界值是13V,典型磁滞是05V,可以接收30V的输入信号。驱动器(发送器)将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|“样标识。一般机箱有两个,新机箱有可能只有一个。笔记本电脑有可能没有。有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户说明书中。计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS232C接口(又称EIARS232C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。(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接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB9的9芯插头座,传输线采用屏蔽双绞线。(4)传输电缆长度由RS232C标准规定在码元畸变小于4的情况下,传输电缆长度应为50英尺,其实这个4的码元畸变是很保守的,在实际应用中,约有99的用户是按码元畸变1020的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10而得出附表2的实验结果。其中1号电缆为屏蔽电缆,型号为DECPNO9107723内有三对双绞线,每对由22AWG组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECPNO910585604是22AWG的四芯电缆。1RS232C是美国电子工业协会EIA(ELECTRONICINDUSTRYASSOCIATION)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS232C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS232C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS232C标准规定,驱动器允许有2500PF的电容负载,通信距离将受此电容限制,例如,采用150PF/M的通信电缆时,最大通信距离为15M;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20M以内的通信。2RS485总线,在要求通信距离为几十米到上千米时,广泛采用RS485串行总线标准。RS485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200MV的电压,故传输信号能在千米以外得到恢复。RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS485用于多点互连时非常方便,可以省掉许多信号线。应用RS485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。在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软件设计的主程序流程图开始下位机发送数据下位机收到数据下位机算出数据比较数据下位机向上位机发送数据开始通信下位机不回应上位机结束412软件电路设计大多控制系统都把PC作为上位机,单片机系统作为下位机。单片机系统必需把采集的数据传输给PC机,以便进行存储和处理。PC机几乎都具有RS232接口,因此,单片机通过RS232口与PC机通信最方便,也是嘴常用的方法。但是单片机并没有RS232电气接口,要进行通信,必需要进行接口扩展。本设计采用了接口扩展的方案,并根据自行设计的通讯协议,编写了通信软件。编写程序编写单片机单片机端串口结束电和发送程序;编写上位机端串口发送和接受程序。以上是串口通信的一般流程。对于本设计的硬件加密锁的设计。要求在下位机中设计一个算法。上位机发送数据。下位机接受数据,并根据算法计算出结果,然后比较数据如果一致就进行串口通信。不一致就停止通信。程序见附录42系统调试本次设计的最后一项任务是对系统进行调试,并测试程序和硬件是否能按照要求工作。单片机应用系统的程序存储器必须放入调试好的应用程序,系统才能运行。如果研制人员对单片机的结构、系统硬件结构、指令系统十分熟悉,能确保所编制的程序不会出错时,可不需要开发工具,只要把所开发的软件固化到系统的EPROM中即可。一般来说,都需要借助开发工具来调试应用软件。开发工具的主要作用是(1)系统硬件电路的诊断与检查;(2)程序的输入与修改;(3)程序的运行、调试,具有单步运行、状态查询等功能;(4)能将程序固化到EPROM芯片上去。本次测试的工具主要是面包板一个(用来进行硬件连接),导线若干,伟幅仿真器一个(用来对便好的程序进行调试,以及看最终结果是否符合设计要求),电源一台(供给仿真器及单片机电源),万用表一个。43测试过程测试过程的第一项任务是建立自己的项目文件,首先选择菜单文件/新建文件功能在弹出的文件中输入所编写的程序。然后选择菜单文件/保存文件或文件/令存为功能,给出文件所要保存的位置以及文件名,单击保存。接下来的任务是建立新的项目选择菜单文件/新建项目功能。此不工作要分三步完成。(A)加入模块文件,在加入模块文件的对话框中选择刚才所保存的文件,按打开键。(B)加入包含文件,在加入包含文件的对话框中,选择所要加入的包含文件。(C保存项目,在保存项目的对话框中输入醒目的名称,无需加后缀,软件会自动将后缀设成“ASM“按保存键将项目保存在源程序相同的文件加下。项目保存好后,如果项目是打开的,可看到项目中的“模块文件“已有一个模块,并且就是你所保存的文件名,如果项目窗口没有打开,可以选择菜单窗口/项目窗口功能来打开。以上是编译程序的初步阶段,然后就是编译程序了。选择菜单项目/编译功能或按编译快捷图标,编译项目。在编译过程中,如果有错误可以在信息窗口中显示出来,双击错误信息,可以在源程序定位所在的行。纠正错误后,再次编译直到没有错误后,就可调试程序了。下一步工作是单步调试程序,选择执行/跟踪功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序,单步跟踪调试程序就一条指令一条指令地执行程序,若有子程序调用,也会跟踪到子程序中去。在这个过程中,可以观察程序每步执行的结果。连接硬件仿真时,按照说明书,将仿真器通过串行电缆连接计算机上,将仿真头连接到仿真器,检查连线无误后,接上电源,打开仿真器的电源开关,如果仿真器和仿真头设置正确,并且硬件连接正确,就会出现“硬件仿真“的对话框,并显示仿真器、仿真头的型号及仿真器的序列号。重新编译程序,全速执行程序,就可仿真了。在这过程中遇到的最多困难是在程序的编译过程中,因为有时候是子程序没有定义而编译不过去,有时候是指令写得不对,这就要求我们对单片机的知识了解得比较精。44本章小结本章利用前面已经掌握的知识设计出了软件流程图,并根据流程图编写出程序。然后将编好的主程序进行调试,看是否能实现预期的功能,找出缺陷和不足并解决出现的问题。结论硬件加密锁的设计通过运用以前所掌握的单片机知识,设计出所需要的能够实现加密锁功能硬件电路,并在PROTEL99中把电路图绘制完成。然后运用单片机知识进行程序地编写和编译仿真,最后进行硬件连调,并加上相应的外部电路和连线,来对所设计的电路的功能进行验证。实验结果完成了最初的设计预想,实现了设计所要达到的功能这次设计对我们的影响意义非凡。首先从选题来说,他的选题考虑到了我们大学四年所学的所有知识,既要求我们对知识掌握的牢固,又要求我们对知识能够灵活运用。从运用到的知识面来说,它不仅要求我们运用所学过的知识还要求我们去寻找,学习,借鉴其他科目或门类的知识。从时间上来说,这次设计的时间是最长的,因此我们有足够的时间去重新温习学过的知识,更有充足的时间去搜集学习一些我们没有涉猎过的知识。这样不仅锻炼了我们学习新知识的能力,同时也拓宽了我们的知识面。并且我们还有足够时间去修改我们的设计中的缺陷,这也是对我们将来走入社会独立完成一项课题的考验。而对于我们来说最重要的是,这次实习告诉我们怎样才能系统地完成一项实用的工作,他都需要哪些步骤。因此当我们步入社会后对于公司给我们的一个实际的应用项目将不会在感到陌生。参考文献李华MCS51系列单片机实用接口技术北京航空学院出版社,199384吴金戌,沈庆阳,郭庭吉8051单片机实践与应用清华大学出版社,19947张毅刚,彭喜源,谭晓昀MCS51单片机应用设计哈尔滨工业大学出版社,1997128楼然苗,李光飞51系列单片机设计实例北京航空航天大学出版社,2003310SHCHO,HKUMAGAI,ANDKMIDORIKAWA,FABRICATIONOFMULTICORESTRUCTUREINOPTICALFIBERSUSINGPLASMASELFCHANNELINGEXCITEDBYAFEMTOSECONDLASER,CLEOPACIFICRIMOL,JULY,2001,CHIBATUB2411INTELMICROCONTROLLERHANDBOOK198512INTELSOFTWAREHANDBOOK19841新编MCS51单片机应用设计张毅刚著哈尔滨工业大学出版社3电子技术基础康平光著高等教育出版社48051单片机嵌入式系统应用赖麒文著科学出版社58051单片机基础教程陈明荧著科学出版社6MCS51系列单片机应用系统设计何立民著北京航空航天大学出版社7流行单片机实用子程序及应用实例杨振江著西安电子科技大学出版社8增强型80C51单片机速成与实践周立功著北京航空航天大学出版社9单片机系统设计与实验汪道辉著电子工业出版社附录1燕山大学本科毕业设计(论文)开题报告课题名称基于51单片机的硬件加密锁的设计和实现课题性质实际课题来源自选学院(系)里仁学院专业电子信息工程年级四年级学生姓名杨强强指导教师李林2007年4月9日一、综述本课题国内外研究动态,说明选题的依据和意义随着PC机的普及,各种不同功能的计算机软件相继产生,使PC机的功能不断增强,方便了人们的学习,工作,和生活。但是在利益的驱使下,软件盗版盗用的现象日益严重。如何保护软件开发者的知识产权和经济利益,保证正版软件用户的利益是一个急需解决的问题。单纯的软件加密显然是不够的,。因此我们需要一种更为有效的硬件加密方式。通过比较软件加密和硬件加密这两种不同的途径,我发现硬件加密显然更适合自己。作为一个电子信息工程的学生,所学的专业就是偏硬件的一个专业又考虑到自己的知识背景和自己的爱好,所以我选择了基于51单片机的硬件加密锁为自己毕业设计的课题。作为当代的大学生,应抓住潮流立足于最新科技领域,而硬件加密锁正是这样的一个新的领域。这个课题可以培养我们把理论转化为实际动手能力的能力,提高自己的综合能力,为自己以后的就业和职业生涯提供资本。二、研究的基本内容,拟解决的主要问题本设计要求基于51系列单片机设计出一种硬件加密锁并加以实现。在设计中一共用到两个芯片,一个是51系列单片机,另一个是MAX232。通过两者的正确连接,在加上电源情况下构成了硬件电路。主要解决的问题有五个第一搞清楚51板以及MAX232各引脚的功能。第二两个芯片的连接方法以及电源的接法。第三51板的编程。第四主程序的编程。第五软,硬件联合调试。其中的难点是编程。三、研究步骤、方法及措施研究的步骤首先是查阅资料熟悉内容。其次是硬件设计。然后是单片机程序设计。接下来是软,硬件的联合调试。最后是撰写论文。软件研究的方法是PC机,也就是上位机。向单片机即下位机发送数据。下位机收到数据,然后按照一定的算法得出一个结果。将收到数据与算法结果比较。如果一致,就回应上位机向上位机返回数据。则串口进行通信。否则,单片机,即下位机不回应上位机,不返回数据。串口通信无法进行。具体过程是导师指导和自己动手做相结合。导师先给出题目并安排任务,这样学生有足够的时间来完成课题的设计。学生有疑问的地方可随时向导师请教。导师是按周来安排任务。研究的措施学校为学生提供机时,供学生上机课程设计,查阅资料用。在每周四下午导师召集学生讨论解答学生疑问,并且作出指导。最后安排下一周的任务。四、研究工作进度14周查阅资料和熟悉内容主要的工作是去图书馆查阅相关文献。58周硬件设计主要是设计硬件电路以及涉及达到的芯片或者器件了解起引脚的作用及连接方法。912周单片机程序设计。1316周软,硬件联合调试。1718撰写论文。五、主要参考文献新编MCS51单片机应用设计张毅刚彭喜元编著。哈尔滨工业大学出版社单片机接口技术实用子程序陈小忠黄宁赵小侠编著人民邮电出版社8051单片机实践与应用吴金戌,沈庆阳,郭庭吉清华大学出版社,1994中国期刊网及相关电子资源。GOOLE,百度等相关的网络资源。六、导师意见指导教师(签字)年月日七、审核意见审查结果1、通过;2、完善后通过;3、未通过负责人(签字)年月日注本科毕业设计(论文)开题报告一般不少于1000字。附录2燕山大学本科毕业设计(论文)文献综述课题名称基于51单片机的硬件加密锁的设计与实现课题性质实际课题来源自选学院(系)里仁学院专业电子信息工程年级四年级学生姓名杨强强指导教师李林2007年4月9日一、课题国内外现状在中国,开发和销售软件离不开加密,因为我国的软件保护法制还不太健全,人们的法制观念也比较淡薄,盗版软件有着丰富的土壤,并且因为软件是一种非常特殊的商品,很容易复制,就其功能来讲,正版和盗版的区别很小,如果开发出来的软件不进行加密的话,那么在中国就无法销售出去,人们乐意使用盗版软件而没有一些道德罪孽感,因此软件开发商有必要使用一些加密产品来保护软件开发者的利益,防止软件被盗版。如何保护软件开发者的知识产权和经济利益,保证正版软件用户的利益是一个急需解决的问题。电脑狗,即加密狗,现在所说的加密狗,一般都是硬件加密狗。是一种类似于U盘一样的东西,是一种防盗版的方式。一般是把程序的一小部分或解密部分集合到加密狗的硬件中,防止软件的盗版。二、研究主要成果我国灯具研究的成果在当今中国市场上最主要的加密锁品牌有1。美国彩虹公司(也是最早做硬件加密的公司)的国产品牌“加密狗”、美国品牌“圣天诺软件加密锁”;2。阿拉丁的“HASP”系列加密锁;3。德国威博公司的“WBUKEY”加密锁;4。深思洛克的“深思加密锁”;5。蓝宇风公司的“金盾加密锁”;6。飞天公司的“ROCKEY”加密锁等几个主要品牌。以上加密锁品牌的工作原理都是大同小异。三、发展趋势随着互联网和电子商务的发展,USBKEY作为网络用户身份识别和数据保护的“电子钥匙“,正在被越来越多的用户所认识和使用。USBKEY这个概念最早是由加密锁厂家提出来的,加密锁是用来防止软件盗版的硬件产品,加密锁的概念是使安装在计算机内的应用程序脱离加密锁硬件无法运行来达到保护软件不被盗版的目的。随着网络应用的不断深入和应用软件销售模式的改变,未来的软件用户可能不需要购买软件在本地计算机上安装运行,而是将要处理的数据通过网络上传到专门运行该软件服务的应用服务器上处理,再通过网络取得数据处理的结果,软件开发商通过提供该应用服务收取软件费用。这个时候,软件厂商面临的问题就不再是如何防止本地软件被复制,而是如何确认网络用户的身份和用户数据的安全。于是加密锁厂商提出了USBKEY的概念,用于识别用户身份。四、存在问题因特网(INTERNET)给大家的生活和工作带来了日新月异的变化,同时也为盗版软件在网络上快速传播与流通提供了良好的媒介。因而除了如何有效地通过外在的法律手段打击盗版行为之外,深入学习软件保护技术,增强软件自身抵抗盗版流毒的免疫力也受到越来越多软件开发商的重视。但限于大多数开发商对此方面技术了解的版面性,在实施软件加密的过程中,很少有人能够像分析软件工程一样对软件加密进行系统的分析,周密地计划和设计加密方案,因而使得许多即使应用了一定软件保护技术的程序,仍然能够被解密者轻松破解。如何避免软件保护方案设计的通病,及如何减少软件加密的薄弱环节成为广大开发商比较困惑的问题之一。并且与软件保护方面相关的专业文章也是非常“罕见”的,虽然网上能够搜索到大量的介绍破解方面的文章,但是要从这些破解的资料中总结出实用的加密心得,对于不精于破解的广大开发商来说仍是一个不小的屏障。五、主要参考文献新编MCS51单片机应用设计张毅刚彭喜元编著。哈尔滨工业大学出版社单片机接口技术实用子程序陈小忠黄宁赵小侠编著人民邮电出版社8051单片机实践与应用吴金戌,沈庆阳,郭庭吉清华大学出版社,1994中国期刊网及相关电子资源。GOOLE,百度等相关的网络资源。附录3单片机简介与应用1单片机简介单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。单片机即单片微型计算机(SINGLECHIPMICROCOMPUTER),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域。MCS51单片机是INTEL公司推出的世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体,它的EEPROM电可擦除技术、闪速存储器技术和质量、高可靠性的生产技术。在CMOS器件生产领域中,INTEL的先进设计水平、优秀的生产工艺及封装技术一直处于世界的领先地位,这些技术用于单片机生产使单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030塑料编织袋行业市场现状供需分析及投资评估规划分析研究报告
- 2025年云南建筑安全员《C证》考试题库
- 2025-2030国内白兰地酒行业市场发展现状及竞争策略与投资发展研究报告
- 2025-2030国内实木橱柜行业市场发展现状及竞争策略与投资发展研究报告
- 2025-2030国内兼香型白酒行业市场发展分析及竞争格局与投资前景研究报告
- 2025-2030固体流量计行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030喷灌机行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030商场招商策划行业市场深度调研及趋势前景与投融资研究报告
- 2025-2030含聚合物的混凝土行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030口腔灯行业风险投资态势及投融资策略指引报告
- 外出攻读博士协议书
- 武汉城市职业学院《卫星通信》2023-2024学年第二学期期末试卷
- 2024-2025年度统编版(2024)小学道德与法治六年级(上)教学工作总结(共三套)
- 中国镀锡铜丝行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2024年常德市农商银行系统招聘笔试真题
- 江苏2025年03月南京市建邺区公开招考5名政府购岗人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 《测绘生产成本费用定额》(2025版)
- 中华武术-太极知到课后答案智慧树章节测试答案2025年春武汉城市职业学院
- 2025年濮阳职业技术学院单招职业适应性考试题库及答案1套
- 2025届广东省江门市高三下学期一模考试历史试题(原卷版+解析版)
- 2025年海关招聘笔试题库及答案
评论
0/150
提交评论