1目录一、实验目的.......................................................2二、实验说明.......................................................2三、实验设备.......................................................2四、实验内容.......................................................24.1门禁系统的概述..................................................24.2门禁系统的方案.................................................24.3门禁系统的硬件部分.............................................34.4门禁系统的软件部分.............................................64.5门禁系统的软、硬件调试.........................................8结论..............................................................9程序.............................................................102一、实验目的1.理解和掌握基于单片机的嵌入式系统的设计理念与设计方法。2.掌握Protel原理图设计方法。二、实验说明以住宅小区或商场停车场为基础,物联网技术为依托,设计一套车辆出入口门禁系统。我们以单片机为控制核心,采用非接触IC卡技术、TCP/IP网络技术,实现车辆出入道闸控制及停车信息的远程统计、查询。本实验完成其中的非接触IC卡读写部分。系统电路结构框图如下图所示。三、实验设备1、计算机一台2、单片机试验箱四、实验内容4.1门禁系统的概述4.1.1门禁系统概念出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以打开多把门锁,对门锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理。4.1.2门禁系统的特点系统将IC卡技术、计算机控制技术与电子门锁有机结合,用IC卡替代钥匙,配合计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录等不足,利用数据控制器采集的数据实现数字化管理可为内部人力资源的有效管理等带来意想不到的效果。电子钥匙:授权后的IC卡即可当作电子钥匙,将此电子钥匙感应器前一晃,控制器对该卡进行身份验证,验证合法后即控制电子门锁自动打开。开门权限:按门设置:可以根据持卡人身份权限设定有效开门区域(控制器号码)。系统可设有最高权限卡,该卡可以打开系统辖区内所有电子门锁。自动报警:非法使用卡或强行打开门锁等非正常情况下系统会将自动发出报警信号,系统将自动记录非常状况的时间、门号、状态等详细信息,确保门锁安全和事后查证。4.2门禁系统的方案4.2.1门禁系统的总体方案本系统由51系列单片机AT89S52、按键、蜂鸣器、T7122M-I读卡等模块构成。实现了存储一张管理卡和多张车辆卡的功能;同时管理车辆还可以通过按键更改管理卡,增加车辆卡,删除车辆卡,清空所有车辆卡等。因为门禁刷卡控制刷卡距离随着补尝电容的改变而改变(补尝电容大约300PF),所以最大的刷卡距离约为5—12CM;对于非管理卡或车辆卡,本门禁控制3器不与响应;每个按键控制器都有相应的提示音进行提示操作。正常使用时,车辆卡靠近读卡天线,门禁控制器读入卡号,并与存储在内部的卡号比较,如果有相同的卡号,说明此卡合法,门禁机响一长音,提示成功,如果读卡失败,而不响应。总体系统结构图如图3-1图3-1门禁系统总体结构框图4.2.2门禁系统的各个方案4.2.2.1单片机控制芯片模块At89s52芯片。它是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。易失性存储与工业80C51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。4.2.2.2键盘控制模块基于串并转换电路的键盘形式,如图3-3。7SLS164是串并转化芯片,它把SDA(P10)上的串行数据转化为8为的并行数据,S1/S2/S3/S4/S5/S6/S7/S8作为键盘扫描线,P11为键盘数据回送线。键盘扫描时,从S1~S7一次输出低电平,然后检测P11(回送线),如果P11(回送线)为高电平则表示无键闭合,如果P11(回送线)等于0,将S1~S7上的数据经过简单处理得到对应的键值。如图3-24.3门禁系统的硬件部分4.3.1主控芯片部分1、原理图读卡模块门禁控制器蜂鸣器接口电路下位PC机4图4-14.3.2键盘控制部分采用串并转换电路的键盘形式(1)原理图图4-2串并转换电路的键盘形式(2)工作原理7SLS164是串并转化芯片,它把SDA(P27)上的串行数据转化为8为的并行数据,S1/S2/S3/S4/S5/S6/S7/S8作为键盘扫描线,P26为键盘数据回送线。键盘扫描时,从S1~S7一次输出低电平,然后检测P26(回送线),如果P26(回送线)为高电平则表示无键闭合,如果P26(回送线)等于0,将S1~S7上的数据经过简单处理得到对应的键值。(3)功能说明KEY1:增加车辆卡KEY2:删除车辆卡KEY3:删除管理卡5KEY4:清除所有车辆卡4.3.3蜂鸣器控制部分1、蜂鸣器原理图如下所示:图4-3蜂鸣器原理图2、工作原理单片机通过P37来控制蜂鸣器的工作与关闭。当P3.7=1时,PNP三极管关闭,蜂鸣器停止工作。当P3.7=0时,PNP三级管导通,蜂鸣器开始工作。从而单片机只需要P3.7输出0或者1开控制鉴别鸣器即可。3、功能说明(1)刷卡时蜂鸣器响一声,说明读到车辆卡。(2)刷卡时蜂鸣器响两块,说明读到管理卡。(3)相应的按键时给于相应的提示音。(4)蜂鸣器没有响应,说明没有读到卡。4.3.4T7122M-I工业级读卡模块1、应用电路简图图4-42、数据输出格式共输出48Bits,即6个字节。第一字节为ID卡识别码,第二至第五字节为卡号,最后一个字节为前五个字节的校验和。校验和运算变量类型为BYTE类型,运算过程进位被丢弃。选择同步串行输出方式时,每个字节中高位先输出;选择异步串行输出时,每个字节中低6位先输出。输出波特率均为9600Bits/S。3、数据输出波形bit7bit3bit4bit5bit6CPSCKSO0.5ms0.5ms同步串行输出波形(Tsck=104us)图4-54、功能说明(1)通过读卡天线,刷卡时读取ID卡卡号。(2)通过SO脚把卡号传到单片机芯片管脚上。(3)通过CP脚传送低电平说明有卡刷到。4.4门禁系统的软件部分程序循环中主要工作为判断是否有刷卡,若有刷卡则断判是什么卡,然后进行相应的处理。门禁系统的总流程图5-1:7图5-1管理卡功能子程序流程图如图5-2开始定义堆栈区AT89S52、定时器0、中断初始化是否有刷卡是否是管理卡蜂鸣器响三声是否有管理卡添加该卡为管理卡,蜂鸣器响两声管理卡功能子程序是否是车辆卡蜂鸣器响一声8图5-24.5门禁系统的软、硬件调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计正常运行,必须进行硬件调试和软件调试。4.5.1硬件调试是否有卡刷蜂鸣器响一声,定时器T0起动是否有按键蜂鸣器响一声,添加车辆卡蜂鸣器响二声,删除车辆卡蜂鸣器响三声,删除管理卡蜂鸣器响四声,清空所有车辆卡返回定时5秒是否到9硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。(1)脱机检查。按照电路原理图用万用表逐步检测电路板中所有器件的各引脚,尤其是电源的连接是否正确;检查各开关按键是否能正常工作;为了保护芯片,应先对各IC座(尤其是电源端)电位进行检查,确定其无误后再插入芯片检查[3]。(2)联机调试。暂时拔掉AT89S52芯片,将仿真器的40芯仿真插头插入AT89S52的芯片插座进行调试,检验键盘电路是否满足设计要求。可以通过一些简单的测试软件来查看接口工作是否正常。例如,我们可以设计一个能过按键控制蜂鸣器声响检测键盘电路的好坏。如果运行测试结果与预期不符,很容易根据故障现象判断故障原因并采取针对性措施排除故障。4.5.2软件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下:(1)编写蜂鸣程序程序,调试是蜂鸣器是否会响。(2)编写简单程序调试刷卡时是读卡模块是否有读入。(3)编写键盘控制程序,调试是否有键按下及其按键值。(4)编写添加、删除车辆卡程序,调试是否能实现。(5)编写更改管理卡,清除所有车辆卡程序,调试是否能实现。(6)总体调试,看能否实现存储一张管理卡,多张车辆卡。通过按键能否实现添加、删除车辆卡,更改管理卡,清除所有车辆卡等设计要求。4.5.3软、硬件设计注意事项(1)读卡模块T7122M-I外部电源接触不良或者严重的电磁干扰,则有可能偶然使读卡模块内部软件跑飞。(2)天线周围如果有金属存在,则工作频率将受影响,读卡距离也受影响,严重时读卡反应迟钝,甚至不能读卡。避免的方法是所有的金属材料尽量离开天线线圈,特别是天线前面不能有金属封板。金属封板会屏蔽电磁波,致使读卡完全失效。天线后面如果有金属封板,则应该离开天线线圈至少3厘米以上。(3)读卡模块与模板注意是否有共地。(4)如果使用的电源性能不良,将引起电压不稳,波纹太大,对读卡距离产生影响。(5)外界的电磁杂波也会对读卡产生干扰。结论通过本次综合实验,不但学习了单片机技术与嵌入式系统、C51程序编写等学科,掌握了KEIL8、protel等软件工具。更重要的是学会了分析问题、运用所学知识解决现实问题的方法。在综合完成之际,我要对所有帮助过我的人们表示诚挚的谢意!首先,对我的指导老师致以衷心的感谢!从当初开始至今,从选题、报告的书写,到报告10的组织、撰写、修改和完善,老师都给了我非常多的关心、理解、指导和帮助。最后,非常感谢我的舍友,感谢他们在生活上和实验过程中曾给过我的启迪与帮助。最后真诚感谢于百忙中审阅报告并给予我指导的各位老师。谢谢大家!程序#includereg51.h#includeintrins.hsbitcp=P1^0;sbitsck=P1^1;sbitso=P1^2;sbitbeep=P3^7;sbitled5=P0^5;sbitKD_KEY=P2^6;sbitKEY_SDA=P2^7;sbitKEY_CLK=P2^5;11unsignedcharchcardno[10][5]={0};unsignedcharcardok;unsignedcharj=0;unsignedcharcount;unsignedchara;unsignedcharcardno[5]={0};unsignedcharkey_value;unsignedcharb=1;//---------毫秒延时子程序----------voiddelay2(unsignedcharms){unsignedchari;while(ms--){for(i=0;i120;i++);}}//---------蜂鸣器--