PROTEUS模拟仿真软件及VPN技术在跨区域公司环境中的应用_第1页
PROTEUS模拟仿真软件及VPN技术在跨区域公司环境中的应用_第2页
PROTEUS模拟仿真软件及VPN技术在跨区域公司环境中的应用_第3页
PROTEUS模拟仿真软件及VPN技术在跨区域公司环境中的应用_第4页
PROTEUS模拟仿真软件及VPN技术在跨区域公司环境中的应用_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在PROTEUS模拟仿真软件上,以AT89C51单片机为核心器件,结合按键电路、LED数码管显示电路、报警指示电路设计了一款保密性好、编码量多、随机开锁成功率几乎为零的电子密码。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能。系统能实现密码的输入、清除、显示、密码正确开锁,密码错误报警,系统设定初始密码。同时也显示了PROTEUS软件在硬件设计和软件调试方面的高效性。关键词:计算机应用,电子密码锁,AT89C51单片机,PROTEUS软件,系统仿真ABSTRACTAbstract:ByusingAT89C51microcontroller,anadvancedelectronicpasswordlockcircuitisdesigned.Thehardwarecircuitdiagramandsomesoftwareflowchartaregiveninthispaper.AsthesoftwareofPROTEUShasthefunctionofsimulation,thefunctionof0-9numberkeys,confirmationkeysandthedeletekeysarerealizedbya4×3array.Andthecircuitcomposedoftipsisdisplayedby8-bitdigitaltube.Whenapasswordisentered,only“-”canbedisplayed.Aftertheenteringofpassword-digit,presstheconfirmkey,andcomparetheenteredpasswordtothesetpassword.Ifthepasswordiscorrect,thenthelocktoopen.Hereasecondlight-emittingdiodeLEDisusedasareminder;ifthepasswordisnotcorrect,thentheactionofpressingthekeyisprohibited.Atthesametime,thealarmfunctionofelectroniclocksworkswiththe“tick”sound.KEYWORDS:computerapplication,electronicpassword,AT89C51microcontroller,PROTEUSsoftware,systemsimulation目录前言 1第1章单片机 31.1单片机简介 31.2单片机的硬件特性 31.3单片机的特点 31.4单片机的应用范围 4第2章电子密码锁的设计 62.1设计方案的选择 62.1.1采用数字电路控制 62.1.2采用以单片机为核心的控制 62.2本设计所要实现的目标 72.3电子密码锁的程序设计 7第3章主要元器介绍 93.1主控芯片AT89C51简介 93.2AT89C51的主要性能 93.3AT89C51引脚功能说明 103.4AT89C51的振荡器与时钟电路 123.5AT89C51的复位方式 133.5.1复位原理 133.5.2常用复位电路 143.6AT89C51的程序执行方式 143.7AT89C51的省电方式 143.8AT89C51的芯片擦除 153.9锁存器74LS245 153.104×3矩阵键盘 16第4章用PROTEUS模拟电子密码锁 184.1PROTEUS简介 184.2PROTEUS仿真过程 184.2.1启动PROTEUSISIS编辑环境 184.2.2选取放置仿真元件 194.2.3布线 214.2.4在PROTEUSISIS中进行软件编程 224.3系统调试 354.3.1将目标代码添加到电路 354.3.2电路调试 36第5章调试过程与分析 39结论 40谢辞 41参考文献 42前言在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1、保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2、误码输入保护,当输入密码多次错误时,报警系统自动启动。3、无活动零件,不会磨损,寿命长。4、使用灵活性好,不像机械锁必须佩带钥匙才能开锁。5、电子密码锁操作简单易行,一学即会。基于以上思路,本次设计使用ATMEL公司的AT89C51实现基于单片机的电子密码锁的设计,其主要具有如下功能:1、设置6位密码,密码通过键盘输入,若密码正确,则锁开。2、报警、锁定键盘功能。密码输入错误,禁止按键输入3秒,同时发出“滴、滴”报警声。3、密码可由程序初始设定。电子密码锁设计的关键问题是实现密码的输入、清除、开锁等功能。1、密码输入功能:按下一个数字键,数码管就显示一个“-”,同时将先前输入的所有“-”向左移动一位。2、密码清除功能:当按下“CRTL”键时,清除前面刚才输入的错误的数字。3、开锁功能:当按下“ENTER”键,系统将输入的数字与密码进行检查核对,如果正确则锁打开,否则则打不开。由于科技的发展以及人们对保密程度的提高,许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。因为数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息将能够使电子防盗锁获得高度的保密性,如防范森严的金库。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以看出组合使用电子信息是电子密码锁以后发展的趋势。本次设计的主要任务是在proteus中用编程语言把电子密码锁的运行过程模拟出来。第1章单片机1.1单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机系统结构示意图如图1-1所示:图1-1单片机系统结构示意图1.2单片机的硬件特性1、单片机集成度高。单片机包括CPU、4KB容量的ROM(8031无)、128B容量的RAM、2个16位定时/计数器、4个8位并行口、全双工串口行口。2、系统结构简单,使用方便,实现模块化。3、单片机可靠性高,可工作到10^6~10^7小时无故障。4、处理功能强,速度快。1.3单片机的特点单片机的特点主要有:高集成度,体积小,高可靠性;控制功能强;低电压,低功耗,便于生产便携式产品;易扩展;优异的性能价格比。单片机是以工业测控对象、环境、接口特点出发向着增强控制功能,提高工业环境下的可靠性方向发展。主要特点如下:1、种类多,型号全。很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。2、提高性能,扩大容量,性能价格比高。集成度已经达到300万个晶体管以上,总线速度达到数十微妙到几百纳秒,指令执行周期已经达到几微妙到数十纳秒,以往片外XRAM现已在物理上存入片内,ROM容量已经扩充达32K,64K,128K以致更大的空间。价格从几百到几元不等。3、增加控制功能,向真正意义上的“单片”机发展。把原本是外围接口芯片的功能集成到一块芯片内,在一片芯片中构造了一个完整的功能强大的微处理应用系统。4、低功耗。现在新型单片机的功耗越来越小,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA降到µA级,gz2频率从十几兆可编程到几十千赫兹。特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等。5、C语言开发环境,友好的人机互交环境。大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。1.4单片机的应用范围1、在智能仪表中的应用这是单片机应用最多最活跃的领域之一。在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。2、在机电一体化中的应用机电一体化产品是指集机械技术,微电子技术,计算机技术于一体,使其产品具有智能化特征的电子产品。它是机械工业发展的方向。3、在实时控制系统中的应用单片机广泛用于各种实时过程控制系统中,例如工业过程控制、过程监测、航空航天、间断武器、机器人系统等各种实时控制系统。用单片机进行实时系统数据处理和控制,保证系统工作在最佳状态,有利于提高系统的工作效率和产品的质量。4、在人们生活中的应用目前国内外各种家具已经普遍用单片机代替传统的控制电路,例如,洗衣机、电冰箱、空调机、微波炉、电饭煲、收音机、音像、电风扇及许多高级电子玩具都配上了单片机。5、在其他方面的应用单片机还广泛应用于办公自动化领域、商业营销领域、安全防卫、汽车及通信系统、计算机外部设备、模糊控制等领域。第2章电子密码锁的设计2.1设计方案的选择2.1.1采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用。2.1.2采用以单片机为核心的控制由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接7SEG-MPX8-CC-BLUE显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9输入密码。当数字输入超过6个时,给出报警信息。在密码输入过程中,若输入错误,可以利用“CLR”键删除刚才输入的错误的数字。可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。2.2本设计所要实现的目标用4×3组成0~9数字键及确认键、删除键;用8位数码管组成显示电路提示信息,当输入密码时,只显示“-”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则锁开,此处用LED发光二极管亮一秒钟作为提示;若密码不正确,禁止按键输入3秒,同时发出“滴、滴”报警声。2.3电子密码锁的程序设计程序流程图设计如图2-1所示:图2-1程序流程图软件流程图设计如图2-2所示:图2-2软件流程图第3章主要元器介绍3.1主控芯片AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2AT89C51的主要性能1、与MCS-51兼容2、4K字节可编程FLASH存储器3、寿命:1000写/擦循环4、数据保留时间:10年5、全静态工作:0Hz-24MHz6、三级程序存储器锁定7、128×8位内部RAM8、32可编程I/O线9、两个16位定时器/计数器10、5个中断源11、可编程串行通道12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路3.3AT89C51引脚功能说明图3-1 AT89C51芯片引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:表3-1P3口的一些特殊功能引脚第二功能功能说明P3.0RXD串行数据输入端P3.1TXD串行数据输出端P3.2INT0外部中断0中断请求信号输入端P3.3INT1外部中断1中断请求信号输入端P3.4T0定时/计数器0外部计数脉冲输入端P3.5T1定时/计数器1外部计数脉冲输入端P3.6WR片外RAM写选通信号输出端P3.7RD片外RAM读选通信号输出端P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.4AT89C51的振荡器与时钟电路单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序。而产生这种基本节拍的电路就是振荡器和时钟电路。AT89C51单片机内部有一个用于构成振荡器的单级反相放大器,如图3-2所示。图3-2 AT89C51内部振荡器电路图引脚XTAL1为反相器输入端,XTAL2为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器。单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号。此时,外部信号接至XTAL1端,输入给内部时钟电路,而XTAL2端浮空即可。3.5AT89C51的复位方式单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。3.5.1复位原理AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。复位后,PC程序计数器的内容为0000H,其他特殊功能寄存器的复位状态如表3-2所示。片内RAM中内容不变。表3-2特殊寄存器的复位状态SFR符号地址复位值功能名称*ACC0E0H00000000B累加器*B0F0H00000000BB寄存器*PSW0D0H00000000B程序状态字SP81H00000111B堆栈指针DPL82H00000000B数据寄存器指针(低8位)DPH83H00000000B数据寄存器指针(高8位)*P080H11111111BP0口锁存器*P190H11111111BP1口锁存器*P20A0H11111111BP2口锁存器*P30B0H11111111BP3口锁存器*IP0B8HXXX00000B中断优先级控制寄存器3.5.2常用复位电路一般有上电复位、手动开关复位和自动复位电路三种,如图3-3所示:图3-3 单片机复位电路图(a)上电复位电路;(b)手动复位电路;(c)自动复位电路3.6AT89C51的程序执行方式程序执行方式是单片机的基本工作方式,即执行用户编写好并存放在ROM中的程序。3.7AT89C51的省电方式AT89系列单片机有两种省电运行方式,即空闲方式和掉电方式。省电方式可使单片机功耗最小。单片机正常工作时消耗10~20mA电流,空闲方式工作时消耗1.75mA电流,掉电方式工作时消耗5~50μA电流。在空闲和掉电方式下,单片机内部硬件控制电路如图3-4所示:3-4空闲和掉电方式内部电路图3.8AT89C51的芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.9锁存器74LS245图3-5 74LS245引脚图74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。3.104×3矩阵键盘如图3-6所示,本系统采用4×3矩阵键盘,12个按键分为输入数字键:0、1、2、3、4、5、6、7、8、9;功能键CRL、ENTER矩阵键盘。图3-64×3矩阵键盘第4章用PROTEUS模拟电子密码锁4.1PROTEUS简介Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/-DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。4.2PROTEUS仿真过程4.2.1启动PROTEUSISIS编辑环境点击“开始”菜单,选择“Proteus7Professional”程序,在出现的子菜单中选择“ISIS7Professional”选项,系统启动界面如图4-1所示。图4-1启动界面运行结果如图4-2所示:图4-2运行结果4.2.2选取放置仿真元件按照需要的元件清单如表4-1所示添加元件表4-1元件清单元件名称所属类所属子类AT89C51MicroprcessorICs8051FamilyCAPCapacitorsGenericCAPCapacitorsGenericCRYSTALMiscellaneous——RESResistorsGeneric7SEG-MPX8-CC-BLUEOptoelectronics6-SegmentDisplays74LS245TTL74LSseriesTransceiversBUTTONSwitches&RelaysSwitchesSOUNDERSpeakers&Sounders——LED-YELLOWOptoelectronicsLEDs在器件选择按钮中单击“P”按钮,或是执行菜单命令“Library”-“PickDevice/Symbol”,分别添加AT89C51、74LS245、7SEG-MPX8-CC-BLUE、BUTTON、LED-YELLOW、RES、SOUNDER器件,如图4-3所示:图4-3添加元件在ISIS原理编辑窗口中放置元件,再单击工具箱中的“元件终端图标”,在对象选择器中单击“POWER”和“GROUND”放置电源和地,如图4-4所示:图4-4 放置电源和地4.2.3布线放置好元件后,点击总线图标,先布总线,再连接其他各线。左键双击各元件。设置相应元件参数,完成电路图设计,如图4-5所示:图4-5电路图4.2.4在PROTEUSISIS中进行软件编程1、在PROTEUSISIS中创建源代码文件选用Source→Add/RemoveSourcefiles命令,如图4-6所示:图4-6 选用Source→Add/RemoveSourcefiles命令将弹出如图4-7所示的Add/RemoveSourceCodeFils对话框图4-7 Add/RemoveSourceCodeFils对话框点击codegenerationtool下方的下拉式菜单,将列出系统提供的代码生成工具,如图4-7所示。在本例中微处理器为80C51,因此选择“ASEM51”点选“NEW”按钮,将出现图4-8所示的新的源文件建立对话框。在文件名一栏中为源代码键入文件名“AT89C51”,并在文件类型中指定新建源文件的类型为图4-8新的源文件建立对话框点击打开按钮,将出现如图4-9所示的对话框,点选“是(Y)”按钮,即可完成新源文件的创建和添加,如图4-10所示。点击“OK”按钮关闭源代码文件创建对话框。图4-9新建源文件对话框图4-10源代码文件创建完成2、在PROTEUSISIS中编辑源代码在PROTEUSISIS编辑环境中按动ALT-S键,打开Source菜单,如图4-11所示。点选“1.AT89C51.ASM”,即可打开源文件编辑窗口,如图4-12所示,在编辑环境中键入程序,并保存。图4-11打开Source菜单图4-12 源文件编辑窗口控制电路软件源程序如下:;*******************************************************

