《毕业设计(论文)基于51单片机的硬件加密锁的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机的硬件加密锁的设计与实现.doc(79页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文) 基于51单片机的硬件加密锁的设计与实现 学 院 年级专业 03电信3班 学生姓名 指导教师 专业负责人 答辩日期 6月24日 大学毕业设计(论文)任务书学院:里仁学院 系级教学单位:电子与通信工程系 学号3学生姓名专 业班 级2003级电子工程系3班题目题目名称基于51单片机的硬件加密锁的设计与实现题目类型工程设计实验研究型题目性质实际题目来源自选主要内容随着PC级的普及各种不同功能的计算机软件相继产生,使PC机的功能不段增强,方便了人们的学习,工作和生活。但是在利益的驱使下,软件盗版,盗用现象日益严重。如何保护软件开发者的知识产权和经济利益,保证正版软件用户的权益,是一个亟
2、待解决的问题。单纯的软件加密显然是不够的。因此我们需要一种更为有效的硬件加密方式。本设计要求基于51系列单片机设计出一种硬件加密锁,并加以实现。基本要求1.查阅与课题相关的文献,了解硬件“看门狗”的作用及工作原理2实现硬件电路 3.实现单片机软件算法4编制一个简单的DemoMCS-51单片机应用设计 张毅刚编 哈尔滨工业大学出版社 1990.8MCS-51单片机应用设计 张毅刚等编 哈尔滨工业大学出版社 1992.4单片机原理及系统设计胡汉才编著 清华大学出版社 2002周 次14周58周912周1316周1718周应完成的内容查阅资料熟悉内容硬件设计单片机程序设计软硬件联合调试撰写论文指导教
3、师:李林职称:讲师 年 月 日系级教学单位审批: 年 月 日说明:如计算机输入,表题黑体小三号字,内容五号字。本任务书一式二份,教师、学生各执一份。摘 要单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。单片机即单片微型计算机(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域。 本课题选择MCS-51单片机为核心控制元件,设计了一个日常生活中用到的硬件加密锁系统。该系统是由单片机系统及MAX232组成。使用单片机汇编语言进行编程,实
4、现了硬件加密锁的功能本论文主要介绍了硬件加密锁的软、硬件部分的设计,以及在设计、调试过程中遇到的问题及解决方案。经过实践证明,本课题设计的该系统结构简单,稳定,造价成本低,功能完全,具有很强的实用性。关键词8051单片机;硬件加密锁系统;MAX232AbstractThe single slice machine is the microcomputer which all integrates main calculator function partses on a piece of chip.Single slice machine namely single slice microco
5、mputer(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 , extensively ap
6、plied 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 tofrom single slice machine system and MAX232.Using the single slice machine edits collected materials la
7、nguage 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 solution.Pass by to practic
8、e a certificate, the systems 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 课题的国内外现状11.1.2 课题的发展趋势31.1.3 本文研究的主要
9、内容71.2 本章小结7第2章总体方案与论证52.1 8051单片机52.1.1 8051的介绍52.2 本章小结11第3章硬件电路设计113.1 设计部分113.1.1 硬件部分113.4本章小结17第4章软件电路设计194.1程序框图194.1.1软件系统中的主程序流程图194.1.2软件电路设计204.2 系统调试204.3 测试过程214.4本章小结21结 论23参考文献24附录125附录231附录334附录447致谢1第1章绪论1.1 课题背景1.1.1 课题的国内外现状 随着PC机的普及,各种不同功能的计算机软件相继产生,使PC机的功能不断增强,方便了人们的学习,工作,和生活。但是
10、在利益的驱使下,软件盗版盗用的现象日益严重。如何保护软件开发者的知识产权和经济利益,保证正版软件用户的利益是一个急需解决的问题。单纯的软件加密显然是不够的。因此我们需要一种更为有效的硬件加密方式。硬件加密锁,俗程“加密狗”。它通过硬件设备实现防止软件在使用过程中被非法复制和盗版。在当今中国市场上最主要的加密锁品牌有:1。美国彩虹公司(也是最早做硬件加密的公司)的国产品牌“加密狗”、美国品牌“圣天诺软件加密锁”;2。阿拉丁的“HASP”系列加密锁;3。德国威博公司的“WBUKEY”加密锁;4。深思洛克的“深思加密锁”;5。蓝宇风公司的“金盾加密锁”;6。飞天公司的“ROCKEY”加密锁等几个主要
11、品牌。以上加密锁品牌的工作原理都是大同小异:被保护的软件加密锁之间形成一一对映的关系,被保护的软件在运行的过程当中不断通过其API函数向加密锁发指令来判断加密锁是否存在于,软件离开保护锁不能运行。第一代硬件保护锁,只是通过一个简单查询函数来验证并口的硬件保护锁是否存在,存在则程序继续运行,不再则软件终止运行,来完成并保护软件开发商的利益;第二代的硬件加密锁与第一代的产品相比较最大的改变在于加密锁硬件里头的运算芯片由RAINBOW公司写入了一个固定的“加密算法”,但这个算法是单一的固定的。以上两种产品对于软件开发商来说有一个相当大的风险。如果RAINBOW把相同的产品出售给别人的话,别人拿到这个
12、加密锁就能使用开发商的软件;第三代的硬件加密产品,这种产品彻底解决了软件开发商的后顾之忧。这种产品其运算芯片中内置了28种算法,共分为56个单元,每两个单元可以单独保护一个应用程序,故用RAINBOW公司的说法其一把锁可以保护28个应用程序;且这种加密锁的每个算法单元所采用的算法因子是由软件开发商自己设定的,当其写入加密锁后对于外界来说就相当于一个暗箱,是任何人也读不出来的。但随着解密者的技术的不断提高,RAINBOW中国公司研发出了第四代的产品智能狗,与现今的差不多所有品牌的加密锁相比较,这种狗有了一个质的飞跃:其通过在开发过程中把一段代码加密后写入加密狗,当程序运行时再把加密狗里的代码在加
13、密狗里自行运行,程序调用其运算结果来完成软件的加密,如此就从理论上杜绝了软件被破解的可能。 现在市面上的加密狗的工作原理不外乎RAINBOW的这两种形式:1、程序发命令查询加密狗运算后相应程序;2、把源代码放入加密狗内部执行。1.1.2 课题的发展趋势盗版既是软件行业的问题,也是一个社会问题。 在软件行业,所有的软件开发商、销售商都为来自光盘、来自Internet的全球范围内的软件盗版而困扰。从软件使用者的角度来讲,往往只看到购买盗版“所占到的便宜”,而忽视了服务无法保证、系统安全风险等诸多问题的存在,也正是由于这种“忽视”,在很大程度上限制了软件产业特别是民族软件产业的成长。我们回想一下有多
14、少软件企业被盗版而扼杀在摇篮里?又有多少企业倒在了反盗版的路上?软件企业要生存,软件行业要持续、健康发展,因此软件保护才应运而生,大部分软件商最初采用的保护方式主要是软加密,主要有密码方式、 软件自校验方式和钥匙盘方式等纯软件的手段,但是随着软件保护行业的发展,解密技术也随之出现并快速的发展起来,软加密的方式已经“不堪一击”;在这种情况下,依赖于硬件的保护开始被广泛应用,成为最常用的保护手段。加密卡、加密狗(加密锁)等也成为了软件保护技术进步下的产物。 但是,加密与解密的斗争是永无休止的;很快,普通的硬件保护技术受到了挑战!于是, 2001年以后,软件保护行业形成一轮新的技术升级浪潮,突破性地
15、在金融、军队、网络身份认证等对安全性、稳定性要求极高的领域广泛使用的智能卡(Smart Card)技术来对商业软件的进行保护。以智能卡技术为核心构建的新一代的软件保护系统,对用户的软件代码和重要数据提供了全方位、高安全度的保护,被称为软件盗版的“终结者”。在与盗版的激烈斗争中,中国软件保护行业市场逐步形成并在市场的强烈激发和需求下快步的蓬勃发展,深思洛克、阿拉丁、彩虹天地(现为美国赛孚耐)等都是其中的佼佼者。 时至今日,在以智能卡技术为基础构建的软件保护技术已经非常完善,以深思洛克的代表产品-精锐IV加密锁为例。她所采用的芯片是目前国际上唯一通过EAL5+的安全芯片,以其优秀的防物理攻击、电子
16、探测功能为加密锁提供了一个安全的“芯”。利用她强大的处理能力,软件开发商可以将软件中一段或几段关键的代码移植到加密锁中运行,或将软件运行所需的关键数据保存在锁内,外部软件通过接口函数访问硬件中的关键代码或数据,由于这些代码和数据在PC端没有副本存在,解密者根本无从猜测算法或窃取数据。然而,就在软件保护行业正在为技术变革带来的高安全性而欣喜的时候,软件开发商却提出了新的需求要求加密锁将软件销售渠道、加密锁生产、发行管理起来。目前,我国软件开发商大多采用代理制、分销制的发行方式,在享受其带来的诸多优势的同时,也给软件发行管理带来了诸多问题,而这是传统加密锁根本无法解决的,事实证明所谓的这类普通加密
17、锁已经在逐渐失去其存在的价值和意义。 首先,如果软件开发商是采用传统加密锁进行软件保护的,那么在软件升级及功能更新时候,必须将加密锁通过邮寄的方式往返于软件开发商和最终用户,这种方式大大增加了运输和管理成本;其次传统加密锁采用的是普通的单片机,所以单纯从硬件来说很难抵御目前快速发展的解密技术攻击,硬克隆这种完全的破解对于解密者来说也并非难事,传统的加密锁存在极大的被解密的风险;另外,传统的加密锁由于天生的安全缺陷,无法帮助软件企业对发行渠道进行有效地控制和管理,所以对渠道过程中“兼守自盗”束手无策,然而往往一些软件的盗版压力就来自发行渠道。 基于以上亟待解决的问题,深思洛克率先在 2002年推
18、出基于安全智能卡芯片的高强度加密锁,辅以及安全、高效的加密解决方案,使数千套软件得到安全无忧的保护,并利用智能卡所具有的网络安全特质,将加密锁的远程升级功能,以及软件授权管理功能赋予了安全的智能卡加密锁,从而成功的解决了软件企业及软件保护行业共同面临的难题。 如果说智能卡加密锁的安全解决方案以及“远程更新”技术是实现软件销售管理的基础,那么授权管理技术则是这一应用得以实现的保障。他不仅可以成功解决软件企业眼前的难题,更重要的是基于软件授权管理可以打造全新的软件销售模式,为软件行业带来革命性的进步。客户可以根据自己的需求按使用时间或使用次数定制软件,也可以按自己的要求定制使用的软件种类与模块组合
19、,客户只需要为自己必须的应用功能或服务付款;并通过试用,确定符合自己的需求的基础上,购买服务,并通过远程开通来使用这种服务! 可见,新的“加密锁整体保护方案”与传统“软件加密”有太大不同。首先,软件企业利用这种管理模式可以非常方便的管理自己的销售渠道和最终用户;其次,消费者可以通过远程申请使用满足自己需求的软件模块,并且不需要初期昂贵的投资,而仅仅需要按次或按时支付固定的费用。 可以预见,软件租赁服务一旦成为软件销售的主流形式,对软件保护行业来说,则意味着许多商业机会,如财务、CRM、HR等需要较多服务的管理类软件或建筑类、娱乐类对安全有较高要求,对客户信息需要管理的软件采用传统的加密已远远无
20、法满足需求!大多数软件企业将采用这种新的管理模式,软件企业关心的将不仅仅是盗版问题,而是在软件安全的情况下如何提高服务质量、如何轻松实现渠道、客户信息的可控管理、如何保证授权管理的高安全性1.1.3 本课题研究的主要内容本设计目的使学生熟练掌握MCS-51本操作和调试程序的各种指令。熟悉编程及调试程序的方法。掌握8051的工作原理和应用编程方法,练习编写中断程序的方法。掌握8051的工作原理、工作方式及其应用编程。本设计的要求:1.查阅与课题相关的文献,了解硬件“看门狗”的作用及工作原理2.实现硬件电路3.实现单片机软件算法4.编制一个简单的Demo1.2 本章小结本章简单介绍了本次设计的课题
21、国内外现状和发展趋势和研究的主要内容,为以后的设计的设计作好准备。第2章总体方案与论证2.1 8051单片机 2.1.1 8051简介8051系列单片机是8051是MCS-51系列单片机的典型产品,美国ATMEL公司前些年推出的一种新型高性能低价位、低电压低功耗的8位CMOS微型计算机。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:下图是MCS-51系列单片机的内部结构示意图。 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的
22、处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 存储器:单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储
23、器空间。这种程序存储和数据存储分开的结构形式被称为哈佛结构。但从用户的角度,8051存储器地址空间可分为3类:片内、片外统一编址0000HFFFFH的64KB程序存储器地址空间(用16位地址);64KB片外数据存储器地址空间,地址也从0000HFFFFH(用16位地址)编址;256B片内数据存储器地址空间(用8位地址)。 上述4个存储空间地址是重叠的,如图所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。 数据存储器(RAM): 8051内部有128个8位用户数据存储单
24、元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。实际上,当引脚EA接高电平时,8051的程序计数器PC执行片内ROM中的程序,当指令地址超过片内ROM地址
25、时,就自动转向片外ROM中去取指令。当引脚EA接低电平(接地)时,8051片内ROM不起作用,CPU只能从片外ROM中取指令,地址可以从0000H开始编址。8051从片内程序存储器和片外程序存储器取指时的执行速度相同。 定时/计数器(ROM):8051不仅有丰富的可用端口,其还内含有两个16位的计时器/定时器,称为计数器TO及计数器T1,以实现定时或计数产生中断用于控制程序转向。其主要作用有两点:第一,做一段特定时间长短的计时。第二,可以计算由TO或Tl引脚的输入脉冲数。前者在应用上可以产生正确的时间延迟及定时去执行中断服务程序,这是MCU在软件控制程序上常用到的技巧,而后者的应用则是计数器或
26、是频率计的设计。这两个计数器本身都有4种工作模式可以选用: 模式0:13位计时工作模式 模式1:16位计时工作模式 模式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、不扩
27、展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口只做I/O口使用:其内部有上拉电阻。 P2口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般I/O口使用,其内部有上拉电阻; P3口有两个功能: 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。 全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 8051单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要
28、用于外接移位寄存器,以扩展单片机的IO电路;方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可用作多机通信,以构成分布式多微机系统。 串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向阳UF写入数据就启动了发送过程;读SBUf就启动了接收过程。 串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器Tl的定时溢出时间确定
29、,使用十分方便灵活。8051的串行I/O有4中工作模式可供选择:模式0:此模式是做串行传送1/0控制,而非真正的串行通信应用。工作于此模式时由TXD引脚发送出同步移位脉冲,由RXD引脚送出或接收串行数据。串行数据形式是8位数据,同步脉冲的宽度也是固定的,为系统工作震荡的1/12,等于8051的一个工作周期。 模式1:此模式为经常使用的串行工作模式,串行数据位由TXD引脚传送出去,由RXD引脚将对方发来的串行数据位接收进来。至于传输的波特率是由计时器T1来规划的,只要将不同的计数器初值载入计时器中,可以做不同的波特:而在模式1和模式3下的波特率由内部计数器T1来控制,此时应使用计数器工作模式2,
30、自动重新载入计时模式。在模式2下,使用的计数寄存器为TL 1,而TH 1则是在做自动载入计时值的设定。波特率的计算公式为:将上式整理得: 中断系统: 8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。8051单片机的中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。5个中断源的符号、名称及产生的条件如下:INT0:外部中断0,由P3
31、2端口线引入,低电平或下跳沿引起。INT1:外部中断1,由P33端口线引入,低电平或下跳沿引起。T0:定时器计数器0中断,由T0计满回零引起。T1:定时器计数器l中断,由T1计满回零引起。TIRI:串行IO中断,串行端口完成一帧字符发送接收后引起。整个中断系统的结构框图见下图一所示。由图一可见,外部中断有下跳沿引起和低电平引起的选择;串行中断有发送(TI)相接收(R1)的区别;各个中断源打开与否,受中断自身的允许位和全局允许位的控制,并具有高优先级和低优先级的选择。中断系统的控制寄存器:中断系统有两个控制寄存器IE和IP,它们分别用来设定各个中断源的打开关闭和中断优先级。此外,在TCON中另有
32、4位用于选择引起外部中断的条件并作为标志位。 时钟电路: 8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。后面章节详细介绍。2. 本章小结本章介绍了8051单片机的结构及工作原理,为以后的设计做准备。第3章硬件电路设计3.1 设计部分3.1.1 硬件部分1 8051单片机的引脚介绍 目前制造工艺为HMOS的MCS-51的单片机都采用40只引脚的双列直插封装方式,40只引脚按其功能分,可分为三个部分: 图1-11 电源及时钟引脚:Vcc,Vss;XTAL1.XTAL2.2 控制引脚:PSEN、ALE、EA、RESET3 I/O口引脚:
33、P0、P1、P2、P3,为4个8位I/O口的外部引脚。电源及时钟引脚( 1 )电源引脚接入单片机的工作电源。Vcc(40脚):接+5V电源;Vss(20脚):接地。( 2 )时钟引脚XTAL1、XTAL2。时钟引脚接外接晶体与片内的反相放大器构成了一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。( 3 )控制引脚此类引脚提供控制信号,有的还具有复制功能。( 4 )RST/VPD(9脚):当振荡器运行时,在此引脚外加上两个机器周期的高电平将使单片复位(RST)。掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM的数据,当Vcc下掉到低于规定的值,而VPD在其规定的电压
34、范围内(50.5V)时,VPD就向内部RAM提供备用电源。(5)ALE/PROG(30脚):当访问单片机外部存储器时,ALE输出脉冲的负跳沿用于16位地址的低8位的锁存信号。即使不访问外部存储器,ALE端仍有正脉冲信号输出,此频率为时钟频率的1/6。但是,每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。因此,严格来说,用户不能用ALE做时钟愿或定时。ALE端可以驱动8个TTL负载(6)PSEN(29脚):此角的输出是单片机访问外部程序存储器的读选通信号。在由外部程序存储器取指令期间,每个机器周期PSEN有两次有效。但在此期间,每当访问外部数据存储器时,这两次有
35、效的PSEN信号不出现。PSEN可以驱动8个TTL负载。(7)EA/VPP(31脚):当EA端保持高电平时,单片机访问内部程序存储器,但在PC只超过0FFFH时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。2 MAX232的介绍 MAX232一般说明: MAX232是双路驱动/接收器,内部包括电容型的电压生成器,可以将单5V电源转换成符合EIA/TIA-232-E的电压等级。接收器将EIA/TIA-232-E标准的输入电平转换成5VTTL/CMOS电平。接收器的典型临界值是1.3V,典型磁滞是0.5V,可以接收30V的输入信号。驱
36、动器(发送器)将TTL/CMOS输入电平转换成EIA/TIA-232-E电平。 特性:单5V电源 ,LinBiCMOS工艺 ,两个驱动器和两个接收器 ,30V的输入电平 ,低工作电流:8mA典型值 ,满足和超过ANSI EIA/TIA-232-E和ITU推荐标准V.28 ,可以和MAXIM的MAX232互换应用,EIA/TIA-232-E标准,电池供电系统 ,终端MODEM计算机,ESD保护超过2000V(MIL-STD-883,METHOD 3015)。3 RS232的介绍 RS232RS232接口就是串口,电脑机箱后方的9芯插座,旁边一般有 |O|O| 样标识。 一般机箱有两个,新机箱有可
37、能只有一个。笔记本电脑有可能没有。 有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户说明书中。 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。
38、它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。 (1)接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示 (2)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5 -15V;逻辑“0” +5 +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,
39、高到-3V的信号 作为逻辑“1” (3) 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。 (4)传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公
40、司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。 1.RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信
41、号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。 2.RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS
42、-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。 以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但
43、这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从(Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。.4 电路图的设计连接电路:连接从计算机串口取电电路,实现系统供电;连接MAX232接口电平转换电路,实现逻辑电平
44、与RS232的电平的相互转换。51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如上图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。3.4本章小结本章介绍了硬件电路的总电路图,以及各个模块的理论原理。比较细致的学习各个模块的工作原理。第4章软件电路设计4.1程序框图4.1.1软件设计的主程序流程图开始下位机发送数据下位机收到数据下位机算出数据比较数据下位机向上位机发送数据开始通信下位机不回应上位机结束4.1.2软件电路设计 大多控制系统都把PC作为上位机,单片机系统作为下位机。单片机系统必需把采集的数据传输给PC机,以便进行存储和处理。PC机几乎都具有RS232接口,因此,单片机通过RS232口与PC机通信最方便,也是嘴常用的方法。但是单片机并没有RS232电