(完整版)基于RFID应用的IC卡设计毕业设计 下载本文

脚写入“1”时可作输入端,当引脚P1.2——P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流。

P1口还在Flash闪速编程及程序校验时接收代码数据。

P3口:P3口的P3.0——P3.5、P3.7是带有内部上拉电阻的7个双向IO口。P3.6没有引出,它作为一个通用IO口但不可访问,但可作为固定输入片内比较器的输出信号,P3口缓冲器可吸收20mA电流。当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。

P3口还用于实现AT89C2051特殊的功能,如表1所示:

表1 P3口功能

口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 功能特性 RXD (串行输入口) TXD (串行输出口) INT0 (外中断0) INT1 (外中断1) T0 (定时计数器0外部输入) T1 (定时计数器1外部输入) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 RST:复位输入。RST引脚一旦编程两个机器周期以上高电平,所有的IO口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可以完成复位,每个机器周期为12个振荡时钟周期。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。

[19]

图3-5 单片机电路 3.5 开关电路

3.5.1 元件资料

本次设计中的开关电路要用到2N5551三极管,这里先介绍一下2N5551三级管的资料:

2N5551小功率硅三极管参数资料: 类型:NPN

直流电流增益hFE最小值(dB):80 直流电流增益hFE最大值(dB):250 集电极-发射集最小雪崩电压Vceo(V):160 集电极最大电流Ic(max)(mA):0.600 最小电流增益带宽乘积Ft(MHz):100 3.5.2 电路原理

应答器线圈并接的负载电阻的阻抗变化能通过互感作用对阅读器线圈造成反作用,从而引起阅读器线卷回路变换阻抗ZT的变化,即接通或断开应答器天线线圈处的负载电阻会引起阻抗ZT的变化,从而造成阅读器天线的电压变化。依据这一原理,栅极与P3.1相连的2N5551在高电平到来时导通,在低电平时截止,以此实现数据的变化与ZT变化的同步,并通过串接R2进一步扩大ZT的变化范围。因此数据便以ASK的方式由应答器传到了阅读器。接R2的作用为加大ASK的调制深度,便于解调。2N5551为半导体三极管,在此处很适合作为开关管使用。此处还可以选用9013作为开关管使用,不过由于2051帯负载能力有限,在9013的基级和P3.1之间一定要串接200K电阻。R2可以直接与线圈相接,也可以接在整流桥的正负极。直接接线圈的话,能够在一定程度上增加调制深度,所以我们选择了直接和线圈相接。开关电路如下图所示:

图3-6 开关电路

3.6 IC卡系统完整电路图

图3-7 IC卡完整电路

4 软件设计

4.1 单片机基础知识介绍

4.1.1 定时控制寄存器

TCON寄存器既参与中断控制又参与定时控制。有关中断的控制内容这里不作介绍,现在只介绍和定时器有关的控制位。

TR0和TR1:定时器运行控制位 TR0(TR1)=0 停止定时器|计数器工作 TR0 (TR1) =1 启动定时器|计数器工作

该位根据需要以软件方法使其置“1”或清“0”。 4.1.2 工作方式寄存器

TMOD寄存器是一个专用寄存器,用于设定两个定时器计数器的工作方式,但TOMD寄存器不能位寻址,只能用字节传送指令设置其内容。格式如下:

GATE----门控制位

GATE=0由运行控制位TR启动计时器;

GATE=1 由外中断请求信号和TR组合状态启动定时器。 CT-----定时方式或计数方式选择位 CT=0定时器工作方式; CT=1计数器工作方式。 M1M工作方式选择位

M1M0=00 方式位定时器计数器工作方式; M1M0=01 方式位定时器计数器工作方式;

M1M0=10 方式2-----常数自动装入的8位定时器计数器工作方式; M1M0=11 方式3-----仅适用于T0,为两个8位定时器计数器工作方式;在方式3时T1停止计数。 4.1.3 中断允许控制寄存器

IE寄存器的详细内容在此不做介绍,这里只就与定时器计数器有关的位介绍下:

·EA----中断允许总控制位;

·ET0和ET1----定时器计数器中断允许控制位。ET0(ET1)=0,禁止定时器计数器中断;ET0(ET1)=1,允许定时器计数器中断。

·ES----串行口中断允许控制位,ES=1时,允许其中断,ES=0时,禁止其中断。 4.1.4 串行口寄存器

在串行口寄存器结构中有两个串行口缓冲寄存器(SBUF):一个是发送寄存器,一个是接收寄存器,以便89C2051能以全双工方式进行通信。串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器,但因为发送和接收不能同时进行,所以给这两个寄存器赋予同一地址(99H).

在接收方式下,串行数据通过引脚RXD(P3.0)进入。由于在接收寄存器之间还有移位寄存器,从而构成了串行数据的双缓冲结构,以避免在数据接收过程中出现帧重叠错误,即在下一帧数据到来时,前一帧数据还没有被读走。

在发送方式下,串行数据通过TXD(P3.1)送出。与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送