;以下8个字节存放8位数码管的段码

LED_BIT_1 EQU 30HLED_BIT_2 EQU 31H

LED_BIT_3 EQU 32H

LED_BIT_4 EQU 33H

LED_BIT_5 EQU 34H

LED_BIT_6 EQU 35H

LED_BIT_7 EQU 36H

LED_BIT_8 EQU 37H

;以下6个字节存放初始密码

WORD_1 EQU 38H

WORD_2 EQU 39H

WORD_3 EQU 3AH

WORD_4 EQU 3BH

WORD_5 EQU 3CH

WORD_6 EQU 3DH

;以下6个字节存放用户输入的6位密码

KEY_1 EQU 3EH

KEY_2 EQU 3FH

KEY_3 EQU 40H

KEY_4 EQU 41H

KEY_5 EQU 42H

KEY_6 EQU 43H

;******************************************************

CNT_A EQU 44H

CNT_B EQU 45H

KEY_CNT EQU 46H ;已输出的密码位数

LINE EQU 47H ;按键行号

ROW EQU 48H ;按键列号

VAL EQU 49H ;键值

;******************************************************

;以下为初始化程序,包括数据存储空间初始化,设置初始密码

ORG 00H

SJMP START

ORG 0BH

LJMP INT_T0

START: MOV CNT_A,#00H ;程序初始化

