基于单机片的智能卡车辆出入管理系统设计 附中英文翻译_第1页
基于单机片的智能卡车辆出入管理系统设计 附中英文翻译_第2页
基于单机片的智能卡车辆出入管理系统设计 附中英文翻译_第3页
基于单机片的智能卡车辆出入管理系统设计 附中英文翻译_第4页
基于单机片的智能卡车辆出入管理系统设计 附中英文翻译_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、前 言该系统设计为非接触式智能卡车辆出入管理系统,用于对进出小区的车辆进行管理,在每个小区门口的车辆进出口处设置车辆管理IC卡该卡机,当有车辆进出时,司机持IC卡在读卡机的感应区(感应距离1米内)前轻晃一上,瞬间完成该卡工作,并将卡上信息传至服务器,判断该卡的合法性与有效性,由门卫对车辆牌号进行对照核实,如该卡为合法的,且与车辆牌号相符,门卫进行手动开启道闸放行车辆,车辆通过后由门卫关闭道闸,否则,道闸不予开启,驾驶员需与门卫协商处理。 如果是临时来访的车辆,驾驶员进入小区大门前,在入口处领取临时卡,车主取卡后,在读卡机的感应区(感应距离1米内)晃一下,瞬间完成读卡工作,并将卡上信息传至服务器

2、,门卫开启道闸。车辆离开后,道闸关闭。 门口处车辆出入管理节控制模块将车主持有的IC卡上的信息上传给管理中已的车辆出入管理系统主机,主机对接收到的数据进行分析、存储,以备后查,做到对进出车辆的实时监控。 1. 软件功能 车辆管理系统对控制器、大门、出入方式等参数进行设置。 控制器验证进出小区车辆的驾驶员所持IC卡的有效性。 车辆管理系统计算机与车辆出入控制器进行通讯,接收车辆出入控制器发出的车辆出入信息。 车辆管理系统对接收到的数据进行分析、存储,并显示车主名、车辆类型、牌号、出入类型和进出时间等。 住户车辆的管理、查询。 IC卡的管理(发卡、登记、挂失、恢复)、查询。2. 智能卡的分类智能卡

3、一般可分为接触式、非接触式。接触式智能卡读卡器必须要有插卡槽和触点。以供卡片插入接触电源,有使用寿命短,系统难以维护,基础设施投入大等缺点,但发展较早。 非接触式智能卡又称射频卡,是近几年发展起来的新技术。它成功地将射频识别技术和IC卡技术结合起来,将具有微处理器的集成电路芯片和天线封装于塑料基片之中。读写器采用兆频段及磁感应技术,通过无线方式对卡片中的信息进行读写并采用高速率的半双工通信协议。其优点是使用寿命长,应用范围广,操作方便、快捷,但也存在成本高,读写设备复杂,易受电磁干扰等缺点。目前,非接触式卡片的有效读取距离一般为100200mm, 最远读取距离可达数米(应用在停车场管理系统)。

4、 另外目前在国内、外市场上,出现了一种在IC卡基础上发展起来的高科技产品TM卡。该卡可以安全、可靠地使用十年以上,采用单总线通信,不需要读写设备输出电能,与读写设备的连接只有外壳的两极,具有较好的校验、容错、高速数据传输、保密、数据存储功能。TM卡有效克服了接触式和非接触式IC卡易于损坏、锁卡、读写设备复杂,易受干扰和环境影响等缺点。除具有上述卡的共同优点外,还具有可靠性更高,使用寿命更长,设备投资更小,维护方便,环境适应能力强等突出特点。第一章 概述1.1 MCS-51单片机的特点单片机(microcontroller, 又称微控制器)是在一块硅片上集成了各种部件的微型计算机。这些部件包括中

5、央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。8051单片机的基本结构见图1.1。CPUROMRAM定时器/计数器时钟电路并行接口串行接口中断系统图1.1 8051单片机的基本结构8051是MCS-51系列单片机的一个产品。MCS51系列单片机是Intel公司推出的通用型单片机。它的基本型产品是8051,8031和8751。这三个产品只是片内程序存储器的制造工艺不同。8051的片内程序存储器ROM为掩饰膜型的,在制造芯片时已将应用程序固化进去,使它具有了某种专用功能;8031片内无ROM,使用时需外接ROM;8751的片内ROM是EPROM型的,固化的

6、应用程序可以方便地改写。以上三个器件是HMOS工艺的。此外还有低功耗基本型的CMOS工艺器件80C51,80C31和87C51等,分别与上述器件兼容。CMOS具有低功耗的特点,如8051功耗约为630mW,而80C31的功耗只有120mW。除片内ROM类型不同外,8051,8031和8751的其他性能完全相同,其结构特点如下:8位CPU;片内振荡器及时钟电路;32根I/O线;外部存储器ROM和RAM寻址范围各64KB;2个16位的定时器/计数器;5个中断源,2个中断优先级;全双工串行口;布尔处理器。MCS-51系列单片机已有十多个产品,其性能如表1-1所列。ROM形式片内ROM/KB片内RAM

