PLC仿真程序使用介绍 附密码

PLC仿真程序使用介绍 附密码
PLC仿真程序使用介绍 附密码

附录3

PLC仿真程序使用介绍

本附录中介绍的是juan luis villanueva设计的英文版S7-200 PLC 仿真软件(V2.0),原版为西班牙语。关于本软件的详细介绍,可以参考https://www.360docs.net/doc/0615203674.html,/canalPLC。

该仿真软件可以仿真大量的S7-200指令(支持常用的位触点指令、定时器指令、计数器指令、比较指令、逻辑运算指令和大部分的数学运算指令等,但部分指令如顺序控制指令、循环指令、高速计数器指令和通讯指令等尚无法支持,仿真软件支持的仿真指令可参考https://www.360docs.net/doc/0615203674.html,/canalPLC/interest.htm)。仿真程序提供了数字信号输入开关、两个模拟电位器和LED输出显示,仿真程序同时还支持对TD-200文本显示器的仿真,在实验条件尚不具备的情况下,完全可以作为学习S7-200的一个辅助工具。

仿真软件界面介绍:

CPU状态显示

输入位状态显示输出位

状态显示CPU类型

选择

模块扩展区

信号输入开关

模拟电位器

TD200仿真界面

附图1 仿真软件界面

仿真软件的界面如附图1所示,和所有基于Windows的软件一样,仿真软件最上方是菜单,仿真软件的所有功能都有对应的菜单命令;在工件栏中列出了部分常用的命令(如PLC 程序加载,启动程序,停止程序、AWL、KOP、DB1和状态观察窗口等)。

附 录3 ·· 269

常用菜单命令介绍

● Program|Load Program :加载仿真程序。(仿真程序梯形图必须为awl 文件,数据块

必须为dbl 或txt 文件)

● Program|Paste Program (OB1):粘贴梯形图程序

● Program|Paste Program (DB1):粘贴数据块

● View|Program AWL :查看仿真程序(语句表形式)

● View|Program KOP :查看仿真程序(梯形图形式)

● View|Data (DB1):查看数据块

● View|State Table :启用状态观察窗口

● View|TD200:启用TD200仿真

● Configuration|CPU Type :设置CPU 类型

● 输入位状态显示:对应的输入端子为1时,相应的LED 变为绿色

● 输出位状态显示:对应的输出端子为1时,相应的LED 变为绿色

● CPU 类型选择:点击该区域可以选择仿真所用的CPU 类型

● 模块扩展区:在空白区域点击,可以加载数字和模拟I/O 模块

● 信号输入开关:用于提供仿真需要的外部数字量输入信号

● 模拟电位器:用于提供0~255连续变化的数字信号

● TD200仿真界面:仿真TD200文本显示器(该版本TD200只具有文本显示功能,不

支持数据编辑功能)

准备工作

仿真软件不提供源程序的编辑功能,因此必须和STEP7 Micro/Win 程序编辑软件配合使用,即在STEP7 Micro/Win 中编辑好源程序后,然后加载到仿真程序中执行。

(1)在STEP7 Micro/Win 中编辑好梯形图

(2)利用File|Export 命令将梯形图程序导出为扩展名为awl 的文件,

(3)如果程序中需要数据块,需要将数据块导出为txt 文件。

程序仿真

(1)启动仿真程序。

(2)利用Configuration|CPU Type 选择合适的CPU 类型,如附图2所示。(仿真软件不同类型的CPU 支持的指令略有不同,某些214不支持的仿真指令226可能支持)

附 录3

·· 270

附图2 CPU 类型的选择

(3)模块扩展(不需要模块扩展的程序该步骤可以省略)

在模块扩展区的空白处点击,弹出模块组态窗口,如附图3所示。在窗口中列出了可以在仿真软件中扩展的模块。选择需要扩展的模块类型后,点击Accept 按钮即可。

不同类型CPU 可扩展的模块数量是不同的,每一处空白只能添加一种模块。

附图3 模块组态窗口

扩展模块后的仿真软件界面如附图4所示。

附 录3 ·· 271

附图4 扩展模块后的仿真界面

(4)程序加载

选择仿真程序的Program|Load Program 命令,打开加载梯形图程序窗口如附图5所示,仅选择Logic Block (梯形图程序)和Data Block (数据块)。

点击Accept 按钮,从文件列表框分别选择awl 文件和文本文件(数据块默认的文件格式为dbl 文件,可在文件类型选择框中选择txt 文件),如附图6所示。

附图5 程序加载窗口

附 录3

·· 272 附图6(a ) 梯形图文件选择

附图6(b ) 数据块文件选择

加载成功后,在仿真软件中的AWL 、KOP 和DB1观察窗口中就可以分别观察到加载的语句表程序、梯形图程序和数据块。

附图7 仿真软件的AWL 、DB1和KOP 观察窗口

(5)点击工具栏按钮,启动仿真。

(6)仿真启动后,利用工具栏中的

按钮,启动状态观察窗口。

附 录3 ·· 273

附图8 状态观察窗口

在Address 对应的对话框中,可以添加需要观察的编程元件的地址,在Format 对应的对话框中选择数据显示模式。点击窗口中的Start 按钮后,在Value 对应的对话框中可以观察按照指定格式显示的指定编程元件当前数值。

在程序执行过程中,如果编程元件的数据发生变化,Value 中的数值将随之改变。利用状态观察窗口可以非常方便的监控程序的执行情况。

仿真软件应用实例介绍

要求:设计一PLC 程序,读出模拟电位器0的当前值,并在TD200文本显示器中显示出来。

梯形图文件

Network 1 // TD200 Demo

LD SM0.1

MOVB 16#80, VB14 //首次扫描,使能第一条显示信息

MOVB 0, MB0 //清除功能键位

Network 2

LD M0.0 //F1键已经按下

MOVB 16#40, VB14 //显示第二条消息

R M0.0, 1 //复位F1键M 位

Network 3

LD V14.6 //第二条信息已经显示

MOVB SMB28, AC1 //读模拟电位器0

附 录3

·· 274 MOVW AC1, VW108 //在TD200显示模拟电位器0的值

数据块文件

DATA BLOCK

VB0 'TD' //

VB2 16#10 //显示语言为英语,更新速度为尽可能快 VB3 16#B1 //显示模式为40个字符;

VB4 2 //消息条数为2

VB5 16#00 //功能键标志位为 M0.0 - M0.7

VW6 40 //消息起始地址设置为 VB40

VW8 14 //消息使能位的起始地址设置为 VB14 VW10 65535 //全局密码(如果应用密码)

VW12 2 //字符集设置为 Latin 1 (Bold)

//消息 1 消息使能位为 V14.7

VB40 'Welcome Message Press F1 Continue ' //消息1内容

//消息2 消息使能位为V14.6

VB80 'The Slider Number Is' // 消息2内容

VB106 16#0 //不允许编辑;无应答;无密码;

VB107 16#30 //无符号整数;无小数位;

VW108 16#00 //数据嵌入地址及嵌入的的数据

VB110 ' ' //

//END TD200_BLOCK ------------------------------

//DATA PAGE COMMENTS

程序说明:

(1)点击工具栏中的按钮,就可以调出人机接口TD200的仿真界面,如附图9所示。

附图9 TD200仿真界面

(1)程序运行后,在TD200上首先显示欢迎信息“Welcome Message Press F1 Continue ”,

附 录3 ·· 275

如附图10所示。

附图10 程序运行截图1

(2)按下F1键后,显示信息“The Slider Number Is 0”

(3)移动模拟电位器0的滑动块,可以观察到TD200上显示的数值随滑动块的移动而变化,且和仿真软件界面上显示的数值一致,如附图11所示。

附图11 程序运行截图2

基于某STC89C52单片机地电子密码锁(完整版)附仿真图原理图

目录 1绪论 (1) 1.1本设计的研究背景与研究目的 (1) 1.2国内外研究现状 (2) 2电子密码锁的总体设计方案 (3) 2.1方案论证 (3) 2.1.1方案一采用单片机控制方案 (3) 2.1.2方案二采用数字电路控制方案 (4) 2.1.3方案三采用EDA控制方案 (5) 2.2方案比较以及可行性 (5) 3电子密码锁硬件电路的设计 (6) 3.1中央控制模块的设计 (6) 3.1.1主控芯片STC89C52单片机的简介 (6) 3.1.2时钟电路的设计 (7) 3.1.3复位电路的设计 (8) 3.2键盘输入模块的设计 (9) 3.2.1矩阵键盘工作原理 (9) 3.2.2单片机键盘扫描法 (10) 3.3LCD显示密码模块的设计 (10) 3.3.1LCD1602简介 (11) 3.3.2LCD1602液晶显示模块与单片机连接电路 (12) 3.4开锁模块的设计 (13) 3.5报警模块的设计 (13) 3.6硬件电路总体设计 (14) 4电子密码锁的软件设计 (15) 4.1主程序流程介绍 (15) 4.2键盘模块流程图 (16) 4.3显示模块流程图 (18) 4.4修改密码流程图 (19) 4.5开锁和报警模块流程图 (20) 5电子密码锁的系统调试及分析 (22)

5.1硬件电路调试及结果分析 (22) 5.2软件调试及功能分析 (22) 5.2.1调试过程 (22) 5.2.2仿真结果分析 (23) 5.3系统调试 (25) 6结论及展望 (28) 6.1结论 (28) 6.2展望 (28) 谢辞 (29) 参考文献 (30) 附录 (32) 附1部分代码 (32) 附2总电路图 (40)

电子密码锁报告

基于单片机控制的电子密码锁 设计者:张雪贵 指导老师:李峥 淮北煤炭师范学院物理与电子信息学院 06电子信息工程 2009年6月

基于单片机的电子密码锁 一设计任务 设计一个利用AT89S52单片机控制的电子密码锁,该电子密码功能包括16个密码输入,密码输入过程中清除输入,密码正确和错误分别用蜂鸣器提示,输入错误密码超次锁定,密码修改,12864LCD 显示菜单实现多功能等等。 二总体方案设计与实现 电子密码锁系统核心用AT89S52单片机控制,密码输入按键为4*4矩阵键盘16个按键实现密码输入,外加独立按键实现清除,确定和液晶反白控制。密码存储电路利用AT24C02芯片,该芯片可以实现掉电存储,而且数据可保留时间长,与单片机连接简单。报警电路利用三极管驱动小型蜂鸣器实现,通过给蜂鸣器送不同频率的电平信号实现不同声音报警。LCD用12864字符型液晶实现,通过单行反白实现菜单,加强液晶显示内容及添加系统功能。 另外,电磁锁电路暂时利用发光二极管代替,用发光二极管的亮灭和蜂鸣器的响声来指示电磁锁的开关。 图1 系统原理框图 图2系统总体原理电路图 三硬件电路的功能单元设计 (一)单片机最小系统

其原理图如图1所示 图3 单片机最小系统模块 单片机采用AT89S52单片机, AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,与工业80C51产品指令各引脚完全兼容。单片机最小系统主要有两块组成,其一为晶振起振电路,其二为复位电路。在此,我们采用按键手动复位,相对来讲,这种复位方式更加方便人性化,不必要切断电源即可对系统进行复位。 (二)开锁电路 通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图2 所示。 图4 开锁电路原理 当用户输入的密码正确单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。在此为节省成本考虑,我们用二极管代替电磁锁,将一切在LCD上面显示,并且利用蜂鸣器和二极

51单片机密码锁制作的程序和流程图

51单片码锁制作的程序和流程图(很详细) 一、基本组成: 单片机小系统+4*4矩阵键盘+1602显示+DC电机 基本电路: 键盘和和显示 键盘接P1口,液晶的电源的开、关通过P2.7口控制 电机(控制口P2.4) 二、基本功能描述: 1.验证密码、修改密码 a)锁的初始密码是123456(密码最长为10位,最短为1位)。 2.恢复初始密码 a)系统可以恢复初始密码,否则一旦忘记密码而又不能恢复初始密码,该锁就永远打不开。但是又不能让用户自行修改密码,否则其他人也可以恢复该初始密码,使得锁的安全性大大下降。