MOV CNT_B,#00H

MOV KEY_CNT,#00H

MOV LINE,#00H

MOV ROW,#00H

MOV VAL,#00H

SETB P1.0

MOV LED_BIT_1,#00H ;段码存储区清0

MOV LED_BIT_2,#00H

MOV LED_BIT_3,#00H

MOV LED_BIT_4,#00H

MOV LED_BIT_5,#00H

MOV LED_BIT_6,#00H

MOV LED_BIT_7,#79H

MOV LED_BIT_8,#73H

MOV KEY_1,#00H ;输入密码存储区清0

MOV KEY_2,#00H

MOV KEY_3,#00H

MOV KEY_4,#00H

MOV KEY_5,#00H

MOV KEY_6,#00H

MOV WORD_1,#6 ;设置初始密码”123456MOV WORD_2,#5

MOV WORD_3,#4

MOV WORD_4,#3

MOV WORD_5,#2

MOV WORD_6,#1

MOV TMOD,#01H

MOV TH0,#(65536-700)/256

MOV TL0,#(65536-700)MOD256MOV IE,#82H

A0: LCALL DISP

;***********************************************************;以下为键盘扫描程序,计算键值并存入VAL

LSCAN: MOV P3,#0F0H ;扫描行码

L1: JNB P3.0,L2

