电气自动化毕业设计-Plc实现十字路口交通信号灯自动控制.doc_第1页
电气自动化毕业设计-Plc实现十字路口交通信号灯自动控制.doc_第2页
电气自动化毕业设计-Plc实现十字路口交通信号灯自动控制.doc_第3页
电气自动化毕业设计-Plc实现十字路口交通信号灯自动控制.doc_第4页
电气自动化毕业设计-Plc实现十字路口交通信号灯自动控制.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

彭如 机电工程学院 电气自动化 2011030400105 饶佛宝plc实现十字路口交通信号灯自动控制摘 要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替了传统的机械式密码锁,电子密码锁具有安全性高、成本低、功耗低、易操作等优点。本文从经济实用的角度出发,采用美国atmel公司的单片机at89s51作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、lcd液晶显示、报警、开锁等,用c语言编写的主控芯片控制程序与eeprom at24c02读写程序相结合,并用keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。这种密码锁的电路设计具有防试探按键输入、智能控制上锁、开锁、报警、修改密码等多种功能。密码长度可变、保密性强、灵活性高、应用日益广泛。关键词:密码锁,单片机,报警,lcd显示28目 录摘 要iabstractii1 绪论11.1 电子密码锁简介11.2 电子密码锁的发展趋势11.3 本设计所要实现的目标21.4 设计方案简介22 主要元器件32.1 主控芯片at89s5132.2 存储芯片at24c0262.3 lcd16022显示器72.4 晶体振荡器83 硬件系统设计103.1 设计原理103.2 电路总体构成103.3 电源输入电路113.4 键盘输入电路123.5 密码存储电路123.6 复位电路133.7 晶振电路143.8 显示电路143.9 报警电路153.10 开锁电路155.3 proteus仿真22结论24致谢25参考文献26附录a:总程序27附录b:总电路图401 绪论1.1 电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下: 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人元的更替而使锁的密级下降。 误码输入保护,当输入密码多次错误时,报警系统自动启动。 无活动零件,不会磨损,寿命长。 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 电子密码锁操作简单易行,一学即会。1.2 电子密码锁的发展趋势日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于eda来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以看出组合使用电子信息是电子密码锁以后发展的趋势。1.3 本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以有用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入就的密码,在输入新密码的时候要二次确认,以防止误操作。1.4 设计方案简介采用以单片机为核心的控制方案,由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、i/o口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机at89s51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的i/o端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接at24c02芯片用于密码的存储,外接lcd1602显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。2 主要元器件2.1 主控芯片at89s51单片机at89s51功能介绍:at89s51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89s51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,at89s51芯片引脚图如图2.1所示: 图2.1 at89s51芯片引脚主要特性:1)s-51兼容 2)字节可编程闪烁存储器 3)寿命:1000写/擦循环4)数据保留时间:10年5)全静态工作:0hz-24hz6)三级程序存储器锁定7)128*8位内部ram8)32可编程i/o线9)两个16位定时器/计数器10)5个中断源 11)可编程串行通道12)低功耗的闲置和掉电模式13)片内振荡器和时钟电路 管脚说明:下面按其引脚功能分为四部分叙述这40条引脚的功能。 1)电源引脚vss和vss : vss(40脚)接+5v电压;vss(20脚)接地。 2)晶体引脚xtal1和xtal2 xtal1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对hmos单片机,此引脚应接地;对shmos单片机,此引脚作为驱动端。 xtal2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对hmos单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对xhmos,此引脚应悬浮。 3)控制或与其它电源复用引脚rst/vpd、ale/prog、psen和ea/vpp rst/vpd(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与vss引脚之间连接一个约8.2k的下拉电阻,与vss引脚之间连接一个约10f的电容,以保证可靠地复位。 vss掉电期间,此引脚可接上备用电源,以保证内部ram的数据不丢失。当vss主电源下掉到低于规定的电平,而vpd在其规定的电压范围(50.5v)内,vpd就向内部ram提供备用电源。 ale/prog(30脚):当访问外部存贮器时,ale(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ale端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ale脉冲。ale端可以驱动(吸收或输出电流)8个ls型的ttl输入电路。 对于eprom单片机(如8751),在eprom编程期间,此引脚用于输入编程脉冲(prog)。 psen(29脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次psen有效。但在此期间,每当访问外部数据存储器时,这两次有效的psen信号将不出现。psen同样可以驱动(吸收或输出)8个ls型的ttl输入。 ea/vpp(引脚):当ea端保持高电平时,访问内部程序存储器,但在ps(程序计数器)值超过0fffh(对851/8751/80s51)或1fffh(对8052)时,将自动转向执行外部程序存储器内的程序。当ea保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的8031来说,无内部程序存储器,所以ea脚须常接地,这样才能只选择外部程序存储器。 对于eprom型的单片机(如8751),在eprom编程期间,此引脚也用于施加21v的编程电源(vpp)。4)控制或与其它电源复用引脚 rst/vpd,ale/prog,psen 和ea/vpp。rst/vpd 当振荡器运行时。在此引脚上出现两个机器同期的高电平(由低到高跳变),将使单片机复位。在 vss掉电期间,此引脚可接上备用电源,由 vpd向内部 ram提供备用电源,以保持内部ram中的数据。ale/prog 正常操作时为ale功能(允许地址钱存),提供把地址的低字节锁存到外部锁存器。ale引脚以不变的频率(振荡周期的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个 ale脉冲。 ale端可以驱动(吸收或输出电流)八个 lsttl电路。对于 eprom型单片机,在 eprom编程期间,此引脚接收编程脉冲(prog功能)。psen 外部程序存储器读选通信号输出端。在从外部程序存储器取指令(或数据)期间;psen 在每个机器周期内两次有效。 psen 同样可以驱动八个lsttl输入。eavpp ea为内部程序存储器和外部程序存储器选择端。当ea为高电平时,访问内部程序存储器(ps值小于4k)。当ea为低电平时,则访问外部程序存储器。对于eprom型单片机,在eprom编程期间,此引脚上加21veprom编程电源(vpp)。5)输入/输出(i/o)引脚p0、p1、p2、p3(共32根) p0口(39脚至32脚):是双向8位三态i/o口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个ls型的ttl负载。 p1口(1脚至8脚):是准双向8位i/o口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向i/o口。p1口能驱动(吸收或输出电流)4个ls型的ttl负载。对8052、8032,p1.0引脚的第二功能为t2定时/计数器的外部输入,p1.1引脚的第二功能为t2ex捕捉、重装触发,即t2外部控制端。对eprom编程和程序验证时,它接收低8位地址。 p2口(21脚至28脚):是准双向8位i/o口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对eprom编程和程序验证期间,它接收高8位地址。p2可以驱动(吸收或输出电流)4个ls型的ttl负载。 p3口(10脚至17脚):是准双向8位i/o口,在mss-51中,这8个引脚还用于专门功能,是复用双功能口。p3能驱动(吸收或输出电流)4个ls型的ttl负载。 作为第一功能使用时,就作为普通i/o口用,功能和操作方法与p1口相同。作为第二功能使用时,各引脚的定义如表所示。 值得强调的是,p3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。表2.1 p3口管脚备选功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2/int0(外部中断0)p3.3/int1(外部中断1)p3.4t0(记时器0外部输入)p3.5t1(记时器1外部输入)p3.6/wr(外部数据存储器写选通)p3.7/rd(外部数据存储器读选通)2.2 存储芯片at24c02如图2.2为at24c02的芯片引脚图。图2.2 at24c02的芯片引脚图芯片特点:低压和标准电压运行模式 2.7 (vcc = 2.7v to 5.5v) 1.8 (vcc = 1.8v to 5.5v)at24c02提供电可擦除的串行1024位存储或可编程只读存储器(eeprom)128字(8位/字)。芯片在低压的工业与商业应用中进行了最优化。设备操作:clock 和data变化:sda管脚通常外部要拉高。sda管脚上的数据只能在scl低期间改变。数据在scl高期间改变定义为一个开始或停止信号。开始状态:在任何操作之前必须有一个开始信号-在scl为高时sda上产生一个下降沿。停止状态: scl为高时sda产生一个上升沿是停止信号,停止信号后将停止所有通信。在一个读的序列之后,停止信号将让eeprom进入备用电源模式。2.3 lcd1602显示器液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。1602型lcd显示模块具有体积小,功耗低,显示内容丰富等特点。1602型lcd可以显示2行16个字符,有8位数据总线d0-d7和rs,r/w,en三个控制端口,工作电压为5v,并且具有字符对比度调节和背光功能。接口信号说明:1602型lcd的接口信号说明如表2.2所示:表2.2 lcd1602接口信号说明编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极1602型lcd主要技术参数:显示容量:162个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm1602型lcd基本操作程序如下表所示:表2.3 lcd1602基本操作程序读状态输入rs=l,r/w=h,e=h输出d0d7=状态字写指令输入rs=l,r/w=l,d0d7=指令码,e=高脉冲输出无读数据输入rs=h,r/w=h,e=h输出d0d7=数据写数据输入rs=h,r/w=l,d0d7=数据,e=高脉冲输出无2.4 晶体振荡器晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以声卡为例,要实现对模拟信号44.1khz或48khz的采样,频率发生器就必须提供一个44.1khz或48khz的时钟频率。如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。但是现在的娱乐级声卡为了降低成本,通常都采用scr将输出的采样频率固定在48khz,但是src会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。 石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代lc谐振回路的晶体谐振元件。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。为数据处理设备产生时钟信号和为特定系统提供基准信号。在单片机中为其提供时钟频率。石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。3 硬件系统设计3.1 设计原理本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、lcd显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、eeprom读写程序和延时程序等组成。at89s51键盘输入复位电路存储电路晶振电路电源输入显示电路报警电路开锁电路 图3.1 电子密码锁原理框图3.2 电路总体构成在确定了选用什么型号的单片机后,就要确定在外围电路,其外围电路包括电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择4*4矩阵键盘,显示部分选择字符型液晶显示lcd1602,密码存储部分选用at24c02芯片来完成。其原理图如图3.2所示: 图3.2 电路总体结构图3.3 电源输入电路密码锁主要控制部分电源需要用5v直流电源供电,其电路如图3.3所示,而5v电源输入时往往伴有杂波,所以加一个2.2uf的电容滤波。这样输出的电压一般能满足要求。图3.3 电源输入电路原理图3.4 键盘输入电路由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多i/o口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按键功能在程序设计中设置 。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3.4所示:图3.4 键盘输入原理图3.5 密码存储电路at24c02是atmel公司的2kb字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5v,额定电流为1ma,静态电流10ua(5.5v),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的dip封装,使用方便。其电路如图3.5所示:图3.5 密码存储电路图图中1、2、3脚是三条地址线,用于确定芯片的硬件地址,在at89s51上它们都能接地,第5脚和第8脚分别为正、负电源。at24c02中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个储存单元的读写,所有字节均以单一操作方式读取。3.6 复位电路单片机复位是使cpu和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后pc0000h,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即rst为高电平期间),p0口为高组态,p1p3口输出高电平;外部程序存储器读选通信号psen无效。地址锁存信号ale也为高电平。根据实际情况选择如图3.6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容c1上的电压很小,复位下拉电阻上的电压接近电源电压,即rst为高电平,在电容充电的过程中rst端电压逐渐下降,当rst端的电压小于某一数值后,cpu脱离复位状态,由于电容c1足够大,可以保证rst高电平有效时间大于24个振荡周期,cpu能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容c1通过r5放电。当电容c1放电结束后,rst端的电位由r11与r15分压比决定。由于r113?报警程序修改程序ynny图4.1主程序流程图4.2 按键软件设计如图4.2按键功能流程图,在按键当中,有与输入、开锁、清除、设置、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。 开始键值输入?键值开锁?键值清除?键值设置?键值=确认?密码输入程序设置程序清除程序开锁程序确认程序yyyyynnnn返回n 图4.2 按键功能流程图4.3 密码设置软件设计如图4.3为密码设置流程图,开始按下设置键,输入旧密码,如果错误累计三次,进行报警程序。如果输入正确,可以修改密码,确认后再次输入新密码,如果两次输入一样,则输入成功。如果两次输入的新密码不一样,则修改密码失败,重新返回设置新密码。输入旧密码n按下设置键开始所输入旧密码正确?输入次数加1报警程序n返回次数3?输新密码y再次输新密码码码y设置成功ny两次新密码输入相同? 图4.3 密码设置流程图4.4 开锁软件设计如图4.4开锁流程图,开始时按开锁键,输入密码,如果输入正确,则开锁成功。如果输入错误累计达到三次,则执行报警程序。初始化按开锁键输入密码按确认键所输入密码正确?y开锁开始输入次数加1次数3?报警程序返回nyn图4.4 开锁流程图5 调试与实现5.1 硬件调试单片机应用系统的硬件调试和软件调试是分不开的许多硬件故障只有通过软、硬件联调才能发现,但一般是先排除系统中比较明显的硬件故障后才和软件一起联调。常见的硬件故障: 逻辑错误 硬件的逻辑错误是由于设计错误和焊接过程中的工艺错误而造成的,包括错线、开路、短路等,其中最常见的是短路故障。 元器件错误 元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或集成块装反等。 电源故障 电源故障包括:电压值不符合设计要求、电源功率不足、负载能力差、纹波太重等。 硬件调试办法: 脱机调试是在加电前,先用万用表等工具,按图纸仔细核对线路是否正确,并对元器件的安装、型号、规格等进行仔细检查,特别焊接时有无走线之间相互短路等。 5.2 软件调试程序在keil c51上调试,采用模块程序设计技术,则逐个模块调好后再进行系统程序总调。 对于模块结构程序要一个个子程序分别调试。调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的cpu现场情况、ram的内容和io口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现系统中存在的硬件设计错误和软件算法错误。 各程序模块通过后,则可以把相关功能块连在一起进行总调。这个阶段若有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,若用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。 单步和断点调试后,还应进行连续调试,用以确定定时精度、cpu的实时响应等问题。 当全部调试和修改完成后,将程序固化到at89s51中。进行整机调试。各功能实现则调试完成。5.3 proteus仿真在硬件和软件都能实现的条件下,利用proteus进行仿真,通过不停的调试与改正,最后终于实现了密码锁的功能,仿真结果如图4.1,4.2,4.3所示。当连好各个模块电路的导线后,导入芯片程序,运行该密码锁仿真电路,通过按键可以进行密码锁的开锁,修改密码,错误密码3次以上报警的操作,lcd显示屏显示相应的操作现象,密码正确可以开锁,进而可以修改密码,密码错误三次以上由喇叭发出报警声,如果系统出现错误还可以通过复位电路进行复位。总之,在原有的理论基础上,通过proteus能够成功的进行密码锁基本操作的仿真,实现了相关的功能。图4.1 仿真结果(开锁成功)图4.2 仿真结果(密码错误)图4.3 仿真结果(修改密码)结论以上为毕业期间所作的毕业论文-基于proteus的电子密码锁设计,它经过多次修改和整理,可以满足设计的基本要求。输入密码时,如三次输入错误,则进行报警,在输入时,lcd显示为“*”,同时还能修改密码。另外该设计还具有防盗功能,如对密码控制系统进行破坏,有报警功能。通过对该课题的研究,加深对所学知识的理解,提高对课外知识的学习能力,增强知识的应用能力,提高解决实际问题的能力,培养自我创新意识。积累实践经验,为以后的发展打下基础,也为以后我们自己在这方面的发展打下基础,并能够在这方面培养自己的兴趣。在设计中我们必须首先熟悉和掌握单片机的结构及工作原理,单片机的接口技术及相关外围芯片的外特性,控制方法。以单片机核心的电路设计的基本方法和技术了解开关电路参数的计算方法。单片机不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。随着单片机的广泛应用,将大大促进各领域的技术更新,向自动化、小型化、智能化方向迈进。而对于我们来说,我们这代人的目标和任务是把这些高科技产品更升一个层次。通过这次毕业设计,无论从选题到定稿,从理论到实践都使我学到了很多东西,它不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 致谢四年的大学生活不知不觉就要结束了,在这段难忘的生活中,有许多美好的回忆,在毕业论文设计之中,我的老师和我的同学都细心的指导我,我需要感谢的人太多太多,首先要感谢我的学校,感谢在这四年中让我领悟到诚实做人,踏实做事,扎实做学问的深刻道理,让我从一个懵懂得高中生变成一个成熟的大学生,其次我要感谢的是我的导师陈英。虽然陈老师平日里工作繁多,但在我做毕业设计的每个阶段,她都给予我悉心的指导和帮助,关心我们每个阶段所做的工作,当然,还要感谢寝室的兄弟们在我完成论文的过程中给予我的帮助和鼓励,也是他们陪我度过了这四年的生活,感谢能有这段美好的记忆。现在即将挥别我的学校、老师、同学,还有我四年的大学生活,虽然依依不舍,但是对未来的路,我充满了信心。最后,感谢在大学期间认识我和我认识的所有人,有你们的陪伴,才有我大学生活的绚丽多彩。参考文献1康华光,陈大钦.电子技术基础模拟部分m.北京:高等教育出版社,2005.2彭容修.数字电子技术基础.武汉:武汉理工大学出版社,20073谭浩强.c程序设计m.北京:清华大学出版社,20054姜志海,黄玉清,刘连鑫 .单片机原理及应用.北京:电子工业出版社, 20095李明喜.新型电子密码锁的设计j.机电产品开发与创新,2005;6董继成.一种新型安全的单片机密码锁j.电子技术,2004;7祖龙起,刘仁杰,孙乃凌.一种新颖的电子密码锁j.电子世界,2001;8李明喜.新型电子密码锁的设计j.机电产品开发与创新,2004;9徐爱钧, 彭秀华. 单片机高级语言c51应用程序设计m.北京航空航天大学出版社,200610曾一江. 单片微机原理与接口技术m. 北京:科技出版社,2009,1211康华光. 电子技术基础(模拟部分)m. 北京:高等教育出版社, 2004,12nishino s f,paoli g c,spain j c. aerobic degradation of dinitroto-luenes and pathway for bacterial degradation of 2,6-dinitrotoluene volume 66,2006.13kennes c,w m wu,l bhatnagar et al. anaerobic dechlorination and mineralization of pcp and 2,4,6-trichlorophenol by the methanogenic pcp-degrading granules volume 44,2004.14philips. product specification. coms single-chip 8-bit microcontroller.附录a:总程序#include #include #include #define uchar unsigned char #define uint unsigned int #define lcdio p0 #define delay4us() _nop_();_nop_();_nop_();_nop_(); uchar buffer6=0; sbit sda=p34; sbit scl=p33; sbit beep=p17; bit aa; /用户蹲渊义定时溢出标志位 uchar dsy_buffer16= ; uchar dsy_buffer116= ; uchar userpassword6=0; uchar userpassword16=0; /*对比用密码寄存*uchar userpassword26=0;sbit rs=p16; sbit rd=p15; sbit lcden=p14; sbit led=p11; sbit ledred=p12;sbit clk=p10;uchar code table2=123456; uchar code table=your password.; uint flag=0;void delayms(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void delay() /短延时,两个机器周期,做总线的延时用 ;void write_com(uchar com) rs=0; rd=0; lcden=0; p0=com; delayms(3); lcden=1; delayms(3); lcden=0; void write_date(uchar date) rs=1; rd=0; lcden=0; p0=date; delayms(3); lcden=1; delayms(3); lcden=0; void display_string(uchar *p,uchar com) uchar i; write_com(com); for(i=0;i16;i+) write_date(pi); void init_lcd() lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); display_string(table,0x80); display_s

温馨提示

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

评论

0/150

提交评论