基于at89c52单片机的交通灯控制系统设计(外文翻译)内容摘要:

. Setting the DCEN bit enables Timer 2 to count up or down, as shown in Figure 3. In this mode, the T2EX pin controls the direction of the count. A logic 1 at T2EX makes Timer 2 count up. The timer will overflow at 0FFFFH and set the TF2 bit. This overflow also causes the 16bit value in RCAP2H and RCAP2L to be reloaded into the timer registers, TH2 and TL2, respectively. A logic 0 at T2EX makes Timer 2 count down. The timer underflows when TH2 and TL2 equal the values stored in RCAP2H and RCAP2L. The underflow sets the TF2 bit and causes 0FFFFH to be reloaded into the timer registers. The EXF2 bit toggles whenever Timer 2 overflows or underflows and can be used as a 17th bit of resolution. In this operating mode, EXF2 does not flag an interrupt. 外文资料译文: 8 位 8 字节闪存单片机 AT89C52 主要性能  与 MCS51单片机产品兼容  8K字节在系统可编程 Flash 存储器  1000 次擦写周期  全静态操作: 0Hz~ 24Hz  三级加密程序存储器  2568 位内部存储器  32个可编程 I/O 口线  三个 16 位定时器 /计数器  八个中断源  可编程串行通道  低功耗空闲和掉电模式 功能特性描述 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 内置可编程闪存。 产品使用了 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 和80C52 产 品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 引脚结构 方框图 VCC : 电源 GND : 地 P0 口: P0 口是一个 8 位漏极开路的双向 I/O 口。 作为输出口,每位能驱动8个 TTL 逻辑电平。 对 P0 端口写“ 1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, P0 口也被作为低 8位地址 /数据复用。 在这种模式下, P0具有内部上拉电阻。 在 flash 编程时, P0 口也用来接收指令字节;在程序校验时,输出指令字节。 程序校验时,需要外部上拉电阻。 P1 口 : P1 口是一个具有内部上拉电阻的 8位双向 I/O 口, P1 输出缓冲器能驱动 4个 TTL 逻辑电平。 对 P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 此外, 和 分别作定时器 /计数器 2 的外部计数输入( )和时器 /计数器 2 的触发输入( ),具体如下表所示。 在 flash编程和校验时, P1口接收低 8位地址字节。 P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2输出缓冲器能驱动 4个 TTL 逻辑电平。 对 P2端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 在访问外部程序存储器或用 16位地址读取外部数据存储器(例如执行 MOVX @DPTR)时, P2口送出高八位地址。 在这种应用中, P2口使用很强的内部上拉发送 1。 在使用 8位地址(如 MOVX @RI)访问外部数据存储器时, P2口输出 P2锁存器的内容。 在 flash编程和校验时, P2口也接收高 8位地址字节和一些控制信号。 P3 口: P3口是一个具有内部上拉电阻的 8 位双向 I/O 口, p2输出缓冲器能驱动 4个 TTL 逻辑电平。 对 P3端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3口亦作为 AT89S52特殊功能(第二功能)使用,如下表所示。 在 flash编程和校验时, 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 位)的设置对微控制器处于外部执行模式下无效。 PSEN :外部程序存储器选通信号( PSEN )是外部程序存储器选通信号。 当 AT89S52从外部程序存储器执行外部代码时, PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEN 将不被激活。 EA /VPP:访问外部程序存储器控制信号。 为使能从 0000H 到 FFFFH的外部程序存储器读取指令, EA 必须接 GND。 为了执行内部程序指令, EA 应该接 VCC。 在 flash编程期间, EA 也接收 12伏 VPP电压。 XTAL1:振荡 器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 特殊功能寄存器 如图 1中所示的存储器区域称为特殊功能寄存器。 应该注意到,并不是所有的地址都会被定义,单片机中那些没有被定义的地址是无效的。 读访问这些地址一般会返回随机数据,写访问这些地址则会产生一个不确定的影响。 用户软件不应将那些没有被列举出来的地址置 1。 在这种情况下,复位后这些单元数值总是 0。 定时 /计数器 2 定时 /计数器 2的控制和状态位位于 T2CON和 T2MOD。 寄存器 对( RCAO2H、RCAP2L)是 定时器 2在 16位捕获方式或 16位自动重装载方式下的捕获 /自动重装载寄存器。 中断寄存器 所有单独的中断允许位都存在于中断允许寄存器 IE中。 中断优先级寄存器IP可以为六个中断源设置两个中断优先级。 数据存储器 AT89C52 实现 256 字节片上 RAM。 高 128 个字 节与 特殊功能寄存器 ( SFR)地址是重叠的 , 也就是 高 128 字节的 RAM 和特殊功能寄存器的地址是相同的 ,但物理上它们是分开的。 当一条指令访问 7FH 以上的内部地址单元时,指令中使用的 寻址方式 是不同的,也即寻址方式决定是访问高 128 字节 RAM 还 是访问特殊功能寄存器。 如果指令是 直接寻址方式 则为访问特殊功能寄存器。 例如,下面的 直接寻址 指令访问特殊功能寄存器 0A0H(即 P2 口)地址单元。 MOV 0A0H, data 间接寻址 指令访问高 128 字节 RAM,例如,下面的间接寻址指令中, R0 的内容为 0A0H,则访问数据字节地址为 0A0H, 而不是 P2 口( 0A0H)。 MOV @R0, data 堆栈 操作也是间接寻址方式,所以,高 128 位数据 RAM 亦可作为堆栈区使用。 定时器 0/定时器 1 AT89C52 的 定时器 0和定时器 1 的工作方式与 AT89C51 相同。 定时器 2 定时器 2 是一个 16位定时 /计数器。 它既可当定时器使用,也可作为外部事件计数器使用 , 其工作方式由特殊功能寄存器 T2CON(如表 3)的 C/T2 位选择。 定时 器 2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波 特率发生器方式,工作方式由 T2CON 的控制位来选择。 定时器 2 由两个 8位寄存器 TH2 和 TL2 组成 ,在定时器工作方式中,每个 机器周期 TL2 寄存器的值加 1,由于一个机器周期由 12 个振荡时钟构成,因此 , 计数速率为振荡频率的 1/12。 RCLK +TCLK CP/RL2 TR2 MODE 0 0 1 16bit Autoreload 0 1 1 16bit Capture 1 X 1 Baud Rate Generator X X 0 (Off) 在计数工作方式时,当 T2 引脚上外部输入信号产生由 1 至 0的下降沿时,寄存器的值加 1,在这种工作方式下,每个机器周期的 5SP2 期间,对外部输入进行采样。 若在第一个机器周期中采到的值为 1,而在下一个机器周期中采到的值为 0,则在紧跟着的下一个周期的 S3P1 期间寄存器加 1。 由于识别 1至 0 的跳变需要 2个机器周期( 24个振荡周期),因此,最高计数速率为振荡频率的 1/24。 为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。 捕获方式: 在捕获方式下,通过 T2CON 控制位 EXEN2 来选择两种方式。 如果 EXEN2=0,定时器 2是一个 16 位定时器或计数器 , 计数溢出时,对 T2CON 的溢出标志 TF2置位,同时激活中断。 如果 EXEN2=1,定时器 2完成相同的操作,而当 T2EX 引脚外部输入信号发生 1 至 0负跳变时,也出现 TH2 和 TL2 中的值分别被捕获到RCAP2H 和 RCAP2L 中。 另外, T2EX 引脚信号的跳变使得 T2CON 中的 EXF2 置位,与 TF2 相仿, EXF2 也会激活中断。 自动重装载(向上或向下计数器)方式: 当定时器 2工作于 16 位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过 特殊功能寄存器 T2CON 的 DCEN 位(允许向下计数)来选择的。 复位时, DCEN 位 置 “0” ,定时器 2 默认设置为向上计数。 当 DCEN 置位时,定时器 2既可向上计数也可向下计数,这取决于 T2EX 引脚的值。 当 DCEN=0 时,定时器 2自动设置为向上计数,在这种方式下, T2CON 中的EXEN2 控制位有两种选择,若 EXEN2=0,定时器 2为向上计数至 0FFFFH 溢出,置位 TF2 激活中断,同时把 16 位计数寄存器 RCAP2H 和 RCAP2L 重装载, RCAP2H 和 RCAP2L 的值可由 软件 预置。 若 EXEN2=1,定时器 2 的 16位重装载由溢出或外部输入端 T2EX 从 1 至 0的下降沿触发。 这个脉冲使 EXF2 置位,如果中断允许,同样产生中断。 定时器 2 的中断入口地址是: 002BH —— 0032H。 当 DCEN=1 时,允许定时器 2 向上或向下计数,如图 6所示。 这种方式下,T2EX 引脚 控制计数器方向。 T2EX 引脚为逻辑 “1” 时,定时器向上计数, 当计数0FFFFH 向上溢出时,置位 TF2,同时把 16 位计数寄存器 RC。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。