LCALL DLY_S

JNB P3.0,L2

MOV LINE,#00H

LJMP RSCAN

L2: JNB P3.1,L3

LCALL DLY_S

JNB P3.1,L3

MOV LINE,#01H

LJMP RSCAN

L3: JNB P3.2,L4

LCALL DLY_S

JNB P3.2,L4

MOV LINE,#02H

LJMP RSCAN

L4: JNB P3.3,A0

LCALL DLY_S

JNB P3.3,A0

MOV LINE,#03H

RSCAN: MOV P3,#0FH ;扫描列码

C1: JNB P3.4,C2

MOV ROW,#00H

LJMP CALCU

C2: JNB P3.5,C3

MOV ROW,#01H

LJMP CALCU

C3: JNB P3.6,C1

MOV ROW,#02H

CALCU: MOV A,LINE ;计算键值

MOV B,#03H

MUL AB

ADD A,ROW

MOV VAL,A

;**************************************************

;以下为按键处理程序,对不同的按键作出响应CJNE A,#0AH,J1 ;是否为"CLR"键

MOV R1,KEY_CNT

CJNE R1,#00H,J2

LCALL ALARM_1

LJMP START

J2: LCALL SHIFTR

DEC KEY_CNT

W00: LCALL DISP ;等待按键抬起

