2.1.2 8051单片机简介
1.8051单片机的基本组成
8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。其基本组成如下图所示:
图2-2 8051基本结构图
2.CPU及部分部件的作用功能介绍如下
中央处理器CPU:它是单片机的核心,完成运算和控制功能。 内部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H—7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。
内部程序存储器:8051芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。
定时器:8051片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。
中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。
3.8051单片机引脚图
图2-3 8051单片机引脚图
2
2.1.3 单片机系统中所用其他芯片选型
1.地址锁存器
地址锁存器可以选择多种,有地址锁存功能的器件有74LS373、8282、74LS273等,8282是地址锁存器,功能与74LS373类似,但本系统选用74LS373作为地址锁存器,考虑到其应用的广泛性以及具有良好的性价比,成为目前在单片机系统中应该较广泛的地址锁存器。74LS373片内是8个输出带三态门的D锁存器。
当使能端呈高电平时,锁存器中的内容可以更新,而在返回低电平的瞬间实现锁存。如果此时芯片的输出控制端为低,也即是输出三态门打开,锁存器中的地址信息便可以通过三态门输出。其引脚图如图2-4所示:
2.程序存储器
图2-4 74L373引脚图
存储器是单片机的又一个重要组成部分,其中程序存储器是单片机中非常重要的存储器,但由于其存储空间不足,常常需要对单片机的存储器空间进行扩展,扩展程序存储器常用芯片有EPROM(紫外线可擦除型),如2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)等,另外还有+5V电擦除E2PROM,如2816(2KB)、2864(8KB)等等。考虑到系统功能的可扩展性以及程序功能的扩展,本系统采用16KB的27128作为程序存储器扩展芯片,在满足系统要求的前提下还存有一定的扩展空间,是本系统最合适的程序存储器扩展芯片。27128的引脚图如图2-5所示:
图2-5 27128结构图
3
3.数据存储器
8051单片机有128B RAM,当数据量超过128B也需要把数据存储区进一步扩展。常用RAM芯片分静态和动态两种。静态RAM有6116(2KB)、6264(8KB)等,动态DRAM2164(8KB)等,另外还有集成IRAM和E2PROM。使用E2PROM作数据存储器有断电保护数据的优点。
数据存储器扩展常使用随机存储器芯片,用的较多的是Intel公司的6116容量为2KB和6264容量为8KB。本系统采用容量8KB的6264作为数据存储器扩展芯片。其引脚图如图2-6所示:
图2-6 6264 引脚图 2.1.4 8051单片机扩展电路及分析
图2-7 8051单片机扩展电路及分析
4
接线分析:
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:这组引脚的第一功能为传送用户的输入/输出数据。它的第二功能作为控制用,每个引脚不尽相同。
VCC为+5V电源线,VSS为接地线。 _________ALE/PROG:地址锁存允许/编程线,配合P0口引脚的第二功能使用,在访问片外存储器时,8051CPU在P0.7---P0.0引脚线上输出片外存储器低8位地_________址的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7---P0.0引脚线去传送随后而来的片外存储器的读写数据。 ____/编程电源线,可以控制8051使用片内ROMEA/VPP:允许访问片外存储器________还是片外ROM。如果EA=1,那么允许使用片内ROM;如果EA=0,那么允许使用片外ROM。
XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反馈电路。石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以便于8051片内的OSC电路按石英晶振相同频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fOSC的目的。
2.1 PWM信号发生电路设计 2.2.1 PWM的基本原理
PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内―接通‖和―断开‖时间的长短。通过改变直流电机电枢上电压的―占空比‖来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为―开关驱动装臵‖。如图2-8所示:
图2-8 PWM方波
5
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。
由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。 2.2.2 PWM信号发生电路设计
图2-9PWM信号发生电路
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的信号,它的占空比为
6