3.使系统进入低功耗状态 a)在实际使用中,锁只有在开门时才被使用。因而在大多数的时间里,应该让锁进入休眠状态、以降低功耗,这使系统进入掉电状态,可以大大降低系统功耗。 b)同时将LCD背光灯关闭 4.DC电机模拟开锁动作。 a)DC电机启动时解除开锁把手的锁定,允许通过把手开锁。DC电机不直接开锁,使得DC电机的功率不用太大,系统的组成和维护将变得简单,功耗也降了下来。 三、密码锁特点说明: 1.0 输入将被以字符形式输入,最长为10位。 超过10位时系统将自动截取前10位、但不作密码长度溢出提示。 2.0 开锁10秒后不允许更改密码、并提示修改超时_进入初始态,需要重新输入密码方可再次修改密码。 3.0 系统未使用存储器存储密码故掉电后密码自动恢复为初始密码。 4.0 若2分钟无任何操作,系统自动进入省电模式运行,同时关闭液晶显示,以节省电力。 5.0 输入密码正确后、电机允许开锁时间为5秒, 5秒后需要再次输入密码才可以再次开锁。 6.0 修改密码键和恢复初始密码键最好置于室。 这是Proteus仿真结果: 输入密码123456: 显示结果: 密码正确时电机启动、电机将持续5秒:

51单片机电子密码锁设计(包含原理图,电路设计,c语言程序)

电子密码锁设计 1.实验任务 根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码不正确,就锁定按键3秒钟,同时发现报警声,直到没有按键按下3种后,才打开按键锁定功能;否则在3秒钟内仍有按键按下,就重新锁定按键3秒时间并报警。 2.电路原理图 图4.32.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P0.0/AD0用导线连接到“音频放大模块”区域中的SPK IN端子上; (2).把“音频放大模块”区域中的SPK OUT端子接喇叭和; (3).把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“四路静态数码显示”区域中的任一个ABCDEFGH端子上; (4).把“单片机系统“区域中的P1.0用导线连接到“八路发光二极管模块”区域中的L1端子上;

(5).把“单片机系统”区域中的P3.6/WR、P3.7/RD用导线连接到“独立式键盘” 区域中的SP1和SP2端子上; 4.程序设计内容 (1).密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。 (2).密码的输入问题: 由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按 键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入 密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后, 才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过 程。 (3).按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的 情况下发生的。 5.C语言源程序 #include unsigned char code ps[]={1,2,3,4,5}; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; unsigned char pslen=9; unsigned char templen; unsigned char digit; unsigned char funcount; unsigned char digitcount; unsigned char psbuf[9]; bit cmpflag; bit hibitflag; bit errorflag; bit rightflag; unsigned int second3; unsigned int aa; unsigned int bb; bit alarmflag; bit exchangeflag; unsigned int cc; unsigned int dd; bit okflag; unsigned char oka; unsigned char okb; void main(void) {

