本科论文--门禁管理系统的射频读卡器的设计内容摘要:

CPU)和 Flash存储单元,功能强大 AT89C52 单片机适合于许多较为复杂控制场合。 1. 功能特性概述 学士学位论文 7 AT89C52 提供以下标准功能: 8k 字节 Flash 闪速存储器, 256 字节内部 RAM, 32个 I/O 口线, 3 个 16 位定时 /计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。 同时, AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。 空闲方式停止 CPU的工作,但允许 RAM,定时 /计数器,串行通信口及中断系统继续工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位 [1]。 2. 引脚功能说明 AT89C52 的引脚如图 : 图 AT89C52的引脚排列 ( 1) VCC: 电源电压 ( 2) GND:地 ( 3) P0 口: P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL逻辑门电路,对端口 P0 写“ 1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据线复用,在访问期间激活内部上拉电阻。 在 Flash编程时, P0 口接受指令字节,而在程序校验时,输出指令字节,校验时,学士学位论文 8 要求外界上拉电阻。 ( 4) P1 口: P1 口是一个内部带上拉电 阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。 对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 与 AT89C51 不同之处是, 和 还可以作为定时 /计数器 2 的外部计数输入( )和输入( ),参见表。 表 引脚号 功能特性 T2(定时 /计数器 2 外部计数脉冲输入 ) 时钟输出 T2EX(定时 /计数 2 捕获 /重装载触发和方向控制 ) Flash编程和程序校验期间, P1 接受低 8 位地址。 ( 5) P2 口: P2 口是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口 P2 写“ 1”,通过内部的上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 在访问外部程序存储器或 16位地址的外部数据存储器(例如执行 MOVX@RI指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX@RI指令)时, P2 口 输出 P2 锁存器的内容。 Falsh编程和校验时, P2 亦接受高位地址和一些控制信号。 ( 6) P3 口: P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。 对 P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作为输入输出口,此时,被外部拉低的 P3口将用上拉电阻输出电流( IIL)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,见表 所示。 此外, P3 口还可接受一些用于 Flash闪速存储器编程和程序校验的控制信号。 ( 7) RST:复位输入。 当振荡器工作时, RST 引脚出现两个机器周期以上的高电平将使单片机复位。 ( 8) ALE/ PROG :当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8位字节。 一般情况下, ALE仍以时钟振荡频率的 1/6输出固 学士学位论文 9 表 P3口的第二功能 端口引脚 第二功能 RXD(串行输入口) TXD(串行输出口) INT0 (外中断 0) INT1 (外中断 1) T0(定时 /计数器 0) T1(定时 /计数器 1) WR (外部数据存储器写选通) RD (外部数据存储器读选通) 定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE脉冲。 对 Flash存储器编程期间,该引脚还用于输入编程脉冲( PROG )。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH单元的 D0位置位,可禁止ALE操作。 该位置位后,只有一条 MOVX和 MOVC指令才能将 ALE激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE禁止位无效。 ( 9) PSEN : 程序存储允许 ( PSEN ) 输出是外部程序存储器的读选通信号,当 AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 在此期间,当访问外部数据存储器,将跳过两个 PSEN 信号。 ( 10) EA /VPP:外部访问允许。 欲使 CPU仅访问外部程序存储器(地址为0000HFFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA端状态。 如 EA端为高电平(接 VCC端), CPU则执行 内部程序存储器中的指令。 Flash存储器编程时,该引脚加上 +12V的编程允许电源 Vpp,当然这必须是该器件是使用 12V编程电压 Vpp。 ( 11) XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 ( 12) XTAL2:振荡器反相放大器的输出端。 ( 13) 特殊功能寄存器: 在 AT89C52片内存储器中, 80HFFH共 128个单元为特殊功能寄存器( SFE)。 并非所有的地址都被定义,从 80H—FFH共 128个字节只有一部分被定义,还有相当一部分没学士学位论文 10 有定义。 对没有定义的单元读写将是无效的,读出的数值将不确定,而 写入的数据也丢失。 因此 不应将数据“ 1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能, 在 这种情况下,复位后这些单元数值总是“ 0”。 AT89C52除了与 AT89C51所有的定时 /计数器 0/计数器 1外,还增加了一个定时 /计数器 2。 定时 /计数器 2的控制和状态位于 T2CON和 T2MOD,寄存器对( RCA02H、 RCAP2L)是定时器 2在 16位捕获方式或 16位自动重载方式下的捕获 /自动重载寄存器。 ( 14) 中断寄存器: AT89C52有 6个中断源, 2个中断优先级, IE寄存器控制各中断位, IP寄存器中 6个中断源的每一个可定为 2个优先级。 ( 15) 数据寄存器: AT89C52有 256个字节的内部 RAM, 80HFFH高 128个字节与特殊功能寄存器( SFR)地址是重叠的,也就是高 128字节的 RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。 当一条指令访问 7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高 128字节 RAM还是访问特殊功能寄存器。 如果指令是直接寻址方式则为访问特殊功能寄存器。 MCM200 模块说明 Mifare Core Module 是 MCM 的全称,意为 Mifare 核心模块。 Philips 公司的 MCM 主要有两种产品型号,为 MCM200 和 MCM500。 MCM200 模块主要应用于对卡片操作距离在 25mm 的卡片读写器中。 这两种智能模块均被用于读写Mifare 1 非接触式 IC 智能射频卡的读写器中,负责读写器中对非接触式 IC 智能射频卡片的读写等功能,一般在读写器中还必须有 MCU(微处理单片机)来对 MCM 进行控制,及对读写器的其他方面进行控制。 例如对键盘、显示、通信等部分的控制等等。 Mifare 所具有的独特的 MIFARE RF(射频)非接触式接口标 准已被制定为国际标准:ISO/IEC 14443 TYPE A 标准 [7]。 1. MCM200模块 特性 采用标准的双列直插式 32 引脚封装; 工作频率为 ,采用标准的 +5V电源供电 ,典型电流消耗为 40MA; 学士学位论文 11 读写卡片距离可达 25mm以上; 与卡片的通信速率可达 106kbps; 每个扇区均包含有 3 套密码,同时包含有认证密码用的存储器; 有防卡片重叠功能; 带有 16 字节的 FIFO(先进先出)队列接收/发送缓冲寄存器; 在模块与卡片通信时可自动侦查错误,对数据流可自动分析; 可对RF(射频)通道进行 自动监控; 有内建 8 位/ 16 位 CRC 协处理器,可提供 CRC、 PAPITY 等数据校验; 支持多种方式的活动天线,并且不需天线调节系统即可对天线进行补偿调节; 带有标准的 Mifare 并行接口可直接由标准的 MCU接口信号控制。 2. MCM200的引脚排列 (见图 ) 图 MCM200的引脚排列 3. MCM的硬件内核寄存器描述 MCM 是通过 MCM 内核特殊的内存寄存器的读写来控制 MCM 的。 这些寄存器位于 MCM 中的 ASIC(特殊应用 IC)的内部。 共有 16 个 寄存器可存取。 在对 MCM 进行读 /写操作时,各寄存器担负着不同的功能和作用,并且不是所有的寄存器都是可写或可读的,即有些寄存器只能读而不能写,有些则反之。 读取 MCM,一般的指向 MIFARE 1 卡请求。 MCM 实际上是 MCU与非接触式 IC智能(射频)卡之间信息(数据)交换的“中间人”。 任何读取卡片上的数据,或写进学士学位论文 12 卡片上的数据均通过 MCM 来传递。 写 MCM 意味着去控制 MCM, MCM 中 ASIC 内核特殊寄存器 见表。 表 MCMASIC内核特殊寄存器 寄存器名 地址 读( READ) 写( WRITE) DATA 00H 0 READBYTE WRITEBYTE STACON 01H 1 DV TE PE CE BE AE — — SOR RFS 1 1 NRF AC ENABLE 02H 2 N/A 1 PR CE CR BCNTS 03H 3 N/A BITCOUNTSEND BCNTR 04H 4 N/A BITCOUNTRECEIVE BAUDRATE 05H 5 N/A 1 1 1 BR TOC 06H 6 N/A TIMEOUTCOUNTER MODE 07H 7 N/A 1 1 0 0 0 P2 P1 P0 CRCDATA 08H 8 CRCBYTEREDA CRCBYTEWRITE CRCSTACON 09H 9 CV CZ C8 CR KEYDATA 0AH 10 N/A KEYBYTEWRITE KEYATACON 0BH 11 —— AL 0 KS1 KS0 KEYADDR 0CH 12 N/A AL AB A5 A4 A3 A2 A1 A0 —— 0DH 13 —— —— RCODE 0EH 14 N/A 0 0 RC1 RC0 —— 0FH 15 —— —— 4. 特殊 寄存器 说明 ( 1) DATA 寄存器 地址: 00H 任何传递到 MIFARE 1 卡的数据或来自 MIFARE 1 卡的数据都必须分别被写入DATA 寄存器或从 DATA 寄存器中读出。 例如, MCU向卡片写数据 Xi,则 Xi 必须首先被写入到 DATA 寄存器中,然后在 MCM 与 Mifare 1 卡片进行通信,由卡片上的 ASIC将 DATA 寄存器中的数据读取并存放在指定的卡片上的存储器中,从而完成 MCU 向MIFARE 1 卡片写数据的过程。 反之亦然。 学士学位论文 13 DATA 寄存器中有一个 16BYTE 的 FIFO(先进先出)队列寄存器。 数据写到 DATA寄 存器后,被存放在这个 16BYTE 的 FIFO(先进先出)队列寄存器中,等待向卡片上或 MCU 传送。 如要进行传送 DATA 寄存器中数据,则首先必须先设定要传输多少位( BIT)或多少字节( BYTE),即必须对 BCNTS 寄存器进行有效的正确设置,以确定有多少字节将要被传送。 当卡片上的数据流接受结束或没有被接受时, STACON 寄存器中的 DV标志被置位“ 1”,并且 MCM 上的引脚 NIRQY 也将由“ HIGH”变为“ LOW”。 如果设置了 DVbit,则 STACON 寄存器中的 error bits(出错位 )将被设置。 如果没有相。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。