能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。
特殊功能寄存器:并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。
用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。
定时器 2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。
中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。定时器 0 和定时器1在AT89S52 中,定时器0 和定时器1 的操作与AT89C51 和AT89C52 一样。为了获得更深入的关于UART 的信息,选择“Products”,然后选择“8051-Architech Flash Microcontroller”,再选择“ProductOverview”即可。
定时器 0 和定时器1:在AT89S52 中,定时器0 和定时器1 的操作与AT89C51 和AT89C52 一样。为了获得更深入的关于UART 的信息,选择“Products”,然后选择“8051-Architech Flash Microcontroller”,再选择“ProductOverview”即可。
定时器 2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。如
11
表3 所示,工作模式由T2CON中的相关位选择。定时器2 有2 个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成. 通过T2CON中的EXEN2来选择两种方式。如果EXEN2=0,定时器2时一个16位定时/计数器,溢出时,对T2CON 的TF2标志置位,TF2引起中断。如果EXEN2=1,定时器2做相同的操作。除上述功能外,外部输入T2EX引脚(P1.1)1至0的下跳变也会使得TH2和TL2中的值分别捕捉到RCAP2H和RCAP2L中。除此之外,T2EX 的跳变会引起T2CON 中的EXF2 置位。像TF2 一样,T2EX 也会引起中断。捕捉模式如图5所示。在计数工作方式下,寄存器在相关外部输入角T2 发生1 至0 的下降沿时增加1。在这种方式下,每个机器周期的S5P2期间采样外部输入。一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1。在检测到跳变的这个周期的S3P1 期间,新的计数值出现在寄存器中。因为识别1-0的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。自动重载当定时器2 工作于16 位自动重载模式,可对其编程实现向上计数或向下计数。这一功能可以通过特殊寄存器T2MOD(见表4)中的DCEN(向下计数允许位)来实现。通过复位,DCEN 被置为0,因此,定时器2 默认为向上计数。DCEN 设置后,定时器2就可以取决于T2EX向上、向下计数。DCEN=0 时,定时器2 自动计数。通过T2CON 中的EXEN2位可以选择两种方式。如果EXEN2=0,定时器2计数,计到0FFFFH后置位TF2溢出标志。计数溢出也使得定时器寄存器重新从RCAP2H 和RCAP2L 中加载16 位值。定时器工作于捕捉模式,RCAP2H和RCAP2L的值可以由软件预设。如果EXEN2=1,计数溢出或在外部T2EX(P1.1)引脚上的1到0的下跳变都会触发16位重载。这个跳变也置位EXF2中断标志位。T2EX 上的一个逻辑0 使得定时器2 向下计数。当TH2 和TL2 分别等于RCAP2H 和RCAP2L中的值的时候,计数器下溢。计数器下溢,置位TF2,并将0FFFFH加载到定时器存储器中。置位DCEN,允许定时器2向上或向下计数。在这种模式下,T2EX引脚控制着计数的方向。T2EX上的一个逻辑1使得定时器2向上计数。定时器计到0FFFFH溢出,并置位TF2。定时器的溢出也使得RCAP2H和RCAP2L中的16位值分别加载到定时器存储器TH2和TL2中。定时器2上溢或下溢,外部中断标志位EXF2 被锁死。在这种工作模式下,EXF2不能触发中断。
中断源:AT89S52 有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定
12
时器0、1、2)和一个串行中断。这些中断每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0 和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位TF2 在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。各控制位功能如下表4.2所示。 中断允许控制寄存器(IE)(MSB) (LSB) 中断允许控制位=1,允许中断 中断允许控制位=0,禁止中断
表4.2 控制位功能
符号 位地址 功能 中断总允许控制位。EA=0,中断总禁止;EA=1,各中断 EA ET2 ES ET1 EX1 ET0 EX0
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 由各自的控制位设定 预留 定时器2中断允许控制位 串行口中断允许控制位 定时器1中断允许控制位 外部中断1允许控制位 定时器0中断允许控制位 外部中断0允许控制位 13
4.2 超声波发射电路
超声波由发射电路产生。通过电路产生一个27MHZ大小的方波。发射电路如图4.2。发射电路主要有反向器和超声波换能器构成,AT89S52单片机在P1.0口产生方波,由单片机产生的发射脉冲信号。一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电可极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度、增强驱动能力,输出端采用两个反向器并联,用于提高驱动能力。这样,两倍的反向器输出电压施加在传感器上。超声波传感器将输入的电信号转换为超声波信号传输出去,电容C可以除去直流分量,压电式超声波换能器是利用压电晶体的谐振来工作的。
图4.2 发射电路
4.3 超声波检测接收电路
超声波接收电路包括一个放大电路,以更好的接受反射回来的超声波。如图4.3所示,为超声波检测接收电路。
图4.3 接收电路
14
4.5 PROTUES仿真硬件电路图
15
4.4 超声波测距系统的显示电路设计
图4.4 LCD驱动控制电路
器T1记录的时间间隔由公式计算得出所测距离,传送至LCD显示。
硬件仿真电路如下图4.5所示,首先由555电路产生40KHz的方波,经过74LS160
电路进行100进制计数产生下降沿,下降沿触发AT89S52产生IT0中断,根据定时
12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128x64全点阵液晶显示器组成。可完成图形显示,也可以显示8x4(16x16点阵)汉字。如下图4.4所示:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库超声波传感器测距离(3)在线全文阅读。
相关推荐: