西京学院学士学位论文 致谢 P0.7---P0.0:这8个引脚共有两种不同的功能,分别使用于两种不同的情况。第一种情况是8051不带片外存储器,P0口可以作为通用I/O口使用,P0.7---P0.0用于传送CPU的I/O数据。第二种情况是8051带片外存储器,P0.7---P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。
P2.7---P2.0:这组引脚的第一功能可以作为通用的I/O使用。它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但是并不能像P0口那样还可以传送存储器的读写数据。
P3.7---P3.0:这组引脚的第一功能为传送用户的输入/输出数据。它的第二功能作为控制用,每个引脚不尽相同,如下表所示:
P3口的位 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD TXD INT0 ______注释 串行数据接收口 串行数据发送口 外中断0输入 外中断1输入 计数器0计数输入 计数器1计数输入 外部RAM写选通信号 外部RAM读选通信号 INT1 ______T0 T1 WR _____RD 表1.3 P3口功能表
____ VCC为+5V电源线,VSS为接地线。
ALE/PROG:地址锁存允许/编程线,配合P0口引脚的第二功能使用,在访问片外存储器时,8051CPU在P0.7---P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7---P0.0引脚线去传送随后而来的片外存储器的读写数据。在不访问片外存储器时,8051自动在ALE/PROG线上输出频率为1/6 fOSC的脉冲序列。该脉冲序列可以用作外部时钟
___________________________西京学院学士学位论文 致谢 源或者作为定时脉冲源使用。
____EA / VPP:允许访问片外存储器/编程电源线,可以控制8051使用片内ROM
________还是片外ROM。如果EA=1,那么允许使用片内ROM;如果EA=0,那么允许使用片外ROM。
PSEN:片外ROM选通线,在执行访问片外ROM的指令MOVC时,8051自动
________在PSEN线上产生一个负脉冲,用于片外ROM芯片的选通。其他情况下,PSEN线均为高电平封锁状态。
RST/VPD:复位备用电源线,可以使8051处于复位工作状态。
________________XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反馈电路。石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以便于8051片内的OSC电路按石英晶振相同频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fOSC的目的。
1.2 PWM信号发生电路设计 1.2.1 PWM的基本原理
PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。
如下图所示:
西京学院学士学位论文 致谢
图1.9 时序图
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。
由上面的公式可见,当我们改变占空比 D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。 1.2.2 PWM信号发生电路设计
图1.10 PWM信号发生电路
PWM波可以由具有PWM输出的单片机通过编程来得以产生,也可以采用PWM专用芯片来实现。当PWM波的频率太高时,它对直流电机驱动的功率管要求太高,
西京学院学士学位论文 致谢 而当它的频率太低时,其产生的电磁噪声就比较大,在实际应用中,当PWM波的频率在18KHz左右时,效果最好。在本系统内,采用了两片4位数值比较器4585和一片12位串行计数器4040组成了PWM信号发生电路。
两片数值比较器4585,即图上U2、U3的A组接12位串行4040计数输出端Q2—Q9,而U2、U3的B组接到单片机的P1端口。只要改变P1端口的输出值,那么就可以使得PWM信号的占空比发生变化,从而进行调速控制。
12位串行计数器4040的计数输入端CLK接到单片机C51晶振的振荡输出XTAL2。计数器4040每来8个脉冲,其输出Q2—Q9加1,当计数值小于或者等于单片机P1端口输出值X时,图中U2的(A>B)输出端保持为低电平,而当计数值大于单片机P1端口输出值X时,图中U2的(A>B)输出端为高电平。随着计数值的增加,Q2—Q9由全“1”变为全“0”时,图中U2的(A>B)输出端又变为低电平,这样就在U2的(A>B)端得到了PWM的信号,它的占空比为(255 -X / 255)*100%,那么只要改变X的数值,就可以相应的改变PWM信号的占空比,从而进行直流电机的转速控制。
使用这个方法时,单片机只需要根据调整量输出X的值,而PWM信号由三片通用数字电路生成,这样可以使得软件大大简化,同时也有利于单片机系统的正常工作。由于单片机上电复位时P1端口输出全为“1”,使用数值比较器4585的B组与P1端口相连,升速时P0端口输出X按一定规律减少,而降速时按一定规律增大。
1.2.3 PWM发生电路主要芯片的工作原理
1.芯片4585
(1)芯片4585的用途:
对于A和B两组4位并行数值进行比较,来判断它们之间的大小是否相等。 (2)芯片4585的功能表:
输入 比较 A3、B3 A2、B2 A1、B1 A0、B0 A3>B3 * * * AB 1 AB 1 西京学院学士学位论文 致谢 A3=B3 A2>B2 * * * * * * 0 0 1 * * * * * * 0 1 0 * * * 1 1 1 1 0 0 * * * 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 A3=B3 A2=B2 A1>B1 A3=B3 A2=B2 A1=B1 A0>B0 A3=B3 A2=B2 A1=B1 A0=B0 A3=B3 A2=B2 A1=B1 A0=B0 A3=B3 A2=B2 A1=B1 A0 (3)芯片4585的引脚图: 图1.11芯片4585的引脚图 2.芯片4040 芯片4040是一个12位的二进制串行计数器,所有计数器位为主从触发器,计数器在时钟下降沿进行计数。当CR为高电平时,它对计数器进行清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间没有限制,所有的输入和输出均经过缓冲。 芯片4040提供了16引线多层陶瓷双列直插、熔封陶瓷双列直插、塑料双列直插以及陶瓷片状载体等4种封装形式。 (1)芯片4040的极限值: 电源电压范围:-0.5V—18V