7、/字节寻址范围/KBI/O中断源片内ROM片内EPROM外接EPROM计数器并行口串行口80518751803141282*642*164*81580C5187C5180C3141282*642*164*81580528752803282562*643*164*81680C25287C25280C23282562*643*164*817表1-1 MCS-51系列单片机性能表表1-1中列出了四组性能上略有差异的单片机。前两组属于同一规格,都称为51系列。后两组为52系列,性能要高于51系列。除了存储器配置等差别外,8052片内ROM中还掩膜了BASIC解释程序,因而可以直接使用BASIC程序。此

8、外,87C51和87C52还具有两极程序保密系统。8051单片机系列指的是MCS-51系列和其他公司的8051派生产品。这些派生产品是在基本型上增强了各种功能的产品,如高级语言型、Flash型、EEPROM、A/D型、DMA型、多并行口型、专用接口型和双控制器串行通信型等。目前这些增强型的8051系列产品都基于CMOS工艺,故又称为8051系列。它们给8位单片机注入了新的活力,为它的开发应用开拓了更广泛的前景。1.2 MCS-51单片机内部结构图1.2是MCS-51单片机内结构的总框图。它可以划分为CPU、存储器、并行口、串行口、定时器/计数器和中断逻辑几部分。控制中断、定时、串行口特殊功能寄

9、存器PCROMI/O口锁存/驱动器DPTRRAM定 指时 令与 寄控 存制 器TMPALUACCACC工作寄存器PSWSP图1.2 8051单片机的内部结构框图1. 中央处理器MCS-51单片机的中央处理器由运算器和控制逻辑组成。同时还包括中断系统与部分特殊功能寄存器。2. 存储器对8031而言,只有数据存储器RAM,而无ROM/EPROM部分。8051/8751单片机中含有程序存储器ROM/EPROM。3. I/O端口MCS-51单片机有4个并行I/O端口(P0、P1、P2、P3),配置了全双工串行UART,2个16位定时器/计时器(MCS-52子系列为3个)。MCS-51内部各个部件都是通

10、过内部单一总线连接,其基本结构仍采用CPU加外围芯片的结构模式,但在功能单元控制上却有了重大变化,采用特殊功能寄存器集中控制的方法,为用户编程提供了极大的方便。1.3 MCS-51单片机的引脚功能 MCS-51系列单片机大多数都为40条引脚双列直插式器件,采用CHMOS工艺制造的80C51/80C31除上述封装形式外,还有方形封装形式。图1.3是40引脚的配置图。引脚除+5V(Vcc40脚)和电源地(Vss20脚)外,按其功能主要由以下三大部分组成。图1.3 MCS51引脚配置1.3.1 时钟电路XTAL1(19脚)芯片内部振荡电路(单级反相放大器)输入端。XTAL2(18脚)芯片内部振荡电路

11、(单级反相放大器)输出端。MCS-51的时钟可由内部方式或外部方式产生。1. 内时钟方式利用芯片内部振荡电路,在XTAL1、XTAL2的引脚上外接定时元件,内部振荡器便能产生自激振荡,用示波器可以观察到XTAL2输出的正弦波,定时元件可以采用石英晶体和电容组成的并联谐振电路,晶体可以在1.2MHz12MHz之间任选,电容可以在20pF60pF之间选择,通常为30pF左右,电容C1和C2的大小对振荡频率有微小影响,可起频率微调作用。在设计印制版时,晶体应尽可能与单片机芯片靠近,以减少寄生电容,保证振荡器的可靠工作,一般采用瓷片电容。2. 外时钟方式 XTAL1接地,XTAL2接外部振荡器,对外部

12、振荡信号无特殊要求。由于XTAL2端的电平不是TTL电平,故应接一上拉电阻。外部振荡器应提供频率低于12MHz的方波信号。1.3.2 控制信号1. RST/VPD(9脚)复位信号时钟电路工作后,在此引脚上出现两个周期的高电平,芯片内部进行初始复位,复位后片内寄存器状态如表1-2所示。P0口P3口输出高电平,初值07H写入堆栈SP,清零程序计数器PC和其余特殊功能寄存器。但初始复位不影响片内RAM状态,只要该引脚保持高电平,MCS-51将循环复位。RST/VPD从高电平变成低电平时,单片机将从程序存储器的0号地址单元开始执行程序。另外该引脚还具有复用功能。将VPD接+5V备用电源,一旦Vcc电位

