毕业设计PLC控制交通灯.docx
《毕业设计PLC控制交通灯.docx》由会员分享,可在线阅读,更多相关《毕业设计PLC控制交通灯.docx(38页珍藏版)》请在咨信网上搜索。
傅孽多能保德绪功九年於孝火承 毕业论文(设计)如导师: 机电工程学/*. 电气自动化*川,05… 学号: 饶佛宝姓名: PLC控制交通灯教务处制 停止状态:SCL为高时SDA产生一个上升沿是停止信号,停止信号后将停止 所有通信。在一个读的序列之后,停止信号将让EEPROM进入备用电源模式。 2.3 LCD1602 显示器 液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子 表与很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。1602 型LCD显示模块具有体积小,功耗低,显示容丰富等特点。1602型LCD可以显示 2行16个字符,有8位数据总线DO-D7和RS,R/W,EN三个控制端口,工作电压为 5V,并且具有字符比照度调节和背光功能。 接口信号说明: 1602型LCD的接口信号说明如表2. 2所示: 1602型LCD主要技术参数: 显示容量:16X2个字符 芯片工作电压:4.5—5. 5V 工作电流:2.0mA(5. 0V) 模块最正确工作电压:5. 0V 字符尺寸:2. 95X4. 35(WXH)mm 1602型LCD基本操作程序如下表所示: 表2. 3 LCD1602基本操作程序 RS=L, R/W=H, E=H 读状态 输出 DO—D7二状态 表2.2 LCD1602接口信号说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 1)1 数据 16 BLK 背光源负极 字 写指令 输入 RS=L, R/W=L, DO—D7=指令码,E= 高脉冲 输出 无 读数据 输入 RS=H, R/W=H, E=H 输出 DO—D7二数据 写数据 输入 RS、H, R/W=L, DO—D7=数据,E二高脉 冲 输出 无 2.4 晶体振荡器 晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频 率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以声卡为例,要实 现对模拟信号44. 1kHz或48kHz的采样,频率发生器就必须提供一个44. 1kHz或 48kHz的时钟频率。如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。 但是现在的娱乐级声卡为了降低本钱,通常都采用SCR将输出的采样频率固定在 48kHz,但是SRC会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这 个问题。 石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶 体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振 元件。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、 电子钟表、单片机、数字仪器仪表等电子设备中。为数据处理设备产生时钟信号 和为特定系统提供基准信号。在单片机中为其提供时钟频率。 石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一 种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简 称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为 电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶 体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用 玻璃壳、瓷或塑料封装的。只要在晶体振子板极上施加交变电压,就会使晶片产 生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的 固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。 3硬件系统设计 3.1设计原理 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等局部组成。其中 矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩 阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行比照, 从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控 制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电 磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。 本系统共有两局部构成,即硬件局部与软件局部。其中硬件局部由电源输入 局部、键盘输入局部、密码存储局部、复位局部、晶振局部、显示局部、报警部 分、开锁局部组成,软件局部对应的由主程序、初始化程序、LCD显示程序、键盘 扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序 和延时程序等组成。 图3.1电子密码锁原理框图 1.1 2电路总体构成 在确定了选用什么型号的单片机后,就要确定在外围电路,其外围电路包括 电源输入局部、键盘输入局部、密码存储局部、复位局部、晶振局部、显示局部、报警局部、开锁局部组成,根据实际情况键盘输入局部选择4*4矩阵键盘,显示 局部选择字符型液晶显示LCD1602,密码存储局部选用AT24co2芯片来完成。其原 理图如图3. 2所示: AT89S51 % 图3.2电路总体结构图 3电源输入电路 密码锁主要控制局部电源需要用5V直流电源供电,其电路如图3. 3所示,而 5V电源输入时往往伴有杂波,所以加一个2.2uF的电容滤波。这样输出的电压一 般能满足要求。 图3.3电源输入电路原理图 1.4 键盘输入电路 由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩 阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点 上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O 口。 本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按键功能在程序设计中设置。其大体功能(看键 盘按键上的标记)与与单片机引脚接法如图3.4所示: 密码存储电路 AT24co2是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线 和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V), 芯片的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用 方便。其电路如图3. 5所示: 图3.5密码存储电路图 图中1、2、3脚是三条地址线,用于确定芯片的硬件地址,在AT89s51上它 们都能接地,第5脚和第8脚分别为正、负电源。AT24co2中带有片地址寄存器, 每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个储存单元 的读写,所有字节均以单一操作方式读取°复位电路 单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始工作,例如复位后PC=OOOOH,使单片机从第一个单元取指令。 无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复 位期间(即RST为高电平期间),P0 口为高组态,P1—P3 口输出高电平;外部程 序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选 择如图3. 6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键, 在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压, 即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小 于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有 效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了防止死 机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放电结束 后,RST端的电位由R11与R15分压比决定。由于R11〈〈R15因此RST为高电平, CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU脱离复位状态。 R11的作用在于限制按键按下瞬间电容C1的放电电流,防止产生火花,以保护按 键触电。 7晶振电路 AT89C51引脚XTAL1和XTAL2与晶体振荡器与电容C2、C1按图3. 7所示方式 连接。晶振、电容C2/C3与片与非门(作为反应、放大元件)构成了电容三点式 振荡器,振荡信号频率与晶振频率与电容Cl、C2的容量有关,但主要由晶振频率 决定,围在0〜33MHz之间,电容C2、C3取值围在5〜30pF之间°根据实际情况,本设计中采用12MHz做系统的外部晶振。电容取值为33pF。 .CRYSTAL图3.7晶振电路原理图 3. 8显示电路 为了提高密码锁的密码显示效果能力。本设计的显示局部由液晶显示器 LCD1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于 开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否那么显示器将一直 处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘 上的数字键0—9输入密码,每按下一个数字键后在显示器上显示一个*,输入多 少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, LCD上显示“OPENOK”,单片机其中P2.0引角会输出低电平,使三极管T2导通, 电磁铁吸合,电子密码锁被翻开,如果密码不正确,LCD显示屏会显示“ERROR”, P2.0输出的是高电平,电子密码锁不能被翻开。通过LCD显示屏,可以清楚的判 断出密码锁所处的状态。其显示局部引脚接口如图3.8所示: LCD1602s 0山 > (Z> Q LUco > OlCNCO q 1091> > >CK CE LU QQQQQQQQ 图3.8显示电路原理图 3.9报警电路 报警局部由瓷压电发声装置与外围电路组成,加电后不发声,当有键按下时, “叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错 误时,单片机的P2. 1引脚为低电平,三极管T3导喇叭发出噪鸣声报警。如图3.9 所示: Q2 BUZ1工 BUZZER图3. 9报警电路原理图 3. 10开锁电路 通过单片机开锁执行机构,电路驱动电磁锁吸合,从而到达开锁的目的。其 原理如图3. 10所示: 图3. 10密码锁开锁机构示意图 当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然 后驱动电磁锁,到达开门的目的。其实际电路如图3. 11所示。 电路由驱动和开锁两级组成。由DI、R12、Q1组成驱动电路,其中Q1可以选 择普通的小功率三极管如8050、9018都可以满足要求。D1是开锁指示灯;由D2、 C5组成开锁。其中1)2、C5是为了消除电磁锁可能产生的反向高电压以与可能产生 的电磁干扰。电磁锁的选用要视情况而定,但是吸合力要足够且有一定的余量。 在设计中,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示 没有开锁。 j । 2 3 图3. 11开锁电路原理图 批注[gi]:三号,黑体 摘要 在日常的生活和工作中,住宅与部门的平安防、单位的文件档案、财务报表 以与一些个人资料的保存多以加锁的方法来解决。假设使用传统的机械式钥匙开锁, 人们常需携带多把钥匙,使用极不方便,且钥匙丧失后平安性即大打折扣。在安 全技术防领域,具有防盗报警功能的电子密码锁逐渐代替了传统的机械式密码锁, 电子密码锁具有平安性高、本钱低、功耗低、易操作等优点。 批注[g2]:正文宋体小四 本文从经济实用的角度出发,采用美国Atmel公司的单片机AT89s51作为主 控芯片与数据存储器单元,结合外围的矩阵键盘输入、LCD液晶显示、报警、开锁 等,用C语言编写的主控芯片控制程序与EEPROM AT24co2读写程序相结合,并用 Keil软件进行编译,设计了一款可以屡次更改密码,具有报警功能的电子密码控 制系统。 这种密码锁的电路设计具有防试探按键输入、智能控制上锁、开锁、报警、 修改密码等多种功能。密码长度可变、性强、灵活性高、应用日益广泛。 批注匡3]:黑体小四 关键词:密码锁,单片机,报警,LCD显示4软件程序设计 本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功 能程序、密码设置程序、EEPROM读写程序和延时程序等组成。 4.1 主程序流程图 如图4.1为主程序流程图,开始接上电源,程序进行初始化设置,然后在键 盘上输入密码,此系统进行键盘扫描,密码正确,开锁成功,密码错误3次出错 报警,选择是否修改密码,假设要修改密码,先输入旧密码,密码正确后设置新密 码,错误时报警,需要两次确认新密码,确认后,密码修改成功,否那么结束最终 返回。然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如果 和之前一样,那么执行一样程序,如不是,那么执行另一种程序。 图4. 1主程序流程图 4.2 按键软件设计 如图4.2按键功能流程图,在按键当中,有与输入、开锁、清除、设置、确 认的程序相对应的按键,并按顺序与输入的数相比拟,当输入正确时,进入密码 程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确 认程序。 图4.2按键功能流程图 4.3 密码设置软件设计 如图4.3为密码设置流程图,开始按下设置键,输入旧密码,如果错误累计 三次,进行报警程序。如果输入正确,可以修改密码,确认后再次输入新密码, 如果两次输入一样,那么输入成功。如果两次输入的新密码不一样,那么修改密码失 败,重新返回设置新密码。 按下设置 输入旧密码 图4. 3密码设置流程图开锁软件设计 如图4.4开锁流程图,开始时按开锁键,输入密码,如果输入正确,那么开锁 成功。如果输入错误累计到达三次,那么执行报警程序。 图4. 4开锁流程图5调试与实现 5. 1硬件调试 单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过 软、硬件联调才能发现,但一般是先排除系统中比拟明显的硬件故障后才和软件一 起联调。 常见的硬件故障:①逻辑错误硬件的逻辑错误是由于设计错误和焊接过程中的工艺错误而造成的,包括错线、开 路、短路等,其中最常见的是短路故障。 ②元器件错误元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或 集成块装反等。 ③电源故障 电源故障包括:电压值不符合设计要求、电源功率缺乏、负载能力差、纹波 太重等。 硬件调试方法:脱机调试是在加电前,先用万用表等工具,按图纸仔细核对线路是 否正确,并对元器件的安装、型号、规格等进行仔细检查,特别焊接时有无走线之 间相互短路等。 5.2软件调试 程序在KEIL C51上调试,采用模块程序设计技术,那么逐个模块调好后再进行 系统程序总调。 对于模块结构程序.要一个个子程序分别调试。调试时,一定要符合入口条件和出 口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、 RAM的容和I/O □的状态,检测程序执行结果是否符合设计要求,有无循环错误、 有无机器码错误以与转移地址的错误,同时,还可以发现系统中存在的硬件设计错 误和软件算法错误。 各程序模块通过后,那么可以把相关功能块连在一起进行总调。这个阶段假设有故障, 可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突, 标志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等, 假设用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。 单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问 题。当全部调试和修改完成后,将程序固化到AT89s51中。进行整机调试。各功 能实现那么调试完成。 5. 3 Proteus 仿真 在硬件和软件都能实现的条件下,利用Proteus进行仿真,通过不停的调试 与改正,最后终于实现了密码锁的功能,仿真结果如图4.1, 4. 2, 4. 3所示。 当连好各个模块电路的导线后,导入芯片程序,运行该密码锁仿真电路,通 过按键可以进行密码锁的开锁,修改密码,错误密码3次以上报警的操作,LCD显 示屏显示相应的操作现象,密码正确可以开锁,进而可以修改密码,密码错误三 次以上由喇叭发出报警声,如果系统出现错误还可以通过复位电路进行复位。 总之,在原有的理论基础上,通过Proteus能够成功的进行密码锁基本操作 的仿真,实现了相关的功能。 r flaa 32.-fl poEepoE 鼻 E密康 fsds 6 ・ 1 1 9 B上候 产 . , ・ P2T ' r ,- I p? FZ2 F3 图4.1仿真结果(开锁成功) s^s n・\:3”。 cd图4.2仿真结果(密码错误) AT80S51E7 龄图4. 3仿真结果(修改密码) 结论 以上为毕业期间所作的毕业论文--基于PROTEUS的电子密码锁设计,它经过 屡次修改和整理,可以满足设计的基本要求。输入密码时,如三次输入错误,那么 进行报警,在输入时,LCD显示为,同时还能修改密码。另外该设计还具有 防盗功能,如对密码控制系统进行破坏,有报警功能。 通过对该课题的研究,加深对所学知识的理解,提高对课外知识的学习能力, 增强知识的应用能力,提高解决实际问题的能力,培养自我创新意识。积累实践 经验,为以后的开展打下基础,也为以后我们自己在这方面的开展打下基础,并 能够在这方面培养自己的兴趣。 在设计中我们必须首先熟悉和掌握单片机的结构与工作原理,单片机的接口 技术与相关外围芯片的外特性,控制方法。以单片机核心的电路设计的基本方法 和技术了解开关电路参数的计算方法。单片机不是完成某一个逻辑功能的芯片,而 是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。 它的体积小、质量轻、价格廉价、为学习、应用和开发提供了便利条件。同时, 学习使用单片机了解计算机原理与结构的最正确选择。目前单片机渗透到我们生活 的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导航装置,飞机上各种 仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据 处理,广泛使用的各种智能IC卡,民用豪华轿车的平安保障系统,录像机、摄像 机、全自动洗衣机的控制,以与程控玩具、电子宠物等等,这些都离不开单片机。 更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、 开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。随着单片机 的广泛应用,将大大促进各领域的技术更新,向自动化、小型化、智能化方向迈 进。而对于我们来说,我们这代人的目标和任务是把这些高科技产品更升一个层 次。 通过这次毕业设计,无论从选题到定稿,从理论到实践都使我学到了很多东 西,它不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到 过的知识。同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够 的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为 社会服务,从而提高自己的实际动手能力和独立思考的能力。 批注[g8]:黑体三号 致 四年的大学生活不知不觉就要结束了,在这段难忘的生活中,有许多美好的 回忆,在毕业论文设计之中,我的老师和我的同学都细心的指导我,我需要感的 人太多太多,首先要感我的学校,感在这四年中让我领悟到老实做人,踏实做事, 扎实做学问的深刻道理,让我从一个懵懂得高中生变成一个成熟的大学生,其次 我要感的是我的导师英。虽然老师平日里工作繁多,但在我做毕业设计的每个阶 段,她都给予我悉心的指导和帮助,关心我们每个阶段所做的工作,当然,还要 感寝室的兄弟们在我完成论文的过程中给予我的帮助和鼓励,也是他们陪我度过 了这四年的生活,感能有这段美好的记忆。 批注但9]:宋体 小四 I现在即将挥别我的学校、老师、同学,还有我四年的大学生活,虽然依依不 舍,但是对未来的路,我充满了信心。最后,感在大学期间认识我和我认识的所 有人,有你们的陪伴,才有我大学生活的绚丽多彩。 批注[gio]:黑体三号 参考文献I [1]康华光,大钦.电子技术基础模拟局部[M].:高等教育,2005. 批注[gll]:宋体小四 段间距20磅 [2]容修,数字电子技术基础.:理工大学,2007 [3]谭浩强.C程序设计[M].:清华大学,2005 [4]志海,黄玉清,连鑫.单片机原理与应用.:电子工业,2009 [5]明喜.新型电子密码锁的设计[J].机电产品开发与创新,2005; [6]董继成.一种新型平安的单片码锁[J].电子技术,2004; [7]祖龙起,仁杰,乃凌.一种新颖的电子密码锁[J].电子世界,2001; [8]明喜.新型电子密码锁的设计[J].机电产品开发与创新,2004;[9]徐爱钧,秀华.单片机高级语言C51应用程序设计[M],航空航天大学, 2006. [10]曾一江.单片微机原理与接口技术[M].:科技,2009, 12. [11]康华光.电子技术基础(模拟局部)M.:高等教育,2004,[12]Nishino S F,Paoli G C,Spain J C. Aerobic degradation of dinitroto-luenesand pathway for bacterial degradation of 2,6-dinitrotoluene Volume 66,2006. [13]Kennes 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. [14]Philips. Product Specification. COMS single-chip 8-bitmicrocontroller. 批注[g4]:黑体三号 目录正文宋体小四 段间距固定值20磅 目录 摘要I Abstract错误!未定义书签。 1绪论1 1.1 1电子密码锁简介1 1.2 电子密码锁的开展趋势1 1.3 本设计所要实现的目标2 1.4 设计方案简介2 2主要元器件3 1.2 1主控芯片AT89s513 2.2 存储芯片AT24co26 2.3 LCD16022 显示器 7 2.4 晶体振荡器8 3硬件系统设计10 3. 1设计原理10 1.3 2电路总体构成10 1.4 电源输入电路11 1.5 键盘输入电路11 1.6 密码存储电路12 1.7 复位电路13 1.8 晶振电路13 1.9 8显示电路14 1.10 报警电路15 1.11 10开锁电路15 5. 3 Proteus 仿真 22 结论24 致25 参考文献26 附录A:总程序27 附录B:总电路图40附录A:总程序 #include<reg51. h> #include<string.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int #defineLCD10P0 批注[g12]:黑体三号 批注[gl3]:字体 times new roman 小四 间距固定值20磅 #define delay4us () _nop_() ; _nop_ () ; _nop_ () ; _nop_(); uchar buffer[6]={0}; sbit sda=P3 4; sbit scl=P3 3; sbit beep二P「7; bit aa;〃用户蹲渊义定时溢出标志位 uchar DSY BUFFER[16]=M”; uchar DSY BUFFER1[16]="”; uchar Userpassword[6]={0}; uchar Userpasswordl[6]={0}; ////****************对 比用 密码寄存**************** uchar Userpassword2[6]={0}; sbit rs=P「6; sbit rd=Pl 5; sbit lcden=PP4; sbit led=Pl 1; sbit ledred=Pl 2; sbit clk=Pl 0; uchar code table2[] = n123456"; uchar code table口=“Your Password. . . n; uint flag=0; void delayms (uint z) { uint x,y;for (x=z;x>0;x--) for(y=110;y>0;y ); void delay() 〃短延时,两个机器周期,做总线的延时用 {;;} void write^ (uchar ) { rs=0; rd=0; lcden=0; PO 二; delayms (3); lcden=l; delayms (3); lcden=0; ) void write_date (uchar date) (rs=l; rd=0;lcden=0; PO=date; delayms(3); lcden=l; delayms(3); lcden=0; ) void Display_String(uchar *p,uchar ) { uchar i;write_(); for(i=0;i<16;i++) { write_date(p[i]); ) ) void init_lcd() { lcden=0; write_(0x38);write (OxOc); write_(0x06);write_(0x01); write (0x80);Display String (table,0x80); ,OxcO); Display String(nLock OK! ) void start () {sda=l; scl=l;delay4us (); sda=0;delay4us (); scl=0; ) void stop() {sda=0; scl=l;delay4us (); sda二1;delay4us (); scl=0; ) void init () 〃初始化 (sda=l; delay ();scl=l ; delay (); void ack()sda二0; scl=l;delay4us (); scl=0; sda=l; ) void noack () {sda=l; scl=l;delay4us (); scl=0;sda=0; } uchar recbyte () (uchar i,rd; rd=0x00;sda=l; for(i=0;i<8;i++)( scl=l;rd«=l; rd|二sda; delay4us (); scl=0; delay4us (); )scl=0; delay4us ();return rd; ) uchar sendbyte (uchar wd) {uchar i; bit ackO;for(i=O;i<8;i++) (sda=(bit)(wd&0x80); _nop_();_nop_(); scl=l;delay4us (); scl=0; wd«=l;) delay4us ();sda=l; scl=l;delay4us (); ackO=!sda;scl=0; delay4us (); return ackO; ) uchar Recstring(uchar slave,uchar subaddr,uchar *buffer,uchar n) (uchar i; start ();if (!sendbyte(slave)) return 0; if (!sendbyte(subaddr)) return 0;start (); if (!sendbyte(slave+1)) return 0; for (i=0;i<n-l;i++) (buffer [i]=recbyte (); ack(); )buffer[n-l]=recbyte(); noack ();stopO ; return 1; uchar Sendstring(uchar slave,uchar subaddr,uchar *buffer,uchar n)uchar i; start ();if (!sendbyte(slave)) return 0; if (!sendbyte(subaddr)) return 0;for(i=0;i<n;i++) (if (!sendbyte(buffer[i])) return 0; stopO ; return 1; bit compare_string(uchar *stringl,uchar *string2) {uchar counter; for(counter=0;counter<6;counter++) if(stringl[counter]!=string2[counter]) return(0); ) return(1); } void clear_password () ( uchar i;for (i=0;i<6;i++) (Userpassword[i]=,'; )for (i=0;i<16;i++) (DSY_BUFFER[i]=, ) ) uchar Keys_Scan() ( uchar temp,keynum; P2=0x0F; delayms(5); temp=P2^0x0F; switch (temp)( case 1:keynum=0;break; case 2:keynum=l;break; case 4:keynum=2;break; case 8:keynum=3;break; break;) P2=0xF0; delayms(5); temp=P2»4 OxOF;switch(temp) case 1:keynum+=0;break;case 2:keynum+=4;break; case 4:keynum+=8;break;case 8:keynum+=12;break; break;) delayms(600);return keynum; ) void main () { uint count=0;uchar temp,m=0,i=0,j=0,k=0; //******************* uchar IS_valid_user=0;bit a=l;///////// int b=0;flag=0; beep二1;init (); init_lcd(); delayms(5);delayms(5); aa二Recstring(OxaO,1,buffer,6);delayms(10); P2=0x0f;clk=l;//shangsuo; PNP低电平开锁,高电平上锁; ledred=0; //red;while(l) (if(P2!=0x0f) {temp=Keys_Scan(); beep=0; delayms (100) ;beep=l;〃按键音switch (temp) (case 4: case 4: case 0: case 1: case 2: case 3 case 5: case 6: case 7: case 8: case 9: Userpassword[m]=temp; m++; Userpassword[i]=temp; if(i<=5) {DSY_BUFFER[i] ='*'; Display String(DSY BUFFER,OxcO); i++; )break; case 10: 〃按A键开锁 flag=0; for(k=0;k<m;k++) { if (buffer[k]==(Userpassword[k]+48)) flag++; else flag=0; )if (flag==6) ( flag=0; i=0; m=0; edred=l;//miehongdeng clk=0;//kaisuoled=0; //点亮 LED Display_String(nOPEN OK! n,OxcO); IS_valid_user = 1; J=0; } else{flag=0; j++; ledred=0;//red; clk=l;//shangsuoled= 1; 〃关闭 LED clear_password (); D i sp1ay_Str i ng (M ERROR! I lave tryn,OxcO); write_(Oxcf); write date(0x30+j); IS valid user=0; ) /////////// i=0; m=0; break;case 11: 〃按B键上锁 led=l; flag=0; ledred=0;//red clk=l;//clear_password (); Display String(table,0x80);Display_String(MLock OK!n,OxcO); i=0;m=0; IS valid user=0; break; case 12: 〃按C键设置新密码 如果是合法用户那么提示输入新密 码 if ( !IS_valid_user) {i=0; Display_String(HNo rights !0,OxcO); delayms(1000); Display_String(nYour Password... M,0x80); Display_String(MLock OK!n,OxcO);) else i=0; clear_password () ; ni=0;批注[g5]:黑体三号 批注[g5]:黑体三号 1绪论 批注[g6]:黑体小三号 1.1 电子密码锁简介I 批注国7]:正文宋体小四 I电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开 关的闭合,完成开I锁一闭锁任务的电子产品。它的种类很多,有简易的电路产品, 也有基于芯片的性价比拟高的产品。现在应用较广的电子密码锁是以芯片为核心, 通过编程来实现的。其性能和平安性已大大超过了机械锁。其特点如下: ①性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 ②密码可变,用户可以随时更改密码,防止密码被盗,同时也可以防止因人 元的更替而使锁的密级下降。③误码输入保护,当输入密码屡次错误时,报 警系统自动启动。 ④无活动零件,不会磨损,寿命长。 ⑤ 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 (6)电子密码锁操作简单易行,一学即会。 1.2 电子密码锁的开展趋势 日常生活和工作中,住宅与部门的平安防、单位的文件档案、财务报表以与- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 PLC 控制 交通灯
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文