欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的IC卡读卡器设计.doc

    • 资源ID:28104524       资源大小:469.54KB        全文页数:23页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的IC卡读卡器设计.doc

    基于单片机的IC卡读卡器设计第1章 绪论本章介绍了IC卡的发展历史和应用情况,说明了现代IC卡技术的基础知识,最后分析了目前常见的IC卡读写器终端,并提出了本课题中IC卡读写器的设计目标。1.1 IC卡的发展和使用应用情况卡片是作为个人身份识别的手段而引进的,而作为交易凭证的卡片则早在19世纪80年代就萌芽于英国了,1950年,美国商人设计了第一张现代的塑料信用卡,1951年美国富兰克林银行作为金融机构率先发行了信用卡,到60年代中期,人们在塑料金融交易卡的反面贴上磁条,发展成为能够自动读取信息进行在线处理的磁卡,磁卡因为结构简单,价格低廉,得到迅速推广。 IC卡是近年从欧洲开始出现的,IC卡具有突出的3S特点,即Standard(国际标准化)、Smart(灵巧智能化)、和Security(安全性)。因而发展迅速,在金融、通讯、交通等众多领域中后来居上,即使那些磁卡已经普及应用的范围也将被取而代之。IC卡不仅改变了现有多种卡的使用方法和功能作用,还不断开创出新的应用领域。将IC卡和其他设备组成系统就能提供非常丰富的服务功能,把这些功能与生产或流通领域有机地结合起来,将出现令人意想不到的奇迹,创造出巨大的经济和社会效益。随着信息技术的发展,IC卡作为一种先进的信息存储介质,它的应用己经渗透到各国的经济、社会生活、军事等各个方面,将来更有着广阔的发展空间。1.2 IC卡应用技术IC卡比磁卡存储容量大,可靠性和安全性高,在应用上除了覆盖磁卡的全部应用范围以外,还提供了许多磁卡所不具备的应用特性。正是这些特性,使IC卡在脱机业务处理和联网数据一致性等方面表现出前所未有的优势。IC 卡虽然有很强的功能,但仅当IC卡加入到应用系统中,构成发行商、应用系统和持卡人之间的数据传输媒介时,才能有效地发挥其优势。一个好的IC卡应用系统,应具备良好的应用特性和性能价格比,还要有好的安全特性。IC卡最初是为了解决金融交易中的安全性问题而设计的,它带来全新的交易概念与巨大的优势。IC卡在应用中的技术优势在于良好的机器读写能力、共同认可的安全防范技术和相对较大的数据存储能力。1良好的机器读写性能便于人机卡之间的会话IC卡是一种电路卡,它在机器读写性能上远优于磁卡和光卡,无需往复的机械动作即可完成人机卡之间的多次会话过程,使卡在应用时更容易进行操作与相互验证,给卡的应用开发者和使用者都带来了极大的便利。2 良好的安全防范技术是卡能够脱离网络使用IC卡采用了为国际上各种开发者与使用者所共同认可的半导体密码存放于软件加密技术,它可以有效地阻止卡的非法复制与数据的篡改。应用设备可以在脱离网络的情况下,不需要人工干预,即可对IC卡进行鉴别,以确定该卡是否是本系统所许可的,是否可在该应用场合中使用等。通过持卡人输入PIN,与卡内一组密码比较,可以确认持卡人的身份。这些特点使IC卡能成为传导媒体,再加上认证和数据加密等功能,使卡能够脱离网络使用。3 大容量的数据存储能力使IC卡成为数据媒体在一个应用系统使用中,系统必须对所有持卡人建立一份身份与使用的档案。在磁卡系统中,这组档案存放在中心数据库系统内,持卡人每次使用都需通过终端,以网络形式从数据库系统中提出那份与自己相关的档案。现在IC卡的存储能力增加了,这份相关信息可以存放在IC卡中,终端设备交易的实时性明显改善,使用的灵活性也大大增加。IC卡三大特点的结合,构成了IC卡应用的强大优势,它一方面降低了对网络的依赖程度,提高了相应速度;另一方面对发行商、应用商和持卡者三方面的利益提供了有效的保护手段,为IC卡的广泛应用铺平了道路。IC卡应用范围相当广泛,这里仅根据现有的应用提供部分应用领域。(1) 应用于金融领域,可以作为信用卡、现金卡、证券卡或电子资金转账卡等。(2) 可以作为身份证明卡使用,如身份证、驾驶执照、会员卡等。(3) 在医疗、保健等领域,IC卡可以用于健康卡、少儿疫苗卡、就诊卡等。(4) 在商业及服务领域,可以用IC卡作为优惠卡、结算卡、服务卡等。(5) 在交通领域,可以用IC卡取代公交或地铁月票,可以改变原有对月票的当月有效限制为有效次数限制。还可用于公路付费和停车付费等场合。(6) IC卡 卡,这是至目前为止IC卡用量最大的一种应用.用IC卡公用 替代磁卡 与投币 即可杜绝欺诈行为,又可省去携带零钱所带来的麻烦。(7) IC卡在门禁系统、设备使用等情形中,以钥匙卡的形式出现,使“锁”有了新的一个层次定义。(8) IC卡还可集各种服务功能于一身,如企业的职工卡、校园“一卡通”等即属此类,持卡人可以用卡进行考勤、开门、就餐、借阅图书等。1.3 课题的建立以及本文完成的主要工作本文主要包括以下内容:1总体方案的构思2. 画出各模块电路图3. 元器件的选取与购买4. 正确焊接接硬件电路5软件设计中完成写主存储器、写保护存储器、写密码和校验密码操作6. 完成SLE4442 复位应答调试第2章 方案论证方案一 选用飞思卡尔单片机MC9S12D64做为主控芯片,该芯片是一款性能优良的单片机, 包含一个16 位中央处理单元、64 KB Flash、4 KB RAM、1 KBEPROM、一个IC接口、一个同步串行接口和两个异步串行通信接口等丰富资源, 能够满足系统设计的需求。具体方案如图2-1所示。图2-1 MC9S12D64的总体设计方案方案二选用STC89C55RD+做为主控芯片,STC89C55是一种带16K字节闪烁可编程可檫除只读存储器FPEROM-Flash Programable and Erasable Read Only Memory 的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,具体方案如图2-2所示。图2-2 STC89C55的总体设计方案因为这个设计需要用到的单片机引脚不多,对单片机配置也要求不高;飞思卡尔单片机MC9S12D64功能太强大价格也比较昂贵,综合考虑选择比较熟悉的STC89C系列单片机是比较合理的。第3章 硬件设计所设计的读写器以STC89C55RD+单片机为核心,配以IC卡接口电路、串行通信电路、存储电路、键盘输入电路和液晶显示电路等部分。通过读写器插槽与IC卡芯片通信,由STC89C55RD+单片机控制数据传输过程,实现读卡和写卡操作。系统的总体电路图如图3-1所示。图3-1系统总体电路图 系统总体设计框图如图3-2所示。 图3-2系统总体框图3.1 IC卡芯片选择IC卡集成电路卡(IntegratedC ircuit Card)的简称,有些国家和地区称之为微芯片卡(Microchip card)或微电路卡(Microcircuit Card)。IC卡的大小和磁卡相同,它把集成电路镶在塑料卡片上,芯片一般是不易挥发性存储器(ROM, EPROM. EPROM),保护逻辑电路,甚至于CPU。本节介绍IC卡的一些基本知识,使读者对IC卡有一个大概的了解。由于本设计所采用的IC卡为接触型逻辑加密卡SLE4442,所以本节的内容重点介绍此卡。SLE4442是由德国西门子公司设计的逻辑加密存储卡。它具有2K位的存储容量和完全独立的可编程加密代码存储器。内部电压提升电路保证了芯片能够以单5V电压供电,较大的存储器容量能够满足应用领域的各种要求。是目前国内应用较多的一种IC卡芯片。3.1.1 芯片特点1 面向字节寻址;2 采用多存储器结构:主存储器、保护型存储器、加密存储器;3 线连接协议,触点和串行接口满足ISO7816同步传送协议;4 芯片采用NMOS工艺技术,每字节的擦除/写入编程时间为2.5ms;5 复位响应ATR符合ISO/IEC7816-3协议;6 存储器采用至少10 000次的擦除/写入周期,数据保持时间至少为10年;7 额外特性:数据仅能在正确输入24位可编程安全码安全存储器之后才能改变。 3.1.2 芯片的引脚配置芯片的引脚与国际标准兼容,引脚的定义和功能说明如表3-1所示。表3-1 SLE4442引脚功能引脚卡触点符号功能12345678C1C2C3C4C5C6C7C8VCCRSTCLKNCGNDNCI/ONC操作电压5V复位时钟未用地未用双向数据线漏极开路未用3.1.3 芯片功能SLE4442IC卡芯片主要包括三个存储器:256×8位EEPROM型主存储器、32×1位PROM型保护存储器和4×8位EEPROM型加密存储器。1 主存储器主存储器为可重复擦除使用的EEPROM型存储器。按字节寻址,擦除写入。在擦除时,一个数据字节的所有8位被全部置“1”。在写入时,在EEPROM单元中的信息则根据输入的数据,按字位方式变换成逻辑“0”(即在EEPROM中,新写入的数据与原来存在的数据进行“逻辑与”)。通常,要改变一个数据需要先进行擦除再进行写入两项操作。如果在被寻址的字节中8位没有一个字位需要从0变为1,则可以不进行擦除处理。反之亦然,在被寻址的字节中,如果没有一个字节需要从1变为0,则可以不做写入处理,写入或擦除操作一次至少消耗2.5ms时间。主存储器的地址是从00H到FFH。但主存储器可分为两个数据区:保护数据区和应用数据区,保护数据区是主存储器前32个字节数据区。其地址是从0(00H)到31(1FH)这部分的数据读出不受限制,但擦除和写入操作均受到保护存储器内部数据状态的限制。当保护存储器中第N位为0时,则对应主存储器中第N个字节就不允许进行擦除和写入操作。故保护数据区一般均作为IC卡的标识数据区,存放一些固定不变的标识参数。应用数据区为主存储器后224个字节。其地址从32(20H)到255(FFH)。这部分的数据读出不受限制,但擦除和写入受控于加密存储器数据校验比较结果的影响。当需要修改应用数据区的内容时,必须首先输入一个3字节长的“校验字”。这个新输入的“校验字”与原来存在在加密存储器中的“参照字”进行一对一的比较。只有当两者完全一致时,芯片的加密控制逻辑才打开芯片的主存储器,允许后面的擦除和写入操作。芯片允许在有限的次数内重试比较操作。如果在连续三次比较失败之后,芯片的错误计数器计数到“0”,并将锁死主存储器,禁止随后的任何比较操作和写入擦除操作。这时整个主存储器变成一个只读存储器。芯片中各存储器的内容不能再改变。2 保护存储器保护存储器是一个32×1位的一次性可编程只读存储器PROM。它是按字位方式寻址和写入。保护存储器从032的每一位对应着主存储器地址从0到31的字节。因此可以理解为每个字节单元的控制熔丝。从出厂到被初始化之前,保护存储器的状态为全“1”。从控制方面来说,保护存储器的内容只能从“1”写成“0”而不能从“0”擦除成“1”。保护存储器每个被写“0”的单元所对应控制的主存储器的字节单元将不再接收任何擦除和写入命令,从而使得该字节单元的数据不可再改变。从使用方面来讲,如果需要防止一些固定的标识参数被改动,可以将这类参数先写入主存储器的保护存储区,然后将对应单元的保护存储器的字位写位“0”,从而使这一部分单元中的参数内容永远不可更改。保护存储器本身的读出操作不受限制。但对其写入操作仍然受到加密存储器比较校验操作结果的控制。当输入的“校验字”与芯片内的“参照字”一致,则可以执行后续的写入操作。如果比较不成功,则控制逻辑将闭锁保护存储器。3 加密存储器加密存储器是一个4×8位的EEPROM型存储器。在这个存储器中,第0字节为“密码输入错误计数器”(EC)。密码输入错误计数器的有效位是低3位。在芯片初始化时,计数器设置成"111"。这一字节是可读的。每次比较密码时,先判断计数器中是否还有“1”。如果还有“1”,则将其中一个“1”写成“0”,然后进行比较“校验字”操作。如果比较结果一致,密码错误计数器将允许进行擦除操作(芯片不能自动进行擦除操作),同时打开主存储器、保护存储器和加密存储器,并允许进行擦除和写入操作。如果比较结果不一致,则密码错误计数器中为“1”的个数将减少一位。只要计数器的内容不全为0,则芯片的比较“校验字”操作还允许进行。当密码计数器减数为零,则芯片的存储单元将全部锁死。加密存储器的第1,2,3字节为“参照字”存储区。这3个字节的内容作为一个整体披称为可编程加密代码(PSC)。值得注意的是:这3个字节的内容在PSC比较成功前是不可读的,只能进行比较操作。而“写入、擦除”操作也受自身“比较”操作结果的控制。只有当“比较”成功,加密存储器各字节内容才可以进行读出、写入和擦除。3.1.4 SLE4442芯片传送协议传送协议是在接口设备IFD与IC卡的集成电路之间的两线连接协议,SLE4442芯片的协议类型为S=10(同步卡协议)。I/O线上数据变化只在CLK信号的下降沿才有效。传送协议包括4种模式:复位和复位响应命令模式输出数据模式处理模式1 复位和复位响应复位响应是根据ISO 7816-3标准来进行的。在操作期间的任何时候都可以复位,只有经过了复位才能对IC卡进行其他操作。开始时地址计数器随一个时钟脉冲而被设置成0。当RST线从H状态置到L状态时,第一个数据位的内容被送到I/O线上。假设连续输入32个时钟脉冲,主存储器中的前4个字节地址单元中的内容被读出。在第33个时钟脉冲的下降沿,I/O线被置成H状态而关闭。芯片复位即复位响应的时序关系如图3-3所示。在复位响应期间,“启动”和“停止”(见下面)状态被忽略。图3-3芯片复位即复位响应的时序关系2 命令模式 复位响应之后,芯片等待着命令。每条命令都以一个“启动状态”开始。整个命令包括三个字节(命令含义后面解释)。随后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。命令模式时序关系如图3-4所示。启动状态:在CLK为H状态期间,I/O线的下降沿为启动状态。停止状态:在CLK为H状态期间,I/O线的上升沿为停止状态。在接受一个命令之后,有两种可能的模式:输出数据模式(即读数据模式)和处理数据模式。图3-4命令模式时序关系3 输出数据模式这种模式是将IC卡芯片中的数据传送给外部接口设备的一种操作。输出数据模式的时序关系如图3-5所示。在第一个CLK脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时钟脉冲,芯片内部的一位数据被送到I/O线上。其输出的顺序是从每个字节的最低位开始。当所需要的最后一个数据送出以后,需要再附加一个时钟脉冲来把I/O线置成H状态,以便准备接受新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。图3-5输出数据模式的时序关系4 处理数据模式这种模式是对IC卡芯片做内部处理。处理数据模式的时序关系如图3-6所示。在第一个时钟脉冲的下降沿将I/O从H状态拉为L状态并开始处理。此后芯片在内部连续计时计数,直到第N个时钟脉冲之后的附加时钟脉冲的下降沿I/O线被再次置高,完成芯片的处理过程。在整个处理过程中I/O线被锁定成低状态。图3-6处理数据模式的时序关系3.1.5 芯片的操作命令 1 命令的格式每条命令包含三个字节,其顺序如表3-2所示。表3-2命令顺序MSB控制字 LSBMSB地址字 LSBMSB数据字 LSBB7 B6 B5 B4 B3 B2 B1 B0A7 A6A5 A4 A3 A2 A1 A0D7 D6 D5 D4 D3 D2 D1D0命令的传送总是从控制字节开始。首先传送字节的最低位LSB(即B0)。控制字节传送完毕以后,依次传送地址字节和数据字节,传送顺序均从各字节最低位开始。在最后一位D7传送完成之后,需要增加一个附加脉冲把I/O线置成高状态。SLE4442芯片具有七种命令,其格式和功能如表3-3所示。表3-3命令格式及功能字节1控制字节2地址字节3数据功能命令模式30H38 H34 H3B H31 H39 H33 H地址数地址数无效地址数无效地址数地址数无效输入数据无效输入数据无效输入数据输入数据读存储器修改存储器读保护存储器写保护存储器读加密存储器修改加密存储器比较校验数据输出数据模式处理模式输出数据模式处理模式输出数据模式处理模式处理模式2 有关命令的说明(1) 读主存储器:该命令是指读出主存储器的内容。该命令的控制字为(30H)。对于每个字节来说总是从最低位开始读出。从给定的字节地址(N)开始,直到整个存储器的末尾。在该命令输入以后,接口设备IFD必须提供足够的时钟脉冲。对于从地址(N)开始读数据所需要的时钟脉冲的数量M=(256-N)×8+1。对主存储器做读操作不受限制。(2) 读保护存储器:该命令的控制字为(34H)。在连续输入32个时钟脉冲情况下,芯片将保护存储器内各位内容传送到I/O线上。最后一个附加时钟将I/O线置为H状态。对保护存储器进行读取操作不受限制。(3) 读加密存储器:该命令类似于读保护存储器那样,可以读出4个字节的加密存储器的内容。在输出数据模式下,所需时钟脉冲的数量为32。其后再附加一个时钟脉冲将I/O线置成高状态。如果可编程加密代码PSC的校验不成功(除第0字节可读除外),I/O线总保持低状态。(4) 修改主存储器:该命令就是根据所传送地址字节数据,寻址主存储器的EEPROM字节,然后修改字节内容。该命令的控制字为(38H)。在处理模式期间,可能有几种情况:擦除和写入至少需要5ms;只写入不擦除,至少需要2.5ms;只擦除不写入,至少需要2.5ms。(5) 修改加密存储器:该命令是根据所传送的字节数和要修改的数据,将加密存储器中相应字节的内容进行修改。该命令的控制字为(39H),该命令只能在可编程加密代码 (PSC)比较成功之后才能进行。该命令的执行时间和所需的时钟脉冲与修改主存储器的情况相同。(6) 写保护存储器:这一命令的执行过程包括一个把被输入的数据与在EEPROM中对相应数据进行比较的过程。在确认一致的情况下,保护字位被写0。从而使得主存储器中的信息不可更改。如果数据比较结果不一致,则保护字位的写操作将被禁止。该命令所需时钟脉冲和执行时间与修改主存储器命令的情况相同。3.2 CD4066 CD4066 的每个封装内部有4 个独立的模拟开关,每个模拟开关有输入、输出、控制三个端子,其中输入端和输出端可互换。当控制端加高电平时,开关导通;当控制端加低电平时开关截止。模拟开关导通时,导通电阻为几十欧姆;模拟开关截止时,呈现很高的阻抗,可以看成为开路。模拟开关可传输数字信号和模拟信号,可传输的模拟信号的上限频率为40MHz。各开关间的串扰很小,典型值为50dB。CD4066是四双向模拟开关,主要用作模拟或数字信号的多路传输。引出端排列与CC4016一致,但具有比较低的导通阻抗。另外,导通阻抗在整个输入信号范围内基本不变。CD4066由四个相互独立的双向开关组成,每个开关有一个控制信号,开关中的p和n器件在控制信号作用下同时开关。这种结构消除了开关晶体管阈值电压随输入信号的变化,因此在整个工作信号范围内导通阻抗比较低。与单通道开关相比,具有输入信号峰值电压范围等于电源电压以及在输入信号范围内导通阻抗比较稳定等优点。当模拟开关的电源电压采用双电源时,例如 =5V, =5V均对地0V而言,则输入电压对称于0V的正、负信号电压5V5V均能传输。这时要求控制信号C=“1”为+5V,C=“0”为-5V,否则只能传输正极性的信号电压。元件电路管脚图如图3-7所示图3-7 CD4066管脚图3.3 单片机STC89C55是一种带16K字节闪烁可编程可檫除只读存储器FPEROM-Flash Programable and Erasable Read Only Memory 的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路图如图3-8所示。图3-8单片机总控制电路 1 时钟电路STC89C55内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3-9(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图3-9b所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。a内部方式时钟电路 b外部方式时钟电路图3-9时钟电路2 复位及复位电路(1) 复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3-4所示。表3-4一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2) 复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。假设使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3-10所示。图3-10复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3-11a所示。这样,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3-11b所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。其电路如图3-11c所示。a上电复位 b按键电平复位 c按键脉冲复位图3-11复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图3-11b按键复位方式。STC89C55具体介绍如下: 主电源引脚2根VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线 外接晶振引脚2根XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端 控制引脚4根RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 可编程输入/输出引脚32根STC89C55单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位8根引脚,共32根。PO口Pin39Pin32:8位双向I/O口线,名称为P0.0P0.7P1口Pin1Pin8:8位准双向I/O口线,名称为P1.0P1.7 P2口Pin21Pin28:8位准双向I/O口线,名称为P2.0P2.7 P3口Pin10Pin17:8位准双向I/O口线,名称为P3.0P3.7STC89C55主要功能如表3-5所示。表3-5 STC89C55主要功能主要功能特性兼容MCS51指令系统16K可反复擦写Flash ROM32个双向I/O口1280x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.4 键盘电路键盘电路的设计通常有两种方案。一种是并行接口键盘电路,另一种是串行接口键盘电路。在本设计中,根据IC卡读写器的输入需要,选择采用一个4×4的16按键矩阵式键盘接口如图3-12所示。 图3-12矩阵键盘3.5 显示电路本设计采用液晶显示器。其特点是显示内容丰富(可显示汉字),功耗小,可靠性高,电路简单,器件型号为QC1602-7如图3-13所示。图3-13 QC1602-71602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有假设干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形用自定义CGRAM,显示效果也不好1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块显示字符和数字。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 1602采用标准的16脚接口如图3-14所示。图3-14 QC1602-7引脚图第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高比照度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整比照度。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。1602通过D0D7的8位数据端传输数据和指令。显示模式设置:(初始化)0011 0000 0x38 设置16×2显示,5×7点阵,8位数据接口;显示开关及光标设置:(初始化)0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移);S=0 当写一个字符后,整屏显示不移动;数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H);其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。 第4章 软件设计介绍接触式IC卡读写器的程序设计。本设计的所有程序用C51语言编写,由主程序和子程序组成。其中子程序包括比较校验数据子程序、插卡子程序、显示中断子程序。4.1 keilKEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,他为能嵌入汇编语言保留了汇编代码高效,快速的特点。KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经到达了相当搞的程度。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器、汇编器、实时操作系统、项目管理器、调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、PLM 语言和 C 语言的程序设计,界面友好,易学易用。4.2 主函数程序void main() uchar i; inte1602(); ICVCC_ctr=0;/断开IC供电 while(IC_key) lcd1602str("Please insert IC_card",1); ICVCC_ctr=1;/IC上电 while(1) i=key_press(); if(i=1) hkey=key_scan(); if(hkey=15) /写卡标志 'F键' MODE=1; if(MODE=0) ReadIc(); if(MODE=1) veripswd(); if(MODE=2) WrIc(); 主程序流程图如图4-1所示。图4-1主程序流程图4.3 插卡程序当系统检测到有卡插入时,这时进入插卡子程序。在单片机的控制下给IC卡供电,并且指示灯亮,插卡流程图如图4-2所示。图4-2 插卡流程图4.4 校验密码程序4字节EPROM 型加密存储器,第0字节为密码输入错误计数器(EC),低三位有效,该字节可读。EC芯片初始化时设置成“111”,密码校验出错1次,便减掉一个1。假设计数器值为0,则卡自动锁死,数据只可读出,不可再进行密码校验,因而无法再进行更改。当计数器不为零时密码校验正确,在下次上电时,密码计数器恢复初始值3。EC的1,2,3 字节为参照字存储区。该3字节称为可编程加密代码(PSC)。其读出,写入和擦除均受自身“比较”操作结果的控制。校验通过后,至卡下电一直有效。校验通过后密码本身可更改。该命令的执行流程如图4-3所示。NYY图4-3校验密码流程图4.5 写卡程序SLE4442卡在写之前需要校验密码,如果密码不正确,则不能够进行写入操作。每一张SLE4442卡密码计数器为111,当输入错误一次后计数器自动把其中一位置0,当连续3次未输入正确密码之后计数器变成000,IC卡变成一个只读存储器,不能够对其进行写入操作。当一次密码输入正确之后计数器被恢复为111。当密码校验正确后,就可以对IC卡进行写卡操作,写卡流程图如图4-4所示。图4-4写卡流程图学习文档 仅供参考

    注意事项

    本文(基于单片机的IC卡读卡器设计.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开