13、突然下降或断电,能保护片内RAM中的信息不会丢失,复电后能正常工作。寄存器 内容 寄存器 内容PC 0000H TMOD 00HACC 00H TCON 00HB 00H TH0 00HPSW 00H TL0 00HSP 07H TH1 00HDPTR 0000H TL1 00HP0P3 0FFH SCON 00HIP XXX00000 SBUF 不定IE 0XX00000 PCON 0XXX0000 表1-2 复位后内部寄存器状态MCS-51通常采用上电自动复位和开关复位两种方式。上电自动复位在通电瞬间,电容两端电压不能突变,RESET保持高电平,随之+5V给电容充电,RESET端逐渐降为低

14、电平。RESET端从上电开始得到一个完整正脉冲,只要该脉冲能够保持10ms以上,MCS-51单片机就能有效复位,从而实现上电自动复位。在开关复位时,只要按下手动按钮,RESET端即获得高电平信号,复位有效。2. ALE/PROG(30脚) 地址锁存信号 当访问外部存储器时,P0口输出的低8位地址由ALE输出的控制信号锁存到片外地址锁存器,P0口输出地址低8位后,又能与片外锁存器传送信息。换言之,由于P0口做地址/数据复用口,因而P0上的信息究竟是地址还是数据完全由ALE来定义。ALE高电平期间,P0口上一般出现地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外存储器;在ALE低电平期间P

15、0口上一般出现指令和数据信息。平时不访问片外存储器时,该端也以1/6的时钟频率固定输出正脉冲,因而也可做系统中其他芯片的时钟源。ALE可驱动8个TTL门。3. PSEN(29脚) 片外程序存储器读选通PSEN低电平有效,8051访问片外程序存储器时,程序计数器PC通过P2口和P0口输出16位指令地址,PSEN作为程序存储器读信号,输出负脉冲将相应存储单元的指令读出并送到P0口上,供8051执行。PSEN同样可驱动8个TTL门输入。4. EA/Vpp (31脚) 内部和外部程序存储器选择信号对于8051和8751来说,内部有4KB的程序存储器,当EA为高时,CPU访问程序存储器有两种情况:地址小

16、于4K时访问内部存储器。地址大于4K时访问外部存储器。若EA接地,则不使用内部程序存储器,不管地址大小,取指令时总是访问外部程序存储器。由此可见,8031单片机(无内部ROM型)的EA必须接地。对于EPROM型的单片机,在EPROM编程时,此引脚用于施加21V编程电压Vpp。1.3.3 I/O端口MCS-51单片机有4个8位I/O端口P0P3:P0口为三态双向口,负载能力为8个LSTT门电路;P1P3为准双向口,负载能力为4个LSTTL门电路。1. P0口 (P0.0P0.7,3932脚)为三态双向口P0口位结构包括1个输出锁存器,2个三态缓冲器,1个输出驱动电路和1个输出控制端。输出驱动电路

17、由一对场效应管组成,其工作状态受输出控制端的控制,输出控制端由一个与门、1个反相器和1个转换开关MUX组成。对8051/8751来讲,P0口既可作地址/数据总线使用,又可作通用I/O端口使用。(1) P0口作地址/数据复用总线使用若从P0口输出地址或数据信息,此时控制端应为高电平,转换开关MUX反相器输出端与输出级T1管接通,同时与门开锁,内部总线上的地址或数据信号通过与门去驱动T0管,又通过反相器去驱动T1管,这时内部总线上的地址或数据信号就传送到P0口的引脚上;从P0口输入指令或数据时,引脚信号应从输入三态缓冲器进入内部总线。对8031单片机来讲,P0口只能作地址/数据复用总线用,不再把它

18、当作通用I/O端口使用,它驱动8个LSTTL门电路。(2) P0口作通用I/O端口使用对于有内部ROM的单片机,P0口也可以作通用I/O端口,此时控制端为低电平,转换开关把输出级与锁存器的Q端接通,同时因与门输出为低电平,输出级T0管处于截止状态,输出级为漏级开路电路,在驱动NMOS电路时应外接上拉电阻;作输入口用时,应先将锁存器写“1”,这时输出级两个场效应管均截止,可作高阻抗输入,通过三态输入缓冲器读取引脚信号,从而完成输入操作。(3) P0口线上的“读修改写”功能 一个三态缓冲器是为了读取锁存器Q端的数据。Q端与引脚的数据是一致的。结构上这样安排是为了满足“读修改写”指令的需要,这类指令

19、的特点是:先读口锁存器,随之可能对读入的数据进行修改再写入到端口上。例如:ANL P0、A;ORL P0、A;XRL P0、A;。 这类指令同样适用于P1P3口,其操作是:先将口字节的全部8位数读入,再通过指令修改某些位,然后将新的数据写回到口锁存器中。2. P1口(P1.0P1.7,18脚) 准双向口(1)P1口是一个有内部上拉电阻的准双向口,P1口的每一位口线能独立用作输入线或输出线。作输出时,如将“0”写入锁存器,场效应管导通,输出线为低电平,即输出为“0”。因此在作输入时,必须先将“1”写入口锁存器,使场效应管截止。该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,既当

20、外部输入“1”时该口线为高电平,而输入“0”时,该口线为低电平。P1口作输入时,可被任何TTL电路和MOS电路驱动,由于内部上拉电阻,也可以直接被集电极开路和漏级开路电路驱动,不必外加上拉电阻。P1口可驱动4个LSTTL门电路。(2)P1口其他功能P1口在EPROM编程和验证程序时,它输入低8位地址;在8032/8052系列中P1.0和P1.1是多功能的,P1.0可作定时器/计数器2的外部计数触发输入端T2,P1.1可作定时器/计数器2的外部控制输入端T2EX。3. P2口(P2.0P2.7,2128脚) 准双向口(1)P2口作通用I/O端口使用当P2口作通用I/O端口使用时,是一个准双向口,

21、此时转换开关MUX 倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入输出操作与P1口完全相同。 (2)P2口作地址总线口使用当系统中接有外部存储器时,P2口用于输出高8位地址A15A8。这时在CPU的控制下,转换开关MUX倒向右边,接通内部地址总线。P2口的口线状态取决于片内输出的地址信息,这些地址信息来源于PCH、DPH等。在外接程序存储器的系统中,由于访问外部存储器的操作连续不断,P2口不断送出地址高8位。例如,在8031构成的系统中,P2口一般只作地址总线使用,不再作I/O端口直接连外部设备。在不接外部程序存储器而接有外部数据存储器的系统中,情况有所不同。若外接数据存储器容量为2

22、56KB,则可使用MOVX RI指令由P0口送出8位地址,P2口上引脚的信号在整个访问外部数据存储器期间也不会改变,故P2口仍可作通用I/O端口使用。若外接存储器容量较大,则需用 MOVX DPTR类指令由P0口和P2口送出16位地址。在读写周期内,P2口引脚上将保持地址信息,但从结构可知,输出地址时,并要求P2口锁存器锁存“1”,锁存器内容也不会在送地址信息时改变。故访问外部数据存储器周期结束后,P2口锁存器的内容又会重新出现在引脚上。这样,根据访问外部数据存储器的频繁程度,P2口仍可在一定限度内作一般I/O端口使用。P2口可驱动4个LSTTL门电路。4. P3口(P3.0P3.7,1017

23、脚)双功能口(1) P3口作第一功能口(通用I/O端口)使用P3口作通用I/O端口使用时,输出功能控制线为高电平,与非门的输出取决于锁存器的状态,此时锁存器Q端的状态与其引脚状态是一致的。在这种情况下,P3口的结构和操作与P1口相同。(2) P3口作第二功能口使用P3口的第二功能实际上就是系统具有控制功能的控制线。此时相应的口线锁存器必须为“1”状态,与非门的输出由第二功能输出线的状态确定,从而P3口线的状态取决于第二功能输出线的电平。在P3口的引脚信号输入通道中有2个三态缓冲器,第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍是第一功能的读引脚信号缓冲器。P3口可驱动4个LSTTL

24、门电路,P3口的第二功能定义如表1-3所示。口线 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0输入)P3.3 /INT1(外部中断1输入)P3.4 T0(外部计数器0触发输入)P3.5 T1(外部计数器1触发输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)表1-3 P3口第二功能定义1.3.4 MCS-51单片机管脚的应用特性1. 端口的负载能力和接口要求综上所述,P0口的输出级与P1P3口的输出级在结构上是不同的,因此他们的负载能力与接口要求不同。P0口的每个位口线可驱动8个LSTTL门输入,当把它

25、当作通用I/O端口使用时,输出级是漏级开路,故用它去驱动NMOS输入时需外接上拉电阻;把它当作地址/数据总线口使用时,它为三态双向口,无需外界再加上拉电阻。P1P3口输出级接有内部上拉电阻,它的每个位口线可驱动4个LSTTL门输入,输入端都可以被集电极开路或漏级开路电路所驱动,无需再外接上拉电阻。CHMOS端口只提供几毫安输出电流,故当作为输出去驱动一个普通晶体管的基级时,应在端口与晶体管基级之间串一个电阻,以限制高电平输出时的电流。2. 系统扩展逻辑设计的三总线结构MCS-51系统构成仍采用传统微机系统所采用的三总线结构,以方便实现系统扩展的逻辑设计。(1) 地址总线A0A15(16位)MC