MOV A,P3

CJNE A,#0FH,W01

LJMP A0

W01: MOV A,P3

CJNE A,#0F0H,W02

LJMP A0

W02: SJMP W00J1: MOV A,VAL

CJNE A,#0BH,J3 ;判断是否为"ENTER"键

MOV R1,KEY_CNT

CJNE R1,#06H,J4MOV A,WORD_1 ;比较密码

CJNE A,3EH,J5

MOV A,WORD_2

CJNE A,3FH,J5MOV A,WORD_3

CJNE A,40H,J5

MOV A,WORD_4

JNE A,41H,J5

MOV A,WORD_5

CJNE A,42H,J5

MOV A,WORD_6

CJNE A,43H,J5

CLR P1.0

LCALL DLY_L

LJMP FINI

J5: LCALL ALARM_2

LJMP START

J4: LCALL ALARM_1

LJMP START

J3: INC KEY_CNT ;按下数字键

MOV A,KEY_CNT

CJNE A,#07H,K1

LCALL ALARM_1

W10: LCALL DISP ;等待按键抬起

MOV A,P3

CJNE A,#0FH,W11

LJMP START

W11: MOV A,P3

CJNE A,#0F0H,W12

LJMP START

W12: SJMP W10LJMP STARTLJMP START

K1: LCALL SHIFTL

W20: LCALL DISP ;等待按键抬起

MOV A,P3

CJNE A,#0FH,W21

LJMP A0

W21: MOV A,P3

CJNE A,#0F0H,W22

LJMP A0

W22: SJMP W20LJMP A0ALARM_1: SETB TR0 ;操作错误报警

JB TR0,$

RET

ALARM_2: SETB TR0 ;密码错误报警

JB TR0,$

LCALL DLY_L

RET

;**************************************************

;定时器中断服务程序,用于声音报警

INT_T0: CPL P1.7

MOV TH0,#100MOV TL0,#253

INC CNT_A

MOV R1,CNT_A

CJNE R1,#30,RETUNE

MOV CNT_A,#00H

INC CNT_B

MOV R1,CNT_B

CJNE R1,#20,RETUNE

MOV CNT_A,#00H

MOV CNT_B,#00H

CLR TR0

RETUNE: RETI

;**************************************************

;段码,输入密码左移子程序

SHIFTL: MOV LED_BIT_6,LED_BIT_5

MOV LED_BIT_5,LED_BIT_4

