2.1整体方案设计
读卡器母版的结构框图如图所示:
本课题设计一个读卡器母版电路,主要功能是为读卡器提供电源和通信接口,并提供与中继器通信的CAN接口及其他附属功能模块。通过89S52系列的CPU对各个电路功能模块进行控制,包括:CAN接口硬件电路、CC2430通信接口电路、RS232串口通信接口电路、数码管显示电路、蜂鸣器、LED指示灯、音频接口电路、实时时钟电路、串行寄存器电路等。 该母版电路可以实现的具体功能有:在8位at89s52最小系统7段数码管上显示时间(工人的出勤时间、迟到\早退时间记录、未出勤时间和通过读卡器的时间)和工人工卡(识别卡)的卡号;把收集到的井下人员具体信息(如:是谁,在哪个具体位置,具体时间)通过CAN通信接口电路上传给PC机,并将信息存储在串行寄存器中;当安全事故发生时,能及时发出声光报警信号,并通过音频电路及时地向工人做出正确的指示,使工人能够迅速安全的撤离危险区域;通过RS232串口通信接口实现读卡器与主控机之间的信息交流,使主控机能够对读卡器做出正确的控制操作;能够为各个功能模块供电,特别是为RF读卡器模块提供3.3V的直流电源。
电路原理图见附件1所示。
单片机诞生于20世纪70年代末,经历了SCM(单片微型计算机)、MCU(微控制器)、SoC三大阶段。单片机(“单片机微型计算机”的简称),又称为微控制器,是一种大规模集成电路芯片,是集中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口和中断系统等于同一硅片的器件,主要功能是负责整个系统的控制。 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,一般由晶振时钟电路、复位电路、电源、CPU组成。常用的单片机芯片有:(1)ATMEl AT89、AT90系列单片机。ATMEl流程工业在线公司的8位单片机芯片有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片。(2)PHLIPIS 51PLC系列单片机。PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。(3)STC单片机。STC公司的单片机主要是基于8051内核,是新一代增强型单片机,速度快8~12倍,带ADC,4路PWM,有全球唯一ID号,加密性好,
抗干扰强。根据读卡器母版的设计要求,设计单片机最小系统,在此设计中,我选用的是AT89S52(S系列芯片支持ISP下载功能)作为读卡器母版电路的MCU。
电路原理图如图所示:
单片机最小系统电路原理图
2.2.1 AT89S52芯片简介
1.概述
AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
2.管脚配置
AT89S52引脚图如图所示。
彩油墨主要引脚功能如下所述:
VCC(40脚):供电+5V电源。
GND(20脚):接地。
P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 AT89S52引脚图
P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2局域表面等离子体共振的触发输入(P1.1/T2EX)。具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。
引脚号 | 第二功能 |
P1.0 | T2(定时器/计数器T2的外部计数输入),时钟输出 |
P1.1 | T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) |
P1.5 | MOSI(在系统编程用) |
P1.6 | MISO(在系统编程用) |
P1.7 | SCK(在系统编程用) |
| |
P1口引脚第二功能
P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表所示。在flash编程和校验时,按钮指示灯P3口也接收一些控制信号。
引脚号 | 第二功能 |
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(外部数据存储器读选通) |
| |
表2:P3口引脚第二功能
结晶器铜管RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
ALE//PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(/PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”, ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。