26、S-51系统允许用户扩展64KB外部程序存储器和64KB外部数据存储器,故系统必须提供16位地址线。P0口作为地址/数据复用口,在访问外部存储器时,由地址锁存信号ALE的下降沿把P0.0P0.7端口上的低8位地址信号锁存到地址锁存器中,成为系统地址线的A0A7;P2口在系统访问外部存储器时由P2.0P2.7送出系统地址的高8位A8A15,从而构成系统的16位地址总线。(2) 数据总线D0D7(8位) P0口作为系统地址/数据复用口,在访问外部程序存储器期间,即在取指周期中程序存储器选通PSEN信号有效时,P0口作为数据总线将出现指令信号;在访问外部数据存储器期间,当读RD信号和写WR信号有效时

27、,P0口上将出现数据信号;此时P0.0P0.7就是系统数据总线上的数据信息D0D7。(3) 控制总线(12位)系统控制总线共12根,即P3口的第二功能状态加上控制线RESET、EA、ALE和PSEN。1.4 MCS-51的存储器组织一般微型计算机通常只有一个逻辑空间,在存储器的设计上,程序存储器ROM、数据存储器RAM都要统一编址,即一个存储器地址对应一个唯一的存储单元。在存储单元的设计上,单片机的共同特点是将程序存储器ROM和数据存储器RAM分开,他们有各自的寻址机构和寻址方式。MCS-51单片机,它片内集成了一定容量的程序存储器和数据存储器,同时还具有强大的外部存储器扩展能力。MCS-51

28、从物理上可分为4个存储空间:片内程序存储器和片外扩展的程序存储器,片内数据存储器和片外扩展的数据存储器。从逻辑上,即从用户使用角度去分,MCS-51可分为3个逻辑空间:片内外统一编址的64KB程序存储器地址空间:256B(MCS-51子系列)或384B(MCS-52子系列)的片内数据存储器地址空间;以及64KB外部数据存储器地址空间。用户要采用不同的指令形式和寻址方式,访问这3个不同的逻辑空间。1.4.1 MCS-51程序存储器程序存储器是以程序计数器PC作地址指针,MCS-51的程序计数器PC是16位的,因此寻址的地址空间为64KB。1. MCS-51内部程序存储器8051/8751内部有4

29、KBROM/EPROM程序存储器,地址为0000H0FFFH。对于有内部ROM的单片机,应把控制线EA接成高电平。正常运行时,使程序从内部ROM开始运行,当PC值超过0FFFH时,自动转到外部扩展的存储区1000HFFFFH地址空间去执行程序。若把EA接成低电平,可用于调试状态,把调试程序放置在与内部ROM空间重叠的外部存储器内。2. 外部程序存储器8031/8032/80C32片内无ROM,可扩展64KB外部程序存储器。对于这种芯片,其引脚控制线EA应接成低电平,迫使PC从外部程序存储器取指令。此时,指令地址由PC送出,并在外部程序存储器读选通PSEN有效时,从外部ROM中取出指令并执行子。

30、程序存储器可采用立即寻址和基址+变址寻址方式。64KB程序存储器中有7个地址具有特殊功能,MCS-51复位后,(PC)=0000H,故系统程序必须从0000H单元开始,因而0000H是复位入口地址,也叫做系统程序的启动地址。一般在该单元中存放一条绝对跳转指令,跳转地址通常放在初始化程序及主程序中。除0000H单元外,其他6个特殊单元分别对应6种中断入口地址,如表1-4所示。通常在这些入口地址都安放一条绝对跳转指令,跳转到相应中断服务程序入口去执行中断服务程序。中断源 入口地址外部中断0 0003H定时器0溢出 000BH外部中断1 0013H定时器1溢出 001BH串行口 0023H*定时器2

31、溢出或T2EX(P1.1)端负跳 002BH 表1-4 各种中断服务子程序入口地址1.4.2 数据存储器数据存储器分为片内和片外两种,二者无论在物理上和逻辑上,其地址空间都是彼此独立的。片内数据存储器地址范围为00HFFH,片内数据存储器地址空间为0000HFFFFH。访问片内RAM用“MOV”指令:访问片外RAM用“MOVX”指令。片内数据存储器在物理上可划分为3个不同的块:00H7FH(0127)单元组成的128BRAM块,80HFFH(128255)单元组成的128BRAM块,128B专用特殊功能寄存器(SFR)块在MCS-51子系列中,只有128B RAM块(地址为00H7FH)和12

32、8B特殊功能寄存器块(地址为80HFFH),这两块地址空间是相连的。在MCS-52子系列中,有256个RAM单元,高128B RAM块与SFR块的地址是重叠的,都是80HFFH,究竟访问哪一块是通过不同的寻址方式来区分的。访问高128B RAM采用寄存器间接寻址,访问SFR块时只能采用直接寻址方式。访问低128B RAM时,则两种寻址方式都可以采用。值得注意的是在128B SFR 块中仅有26个字节是有定义的,若访问这一块中一个无定义的单元,则将得到一个不确定的随机数。1. 内部RAM区在MCS-51片内真正可作数据存储器用的只有128个RAM单元,地址为00H7FH。它们可划分为三个区域:工

