还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
门禁控制系统课程设计姓名周炜毅班级自动化101学号2022022073图4-2串并转换电路的键盘形式⑵工作原理7SLS164是串并转化芯片,它把SDA(P27)上的串行数据转化为8为的并行数据,S1/S2/S3/S4/S5/S6/S7/S8作为键盘扫描线,P26为键盘数据回送线键盘扫描时,从S1~S7一次输出低电平,然后检测P26(回送线),如果P26(回送线)为高电平则表示无键闭合,如果P26(回送线)等于0,将S1~S7上的数据经过简单处理得到对应的键值
(3)功能说明KEYL增加用户卡KEY2删除用户卡KEY3删除管理卡KEY4清除所实用户卡
4.3蜂鸣器控制部份
1、蜂鸣器原理图如下所示QVCCR20P37IK图4-3蜂鸣器原理图LABA
2、工作原理单片机通过P37来控制蜂鸣器的工作与关闭当P
3.7=1时,PNP三极管关闭,蜂鸣器住手工作⑷当P
3.7=0时,PNP三级管导通,蜂鸣器开始工作⑷从而单片机只需要P
3.7输出0或者1开控制鉴别鸣器即可
3、功能说明1刷卡时蜂鸣器响一声,说明读到用户卡2刷卡时蜂鸣器响两块,说明读到管理卡3相应的按键时给于相应的提示音4蜂鸣器没有响应,说明没有读到卡
4.4T7122M-I工业级读卡模块
1、应用电路简图同步串断揄出应用简图
2、数据输出格式共输出48Bits,即6个字节第一字节为ID卡识别码,第二至第五字节为卡号,最后一个字节为前五个字节的校验和校验和运算变量类型为BYTE类型,运算过程进位被丢弃选择同步串行输出方式时,每一个字节中高位先输出;选择异步串行输出时,每一个字节中低位先输出输出波特率均为9600Bits/So
3、数据输出波形
0.5ms
0.5msCPSCKLTLJL...J同步串行输出波形T sck=104u s图4-
54、功能说明1通过读卡天线,刷卡时读取ID卡卡号2通过S0脚把卡号传到单片机芯片管脚上3通过CP脚传送低电平说明有卡刷到第5章门禁系统的软件部份程序循环中主要工作为判断是否有刷卡,若有刷卡则断判是什么卡,然后进行相应的处理门禁系统的总流程图5-1开始图5-1管理卡功能子程序流程图如图5-2图5-2第6章门禁系统的软、硬件调试完成为了硬件的设计、制作和软件编程之后,要使系统能够按设计正常运行,必须进行硬件调试和软件调试
1.1硬件调试硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障1脱机检查按照电路原理图用万用表逐步检测电路板中所有器件的各引脚,尤其是电源的连接是否正确;检查各开关按键是否能正常工作;为了保护芯片,应先对各IC座特别是电源端电位进行检查,确定其无误后再插入芯片检查[32联机调试暂时拔掉AT89S52芯片,将仿真器的40芯仿真插头插入AT89S52的芯片插座进行调试,检验键盘电路是否满足设计要求可以通过一些简单的测试软件来查看接口工作是否正常例如,我们可以设计一个能过按键控制蜂鸣器声响检测键盘电路的好坏如果运行测试结果与预期不符,很容易根据故障现象判断故障原因并采取针对性措施排除故障
6.
2.软件调试软件调试的任务是利用开辟工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调联调需要注意的是,各程序模块间能否正确传递参数,特殊要注意各子程序的现场保护与恢复调试的基本步骤如下1编写蜂鸣程序程序,调试是蜂鸣器是否会响2编写简单程序调试刷卡时是读卡模块是否有读入3编写键盘控制程序,调试是否有键按下及其按键值4编写添加、删除用户卡程序,调试是否能实现5编写更改管理卡,清除所实用户卡程序,调试是否能实现6总体调试,看能否实现存储一张管理卡,多张用户卡通过按键能否实现添加、删除用户卡,更改管理卡,清除所实用户卡等设计要求
7.3软、硬件设计注意事项1读卡模块T7122M-I外部电源接触不良或者严重的电磁干扰,则有可能偶然使读卡模块内部软件跑飞2天线周围如果有金属存在,则工作频率将受影响,读卡距离也受影响,严重时读卡反应迟钝,甚至不能读卡避免的方法是所有的金属材料尽量离开天线线圈,特别是天线前面不能有金属封板金属封板会屏蔽电磁波,导致读卡彻底失效天线后面如果有金属封板,则应该离开天线线圈至少3厘米以上3读卡模块与模板注意是否有共地4如果使用的电源性能不良,将引起电压不稳,波纹太大,对读卡距离产生影响5外界的电磁杂波也会对读卡产生干扰本门禁控制器用于鉴别刷卡人员,管理人员出入功能可实现存储一张管理卡、多张用户卡通过按键开关可以进行各种卡管理操作,如更改管理卡、增加单个用户卡、删除单个用户卡、清空所实用户卡等附录一系统程序#includereg
51.h#includeintrins.hsbit cp=Pl/O;sbit sck=Pl1;sbit so=Pl2;sbit beep=P37;sbit led5=P05;sbit KDKEY=P2%;sbit KEY_SDA=P2^7;sbit KEY_CLK=P2^5;unsigned charchcardno
[10]
[5]={0};unsigned charcardok;unsigned charj=0;unsigned chara;unsigned charcardno
[5]={0};unsigned charkey_value;unsigned charunsigned char count;//---------------毫秒延时子程序——void delay2unsigned charms{unsigned char i;whilems--fori=0;i120;i++;}}//----------------蜂鸣器------------------------unsigned charfeib voidbeep=0;led5=0;delay2250;beep=l;Ied5=l;delay2250;void sendunsigned chara〃判断是不是有键按下{unsigned chari;for i=0;i8;i++{if_crol_a,i0x80KEY_SDA=1;elseKEY_SDA=0;KEY_CLK=0;KEY_CLK=1;}unsigned charkey void〃判断是第几键按下unsigned charbuffer,display bit,i;buffer=0xff;〃赋初值为Oxff门禁控制系统设计目录第1章门禁系统的概述
41.1门禁系统概念
41.2门禁系统的特点4第2章门禁系统的设计要求
42.1设计要求4第3章门禁系统的方案论证
43.1门禁系统的总体方案
43.2门禁系统的各个方案论证
53.
2.
1.单片机控制芯片模块
53.
2.1,键盘控制块5第4章门禁系统的硬件部份
64.1主控芯片部份
64.2键盘控制部份
74.3蜂鸣器控制部份
84.4T7122M-I工业读卡模块8第5章门禁系统的软件部份9第6章门禁系统的软、硬件调试12delay2250;〃延时去颤动display_bit=Oxfe;〃扫描键盘fori=0;i8;i++{senddisplay_bit;if!KD_KEY〃是此键按下吗?{buffer=display_bit;〃是,则保存其键值return i;break;〃退出display_bit=_crol_display_bit,1;〃检测下一键}//----------同步串行口接收一字节------------------unsigned charrxlbyte{chari;char rxdata;fori=9;一一i;rxdata=l;while sck==0〃等待始终上升沿continue;if so==l〃读数据++rxdata;whilesck==l continue;}return rxdata;//--------------同步串行口接收unsigned charrxvoidchar i;ifcp==l〃检测CP脚是否浮现低电平return;EA=0;〃屏蔽中断fori=25i;〃保证CP的宽度大于时钟宽度if sck==O{EA=1;return;while sck==l〃等待时钟线浮现低电平continue;cardno
[0]=rxlbyte;〃读第一个字节cardno[l]=rxlbyte;〃读第二个字节cardno
[2]=rxlbyte;cardno
[3]=rxlbyte;cardno
[4]=rxlbyte;cardno
[5]=rxlbyte;〃读第六个字节whilecp==0〃等待CP脚恢复高电平continue;EA=1;〃读卡结束,校验卡号i=cardno
[0]+cardno
[1]+cardno
[2]+cardno
[3]+cardno
[4];if i二cardno
[5]|cardok=l;//--------------------------管理卡程序-----------------------unsignedcharzjz voidchari=0;while1rx;POOXFF;if cardok==l〃判断是否有刷卡cardok=0;if chcardno
[0]
[5]==0〃判断是否有管理卡feibO;feib;chcardno
[0]
[5]=cardno
[5];〃设计为管理卡elseif chcardno
[0]
[5]==cardno
[5]//判断是否是管理卡feib;feib;feib;delay2250;while1{rx;if cardok=l〃判断是否有刷卡{feib;cardok=0;TRO=1;〃起动定时器0count=0;break;elsefora=l;a=b;a++if chcardno[a]
[5]=cardno
[5]〃判断是否是用户卡feib;//定时器子程序break;void timerlvoidinterrupt3THO=65536-50000/256;TL0=65526-50000%256;count++;key_value=key;switchkey_value{case0:〃按键1feib;chcardno[b]
[5]=cardno
[5];〃添加用户卡cardno
[5]=0;b++;break;case1:〃按键2feib;feib;fora=l;a=b;a++]ifchcardno[a]
[5]==cardno
[5]{chcardno[a]
[5]=chcardno[b]
[5];〃删除用户卡break;feib;case2:〃按键3feib;feib;chcardno
[0]
[5]=0;〃删除管理卡break;case3:〃按键4feib;feib;feib;feib;chcardno[a]
[5]=0;〃清空所实用户卡for a=l;a=b;a++break;if count=50〃定时5S是否到TRO=O;EA=O;}}//-----------------------------------主程序------------------------void mainvoidTM0D=0x01;〃定时器0TH0=65536-50000/256;〃定时器0初始华TL0=65526-50000%256;EA=1;ETO=1;P0=0XFF;zjz;
6.1硬件调试
126.2软件调试
1.1门禁系统概念出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式使用者用一张卡可以打开多把门锁,对门锁的开启也可以有一定的时间限制如果卡丢失了,不必更换门锁,只需将其从控制主机中注销出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理
1.2门禁系统的特点系统将ID卡技术、计算机控制技术与电子门锁有机结合,用ID卡替代钥匙,配合计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录等不足,利用数据控制器采集的数据实现数字化管理可为内部人力资源的有效管理等带来意想不到的效果电子钥匙授权后的ID卡即可当做电子钥匙,将此电子钥匙感应器前一晃,控制器对该卡进行身份验证,验证合法后即控制电子门锁自动打开开门权限按门设置可以根据持卡人身份权限设定有效开门区域(控制器号码)系统可设有最高权限卡,该卡可以打开系统辖区内所有电子门锁自动报警非法使用卡或者强行打开门锁等非正常情况下系统会将自动发出报警信号,系统将自动记录非常状况的时间、门号、状态等详细信息,确保门锁安全和事后查证第2章门禁系统的设计要求
2.1设计要求1读卡功能2添加管理卡功能3增加、删除用户卡功能4更改管理卡5清除所实用户卡6键盘控制管理卡操作7蜂鸣器实现刷卡、按键提示第3章门禁系统的方案论证
3.1门禁系统的总体方案本系统由51系列单片机AT89S52,按键、蜂鸣器、T7122M-I读卡等模块构成实现了存储一张管理卡和多张用户卡的功能;同时管理人员还可以通过按键更改管理卡,增加用户卡,删除用户卡,清空所实用户卡等因为门禁刷卡控制刷卡距离随着补尝电容的改变而改变补尝电容大约300PF,所以最大的刷卡距离约为5—12CM;对于非管理卡或者用户卡,本门禁控制器不与响应;每一个按键控制器都有相应的提示音进行提示操作正常使用时,用户持卡挨近读卡天线,门禁控制器读入卡号,并与存储在内部的卡号比较,如果有相同的卡号,说明此卡合法,门禁机响一长音,提示成功,如果读卡失败,而不响应总体系统结构图如图3-1图3-1门禁系统总体结构框图
3.2门禁系统的各个方案论证
3.
2.1单片机控制芯片模块方案一PIC16C84单片机芯片它是8位CMOS EEPROM微控制器它有高性能的类似于RISC的指令,共有35条单字节的指令,所有的指令除程序分支指令需要两个指令周期外,都只需要一个指令周期程序指令的宽度为14位,在芯片内有1KX14的EEPROM程序存储器方案二At89s52芯片它是一种低功耗、高性能CM0S8位微控制器,具有8K在系统可编程Flash存储器易失性存储与工业80c51产品指令和引脚完全兼容在单芯片上,拥有机灵的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵便、超有效的解决方案基于以上所述,根据系统需要及所学知识我选方案二
3.
2.2键盘控制模块方案一独立式键盘,如图3-2它是利用单片机I/O口读取口的电平高低来判断是否有键按下,这种方式的缺点是占用的I/O口数较多且对键盘处理的时候涉及到了一个重要的过程,IK IKIK那就是键盘的颤动问题⑴PJ3PL4PL5P】6图3-2方案二基于串并转换电路的键盘形式,如图3-37SLS164是串并转化芯片,它把SDA(PIO)上的串行数据转化为8为的并行数据,S1/S2/S3/S4/S5/S6/S7/S8作为键盘扫描线,P11为键盘数据回送线键盘扫描时,从S1~S7一次输出低电平,然后检测P11(回送线),如果P11(回送线)为高电平则表示无键闭合,如果P11(回送线)等于0,将S1~S7上的数据经过简单处理得到对应的键值⑸如图3-3方案三行列扫描的键盘形式,如图3-4列线通过电阻接正电源,并将行线所接的单片机I/O口作为输出端,而列线所接的I/O口则作为输入当按键没有按下时,所有列的输出端都是高电平,代表没有键按下行线输出时低电平,一旦有键按下时,则输入线就会被拉低,这样通过读入输入线的状态就可以得知是否有键按下了
[6]图3-4基于以上所述,根据系统需要我选方案二第4章门禁系统的硬件部份
4.1主控芯片部份
1、原理图VCCVCC P10P
1.0vcc T140P11P
1.1POOPOO239SW-PB P12Pl.2Mi POI338P13_Pl.3P
0.2~P02437S1P14Pl.4P
0.3~P0353610uf P15Pl.5P04P04635P16Pl.6P03P05734P17Pl.7P06P0683360RST RSTP05P07932RXD P
3.0RXD EA/VPP VCC1031TXD P
3.1TXDALEJPROG1130P32P
3.2INT0PSEN1229P33P33INT1P25P271328P34P
3.4T0PZT P261427P35_P35T1251526P2TP36P
3.6WR P241625PITP37P
3.7RD P231724P2T1X2XTAL2P221823FTTXI X1AL1P211922P2F,0GND P20202120pfAT89C51图4-
14.2键盘控制部份采用串并转换电路的键盘形式1原理图74LS164。