MOV LED_BIT_4,LED_BIT_3

MOV LED_BIT_2,LED_BIT_1

MOV LED_BIT_1,#40H

MOV KEY_6,KEY_5

MOV KEY_5,KEY_4

MOV KEY_4,KEY_3

MOV KEY_3,KEY_2

MOV KEY_2,KEY_1

MOV KEY_1,VAL

RET

;**************************************************

;段码,输入密码右移子程序

SHIFTR: MOV LED_BIT_1,LED_BIT_2

MOV LED_BIT_2,LED_BIT_3

MOV LED_BIT_3,LED_BIT_4

MOV LED_BIT_4,LED_BIT_5

MOV LED_BIT_5,LED_BIT_6

MOV LED_BIT_6,#00H

MOV KEY_1,KEY_2

MOV KEY_2,KEY_3

MOV KEY_3,KEY_4

MOV KEY_4,KEY_5

MOV KEY_5,KEY_6

MOV KEY_6,#00H

RET

;**************************************************

;以下为数码显示子程序

DISP: CLR P2.7

MOV P0,LED_BIT_8

LCALL DLY_S

SETB P2.7

CLR P2.6

MOV P0,LED_BIT_7

LCALL DLY_S

SETB P2.6

CLR P2.5

MOV P0,LED_BIT_6

LCALL DLY_S

SETB P2.5

CLR P2.4

MOV P0,LED_BIT_5

LCALL DLY_S

SETB P2.4

CLR P2.3

MOV P0,LED_BIT_4

LCALL DLY_S

SETB P2.3

CLR P2.2

MOV P0,LED_BIT_3

LCALL DLY_S

SETB P2.2

CLR P2.1

MOV P0,LED_BIT_2

SETB P2.1

CLR P2.0

MOV P0,LED_BIT_1

LCALL DLY_S

SETB P2.0

RET

;**********************************************

DLY_S: MOV R6,#10

D1: MOV R7,#250

DJNZ R7,$

DJNZ R6,D1

RET

DLY_L: MOV R5,#100

D2: MOV R6,#100

D3: MOV R7,#248

DJNZ R7,$

DJNZ R6,D3

DJNZ R5,D2

RET

FINI: NOP