33、作寄存器区,位寻址区和数据缓冲区。2. 通用寄存器组由32个RAM单元组成,地址为00H1FH。共4个区,每区由8个通用工作寄存器R0R7组成。工作寄存器区域的选择有程序状态字PSW中的RS1和RS0确定,他们可用位操作指令直接修改,从而选择不同的工作寄存器区,如表1-5所示工作寄存器区 工作寄存器选择位 工作寄存器所占当前RAM地址 PSW.4 PSW.3 R0R7 (RS1) (RS0) 0区 0 0 00H07H 1区 0 1 08H0FH2区 1 0 10H17H3区 1 1 18H1FH 表1-5 工作寄存器选择4个通用寄存器区给软件设计带来极大方便,在实现中断嵌套时可灵活选择不同工

34、作寄存器区以方便实现现场保护。3. 位寻址区RAM位寻址区是布尔处理机数据存储器的主要部分,全部可以位寻址。其字节地址为20H2FH共16个RAM单元,这些RAM单元可按位操作(也可按字节操作)。这16个字节有128位,其位地址为00H7FH,另外,在SFR块中有12个专用寄存器的字节地址能被8整除,这12个SFR的93位具有位寻址功能。这样,位寻址区由128个RAM位与93个SFR位组成,共221位可由布尔指令直接按位操作。4. 用户RAM区用户RAM区也称为数据缓冲区,地址为30H7FH,这些RAM单元按字节寻址。由于8051单片机在复位时,堆栈指针SP指向07H单元,故当用户使用堆栈时,

35、应该首先设置堆栈。用户堆栈一般设在30H7FH范围之内。原则上栈深为128个字节,即以不超过RAM空间为限。对MCS-51子系列而言,实际堆栈空间比128字节小得多,SP设的越大,堆栈就越浅。1.4.3 专用寄存器(SFR)专用寄存器又称为特殊功能寄存器。MCS-51片内的I/O端口锁存器、定时器/计数器,串行口数据缓冲器以及各种控制寄存器(除PC外),都以特殊功能寄存器的形式出现,它们离散地分布在片内80HFFH地址空间范围内。MCS-51共有23个特殊功能寄存器,其中5个是双字节寄存器。程序计数器PC在物理上是独立的,其余22个寄存器都属于片内数据存储器SFR块,共占26个字节。片内特殊功

36、能寄存器SFR能综合地、实时地反映整个单片机内部工作状态及工作方式,因此,它们是极其重要的。对单片机用户来说,掌握各个SFR的工作状态及工作方式,对于对实现单片机系统的控制具有重要意义。这些特殊功能寄存器的标志符、名称和地址如表1-6所示。 标志符 名称 地址*ACC 累加器 0E0H *B B寄存器 0F0H*PSW 程序状态字 0D0HSP 堆栈指针 81HDPTR 数据指针 83H和82H*P0 口0 80H*P1 口1 90H*P2 口2 0A0H*P3 口3 0B0H*IP 中断优先级控制 0B8H*IE 允许中断控制 0A8HTMOD 定时器/计数器方式控制 89H*TCON 定时

37、器/计数器控制 88H+*T2CON 定时器/计数器2控制 0C8HTH0 定时器/计数器0(高位字节) 8CHTL0 定时器/计数器0(低位字节) 8AHTH1 定时器/计数器1(高位字节) 8DHTL1 定时器/计数器1(低位字节) 8BH+TH2 定时器/计数器2(高位字节) 0CDH+TL2 定时器/计数器2(低位字节) 0CCH+RLDH 定时器/计数器2自动再装载(高位字节) 0CBH+RLDL 定时器/计数器2自动再装载(低位字节) 0CAH+SCON 串行控制 98HSBUF 串行数据缓冲器 99HPCON 电源控制 97H表1-6 专用寄存器(除PC外)1. 程序计数器PC程

38、序计数器PC用于存放下一条要执行指令的地址,是一个16位专用寄存器,寻址范围64KB,PC在物理结构上是独立的,不属于特殊功能寄存器SFR块。2. 累加器A累加器A是一个最常用的专用寄存器,系统运转时工作最频繁,大部分单操作数指令的操作数取自累加器A,很多双操作数指令的一个操作数取自A;加、减、乘、除算术运算以及逻辑操作指令的结果都存放在累加器A或AB寄存器对中;输入/输出大多数指令都以累加器A为核心操作。指令系统中采用A作累加器的助记符。3. 寄存器B它是一个8位寄存器。一般用于乘除法指令,与累加器A配合使用。寄存器B存放第二操作数,或者乘积的高位字节或除法的余数部分。在其他指令中,可作为中

