1、兰州理工大学毕业设计说明书摘 要随着改革开放的深入和市场经济体制的不断完善,传统的人工收费方式己越来越不适应现代化管理的需要。随着电子技术和通信技术的发展,公交系统与IC卡技术相结合成为发展的必然要求,使公交汽车自动收费的实现从技术上成为可能。本文以非接触式IC卡读写器为设计对象,研究了系统的总体结构。以8051单片机为核心,根据公交IC卡控制系统的性能指标,采用无线射频技术,运用一套合理的安全管理策略,完成公交非接触式IC卡控制系统读写器的硬件设计及软件设计。并开展了对非接触式IC卡控制系统的安全性研究,在本文最后重点论述了系统中心管理的分析与设计。关健词: 读写器;非接触式IC卡;系统安全
2、;中心管理AbstractWith the deepening reform and opening up,traditional combination of public traffic charging system use manual-observed combination of public traffic monitoring system is not suit for the requirement.With the development of electronic technology and communication technology,the combinati
3、on of public traffic system and IC card technology becomes inevitable request for development.Various automatic meter charging systems have emerged as the times require.The says as designed object is for the RF reader of the contact-less IC card,according to the design needs of the controlling syste
4、m which is owned for public traffic IC card,the overall technical blue print is studied.It used 8051 as the core,adopted RFID technology and some information security strategies.Then the hardware and software design of the RF interface coprocessor has been finished.However,The research on the inform
5、ation security of the design has been done.This paper puts emphasis on the analysis and design of system center administration.Keywords: RF Reader and Writer; Contact-less IC Card; System Security; Center Administration目录第一章 绪论11.1设计概述11.1.1设计背景11.1.2 设计的意义21.2 IC卡技术的应运和发展21.3 系统设计目标及原则31.3.1系统的设计目标
6、31.3.2 系统的设计原则41.4 论文的组织结构4第二章 总体设计52.1系统总体结构52.2方案论证确定52.2.1 IC卡类型选择52.2.3 单片机选择7第三章 系统硬件设计83.1 单片机概述83.1.1 8051单片机结构和原理83.1.2存储器133.1.3专用寄存器(SFR)简介143.1.4中断163.1.5 定时/计数器193.1.6 串行通信213.1.7 单片机的工作过程223.2 外部存储器扩展模块233.3 监控电路263.3.1概述263.3.2 DS1232的结构及特点263.3.3 DS1232接口电路283.4 键盘输入模块293.4.1 可编程并行I/O
7、芯片8255293.4.2 键盘接口电路313.5 显示模块323.5.1 MC14499323.5.2 显示接口电路333.6 蜂鸣器驱动电路设计343.7 通信模块343.7.1 MAX232343.7.2 通信接口电路353.8 读写器接口模块363.8.1读写器芯片MFRC500363.8.2 Mifare 1型非接触式IC卡373.8.3 天线的设计393.8.4MFRC500与8051的接口电路403.9 电源电路40第四章 系统软件设计42第五章 系统安全设计455.1 IC卡的安全认证455.2 交易数据安全的要求475.3网络通信安全475.3.1 概述475.3.2 安全威
8、胁的原因和常见攻击方式475.3.3 网络安全设计的目标485.3.4 通信安全技术495.4信息安全与系统安全49第六章 系统管理中心516.1 发卡系统设计516.2 系统管理中心售卡充值536.3 数据采集系统546.4 系统中心清算功能566.5 黑名单管理57第七章 总结58参考文献59外文翻译60外文原文60译文66致 谢71附录 主程序及子程序72- 75 -第一章 绪论1.1设计概述1.1.1设计背景公共交通是城市交通建设的主体,其公交运营工作的质量和效率会直接影响到人们的日常生活和工作。而部分城市公交公司现行的售票方式已滞后于公交事业的整体发展,无人售票存在运营效率低,易收残
9、币、假币、破币,对公交的社会效益和经济效益,城市形象都有消极的影响。手工的传统的低效率的工作方式已经不能适应城市公共交通事业的发展。伴随着微电子技术的发展和IC卡应用在各行业的实施,近几十年来,国际上盛行智能公交ITS利用先进的电子技术对公交系统进行全面的管理,中国自“金卡”工程启动以来,国内IC卡的应用迅速发展,信息技术逐步深入到基础设施的运转和管理中。近几年来,城市公交系统逐渐开始将IC卡技术应运于公交收费系统,不仅实现自动收费,电脑结算,而且缩短运行时间;减少点钞人员和管理环节,杜绝贪污,减少假币、假票,加速了资金周转,促进企业信息管理系统的完善,带来了管理机构和管理方式上的巨大变化。因
10、此,IC卡应用的推广,可以改变城建系统企业传统的管理服务方式,提高企业劳动效率,使企业经济效益和服务水平明显提高,并对提高城市形象起到了极大的推动作用。实践证明,以非接触IC卡为支付介质的建设事业IC卡应用系统建设在城市公交、轨道交通、出租车、轮渡、高速路、停车场、公园景点等小额支付领域所表现的方便、快捷的卓越性能,是传统的磁卡和接触式IC卡不可比拟的。非接触IC卡的推广应用为公交支付提供了安全可靠,方便高效的支付方式和完整的业务处理系统,为提高公交行业的服务质量,树立公交行业优质高效服务的新形象,奠定了坚实的技术基础。同时,为城市居民的出行提供了极大的方便。也为银行更进一步地发展持卡消费,创
11、造了良好的条件。因此,随着智能公交概念的提出和智能卡的深入发展,公交系统与非接触IC卡技术相结合成为发展的必然要求。公共交通实行一卡通也是大势所趋。但任何新事物都有缺乏经验的一面,也会出现令人无法预料的新情况,诸如卡丢失后无法挂失、卡内存储信息不全及充值烦琐等问题。所以如何建立整个城市范围内的公交车收费系统,并利用现代计算机和通讯技术,实现乘客IC卡系统的集中化及现代管理,改善公交车、售卡充值点和公交公司之间的数据通讯能力,促进各级内部处理手段和办公效率的全面提高,已成为公交企业当前急待解决的问题。1.1.2 设计的意义主要从经济效益和社会效益两个方面来讲设计的意义。1 经济效益 (1) 加快
12、乘客上车速度,减少车辆停站时间,加速车辆周转等于减少车辆。(2)促进管理,加强经济改革,最终减少公交企业亏损。 (3) 及时掌握客流情况,科学合理调度而创造效益。 (4) 可以节省无人售票点钞工作人员的费用。 (5) IC卡表面的封装广告和冠名权为运营公司带来直接的收益。(6) 采用预收费的方式,增加企业周转资金。 (7)有效制止了假币的流通。2 社会效益 (1) 提高公共交通的服务档次,符合建设国际城市的目标。(2) 方便市民,减少社会现金流通量。(3) 提高车辆运行效率,节省乘车时间。(4) 收费及统计全面自动化管理,有效堵塞漏洞,杜绝可能发生的管理人员贪污及假票现象。提高城市市政交通的信
13、息化管理水平,响应国家促进城市信息化建设的号召,提升当地的城市面貌,为城市的发展带来新的商机。改善了市政秩序,为市民做实事。1.2 IC卡技术的应运和发展IC卡概念是20世纪70年代初提出的,法国布尔公司年于1976年首先创造出IC 卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,它将微电子技术和计算机技术结合在一起,提高了人们的生活水平,满足了工作的现代化需求。IC卡的英文全名是Integrated Circuit Card,IC卡将具有存储,加密,数据处理能力的一个或多个集成电芯片镶嵌于塑料卡片之中的,既具有智能性,又便于携带的卡片。而非接触式IC卡是世界上最近几年发展起来
14、的一项新技术,它成功地将射频识别技术和IC卡技术结合起来.这一新技术结束了IC卡无源可工作和卡片免接触工作这一难题,是电子器件应用发展过程中的一大突破。非接触IC卡和接触IC卡相比具有可靠性高、操作方便、防冲突、可适合于多种应用、加密性能好等优点。IC卡具有信息存储量大,数据保密性好,可反复读写,易于管理等优点,因而发展迅速 ,在金融、通信、交通等众多领域这后来居上,已成为信息时代这不可缺少的重要工具之一,广泛地应用于社会事业的各个领域,出现在人们的日常生活中。IC卡不仅改进了现有多种卡的使用方法和功能作用,它还不断开创出新的应用发展领域。IC卡的产生现代信息的处理和传递提供了一种全新的手段,
15、它一出现就备受关注和重视。1987年起,国际化标准组织ISO专门为IC卡制订了国际标准。国际标准的制订为IC卡在全世界范围内的推广和应用,为IC卡在使用过程中的规范化创造了前提和条件。从技术角度看,在IC卡应用过程中有以下几个发展趋势。1 从存储器IC卡同CPU卡方向发展。现在全国发行的IC卡中,90%以上是采用存储器IC卡。随着应用要求提高,且CPU卡价格下降,在今后几年内,CPU卡的应用总量将呈大幅度上升趋势:2 非接触式IC卡应用将大幅度增加。目前,非接触式IC卡已成为世界智能卡发展的主流。非接触式IC卡十分适用于地铁、公交、自来水、燃气等收费的日常生活消费领域,在我国已开始使用。下一代
16、最具有前途的IC卡是接触式IC和接触式IC卡的复合卡,对于需要特别灵活的多用途应用来说,它既能提供接触式应用,又有非接触式应用功能,为产品提供十分灵活的选择。3 对IC卡安全性提出越来越高的要求。金融IC卡、个人身份证等应用要求IC卡具有高安全性,要求应用程序在一个安全环境中装载和运行。一方面要求IC卡本身具有高安全性,具有DES加密算法和有512位或1024为公开密钥计算能力和加密卡可满足不同安全等级的要求;另一方面要加强IC卡安全管理, 密钥管理尤其重要。4 一卡多用是IC卡发展的大方向。为了方便人们使用,同时规范应用市场,提高应用水平,需要推出一卡多用或多卡通用的IC卡。1.3 系统设计
17、目标及原则1.3.1系统的设计目标公交汽车IC卡控制系统采用了先进的非接触式IC技术和计算机技术,以公交售卡充值IC卡读写器为设计对象的主体,以计算机系统为信息处理方法的现代化管理系统,充分利用了非接触式IC交易时间短,快捷,方便的特点,作为公交汽车控制系统的一种全新的现代化管理手段,提高了公交车辆的运营服务水平,使城市公交管理开放,不仅取得了较好的经济效益,同时还取得了良好的社会效益。公交汽车IC卡控制系统把公交汽车的售票方式以IC卡电子收费作为支付手段,以提高客运汽车的收费速度、简单快捷的售卡充值方式、自动化处理客运信息、准备结算、动态分析运营信息为目的,为客运企业的运营,城市交通管理,城
18、市建设及发展提供了良好的科学依据.系统设计目标如下:1为运营公交公司提供完善的、稳定的、可靠的管理功能。2 实现公交控制系统的规范化和数字化管理。3 收集公交运营数据,建立可供管理分析的数采集系统。4 控制系统具有可靠的安全管理系统。5 模块化的软硬件设计具有开放性、可扩展性、以便进行二次开发。6 尽可能简单明了操作方式,以实现IC卡读写器的运作及管理。1.3.2 系统的设计原则公交汽车IC卡控制系统设计要求在最大限度上满足公交公司不断增长和变化的业务需求。同时也使公交公司能在最大限度保护其投资的前提下利用迅速发展的新技术和产品。系统设计方案是遵循原则设计:1原则:采用的技术路线和采用的产品是
19、成熟,可靠,易于操作的,设计结果能满足客户的需求并行之有效。2 开放原则:3 安全原则:采用有效可信的安全措施,实现系统多层次的安全管理。4 高效原则:软硬件性能充分发挥,资源利用率高,性能好。5可扩展原则:能够使系统在规模和性能两方面有扩展余地。1.4 论文的组织结构本文的目的就是寻求一套更加完善的公交汽车IC卡控制系统方案。本文重点介绍以8051单片机和非接触式IC卡读读写器 MF RC500为核心,设计出一套性能好、安全措施有效可信、管理平台完善的公交非接触式IC卡控制系统。本文主要工作如下:(1)完成公交汽车IC卡控制系统整体方案设计。根据公交汽车IC卡控制系统所要达到的性能指标,进行
20、总体方案设计。(2)以单片机8051为核心实现公交汽车IC卡控制系统硬件设计。(3)完成公交汽车IC卡控制系统的软件设计。基于汇编语言的编程方式,实现整个系统软件的设计。(4)开展系统的安全性研究。(5)完成系统管理中心的设计。第二章 总体设计2.1系统总体结构公交汽车IC卡控制系统结构复杂,环节较多,因此,公交IC卡控制系统的读写器至少应包括公交售卡机、公交车载机和公交制卡机三个读写器。除了售卡机要求有键盘外,其余的硬件组成大体相同。对于公交汽车接触式IC卡控制系统和非接触式IC卡控制系统,控制电路主要不同在IC卡接口上,接触式IC卡采用卡座,非接触式IC卡采用接收线圈加专用的读卡接收芯片。
21、图2为公交IC卡读写器的硬件结构框图,主要由单片机、外部存储模块、监控电路、键盘电路、显示电路、IC 卡的读写器、天线和以及与PC机通信的RS232串行通信接口电路组成。单片机键盘电路存储模块监控电路PC机通信报警电路感应天线IC卡读写器显示电路电源电路 图2 公交IC卡读写器的硬件结构框图2.2方案论证确定2.2.1 IC卡类型选择任何技术和产品的发展都有一个过程,限于技术原因,早期大多用磁卡、光电卡等,这些卡构成的控制系统虽然曾经给我们带来了各种便利,但仍然存在一些弊端和缺陷,常常带来许多不便,特别是其防伪性能差,易被仿制,作为收费电子钱包使用存在巨大安全隐患,随着技术不断进步,上述卡逐渐
22、被其他卡取代,而对存储介质的选择主要考虑卡片模型、存储容量、安全性要求综合价格等因素。又考虑到卡是作为一卡通系统的信息载体,一卡通系统所涉及的子系统又非常多,因此就要求这种卡必须是有多分区,并具有分区密码校验,具有多用性、兼容性、安全性、可靠性的智能卡。所以在城市公交IC卡收费系统中使用非接触IC卡和接触式IC卡两种IC卡卡片。1 接触式IC卡接触式IC卡卡内操作系统采用符合PBOC标准的Timecoso CPU卡芯片内集成有CPU ,ROM,RAM,EEPROM,安全逻辑等。SAM卡是安全认证卡,所有部件功能经专门设计,性能大大提高,与普通CPU卡相比较,具有很高的安全性、可靠性。但是接触式
23、IC卡使用时要将其插入读卡机中, 通过表面上的电极触点的物理接触来实现与读卡器之间的命令、 数据和卡片状态的传递: 非接触式IC卡在使用时只要靠近读卡机即可,卡片和读卡机通过无线电波或电磁场感应的方式进行信息传递。接触式IC卡己经走过十几年的历程并得到广泛的应用,但随着应用规模的扩大,其本身不可克服的缺点,如具有接触磨损、卡的寿命小、使用不便、信息传送速度慢、难以维护、基础设施投入大等就成了它进一步发展的绊脚石。随着信息业和服务业的全球化,社会对信息载体的便携性、 高安全性及易用性等方面提出更高的要求,于是非接触式IC卡以其无机械磨损、容易维护、方便使用等优点,成为IC卡潜力最大的生力军而备受
24、业界瞩目。2 非接触式IC卡从提供电源的角度来看,非接触式I C卡可分为有源和无源2种。无源系统的能量由数据载频提供,有源系统是在卡内封装一块非常薄的电池。从成本和生产方面考虑,无源系统是主流。从工作距离来分,非接触式IC卡有3种: 近距离祸合( 2 mm) , 邻近藕合( 15cm)。其中近距离藕合由于优势不明显而应用较少, 而藕合距离较远的射频卡使用较普遍且最具发展潜力。从读写方式上,非接触式IC卡还有主动交易式和被动交易式之分:主动交易式指卡片需要主动靠近读卡器,用户需要持卡在读卡器上晃过去才会完成交易;被动交易式可以不用出示,比如揣在外衣口袋里,当走过读写器的识别距离范围内就可完成交易
25、。非接触式IC卡,由于卡与读写器间无机械接触,而是借助“空间媒介”电磁波进行通讯,故在保留接触式智能卡原有优点的同时,又具备如下诸多长处:(1) 可靠性高、寿命长卡与读写器间无机械接触,故不存在接触式读写器可能出现的各种故障,卡和读写器均无裸露触点,则无须担心触点损坏或脱落所致之卡片失效。卡和读写器均为全封闭防水、防尘结构,既避免了静电、尘污对卡的影响,操作快捷便利。这些都将大大提高卡乃至机具的可靠性和使用寿命。(2) 防伪性好 每张卡都有一个由制造商在产品出厂前固化于芯片的3 2 位序列号,一旦写入即不可更改,且世界惟一。 (3) 安全性好 卡与读写器间采用三次相互确认的双向验证机制,在读写
26、器验证卡的合法性的同时卡也对读写器合法性进行检验。所有通讯数据均加密,以防止信号截取。卡内各扇区均有自己的操作密码和访问条件,并实行芯片传输密码保护。(4)抗干扰能力强具备防冲突(防碰撞)机制,同一时间可“同时”处理多张卡,而不致出现相互间的数据干扰。(5) 一卡多用 用户可根据需要,灵活定义各存储扇区的密码和访问条件,以便互不影响地分别满足不同场合、不同用途的要求。综上述两种IC卡的介绍,采用非接触式IC卡来完成公交汽车IC卡控制系统的设计。目前,在世界智能卡市场上主要有三大品牌: Mifare,Temic,Legic它们各具特点,性能也各具千秋。但由于市场占有率和性能价格比Temic,Le
27、gic。不如Mifare 1型IC卡,因此通常选择Mifare 1型射频IC卡作为公交控制系统的信息载体。在本系统采用符合IS014443 标准的Mifare 1型非接触式逻辑加密卡。2.2.3 单片机选择公交IC卡控制系统的读写器电路板向着小型化、低功耗、抗千扰、低成本、实用功能方向发展。因此在对单片机的选择趋向于容量适中、功能丰富、性能可靠、价格低的元件。因此本设计中应用最为广泛的MCS-51系列8位单片机8051。第三章 系统硬件设计3.1 单片机概述3.1.1 8051单片机结构和原理1 8051单片机的内部组成8051内部有4 KB ROM,基本组成如图3-1所示。 图3-1 805
28、1 单片机结构框图1) 中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。8051的CPU能处理8位二进制数或代码。2) 内部数据存储器(内部RAM)8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。3) 内部程序存储器(内部ROM)8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。4) 定时/计数器8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果
29、对计算机进行控制。 5) 并行I/O口 MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。6) 串行口8051单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7) 中断控制系统8051单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。 8) 时钟电路8051芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频
30、率一般为6 MHz和12 MHz。从上述内容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此,实际上它已是一个简单的微型计算机系统了。2 8051的信号引脚8051是标准的40引脚双列直插式集成电路芯片,引脚如图3-2所示。图3-21)信号引脚介绍(1)主电源引脚 VCC:+5 V电源 VSS:地线。(2)时钟电路引脚 XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。(3)控制信号引脚 RST/VPD:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为
31、有效,用以完成单片机的复位初始化操作;当单片机掉电时,此引脚上可接备用电源,由VPD向片内RAM提供备用电源,一保持片内RAM中的数据不丢失。 ALE/PROG:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 对于EPROM型单片机,在EPRAM编程期间,此引脚接收编程脉冲。 PSEN:片外程序存储器读选通信号输出端。 EA/VPP:访问程序存储控制信号。当EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当EA信号为高电平时,对R
32、OM的读操作是从内部程序存储器开始,并可延至外部程序存储器。对于EPROM型单片机,在EPRAM编程期间,此引脚接上加21V EPROM编程电源VPP。(4)I/O引脚P0.0 P0.7: P0口8位双向口线。P1.0 P1.7 :P1口8位双向口线。P2.0 P2.7 :P2口8位双向口线。P3.0 P3.7 :P3口8位双向口线。 2) P3口线的第二功能。P3的8条口线都定义有第二功能,详见表3-1。表3-1 P3口各引脚与第二功能表引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时/计数器
33、0的外部输入P3.5T1定时/计数器1的外部输入P3.6WR外部RAM写选通P3.7RD外部RAM读选通以上把8051单片机的全部信号引脚分别以第一功能和第二功能的形式列出。对于各种型号的芯片,其引脚的第一功能信号是相同的,所不同的只在引脚的第二功能信号。对于9、30和31三个引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是P3口的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此,在实际使用时,都是先按需要选用第二功能信号,剩下的才以第一功能的身份作数据位的输入/输出使用。3 并行输入/输出口电路结构单片机芯片内还有一项主要内容就
34、是并行I/O口。8051共有4个8位的并行I/O口,分别记作P0、P1、P2、P3。每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。8051单片机的4个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点。4 时钟电路(1)内部方式时钟电路在8051芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,X
35、TAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图3-3所示。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.212MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。8051在通常应用情况下,使用振荡频率为6MHz或12MHz。图3-3 时钟振荡电路 (2)外部方式时钟电路在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的公用外部脉冲
36、信号作为各单片机的振荡脉冲。这时,外部的脉冲信号是经XTAL2引脚注入,其连接如图3-4所示。图3-4 外部时钟源接法(3) 时序时序是用定时单位来说明的。8051的时序定时单位共有4个,从小到大依次是:节拍、状态、机器周期和指令周期。它们之间的关系如下:(1)一个振荡脉冲的周期为节拍;(2)一个状态就包含两个节拍;(3)一个机器周期的宽度为6个状态;(4)一条指令周期由若干个机器周期组成。 5 单片机的复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,复位后PC=0000H,使单片机从第一个单元取指令。单片机复位的条件是:必须使RST/VPD
37、或RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机复位期间不产生ALE和PSEN信号,即ALE=1和PSEN=1。这表明单片机复位期间不会有任何取指操作。复位后,内部各专用寄存器状态如下:PC: 0000H TMOD:00HACC: 00H TCON: 00HB: 00H TH0: 00HPSW: 00H TL0: 00HSP: 07H TH1: 00HDPTR: 0000H TL1: 00HP0P3:FFH SCON: 00HIP: *00000B SB
38、UF: 不定IE: 0*00000B PCON: 0*0000其中,*表示无关位。注意:(1) 复位后PC值为0000H,表明复位后程序从0000H开始执行,这一点在实训中已介绍。(2) SP值为07H,表明堆栈底部在07H。一般需重新设置SP值。(3) P0P3口值为FFH。P0P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。3.1.2存储器1 8051内部数据存储器8051单片机的芯片内部有RAM和ROM两类存储器,即所谓的内部RAM和内部ROM,首先分析内部RAM。1)内部数据存储器低128单元8051的内部RAM共有
39、256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H7FH)和高128单元(单元地址80HFFH)。 低128单元是单片机的真正RAM存储器,按其用途划分为寄存器区、位寻址区和用户RAM区三个区域。(1)寄存器区8051共有4组寄存器,每组8个寄存单元,各组都以R0R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄
40、存器PSW中RS1、RS0位的状态组合来决定。通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。(2)位寻址区内部RAM的20H2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。(3)用户RAM区在内部RAM
41、低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H7FH。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。2)内部数据存储器高128单元内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80HFFH。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。2 8051内部程序存储器8051的程序存储器用于存放编好的程序和表格常数。8051片内有4 KB的ROM。051的片外最多能扩展64 KB程序存储器
42、,片内外的ROM是统一编址的。如端保持高电平,8051的程序计数器PC在0000H0FFFH地址范围内(即前4 KB地址)是执行片内ROM中的程序,当PC在1000HFFFFH地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H开始编址。 8051的程序存储器中有些单元具有特殊功能,使用时应予以注意。其中一组特殊单元是0000H0002H。系统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。还有一组特殊单元是000
43、3H002AH,共40个单元。这40个单元被均匀地分为5段,作为5个中断源的中断地址区。其中: 0003H000AH 外部中断0中断地址区 000BH0012H 定时/计数器0中断地址区 0013H001AH 外部中断1中断地址区 001BH0022H 定时/计数器1中断地址区 0023H002AH 串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。3.1
44、.3专用寄存器(SFR)简介8051共有21个专用寄存器,其中部分寄存器简单介绍如下:(1) 程序计数器PC: PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64 KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR(专用寄存器)之内,一般不计作专用寄存器。(2) 累加器 ACC:累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-51单片机中大部分单
45、操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。(3) B寄存器。B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B存乘数。乘法操作后,乘积的高8位存于B中,除法运算时,B存除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。 (4) 程序状态字PSW:序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW有些位的状态,进行程序转移。PSW的各位定义如下:PSW
46、位地址D7HD6HD5HD4HD3HD2HD1HD0H字节地 址CYACF0RS1RS0OVF1P除PSW.1位保留未用外,其余各位的定义及使用如下:CY(PSW.7)进位标志位。CY是PSW中最常用的标志位。其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY由硬件置“1”,否则清“0”;二是在位操作中,作累加位使用。位传送、位与位或等位操作,操作位之一固定是进位标志位。AC(PSW.6)辅助进位标志位。在进行加减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。在BCD码调整中也要用到AC位状态。 F0(PSW.5)用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)寄存器组选择位。它们被用于选择CPU当前使用的通用寄存