VHDL密码锁设计

VHDL语言及应用课程设计论文 ----VHDL平台下 密码锁的设计 学院:电子信息学院 专业: 学号: 姓名: 指导老师: 团队成员: 完成日期: 目录

一. 引言-----------------------------------------------------------1 二. 实验目的-------------------------------------------------------1三. 实验任务与要求-------------------------------------------------1 四. 设计原理及工作流程---------------------------------------------2 密码锁设计原理--------------------------------------------------2 密码锁系统框图--------------------------------------------------2 密码锁设计提示--------------------------------------------------2 五. 密码锁的顶层设计源程序-----------------------------------------3 六. 密码锁各功能模块源程序及其仿真分析-----------------------------5 密码设定锁存器源程序及其仿真分析--------------------------------5 密码输入锁存器源程序及其仿真分析--------------------------------6 开锁控制系统源程序及其仿真分析----------------------------------8 比较器源程序及其仿真分析----------------------------------------9 LED显示源程序及其仿真分析--------------------------------------11 顶层源文件的仿真分析-------------------------------------------12 七. 密码锁设计源程序的下载调试------------------------------------13 电路结构-------------------------------------------------------13 管脚分配-------------------------------------------------------14 程序下载调试过程-----------------------------------------------14 八. 实验分析与总结------------------------------------------------15 九. 组内分工------------------------------------------------------16 十. 参考文献------------------------------------------------------16

电子密码锁源程序(带功能简介)