39、间结果的暂存器使用,相当于RAM中的一个特殊单元。4. 程序状态字PSW程序状态字是一个8位寄存器,用来存放程序的状态信息,表征指令的执行状态,供程序查询和判别之用。其格式如下图所示。MSB LSBCYAC P0RS1RS0OVXP下面说明各位的含义。 (1)CY(PSW.7):进/借位标志在执行加/减法指令时,如果操作结果的D7位有进/借位,则CY置“1”,否则清“0”。在布尔处理机中被定义为布尔(位)累加器。(2)AC(PSW.6):辅助进位标志或称为半进位,当进行加法操作而产生由低4位向高4位数进位时,AC将被硬件直“1”,否则被清“0”。AC被用于BCD码加法调整。(3)F0(PSW.

40、5):标志0由用户定义的一个状态标志。可以用软件来使它置“1”或清“0”,也可以由软件测试F0来控制程序流向。(4)RS1,RS0(PSW.4,PSW.3):工作寄存器区选择控制位可由软件来改变RS1和RS0的组合以确定当前使用的工作寄存器区。(5)OV(PSW.2):溢出标志用于补码运算,以指示溢出状态。(6)P:(PSW.0)奇偶标志每个指令周期都由硬件来置位或清“0”,以表示累加器A中植“1”的位数的奇偶性。若P=1,则A中“1”的位数为奇数,否则P=0。该标志对串行数据通信中的信息传输有重要意义。在串行数据通信中,常用奇偶校验的方法来检验数据传输的可靠性。在发送时可根据P值对数据的奇偶

41、位置位或清“0”。5. 堆栈指针SP它是一个8位寄存器,用来存放栈顶地址。MCS-51堆栈设在内部RAM中,是一个按“先进后出”顺序受SP管理的存储区域。在程序中断、子程序调用等情况下,用于存放一些特殊信息。当数据压入堆栈时,SP就自动加“1”;当数据从堆栈中弹出时,SP就自动减“1”。因而SP指针始终指向栈顶。MCS-51堆栈深度为128个字节,系统复位时硬件使SP=07H。堆栈在内部RAM区中的位置可根据程序要求由对SP灵活编程来安排。6. 数据指针DPTR是一个16位专用寄存器,其高字节寄存器用DPH表示,低字节寄存器用DPL表示。既可作为16位寄存器(DPTR)使用,又可作为两个独立的

42、8位寄存器(DPH、DPL)来使用。DPTR主要用来保存16位地址,当对64KB外部数据存储器RAM空间寻址时,作间址寄存器用,以指向外部数据存储器地址。这时有两条传送指令MOVX A、DPTR和MOVX DPTR、A。该指针也可以用来访问程序存储器内的表格常数。 7. I/O端口P0P3专用寄存器P0、P1、P2和P3分别是I/O端口P0P3的锁存器。8. 串行数据缓冲器SBUF串行数据缓冲器SBUF用于欲发送或已接收的数据。它由两个独立的寄存器组成,一个是发送缓冲器,一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器;当要从SBUF取数据时,则取自接收缓冲器,取走的是刚刚接

43、收到的数据。9. 定时器/计数器MCS-51子系列中有2个16位定时器/计数器T0和T1,MCS-52子系列则增加了一个16位定时器/计数器T2。它们各由2个独立的8位寄存器组成,共分为6个独立的寄存器:TH0、TL0、TH1、TL1、TH2和TL2。可以对这6个寄存器寻址,但不可以把T0、T1和T2当作一个16位寄存器来对待。10. 其他控制寄存器IP、IE、TMOD、TCON、T2CON、SCON和PCON寄存器分别包括有系统中断设定、定时器/计数器工作设定、串行口和供电方式的控制及状态位等信息。第二章 MCS-51单片机系统扩展及接口技术 虽然MCS-51单片机芯片内部集成了计算机的基本

44、功能部件,但由于片内ROM、RAM的容量、I/O端口和定时器/计数器数量等是有限的,在许多的实际应用系统中,还需扩展片外EPROM、RAM、I/O口以及定时器/计数器等,才能满足实际需要。系统扩展就是指单片机内部各功能部件不能满足应用系统的要求,在片外连接相应的外围芯片,对MCS-51单片机的功能进行扩展以满足应用要求。本章将讨论系统的扩展方法以及接口技术。2.1 程序存储器的扩展单片机在原理设计上,程序存储器和数据存储器的地址空间是相互独立的,扩展用的程序存储器芯片大多采用EPROM,最大可扩展到64K字节,外部程序存储器芯片与单片机的连接方法如下:1地址线 程序存储器的低8位地址线(A0A

45、7)与P0口(P0.0P0.7)相连。程序存储器的高8位地址线(A8A15)与P2口(P2.0P2.7)相连。 由于单片机的P0口分时输出低8位地址和数据,故必须外加地址锁存器,并由CPU发出的地址锁存允许信号ALE的下降沿将地址信息锁存到锁存器中。单片机的P2口一般作为高位地址线及片选线,由于F2口输出具有锁存功能,故不必外加地址锁存器。2数据线 程序存储器的8位数据线与P0口(P0.0P0.7)从低到高对应相连。3控制线 程序选通有效信号PSEN端与程序存储器的输出使能端OE相连。地址锁存允许信号ALE通常接至地址锁存器的锁存控制端G。 图2.1为系统扩展一片27256(32K字节)的系统