END编辑完成后,点选File→Save按钮,如图4-12所示。在源程序编辑窗口,按动ALT-TAB键切换回ISIS编辑环境。3、在PROTEUSISIS中将源代码文件生成目标代码选择Source→BuildAll命令,如图4-13所示。图4-13选择Source→BuildAll命令执行这一命令后,ISIS将会运行相应的代码生成工具,对所有源文件进行编译、连接,生成目标代码,同时弹出BUILDLOG窗口,如图4-14所示。图4-14BUILDLOG窗口这一创建信息给出了关于源代码的编译信息。本例中的源代码没有语法错误,并且PROTEUSISIS将源代码生成了目标代码4.3系统调试4.3.1将目标代码添加到电路在PROTEUSISIS编辑环境中,用鼠标左键双击AT89C51,将弹出如图4-15所示的AT89C51元件属性编辑对话框。点击ProgramFile文本框中的打开按钮,弹出文件浏览窗口。选择“AT89C51.hex”文件后,点击“打开”按钮,此时就将目标代码添加到了电路中。点击“OK”按钮完成编辑。图4-15AT89C51元件属性编辑对话框4.3.2电路调试按动控制面板中的暂停按钮,开始调试程序。此时系统弹出源代码窗口,如图4-16所示图4-16源代码窗口调试程序,检查错误,直至程序无错误。按动控制面板中的开始按钮,运行程序,程序运行初始结果只显示PE,如图4-17所示:图4-17程序运行初始图输入最大6位的密码,,在输入密码过程中,数码管只显示“-”。程序运行结果如图4-18所示:图4-18程序运行结果图当密码输入完后,按下“ENTER”键,进行密码比较,当输入密码为123456时,则锁开,此处用LED发光二极管亮一秒钟作为提示;当密码不正确时,禁止按键3秒,同时发出“滴、滴”报警声。当密码输入错误时,可利用“CLR”键删除刚才输入的错误的数字。由于此次打印为黑白色,所以LED发光二极管亮与不亮不能分辨,所以就不展示灯亮后的图片。第5章调试过程与分析由于刚开始接触proteus,对proteus不了解,将编写好的源程序输入电脑,编译后出现了很多的错误,比如语法的错误,将SETB写成了SEBT,输入的错误将O写成0,或者将0写成了O,输入的分号格式不正确等等。不过通过逐渐对proteus的学习和了解,渐渐的把这些错误都一一改正了。在调试的过程中,最大的麻烦就是对proteus自带的编译程序不了解,所以在调试过程中,对语句MOVTH0,#(65536-700)/256MOVTL0,#(65536-700)MOD256的算法一直提示错误。我一开始怀疑是程序编译的错误,但查阅了好多的资料发现都是这种算法,这就让我百思不得其解。最后,我在proteus论坛上请教各位高手,终于知道,原来是自带的编译器不支持这种高级算法,这种算法却在µVision中可以实现。知道错误后,改正就是轻而易举的。程序调试好以后,就是运行,在运行过程才能发现原来各种元件布线的错误。在运行过程中,AT89C51针脚出现红色的是高电平,绿色的是低电平,灰色的代表不通电,就是通过这些发现了原来连线的错误,比如总线画的不对和针脚没有接通好,标签没有一一对应,也造成不通电的状况,从而造成数码管显示的不正确。好在错误到最后都一一的改正,顺利的实现了实验的要求。通过对proteus的运用和对源程序的调试,让我获得了很多新的知识,由先前的对proteus一无所知到现在的简单的运用,都是一点一滴学习的结果。在学习的过程中,也掌握了一些学习的方法,比如做一件事情之前,首先要多读点相关的书,有个大致的了解,再在实践中不断学习,遇到问题及时向别人学问,再者,对网络的应用,是以后学习的重要方法。结论通过本设计可以看出用单片机控制电子锁是十分可靠的,而且还有很大的发展空间。随着科学技术的发展,高度集成、体积更小、性价比更好的单片机会越来越广泛的应用到各个领域。单片机的应用的核心技术是单片机控制系统的设计,对工程技术人员来说,抓住系统的原理构成、软件设计、硬件设计以及系统调试方法的要点是十分必要的。PAGE谢辞单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。但当拿到题目时,确实不知道怎么着手,有些迷茫,上网查资料,问老师,在老师的帮助下,解决一个又一个的困难,终于完成任务。在这次课程设计中,运用到了很多以前的专业知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的一大收获。另外,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,不能灵活运用。在此也了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的铺垫!指导老师赵秀婷治学严谨,学识渊博,平易近人,论文期间指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。在论文准备的每个环节,也对我悉心指导和帮助,借此机会向导师表示衷心的感谢!本论文还有不足之处,有待今后进一步深入研究解决。参考文献[1]周润景,张丽娜,刘映群.PROTEUS入门使用教程.北京:机械工业出版社,2007[2]周润景,张丽娜,丁莉.基于PROTEUS的电路及单片机设计与仿真.北京:北京航空航天大学出版社,2009[3]林立,张俊亮,曹旭东,刘得军.单片机原理及应用.北京:电子工业出版社,2009[4]刘守义,杨宏丽,王静霞.单片机应用技术.西安:西安电子科技大学出版社,2002[5]蒋辉平,周国雄.基于PROTEUS的单片机系统设计与仿真实例.机械工业出版社,2009[6]杜志强,魏秉国.单片机原理及应用.郑州:郑州大学出版社,2008[7]曹建林,孙捷,孙雪颖,任磊,杜康平.电子密码锁设计.成都信息工程学院学报.2010,第25卷第二期:134-137[8]/view/2426703.htm,2010[9]/view/1270245.htm,2010[10]/view/959097.htm,2010[11]/view/1012.htm,2010[12]/view/40936.htm,2010[13]任艳艳.基于AT89C51单片机多功能密码锁的研究.重庆职业技术学院学报,2008[14]李智辉,李浩泷,白宇龙.基于51单片机电子密码锁的proteus仿真设计.电脑知识与技术.2009,第5卷第24期:73-79[15]刘卫国.程序设计教程.北京:北京邮电大学出版社,2007常州信息职业技术学院学生毕业设计(论文)报告系别:计算机(软件)学院专业:计算机网络应用班号:ATA网络学生姓名:学生学号:VPN技术在跨区域公司环境中的应用指导教师:设计地点:常州信息职业技术学院起迄日期:毕业设计(论文)任务书专业网络管理班级ATA网络姓名一、课题名称:VPN技术在跨区域公司环境中的应用二、主要技术指标:VPN技术在跨区域环境中的应用的技术指标通常有两种关键技术:(1)隧道技术:原是报文在A地进行封装,到达B地后把封装去掉还原成原始报文,这样就形成一条由A到B的通信隧道(隧道协议有L2TP、PPTP、IPSEC和SSLVPN)(2)加密技术:通过变换信息的表示形式来伪装需要保护的敏感信息,是非授权者不能了解被保护的信息。三、工作内容和要求:整个VPN通信过程可以分为四个通用步骤:(1)客户机向VPN服务器发出请求(2)VPN服务器响应请求并向客户机发出身份质询,客户机将加密的用户身份验证响应信息发送到VPN服务器(3)VPN服务器根据用户数据库检查该响应,如果账户有效,VPN服务器将检查该用户是否具有远程访问权限;如果该用户拥有远程访问的权限,VPN服务器接受此连接(4)最后VPN服务器将在身份验证过程中产生的客户机和服务器公有密钥将用来对数据进行加密,然后通过VPN隧道技术进行封装、加密、传输到目的内部网络通过搭建VPN服务器以及客户端实现VPN在跨区域环境中的应用。四、主要参考文献:楼桦《网络安全的实现和管理》高等教育出版社吴敏君《网络基础架构的实现和管理》高等教育出版社学生(签名)年月日指导教师(签名)年月日教研室主任(签名)年月日系主任(签名)年月日

