《测控系统课程设计(共20页).doc》由会员分享,可在线阅读,更多相关《测控系统课程设计(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上摘 要 本设计主要针对楼层单元门禁系统的设计与研究。设计采用单片机芯片AT89C51作为主控芯片;通过4x4矩阵键盘,实现密码的输入与主要功能的选择;通过AT24C1024实现密码的存储与断电保护;通过LCD1602实现必要的显示。设计从硬件电路和软件两方面全面的分析了门禁系统,硬件电路组成主要包括:密码输入模块、密码存储模块、显示模块、报警模块和开锁模块等部分。设计具有很强实用性,并且,在现实生活中应用很广泛。关键词:AT89C51 LCD1602 门禁系统 AT24C1024引言随着科学技术的发展和科技的进步,人们对于高科技服务于生活的要求也越来越高,然而人们感受
2、着高科技给他们带来的极大便利的同时,也带来了许多不安全因素。例如,运用高科技手段进行盗窃、抢劫等犯罪行为与日俱增。怎样才能使安全防范措施跟得上科技的发展?仅依靠单一的物理防范远远不够的。于是智能门禁系统应运而生。智能门禁系统是一种综合性的多学科的高科技技术集合,它涉及电子、机械、光学、计算机技术、通信技术、生物统计学等诸多新技术领域。1门禁系统的分类1.1按照门禁系统的设计原理分类1. 独立一体机:这种门禁系统是控制器自带读卡器的方式,优点是价格便宜,便于安装,缺点是部分控制线必须露在门外,出门无须卡片或密码即可出门,安全性较差。2. 控制器与读卡器分体的:此种门禁系统控制器安装在室内,只有读
3、卡器输入线露在室外其它所有控制线均在室内,而读卡器传递的是数字信号,因此,若无有效卡片或密码任何人都无法进门。较于独立一体机贵,但是安全性较之有很大的提高,以后门禁系统的首选。门禁控制器与读卡器分开的方式中,又有单机型控制器和联网型控制器。1. 单机型控制器:适于用小系统或安装位置集中的单位,通常采用RS485通讯方式,优点是投资小,通讯线路专用。缺点一旦安装好就不能方便地更换管理中心的位置,不易实现网络控制和异地控制。2. 网络型:此类产品的通讯方式采用的是网络常见的TCP/IP协议。优点是控制器与管理中心是通过局域网传递数据的,管理中心位置可以随时变更,不需要重新布线安装,很容易实现网络控
4、制和异地控制。适用于大系统或安装位置分散的系统中,缺点是系统的通讯部分的稳定依赖于局域网的稳定。1.2按照门禁系统的进出识别方式1. 密码识别:通过检验输入密码是否正确来识别进出权限。优点是操作方便,无须携带卡片且成本低;缺点是同时只能容纳3组密码,容易泄漏,安全性很差且只能单向控制和无进出记录。2. 卡片识别:通过读卡或读卡加密码方式来识别进出权限,按卡片种类又分为:(1)磁卡优点:成本较低,安全性一般,可联微机有开门记录缺点:卡片是接触式刷卡,设备有磨损,使用寿命较短,卡片容易复制,不易双向控制,且信息容易因外界磁场丢失,使卡片无效。(2)射频卡优点:卡片与读卡器间是非接触方式,开门方便安
5、全且寿命较长。安全性高,可联机使用,有开门记录,可以实现双向控制,卡片很难被复制。2 门禁系统的发展 最近几年随着感应卡技术,生物识别技术的发展,门禁系统得到了飞跃式的发展,进入了成熟期,集成了微机自动识别技术和现代安全管理措施为一体,涉及电子、机械、光学、计算机技术、通讯技术、生物技术等诸多技术。它是解决重要部门出入口实现安全防范管理的有效措施。适合各种机要部门,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂等。在数字技术网络化的今天,门禁系统早已超出了单纯的门道及钥匙管理,已经逐渐发展成为一套完整的出入管理系统。目前,国内外研制和使用的门禁系统主要集中在感应门禁系统和生物识别
6、门禁系统。在生物识别门禁系统中又以指纹门禁系统应用最为广泛。随着计算机图像处理和模式识别理论以及大规模集成电路技术的不断发展与成熟,指纹自动识别系统的体积不断缩小,其价格也将不断降低。3.门禁控制系统的功能(1)刷卡记录:当人员进/出门时需持卡在读卡器前进行读卡,读卡器读取信息后,将信息传送到主机,主单片机判断该信息的合法性,并可发出警报。(2)信息显示功能:选用带液晶读卡器,还可显示时钟,刷卡指示等信息。(3)记录存档及查询功能:主机会将刷卡信息、日期、时间等数据保存以供查询或直接传输到电脑进行处理。所有读卡资料均有电脑记录。(4)密码键盘功能:如果用户想刷卡后按密码才允许进入。卡+密码的操
7、作方式目的在于用于对安全性要求更加高的场合。连续3次密码输入错误键盘自动锁住。 (5)异常报警功能:门户的状态和行为,都可实时反映到控制室的电脑中,当门打开的时间过长,非法闯入、门锁被破坏等情况出现时,可以实现计算机报警。(6)系统扩展性好,具有联网功能:模块化的组网方式,集合RS422和IIC总线传输的优势,使系统的组网方式更加灵活,系统的扩展更加方便。任务与分析任务 设计一楼层单元门禁系统,能实现楼层住户密码开锁或呼叫开锁,能显示操作状态,阻止陌生人进入,能输出报警及显示。设计完整的电路原理图和编写相关程序。 用MCS-51系列单片机或其它CPU作为控制器设计一完整控制系统,需包括以下内容
8、: 各楼层需实现呼叫及对讲; 用LCD1602显示或用LED显示; 有密码输入按键; 有声音及报警输出; 当断电时能维持24小时正常工作。 用PROTEUS仿真其中一个功能。任务分析:第一步:选择AT89C51单片机作为主控芯片第二步:设计4x4矩阵键盘,实现密码的输入控制第三步:选用AT24C1024芯片,实现密码存储,断电保护;第四步:选用LCD1602作为显示,实现设计具有现实功能的要求第五步:设计开锁电路,实现开锁功能第六步:设计报警电路,实现报警功能 通过完成以上六步,即可设计出完整的门禁系统。 设计方案 门禁系统的设计主要包括:键盘输入模块、显示模块、存储模块、报警电路、开锁电路的
9、设计。下文,将会对各个模块的硬件设计和软件部分进行详细的论述与讨论。第一部分是硬件电路的设计,第二部分是相关程序软件的编写。 第一部分:硬件电路的设计 1 控制芯片AT89C51及附属电路 1.1 AT89C51的介绍和引脚封装 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造
10、技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。其引脚及封装如下所示: 图1 AT89C51引脚图 AT89C51 提供以下标准功能:4k Flash ,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工口,片内振荡器及。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,口及继续工作。掉电方式保存RAM中的内容,但振荡
11、器停止工作并禁止其它所有部件工作直到下一个硬件复位。 1.2 复位电路 根据应用的要求,复位操作通常有两种基本形式:上电复位和按钮复位 最简单的上电复位电路。工作原理为:上电瞬间RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个时钟周期以上的高电平,就能是单片机有效的复位。如图2所示的上电与按钮复位电路,常采用的是上电与按钮复位电路。 图2 上电与按钮复位电路 1.3 晶振电路 51系列的单片机的时钟信号通常用两种电路形式得到,即内部振荡方式和外部振荡方式。 在引脚XTAL1和XTAL2外接晶体振荡器,就构成了内部振荡电路,如图3所示。图中C1、C2起稳定振荡频率、快速起振的作用,电容
12、值一般为5pF30pF。晶体振荡选用6MHz、12Mhz或24Mhz,采用串口时常使用11.0592MHz。内部振荡所得到的时钟信号比较稳定,应用比较多。 外部振荡方式把已有的时钟信号引入单片机内。 图3 晶振电路2 键盘输入模块 由于独立式键盘只适合于按键较少的场合,否则占用的端口太多,按键较多时,通常采用行列式键盘电路。但由于行列式键盘的管理程序较为复杂,需要采用键盘扫描技术,常用的键盘扫描技技术方式有扫描法、线反转法、状态矩阵法。所以本设计主要采用4x4矩阵键盘。扫描方式采用线反转法。2.1 键抖动及消除键抖动键盘是有若干个按键组成的,它是单片机最简单的输入设备。用户通过键盘输入数据和指
13、令,实现简单的人机对话。“键”就是一个简单的开关,当键按下时,相当于开关闭合,当键松开时,相当于开关断开。键在闭合和断开时会存在抖动现象,键的抖动时间一般为5ms10ms,键抖动一次可能造成一次按键的多次闭合、释放的问题。所以应采用措施消除抖动的影响。应用中有采用硬件去抖动和软件去抖动两种方法,常采用的软件去抖动的方法。软件去抖动即使,软件延时5ms10ms的方法来消除抖动的影响。当单片机检测到有键闭合的时候,先延时5ms10ms,然后再检测按键的状态,如果仍然是闭合状态,则认为真正有按键按下。当需要检测按键释放时,也可以采用同样的方法。2.2 矩阵键盘 图4 4x4矩阵键盘2.3 线反转扫描
14、法 I/O端分为行线和列线,按键跨接在行线和列线上,键按下时,行线和列线将发生短路。过程如下:(1) 先从P1端口的高4位输出低电平(列)。低4位输出高电平(行),即P1=0x0f,从P1口读取键盘状态。这时如果低4位中 只要有一位出现“0”,说明此行中有按键按下。各行中有键按下从P1口读取的数值依次是:0EH、0DH、0BH、07H。(2)再从P1口的低4位输出低电平(列)。高4位输出高电平(行),即P1=0xf0,从P1口读取键盘状态。这时如果高4位中 只要有一位出现“0”,说明此列中有按键按下。各列中有键按下从P1口读取的数值依次是:E0H、D0H、B0H、70H。(3)将两次读取的特征
15、值,进行组合,得到当前按键的特征码。3 密码存储模块3.1 24C02C介绍24C02C串行E2PROM是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有抗干扰能力强、接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。24C02C中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。I2C总线是一种用于IC器件之间连接的二线制总线。通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。24C02C正是运用了IC规程,使
16、用主/从机双向通信,主机(通常为单片机)和从机均可工作于接收器和发送器状态。主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。管脚描述:SCL 为串行时钟:串行时钟输入管脚用于产生器件所有数据发送或接收的时钟SDL 为串行数据/地址:双向串行数据/地址管脚用于器件所有数据的发送或接收SDL,A0、A1、A2 为器件地址输入端:当使用24C02 时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到Vss。WP为写保护:如果WP 管脚连接到
17、Vcc 所有的内容都被写保护只能读当WP, 管脚连接到Vss 或悬空,允许器件进行正常的读/写操作。管脚图如图5所示。 图5 24C02C引脚图3.2 24C02C电路连接图 图6 24C02C连接图4 显示模块 了解系统的运行与工作状态显示器是不可缺少的,显示器是一个典型的输出设备并且它的实际应用也是极为广泛的,几乎所有的电子产品都会使用到显示器其差别仅在于显示器的结构类型不同而已。最简单的显示器可以是LED发光二极管或者数码管。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作
18、电压为5V,并且具有字符对比度调节和背光功能。4.1 LCD1602引脚图 图7 LCD1602引脚图 基本操作程序:读状态:令RS=L,RW=L, E=H 输出:D0D7=状态字读数据:令RS=H,RW=H,E=H 输出:无写指令:令RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据:令RS=H,RW=L,D0D7=数据, E=高脉冲 输出:无4.2 LCD1602显示电路 图8 显示电路5 报警及开锁电路 5.1 开锁电路开锁步骤如下:首先按下键盘上的开锁按键,然后利用键盘上的数字键09输入密码,最后按下确认键。当用户输入密码后,单片机自动识别密码,如果密码不符。
19、具体电路如图所示。 5.2 报警电路 图 蜂鸣电路第二部分 相关程序软件的编写 为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序。 1 键扫描程序举例 uchar keyscan() uchar scan1,scan2,keycode,j; P1=0xf0; scan1=P1; if(scan1&0xf0)!=0xf0) /判键是否按下 delaykeyms(10); /延时10ms scan1=P1; if(scan1&0xf0)!=0xf0) /二次判键是否
20、按下 P1=0x0f; scan2=P1; keycode=scan1|scan2; /组合成键编码for(j=0;j0;a-)for(b=100;b0;b-); void write_command(uchar command)P0=command;lcdrs=0;lcden=0;delay(10);lcden=1;delay(10);lcden=0;void write_date(uchar date)P0=date;lcdrs=1;lcden=0;delay(10);lcden=1;delay(10);lcden=0;void lcd_init()write_command(0x38);
21、delay(20);write_command(0x0f);delay(20);write_command(0x06);delay(20);write_command(0x01);delay(20);3 24C02C相关程序举例uchar a;/void delay()/ ; / ; void start() /开始信号sda=1;delay();scl=1;delay();sda=0;delay();void stop() /停止sda=0;delay();scl=1;delay();sda=1;delay();void respons() /应答uchar i;scl=1;delay();
22、while(sda=1)&(i250)i+;scl=0;delay();void init()sda=1;delay();scl=1;delay();void write_byte(uchar ch)uchar i,temp;temp=ch;for(i=0;i8;i+)temp=temp1;scl=0; delay();sda=CY;delay();scl=1;delay();scl=0;delay();sda=1;delay();uchar read_byte()uchar i,k;scl=0;delay();sda=1;delay();for(i=0;i8;i+)scl=1;delay()
23、;k=(k1)|sda;scl=0;delay();return k;void write24c08date(uchar address,uchar ch)start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(ch);respons();stop();delayms(8);uchar read24c08date(uchar address)uchar ch;start();write_byte(0xa0);respons();write_byte(address);respons();start(
24、);write_byte(0xa1);respons();ch=read_byte();stop();return ch;delayms(8);void memory_init()uchar i;for(i=0;i100;i+)write24c08date(i,0);delayms(8);4主程序 void main()uchar number=0,number1=0;lcd_init();relay=1;for(number=0;number6;number+) /24c02里面取出正确的密码keyvalue4number=read24c08date(1+number);delayms(5)
25、;for(number=0;namenumber!=0;number+)write_date(namenumber);delayms(10);write_command(0x0c);write_command(0x80+0x40); for(number=0;name1number!=0;number+) write_date(name1number);delayms(10); write_command(0x0f);write_command(0x80+0x40+4);i=0;while(1)keyscan();if(keyscan()=0)|(keyscan()=1)|(keyscan()
26、=2)|(keyscan()=3)|(keyscan()=4)|(keyscan()=5)|(keyscan()=6)|(keyscan()=7)|(keyscan()=8)|(keyscan()=9)inputcode();else if(keyscan()=11) /密码确认i=0;for(number=0;number0;x-)for(y=110;y0;y-);5 仿真运行5.1 系统进入运行时的图,如下所示 图 运行时的结果 5.1 当密码输入错误时,将不能打开门,LCD1602显示密码错误,运行结果如下图: 图 密码输入错误的运行结果5.2 当密码输入正确是,系统识别之后,密码门将会打开,运行结果如下图: 图 密码输入正确时的运行结果专心-专注-专业