/****************************************************************************** ** 功能键 S6---S15 数字键0-9 S16---更改密码S17---更改密码完毕后确认 S18---重试密码、重新设定S19---关闭密码锁 初始密码:000000 密码位数:6位 注意:掉电后,所设密码会丢失,重新上点时,密码恢复为原始的000000 与P1相连的8位发光LED点亮代表锁被打开;熄灭代表锁被锁上 程序功能: 1、开锁: 下载程序后,直接按六次S7(即代表数字1),8位LED亮,锁被打开,输入密码时, 六位数码管依次显示小横杠。 2、更改密码: 只有当开锁(LED亮)后,该功能方可使用。 首先按下更改密码键S16,然后设置相应密码,此时六位数码管会显示设置密码对应 的数字。最后设置完六位后,按下S17确认密码更改,此后新密码即生效。 3、重试密码: 当输入密码时,密码输错后按下键S18,可重新输入六位密码。 当设置密码时,设置中途想更改密码,也可按下此键重新设置。 4、关闭密码锁: 按下S19即可将打开的密码锁关闭。 推荐初级演示步骤:输入原始密码000000---按下更改密码按键S16---按0到9设置密码---按S17 确认密码更改---按S18关闭密码锁---输入新的密码打开密码锁 ******************************************************************************* / #include #define uchar unsigned char #define uint unsigned int uchar old1,old2,old3,old4,old5,old6; //原始密码000000 uchar new1,new2,new3,new4,new5,new6; //每次MCU采集到的密码输入 uchar a=16,b=16,c=16,d=16,e=16,f=16; //送入数码管显示的变量 uchar wei,key,temp; bit allow,genggai,ok,wanbi,retry,close; //各个状态位 sbit dula=P2^6; sbit wela=P2^7;

51单片机密码锁制作的程序和流程图

51单片机密码锁制作的程序和流程图(很详细) 一、基本组成: 单片机小系统+4*4矩阵键盘+1602显示+DC电机 基本电路: 键盘和和显示 键盘接P1口,液晶的电源的开、关通过P2.7口控制 电机(控制口P2.4) 二、基本功能描述: 1.验证密码、修改密码 a)锁的初始密码是123456(密码最长为10位,最短为1位)。 2.恢复初始密码 a)系统可以恢复初始密码,否则一旦忘记密码而又不能恢复初始密码,该锁就永远打不开。但是又不能让用户自行修改密码,否则其他人也可以恢复该初始密码,使得锁的安全性大大下降。

3.使系统进入低功耗状态 a)在实际使用中,锁只有在开门时才被使用。因而在大多数的时间里,应该让锁进入休眠状态、以降低功耗,这使系统进入掉电状态,可以大大降低系统功耗。 b)同时将LCD背光灯关闭 4.DC电机模拟开锁动作。 a)DC电机启动时解除开锁把手的锁定,允许通过把手开锁。DC电机不直接开锁,使得DC电机的功率不用太大,系统的组成和维护将变得简单,功耗也降了下来。 三、密码锁特点说明: 1.0 输入将被以字符形式输入,最长为10位。 超过10位时系统将自动截取前10位、但不作密码长度溢出提示。 2.0 开锁10秒后不允许更改密码、并提示修改超时_进入初始态,需要重新输入密码方可再次修改密码。 3.0 系统未使用存储器存储密码故掉电后密码自动恢复为初始密码。 4.0 若2分钟内无任何操作,系统自动进入省电模式运行,同时关闭液晶显示,以节省电力。 5.0 输入密码正确后、电机允许开锁时间为5秒, 5秒后需要再次输入密码才可以再次开锁。 6.0 修改密码键和恢复初始密码键最好置于室内。 这是Proteus仿真结果: 输入密码123456: 显示结果: 密码正确时电机启动、电机将持续5秒:

电子密码锁设计图与电子锁工作原理

电子密码锁设计图与电子锁工作原理原文地址:https://www.360docs.net/doc/0615203674.html,/tech/Knowledge/2011-11-23/157.html 电子密码锁采用十进制计数/脉冲分配器集成电路CD4017和少量外围元器件组成,它具有可编密码数高、性能可靠等特点,可用于门锁、保险柜或机动车点火系统的控制。 一、电路工作原理: 该电子密码锁电路由输入控制电路、复位电路、计数/分配器电路和控制执行电路组成,如图所示。 输入控制电路由密码按钮S1、S2、S5、S8、S9和二极管VD3-VDl4、电阻器 R1等组成。 计数/分配器电路由IC和晶体管Vl、电阻器R2、R3、二极管VDl组成。 复位电路由电容器Cl、C2、二极管VD2、VDl5、电阻器R4、R5和按钮S3、S4、S6、S7组成。 控制执行电路曲晶体管V2、V3、发光二极管VL、电阻器R6、R7、继电器 (或电控锁)K和二极管VDl6组成。 接通电源后,+l2V电压经Cl为IC的R端 (15脚)提供一个复位高电平,使IC复位,其YO端 (3脚)输出高电平,其余各输出端均为低电平。

按动一下Sl时,YO端的高电平经VD9、Sl和R2加至Vl的基极,使Vl饱和导通;松开别后,Vl截止,在IC的CP端产生一个触发脉冲,IC开始计数,其 Yl端 (2脚)输出高电平,而YO端和其余各输出端均为低电平。 再按动S2一下,IC第Yl端的高电平又使Vl再次导通,松开S2后Vl截止,IC计人第2个脉冲,其Y2端 (4脚)输出高电平,Yl端和其余各输出端均为低电平。 按动一下S8时,+l2V电压经R3、VDl、Rl和S8到地形成闭合回路,松开S 后也会在IC的CP端产生触发脉冲,使IC计人第3个脉冲,其Y3端 (7脚)输出高电平。 按动一下S5时,Y3端的高电平经VD11、S5、R2使Vl导通,松开S5时Vl截止,IC计人第4个脉冲,Y4端 (10脚)输出高电平。 再按动一下S8,lC的Y5端 (l脚)又变为高电平;按动一下S2,使IC的Y6 端变为高电平;按动一下S9,使lC的Y7端变为高电平;按动一下S8,使IC的 Y8端变为高电平;按动一下S5,使IC的Yg端输出高电平,此时VL点亮,V2和V3导通,继电器 (或电控锁)K动作,将锁打开。 同时,Y9端的高电平还经VDl5和R5向C2充电,当C2充满屯 (几秒钟后) 时VD2导通,IC因l5脚加人高电平脉冲而清零复位,YO端输出高电乎,V2和V3截止,K释放,VL熄灭。 该电路的开锁密码为128582985。根据需要改变各按钮的接线位置,即可更改密码。 若不知道密码,而误按动了按钮S3、S4、S6和S7,则IC强制复位,YO端输出高电平,无法开锁。 元器件选择 Rl-R7选用1/4W碳膜电阻器或金属膜电阻器。 Cl选用独石电容器或涤纶电容器;C2和C3均选用耐压值为16V的铝电解电容器。 VDl-VDl5均选用lN4148型硅开关二极管;VDl6选用1N4007型硅整流二极管。 Vl和V2选用S9013或3DG9013型硅NPN晶体管;V3选用C8050或S8050等型号的硅NPN晶体管。 IC选用CD4017或CC4017型十进制计数/分配器集成电路。 S1-S9均选用动合 (常开)型微动按钮。

密码锁课程设计

课程设计报告 课程设计题目:4位串行数字密码锁 学号 学生姓名:谢渊良 专业:通信工程 班级:1421302 指导教师:钟凯 2017年1月5日 1.摘要 随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。本设计基于Verilog HDL 语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为键盘模块、连接模块、控制模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字:密码锁 Verilog HDL 2.设计内容 设计一个4位数字密码锁子系统 1)1.2设计要求开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。否则进入“错误”状态,发出报警信号。 2)锁内的密码可调。 3)串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又自动等待下一个开锁状态。 3.系统设计 本设计中,FPGA系统采用硬件描述语言Verilog按模块化方式进行设计,并用modersim软件对各个模块进行编写仿真。 3.1键盘模块 键盘电路理想接口图: Set

本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag产生一个矩形波,作为连接模块的触发信号。同时key_value值为所按下键的编码值,与flag一同传入连接模块。 实际设计接口图: 当输出kevalue:11值的时候,flag再次出现上跳沿。实际上,上面的图写的测试文件是有一点错误的,当a扫描到第三个值(01)时,b在实际电路中应该是01而不是11,此时根据程序flag应置为1,当然此时flag本来就是1,不会发生错误。在实际中,时钟频率跳的如此之快,人按一下按键的持续时间还是有的,所以flag应在按键按完后再下降下来。不然多出很多无用的矩形波,这个装置就没用了。 3.2连接模块 连接模块接口图: keyvalue 送入连接模块进行运算,当连续四个0和1键按下时,中,如果按下的是set键,则set置1,如果按下的是0键,则a_led置1,若是1键,则b_led 置1。 这里有一个需要注意的点是,当第一次按了0键后马上按reset键,再按一下1键时,a的值是1,而不是0。每次按了reset或set,a,b,c,d都是要重新赋值的,这才符合实际情况。 3.3控制模块: 因为这个密码锁是循环使用的,就一定有不同的状态。这里采用有限状态机的方法进行设计。所以把开锁过程分为三个部分: 1.等待输入状态; 2.重设密码状态; 3.输出结果状态; 状态转换图如下所示: 控制模块接口图: flag2 ena

基于Verilog HDL密码锁设计

基于Verilog HDL密码锁设计 摘要 随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。 本设计基于Verilog HDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为蜂鸣器模块、显示模块、控制模块、顶层模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字 密码锁 Verilog HDL Quartus II

总体设计 密码锁分为四个模块:①顶层模块、②显示模块、③蜂鸣器模块、④控制模块。其中由顶层模块调其他分模块来实现密码锁功能。 密码锁功能: 1.由12个拨码开关设置三位密码(0-9) 2.再输入密码开锁,密码正确,指示灯亮开锁成功。 3.密码输入错误,蜂鸣器响五秒,表示开锁失败。 设计思路: 本设计以007为万能密码在忘记密码时开锁使用。开始时密码锁处于关闭的状态,输入万能密码将锁打开。在锁处于打开的状态时设计密码,此时指示灯处于亮的状态,说明锁处于开的状态。设置好密码后按关闭拨码使锁关闭,指示灯处于灭的状态。再输入三位数字进行开琐,如果输入的密码正确则指示灯亮,表示开琐成功,否则蜂鸣器发出响声,并持续五秒钟,表示开锁失败。 总体框图 图1.0 总体框图 调用部分 顶层模块 报警部分 蜂鸣器 密码设置 12个拨码开关 显示部分 七段数码管

电子密码锁设计

《嵌入式系统》课程设计报告 题目 院系:机电学院 学生姓名:任 专业: 班级: 1 1 1 指导教师: 完成时间:2014-10-17

目录 1 系统总体方案设计 0 2 硬件电路设计 (2) 2.1 键盘电路设计 (2) 2.2 LCD1206显示电路 (3) 2.3 响应电路 (5) 3 软件设计 (6) 3.1软件设计思路 (5) 3.2 子程序 (6) 4 系统调试 (9) 5 心得体会 (10) 6 参考文献 (11) 附录 (12) (1)源程序 (12) (2)硬件原理图 (15)

摘要:随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。 关键词:4×4矩阵键盘;stm32;密码锁;LCD1602

1 系统总体方案设计 1.1采用数字电路控制 其原理方框图如图1-1所示。 图1.1 数字密码锁电路方案 密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、键盘输入次数锁定电路。 1.2 采用一种是用以stm32为核心的控制方案 利用其灵活的编程设计及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1.2所示。 图1.2 stm32控制方案

密码锁-单片机课程设计

1 绪论 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性和方便性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。 本次设计使用AT89S52单片机构成最小系统,接以键盘,报警系统,液晶显示构成人性化的方便易用的电子密码锁。

2 设计任务、功能要求说明及总体方案介绍 2.1 设计目的与任务 本设计采用AT89S52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD 1602A等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统。 2.2 设计内容及要求 (1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 (2)其密码为方8位十进制代码(代码自设定)。 (3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) (4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路,查阅至少5篇参考文献。按《湖南工学院课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 2.3 设计总体方案及工作原理说明 采用以单片机AT89S52为核心的控制方案,总体框图见图1。 单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,以及控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接加

基于89C51电子密码锁设计附程序文件

《电子技术综合设计》 设计报告 设计题目:基于STC89C52单片机的电子密码锁设计组长:汪菲学号: 专业与班级:信息12-1班 姓名:田宣宣学号: 专业与班级:信息12-1班 姓名:侯宁博学号: 专业与班级:信息12-1班 时间: 2014 ~ 2015 学年第(1)学期 指导教师:袁小平成绩:日期:2015年1月1日

一、设计摘要和课题任务 在日常生活和工作中,住宅与部门的安全防、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。 本文从经济实用的角度出发,采用89S51单片机与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用C语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。 关键词:单片机;密码锁;红外遥控 完成的功能: 1.密码锁初始设置6位密码,密码通过红外遥控器或4X4键盘输入,若密码正确,则将锁打开。在按下每个按键的时候都会有蜂鸣器响声。 2.密码由用户自己设定,在开锁状态下,用户可自行修改密码。本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误一次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。 3.系统工作时,用户通过红外遥控器或键盘输入密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。 4.对密码进行存储,用户设定的密码掉电不丢失。 二、方案比较与选择 可行性分析: 本次设计采用STC89C52芯片,STC89C52是一个低电压,高性能CMOS 8位单片机.编程软件采用keil软件,由keil C生成HEX文件,然后烧入单片机。 密码输入采用红外遥控输入和4X4键盘输入方式。红外线输入采用通用遥控器,遥控接收采用HX1838一体化万能接收头。接收到的信号通过单片机INT0输入单片机。键盘采用的是4X4矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口,让设计更容易实现。 密码存储采用EEPROM串行I C总线芯片AT24C02。通过单片机对24c02芯片进行密码存储,存储好密码后,通过按键输入密码与存储芯片里面的数据进行对比,根据数据是否一致,来执行相应的操作,还可以根据按键操作来执行是否更换数据。 报警部分由蜂鸣器及外围电路组成,加电后不发声,当密码输入错误时,单片机的P3.6引脚为低电平,三极管导通执行蜂鸣器报警声子程序发出警笛报警。

基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图

目录 1绪论............................................................................................. 错误!未定义书签。 1.1本设计的研究背景与研究目的...................................... 错误!未定义书签。 1.2国内外研究现状.............................................................. 错误!未定义书签。2电子密码锁的总体设计方案..................................................... 错误!未定义书签。 2.1方案论证.......................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 2.2方案比较以及可行性...................................................... 错误!未定义书签。3电子密码锁硬件电路的设计..................................................... 错误!未定义书签。 3.1中央控制模块的设计...................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 3.2键盘输入模块的设计...................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 3.3LCD显示密码模块的设计................................................ 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 .......................................................................................... 错误!未定义书签。 3.4开锁模块的设计.............................................................. 错误!未定义书签。 3.5报警模块的设计.............................................................. 错误!未定义书签。 3.6硬件电路总体设计.......................................................... 错误!未定义书签。4电子密码锁的软件设计............................................................. 错误!未定义书签。 4.1主程序流程介绍.............................................................. 错误!未定义书签。 4.2键盘模块流程图.............................................................. 错误!未定义书签。 4.3显示模块流程图.............................................................. 错误!未定义书签。 4.4修改密码流程图.............................................................. 错误!未定义书签。 4.5开锁和报警模块流程图.................................................. 错误!未定义书签。5电子密码锁的系统调试及分析................................................. 错误!未定义书签。

密码锁设计VHDL源程序文档

标准

2.2系统的输入、输出端口以及寄存器清单及说明: CLK 输入时钟方波信号端口 KIN 键盘按键输入端口 KOUT 键盘完整编码码值输出端口(七位二进制数)KOUT1 扫描信号输出端口(三位二进制数) SIN 键盘消抖输入端口(七位二进制数) SOUT 键盘消抖输出端口(七位二进制数) LIN 键盘按键编码模块输入端口(七位二进制数)DF 数字按键标志寄存器 FF 功能按键标志寄存器 ND 数字按键识别编码寄存器 NF 功能按键识别编码寄存器 LOCK 电子密码锁上锁状态标志寄存器 LOCK1 电子密码锁报警状态标志寄存器 UNLOCK 电子密码锁开锁状态标志寄存器 NULL1 电子密码锁无密码状态标志寄存器 DATA 电子密码锁数码显示数据寄存器 CAT 电子密码锁数码显示位选寄存器 标准

DISPLAY 电子密码锁数码显示段选寄存器(十七位二进制数)NUM0、NUM1、NUM2、NUM3数码显示中分位显示数据寄存器 DISNUM 数码显示段选数据寄存器 I1 数码显示计数器 SCANS 键盘扫描中按键完整编码寄存器 SCAN 键盘扫描寄存器 CNT 键盘消抖计数器 SIN1 键盘按键键值寄存器 I 键盘扫描计数器 DF1 数字按键状态标志寄存器 ACC 键盘数字输入暂存器 T 报警计数器 REG 电子密码锁密码存储器 NC 计数器 1键盘输入扫描部分源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_1164.ALL; ENTITY kbscan1 is 标准

单片机课程设计密码锁程序和仿真图

#include #define uchar unsigned char #define uint unsigned int uint num=10; //开始让数码管什么都不显示 bit set=0; //定义设置密码的位 char count=-1; //开始让COUNT=-1,方便后面显示数码管sbit Beep=P1^2; //蜂鸣器 uchar temp; uchar pws[6]={3,6,2,3,3,0}; //原始密码 uchar pwx[6]; //按下的数字存储区 bit rightflag; //密码正确标志位 uchar workbuf[6]; uchar code tabledu[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40 }; //段选码,共阴极 uchar code tablewe[]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf }; //位选码 uint keyscan(); void delay(uchar z) //延时,ms级 { uchar y; for(;z>0;z--) for(y=120;y>0;y--); } void setpw() //设置密码函数 { keyscan(); } uint keyscan() //键盘扫描函数 { P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); //键盘去抖,最好ms以上,这里用了ms temp=P3; temp=temp&0xf0; if(temp!=0xf0) { count++;//按键计数加 temp=P3;

密码锁电路

课程设计说明书 课程设计名称:数字电路课题设计 课程设计题目:带报警器的密码电子锁和门铃电路学院名称:信息工程学院 专业:电子信息工程班级: 090411 学号:姓名: 评分:教师: 20 1 1年 09 月11日

脉冲数字电路课程设计任务书 20 10 -20 11 学年第二学期第 1 周- 2 周 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。 本系统是由D触发器,蜂鸣器、555和报警系统,门铃系统所组成的带报警电子密码锁和门铃电路。系统完成按键输入、开锁、超时报警、错误密码报警、复位等数字密码锁的基本功能。 在当今的社会安全是人民特别关心的话题,生命安全,财产安全等等。密码门铃电路就是在现实生活为人民提供安全保护设备。 关键字:数字密码锁 74LS74 555 解锁与报警

目录 摘要 (2) 第一章、系统设计方案选择 (4) 1.1方案一 (4) 1.2方案二 (4) 第二章系统组成及工作原理 (6) 2.1密码锁电路 (6) 2.2门铃及报警电路: (6) 2.3继电器电路 (9) 2.4.供电电路: (9) 第三章整体电路及系统的调试和安装 (10) 3.1安装 (10) 3.2调试方法与调试过程 (10) 3.3制作成品 (11) 第四章设计心得及几点补充说明 (12) 五.参考文献 (13) 附录一电路图和PCB版 (14) 附录二元件清单 (16) 附录三芯片资料 (17)

相关文档
最新文档