毕业设计(论文)开题报告设计(论文)题目VPN技术在跨区域公司环境中的应用选题的背景和意义:VPN虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。通过将数据流转移到低成本的压网络上,一个企业的虚拟专用网解决方案将大幅度地减少用户花费在城域网和远程网络连接上的费用。同时,这将简化网络的设计和管理,加速连接新的用户和网站。另外,虚拟专用网还可以保护现有的网络投资。随着用户的商业服务不断发展,企业的虚拟专用网解决方案可以使用户将精力集中到自己的生意上,而不是网络上。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。课题研究的主要内容:1、VPN的工作原理以及应用环境2、VPN技术应用种类繁多,根据不同的应用挑选合适的方法实现跨区域的连接3、VPN的加密解密技术4、VPN的身份验证和安全策略4、VPN在跨区域环境中实现的主要功能和技术指标,VPN跨区域环境设计原则和实现方案,模拟VPN跨网技术在企业中的最后实现以及实现的结果。主要研究(设计)方法论述:在掌握VPN在跨区域环境实现主要功能及相关知识的前提下,按照VPN在跨网区域中的设计的原则,根据企业的规模进行方案设计,能够熟练的掌握VPN在跨网环境中实现的主要步骤以及实现的目标。例如:在两个办事处的网关设备之间通过安全VPN隧道路由使得站点通过LAN共享信息,站点到站点VPN通过VPN隧道在两个网络之间建立一对一的端点关联,其中一个单独的VPN隧道保护多台主机和文件服务器之间的通信;一个或者多个客户端可以访问VPN服务器发起安全VPN连接,从一个不安全的远程位置并发的对内部数据进行安全访问,客户端从服务器那里获得一个IP地址,这样客户端看起来就好像是服务器所在LAN的成员四、设计(论文)进度安排:时间(迄止日期)工作内容准备工作阶段确定论文的大致方向查阅资料完成初步设计,对遇到的问题,请教老师完成完整方案设计撰写毕业设计(初稿-电子稿)撰写毕业技术(终稿-打印稿)

五、指导教师意见:指导教师签名:年月日六、系部意见:系主任签名:年月日目录前言 1摘要 2第一章VPN概述 31.1什么是VPN(虚拟专用网) 31.2VPN的功能 3HYPERLINK\l"_T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论