数字示波器的硬件设计与实现
图3-4 显示模块接线图 低功耗的工作模式有空闲模式和掉电模式; 串行口是具有一个全双工的可编程串行通信口; 具有一个数据指针DPTR。 功能特性概述:
AT89C52 提供以下标准功能:片内程序存储内含8KB的FLASH程序存储器,片内数据存储器内含256字节的RAM, 32个I/O口线,3个16 位定时/计数器,中断系统具有8个中断源 6个中断矢量,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.
功能引脚说明: Vcc:电源电压 GND:地
P0:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时.每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)
11
西安交通大学城市学院本科生毕业设计(论文)
和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流(IIL)
与AT89C51不同之处是,P1.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2 )和输入(P1.1/T2EX) , FLASH编程和程序校验期间,Pl接收低8位地址,如下表3-1。
P2口:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“1\,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行
MOVX@DPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
表3-1 P1 引脚的特殊功能
引脚号
功能特性
T2(定时/计数器2外部计数脉冲输入),时钟输出。 T2EX(定时/计数2捕获/重装载触发和方向控制)
P1.0
P1.1
FLASH编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) .
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如表3-2所示:
此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6
数字示波器的硬件设计与实现
输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位.可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 表3-2 p3口的第二功能 端口引脚 第二功能 P3.0 RXD(串行口输入) P3.1 TXD(串行口输出) P3.2 P3.3 INT0(外部中断0) INT1(外部中断1) P3.4 T0(定时/计数0) P3.5 T1(定时/计数1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地).需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端), CPU则执行内部程序存储器中的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压VPP 。 XTA L1:振荡器反相放大器及内部时钟发生器的输入端. XTA L2:振荡器反相放大器的输出端。 特殊功能寄存器:
13
西安交通大学城市学院本科生毕业设计(论文)
在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE ) , SFR的地址符号及复位 如表3-3所示。
表3-3 AT89C52 SFR 符号及复位状态
地址 80H 88H P0 11111111 TCON 00000000 90H 98H 0A0H 0A8H 0B0H 0B8H 0C0H 0C8H P1 11111111 SCON 0000000 P2 11111111 IE 0*000000 P3 11111111 IP **000000 T2CON 00000000 0D0H 0D8H 0E0H 0E8H 0F0H 0F8H T2MOD **000000 RCAP2L 00000000 RCAP2H 00000000 TL2 00000000 TH2 00000000 SBUF ******** SP 00000111 TMOD 00000000 TL0 00000000 符号及复位 DPL00000000 TL1 000000000 DPH 00000000 TH0 00000000 PCON0***0000 TH1 00000000 PSW 00000000 ACC 00000000 B 00000000 并非所有的地址都被定义,从80H-FFH共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。 不应将数据\写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。 AT89C52除有定时/计数器0和定时/计数器1 外,还有定时/计数和状态位位于T2CON (参见表3-4) T2CON(参见表3-5) ,寄存器对(RCA02H、RCAP2L)是定时器2在16 位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。
相关推荐: