中北大学信息商务学院2012届毕业论文
图3.12 AT89C51的内部结构图
3.2.6.2 AT89C51性能简介 (1)主要性能
? 与MCS-51产品指令系统完全兼容;
? 片内集成4kB的FLASH存储器,可反复编程/擦除1000次; ? 数据保留时间:10年;
? 全静态设计,时钟频率范围为0~24MHz、33MHz; ? 三个程序存储器保密位; ? 128×8字节的内部RAM; ? 32条可编程的I/O口线;
? 2个可工作于4种模式的16位定时/计数器; ? 5个中断源/2个中断优先级;
? 可编程串行通道;具有4种工作模式的全双工串行口;
第21页 共40页
中北大学信息商务学院2012届毕业论文
? 低功耗的待机工作模式和掉电工作模式; ? 片内振荡器和时钟电路; (2)管脚说明
图3.13 AT89C51引脚图
VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8 TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4 TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行
第22页 共40页
中北大学信息商务学院2012届毕业论文
存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3 口也可作为AT89C51的一些特殊功能口,P3口管脚备选功能: P3.0 RXD(串行输入口); P3.1 TXD(串行输出口); P3.2INTO(外部中断0); P3.3 INT1(外部中断1); P3.4 T0(计时器0外部输入); P3.5 T1(计时器1外部输入); P3.6 WR(外部数据存储器写选通); P3.7 RD(外部数据存储器读选通);
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器读取指令期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的
第23页 共40页
中北大学信息商务学院2012届毕业论文
PSEN信号将不出现。
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),EA/VPP:
不管是否有内部程序存储器。注意加密方式1时,当EAEA将内部锁定为RESET;端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 (3)振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(4)芯片擦除
整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
(5)编程算法
? 地址线上输入欲编程的存储单元地址; ? 在数据线上输入编程数据; ? 加正确的控制信号组合;
? 在“高压”模式下使VPP为12V;
? 在ALE引脚上加一次负脉冲,可对FLASH存储器的一个字节或保密位进行编程,编程一个字节的周期是内部自定时的,典型时间不会超过1.5ms。改变编程的存储单元地址和编程数据重复步骤(1)~(5),直到编程文件最后。此外,AT89C51设有稳态逻辑,可以在零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作,但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
第24页 共40页
中北大学信息商务学院2012届毕业论文
3.2.7 D/A转换电路
经AT89C51单片机采集的数据,可以通过D/A转换电路将采集的数据以模拟信号的形式输出,给人提供直观的分析结果。本电路采用一片AD7542模数转化器和两片OP10AY组成。
1.AD7542是美国模拟器件公司设计生产的精密12位单片CMOS数字/模拟变换器,它采用先进薄膜工艺制造而成,具有乘法特性、低功耗、+5V工作以及易与单片机接口等特性。图2所示是AD7542的内部原理框图,该D/A转换器由三个4位数据寄存器、一个12位DAC寄存器、地址译码逻辑和一个12位CMOS乘法型DAC组成。数据以三个4位字节方式装入数据寄存器,随后传送到12位DAC寄存器。全部数据的装入或传送操作与静态随机存取存储器的写周期操作相同,当器件通电时,清零信号输入可使DAC寄存器容易地复位到全零[13]。 AD7542的引脚定义如下:
图3.14 AD7542的引脚图及内部结构 OUT1:DAC电流输出总线,一般接在运算放大器输入端; OUT2:DAC电流输出总线,一般接地;
D0~D3:数字输入端,D3是最高有效位(MSB),D0是最低有效位(LSB); CS:片选输入; WR:写输入端; A0、A1:地址总线输入;
VDD:+5V电源输入;
VREF:参考电压输入; RFB:反馈电阻;
第25页 共40页