46、。图中地址锁存器采用74HC573(三态输出8D锁存器),三态控制端OC接地,保证输出常通,锁存控制端C与ALE相连。图中27256的片选端CE接地,输出使能端OE受PSEN的控制。该27256所占的地址空间为0000H7FFFH。图2.1 程序存储器与数据存储器的扩展2.2 数据存储器的扩展在MCS-51系列单片机中,片内数据存储器容量一般为128256字节,当数据量较大时,就需在片外扩展RAM数据存储器,扩展容量最大可达64K字节。单片机与数据存储器的连接方法和单片机与程序存储器的连接方法大致一样,即:地址线、数据线的连接与程序存储器的连法一样。控制线的连接为:存储器读允许信号OE与单片机

47、RD相连,存储器写允许信号WE与单片机WR相连,ALE的连接与程序存储器相同。以上看出,由于数据存储器的读和写由单片机的RD和WR控制,而程序存储器的读选通由冈冠N控制,故两者虽共有同一地址空间,但由于控制信号不同,故不会发生总线冲突。 该数据存储器采用的是,如图2.1所示。它的片选是由16V8译码器所控制的,当选中U51/CS1时,这个片子被选中,开始正常工作。它的寻址范围是128K,AA16,AA15由80C31的P1.0和P1.1引脚所决定的,寻址范围如表2-1所示:AA16(引脚P1.1)AA15(引脚P1.0)寻址范围0064K01 64K1064K1164K表2-1 引脚寻址范围

48、2.3 I/O口的扩展一、 概述在MCS-51应用系统中,单片机本身提供给用户使用的输入、输出口线并不多,对片内有ROM/EPROM的8051/8751,若无须扩展外部存储器,则有4个8位口(P0P3)可作为通用I/O口使用。而对于8031单片机来说,因其P0口和P2口必须用作外部程序存储器的地址线,而不能直接用来作为输入/输出口,故只有P1口和P3口的一部分口线可直接用作输入/输出口。因此,在大部分的MCS-51单片机应用系统设计中,都不可避免地要进行I/O口的扩展。由于MCS-51单片机的外部数据存储器RAM和I/O口是统一编址的,因此,用户可以把外部64K字节的数据存储器RAM空间的一部

49、分作为扩展外部I/O口的地址空间。这样,单片机就可以像访问外部RAM一样访问外部接口芯片,对其进行读写操作。二、地址译码法 由于外部I/O接口芯片与外部数据存储器是统一编址的,共占用16根地址线,P2口提供高8位地址,P0口提供低8位地址。为了唯一地选中外部某一存储单元(I/O接口芯片作为数据存储器的一部分),必须进行两种选择:首先是选择出该存储器芯片(或I/O接口芯片),称为片选;其次是选择出该芯片的某一存储单元(或I/O接口芯片的寄存器),称为字选。常用的选址方法有线选法和地址译码法。1线选法 若系统只扩展少量的外部RAM和I/O接口芯片,一般都采用线选法。所谓线选法就是把单独的地址线接到

50、某一个外接芯片的片选端,只要这一位地址线为低电平,就选中该芯片。图2.2为一个线选法的例子。图中有的芯片除了片选地址外,还有片内地址,而片内地址是由低位地址线进行译码选择的,根据图2.2的连接方法,各芯片的地址编码如表2-2所示。图2.2 线选法连接图表2-2 图2.2的地址编码图2.2中,6116内部有2K字节,需占用11根地址线,故其片选线只能选择P2.3以上的高位地址线。MCS-51单片机发出的16位地址码中,既包含了字选控制又包含了片选控制。而片选控制线任一时刻只能有一条线为低电平,以保证该时刻只有一片芯片工作,否则将会出错。2地址译码法 对于RAM和I/O容量较大的应用系统,当芯片所需的片选信号多于可利用的地址线时,可采用地址译码法。地址译码法用译码器对高位地址线进行译码,译出的信号作为片选信号,用低位地址线选择芯片的片内地址。该系统采用16V8译码器为I/O作选择。具体电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论