单片机系统的设计 The Standardization Office was revised on the afternoon of December 13, 2020第4章 单片机系统的设计引言用V/F 变换器作A/D 转换时,通常由一些硬件电路如振荡器、二分频器、计数器和门电路组成,而由计数器计得的计数值即A/D 转换结果再通过接口电路送入微计算机进行处理,较为复杂和不便,或者采用F/BCD 变换电路将V/F 变换器输出的频率信号变为BCD 码再通过接口电路送入微计算机,也较为复杂,而且还要对BCD 码进行变换。
这些方法成本都较高。
本设计介绍一种以单片机直接与V/F 变换器接口进行A/D 转换的方法,不须额外的硬件电路,完全利用单片机内部的硬件资源,简单方便,成本最低,大大地提高了V/F 变换器作为A/D 转换电路的可行性。
当前,单片机特别是Intel 公司的MCS-51系列单片机已在智能仪器仪表和过程控制等方面得到广泛应用,大有取代Z80之势,因此A/D 转换电路与单片机的接口方法也是人们所关注的。
下面将主要介绍MCS-51系列的单片机8031为主控器件的硬件电路。
主控器Intel 8031简介P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL 1XTAL 2V SS RST/VPD RXD TXD T0T10INT P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.01INT WRRD EA /V P PALEV CCPSEN403938373635343332313029282726252423222120191817161514131211109876543218031P1.0图4-1 8031引脚图 8031 cite-feet figure根据应用系统功能要求,考虑低成本、小体积等因素,本设计采用Intel8031单片微计算机。
Intel 8031是MCS-51系列单片机目前使用最多的一种基本产品,在它的内部包括一个8位的CPU,128个字节的RAM,21个特殊功能寄存器(SFR),4个8位并行I/O口,1个全双工的串行口,2个16位的定时器、计数器。
但Intel 8031片内无程序存储器,因此,必须外扩EOPROM芯片存放用户程序。
Intel 8031的引脚配置如图4-1所示,40条引脚按功能来分,可分为三部分。
Intel 8031的引脚电源及时钟引脚包括电源引脚V CC、V SS,时钟引脚XTAL1、XTAL2。
电源引脚接入单片机的工作电源。
V CC(40脚):接+5 V电源;V SS(20脚):接地。
时钟引脚外接晶体时与片内的反相放大器构成一个振荡器,它提供单片机的是时钟控制信号。
时钟引脚也可外接晶体振荡器。
XTAL1(19脚):接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端。
当采用外接晶体振荡器时,此引脚外接地。
XTAL2(18脚):接外部晶体的另一端在单片机内部接至反相放大器的输出端。
若采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。
控制引脚包括RESET(即RST)、ALE、PSEN、EA,此类引脚提供控制信号,有些引脚具有复杂功能。
(1)RST/VPD(9脚) 当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(RST)。
复位后应使此引脚电平为≤ V的低电平,以保证单片机正常工作。
掉电期间,此引脚可接上备用电源(VPD),以保值内部RAM中的数据不流失。
当V CC下降到低于规定值,而VPD在其规定的电压范围内(5±)时,VPD就向内部RAM提供备用电源。
(2)ALE/PROG(30脚) 当单片机访问外部存储器时,ALE(地址锁促允许)输出脉冲的下降沿用于锁存16位地址的低8位。
即使不访问外部存储器,ALE端有周期性正脉冲输出,其频率为振荡器频率的1/6。
但是,每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。
ALE端可以驱动8个TTL负载。
对于片内具有EPROM型的单片机8751,在EPROM编程期间,此引脚用于输入编程脉冲PROG。
(3)PSEN(29脚) 此输出为单片内访问外部程序存储器的读选通信号。
在从外部程序存储器取指令(或常数)期间,每个机器周期PSEN信号将不出现。
PSEN同样可以驱动8个TTL负载.(4)EA /V PP(31脚) 当EA端保持高电平时,单片机访问内部程序存储器,但在PC(程序计数器)值超过OFFFH时,将自动转向执行外部程序存储器内的程序。
当EA端保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。
对8031来说,因其无内部程序存储器,所以该脚必须接地,这样只能选择外部程序存储器。
输入/输出引脚输入/输出(I/O)口引脚包括P0口、P1口、P2口和P3口。
(1)P0口(~)双向8位三态I/O口,此口为地址总线低8位及数据总线分时复用口,可带8个LS TTL负载。
(2)P1口(~)8位准双向I/O口(作为输入时,口锁存器置1),可带4个LS TTL负载。
(3)P2口(~)8位准双向I/O口,与地址总线高8位复用,可驱动4个LS TTL负载。
(4)P3口(~)8位准双向I/O口,为双功能复用口,可带4个LS TTL负载。
Intel 8031的内部结构单片机8031内部总体结构如图4-2所示。
按功能划分,它由8个部分组成,即微处理器(CPU)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、I/O口、(P0口、P1口、P2口、P3口)、串行口、定时器/计数器及中断系统,它们是通过片内单一总线连接起来的。
由于本设计选用的单片机为8031,所以它的片内无程序存储器。
考虑到本设计的需要下面仅对8031的时钟和复位电路、存储器的扩展作详细的介绍。
XTAL1XTAL2CCSS图4-2 8031单片机内部总体结构Collectivity structure of SCM 8031Intel 8031的时钟和复位电路(1)8031的时钟可以由内部方式或外部方式产生。
内部方式的时钟电路如图4-3(a)所示,利用8031内部的振荡电路,并在XTAL1和XTAL2两引脚间外接晶体以及电容CX1和CX2可以在20~100pF之间选择,电容的大小对振荡频率有微小影响,可起频率微调作用。
外部方式的时钟电路如图4-3(b)所示,XTAL1接地,XTAL2接外部振荡器。
外部振荡器的振荡信号应为低于12MHz的方波信号。
为保证XTAL1的电平为TTL逻辑,故外接一个~10kΩ的上拉电阻。
外部振(a)(b)图4-3 8031时钟电路Clock circuit of SCM 8031(a)内部方式时钟电路;(b)外部方式时钟电路(a) Inside mode clock circuit;(b) Exterior mode clock circuit(2)8031的复位方式通常有上电自动复位和按钮复位两种,上电复位电路原理如图4-4(a)所示,而图4-4(b)为兼有上电复位和按钮复位的复位电路。
(a)(b)图4-4复位电路Replacement circuit上电复位的工作原理是:通电瞬间,RC电路充电,RST端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效复位。
当振荡频率选用6MHz时,C取22 μF,R取1 KΩ。
在需要人工复位大的情况下,按动按钮,RST端出现高电平,便能可靠的实现复位。
此时R S 取200Ω,R K取1 KΩ。
在实际的应用系统中,若有外部扩展的I/O接口电路也需要初始复位,如果它们的复位端与8031的复位端相连,复位电路中的R、C参数要受到影响,此时需要重新调整R、C参数以保证可靠的复位。
如果8031的复位与外部I/O口的复位不要求同步,外围I/O接口的复位端可以不和8031的复位端相连,外围I/O接口电路可采用独立的上电复位电路。
Intel 8031存储器的扩展8031单片机的程序存储器空间,数据存储器空间是相互独立的。
8031内部无程序存储器,外部程序存储空间最大可扩展至64 KB。
外部数据存储器(简称外部RAM)的地址空间最大也可扩至64 KB。
由于8031的数据存储器和I/O地址空间是统一编址的,在64 KB的外部RAM 空间内,可划出一定的区间作为外部扩展接口的地址空间。
程序存储器的扩展:由于选用的单片机Intel 8031片内无程序存储器,所以必须接在单片机Intel 8031的外部扩展一片程序存储器作为程序的存储单元。
在本设计中,选用EPROM 作为单片机Intel 8031的外部扩展程序存储器。
EPROM 是可擦除、可编程只读存储器,由独立的编程器进行编程(烧程序)。
EPROM 可重新改写程序,但通常要把EPROM 芯片从系统中折下来,放到紫外线下照射才能擦除,然后才能重写。
常用的EPROM 程序存储器的芯片有:2716( 2 K ×8)、2732(4 K ×8)、2764(8 K ×8)、27128(16 K ×8)、27256(32 K ×8)、27512(64 K ×8)。
图4-5和表4-1给出了2716芯片的端子图和常见的EPROM 芯片的主要技术指标。
A 10 Q 7Q 3CS A 8 A 9 OE ~V CC V PP A 7~A 0 Q 0 ~Q 2 GND图4-5 芯片2716的引脚图 Cite-feet of 2713 CMOS chip 表4-1 常见的EPROM 芯片的主要技术指标Table4-1 Mostly technique guideline of familiar chip EPROM①EPROM 的读出时间按型号而定,一般在100-300 ns 间,表中列出的为典型值。
图4-5中涉及的端子符号的意义如下: (1)A 0~A i 地址输入线,i =10~11;(2)Q 0~Q 7 三态数据总线,读或编程校验时为数据输出线,编程时为数据输入线。
维持或编程禁止时呈高阻态。
(3)CE 选片信号输入线,“0”(即TTL 低电平)有效。
(4)PGM 编程脉冲输入线。
(5)OE 读选通信号输入线,“0”有效。
(6)V PP 编程电源输入线,V PP 值因芯片型号和制造厂商而异。
(7)V CC电源输入线,V CC一般为+5 V。
(8)GND线路地。
程序存储器的扩展时,除必须有EPROM芯片,还必须有锁存器芯片。