模仿可能是一种更有效、更主要的学习方式。为此,本章介绍几个ADuC应用系统的实例。第一个实例是作者研制的基于ADuC845/7/8的实验板,充分利用ADuC845/7/8不需要任何特殊设备即可在电路调试、下载和烧录程序的特点,方便大家学习单片机,也可以用于新产品的快速开发。第二个实例是ADI公司推出的ADuC系列评估板,为大家设计ADuC845/7/8的应用系统提供一个很好的样板,特别是在电源设计和电路板的工艺(布局)等值得借鉴。第三个实例是蓄电池在线智能监测仪,该实例是ADuC845/7/8在工业测控系统中的极具典型意义的应用,可为类似的应用提供有价值的参考。
图11-1所示为实验板的电路原理图。
实验板由以下几部份组成。
1. 单片机ADuC845/7/8和其必须的外接电路(器件);
2. 通讯接口电路;
3. 键盘、显示电路;
4. 存储器;
5. 模拟接口电路;
6. 功率驱动电路;
7. 电源电路。
下面逐一介绍上述各部分电路。
图11-2所示为ADuC845/7/8 CPU板原理图。由于其内部含有A/D及D/A模块、用于存储程序的大容量存储器、通讯接口等,只需很少的外围元件就能工作。
在图11-2中,单片机工作必须的晶体振荡器。单片机用晶体振荡器(简称晶振)产生准确、稳定的时钟(频率)以保证单片机内部各个部件协调、同步、稳定地运行。晶振采用32.768kHz。
图中的其它小电容用于单片机的电源退耦,即防止电源线上的干扰影响单片机工作。
单独把ADuC845/7/8和晶振、退耦电容设计到CPU板上,目的是为了方便读者学习、实验:ADuC845/7/8采用扁平封装,管脚多且密,不易焊接,如果读者希望自己焊接实验板,只要焊接除CPU板以外的其他实验板上的器件。再一个好处是ADuC845/7/8是大规模的集成电路,容易发生静电击穿等损坏器件的现象,采用单独的CPU板的好处是万一ADuC845/7/8损坏了,仅仅更换CPU板即可,可以减少损失。
之所以把晶振及其电容和退耦电容焊接CPU板上,是这些器件应该尽可能靠近ADuC845/7/8安装才能保证单片机稳定可靠地工作。ADuC845/7/8还需要一些外围器件才能正常工作,但不像晶振等那些器件要求尽可能靠近,所以,这些器件安装在实验板(大板)上。
四只13线的插座把单片机所有输入、输出的口线全部引到实验板上。R14和C6构成单片机的上电复位电路,即在实验板刚加上电源时,由于电容C6上的电压不能发生突变,
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />
图11-1 实验板原理图 |
图11-2 ADuC845/7/8的部分必要外围电路原理图 |
与C6并联的按键S9用于手动复位。在单片机不能正常工作,如不能下载程序,或运行不正常,可以按下S9,使RESET端出现短暂的高电平,使单片机复位。
短接插座H3用选择使单片机处于调试状态还是运行状态。如果在上电复位前用短路块短接,即单片机PSEN接地(DGND),上电后ADuC845/7/8处于下载程序和调试模式。而在上电复位前断开H3,上电后ADuC845/7/8处于运行模式,执行单片机片内的程序。
实验板上的串行接口是实验板与PC通信的唯一通道,需调试的程序通过串行接口下载到实验板中,而实验板上程序的运行状态和部分结果也需通过串行接口上传到PC机。
PC机上的串行接口是RS-232,RS-232包括了按位进行串行传输的电气和机械方面的规定。RS-232关于电气特性的要求规定,驱动器输出电压相对于信号地线在-5V~-15V之间为逻辑1电平,表示传号状态;输出电压相对于信号地线在+5V~+15V之间为逻辑0电平,表示空号状态。在接收端,逻辑1电平为-3V~-15V,逻辑0电平为+3V~+15V,即允许发送端到接收端有2V的电压降。这样的RS-232电平和TTL逻辑电路(单片机)产生的电平是不一样的,因此,PC机与单片机之间必须经过一定的电路转换逻辑电平。图11-3给出了实验板上的RS232串行接口逻辑电平转换电路。
图11-3 实验板通讯电路原理图 |
图11-4 WH8281的接口电路 |
图11-5 移位寄存器74HC164 |
图11-6 共阳极LED数码管的引脚与连线图 |
WH8281芯片内部具有26个寄存器,包括16个显示寄存器和10个特殊功能寄存器,共用一段连续的地址,其地址范围是00H~19H,其中OOH~OFH为显示寄存器,其余为特殊寄存器,所有的操作均通过对这26个寄存器的访问完成。
WH8281与MCU的接口共需要三根线,只占用很少的I/0口资源和主机时间。它们是数据线DAT,时钟线CLK和按键指示KEY,其中CLK和KEY引脚分别为输入和输出引脚,而DAT脚则为双向口,其内部为OPEN DRAIN(OD)结构,需要外接一个2OKΩ左右的上拉电阻,以使其能可靠地输出高电平。
仿真实验板采用了两块4位一体的共阳极LED数码管(如图11-6所示),这种数码管的各同名段连接在一起共用一个引脚引出,各位(每位数码管的公共端)单独引出。
图11-7 LED显示位驱动电路 |
相比于静态显示方式(1根口线驱动一个LED),动态扫描方式需要的口线要少得多。如仿真实验板上有8位数码管,每位数码管有8个LED,如果采用静态驱动方式,则需要8×8=64根口线来驱动。而采用动态驱动方式,只需要8(段驱动)+8(位驱动)=16根口线。
动态方式利用了人眼的视觉暂留效应,每位数码管依次显示一个较短的时间,虽然每个瞬时只有一位数码管在显示,但对观察者看来,好像所有的数码管是在同时显示一样。
图11-8 阵列式键盘接口电路 |
利用显示的位扫描,同样可以实现扫描(阵列)式键盘。在LED数码管显示时,每个瞬时WH8281给出位扫描信号只有1根口线为低电平。由串行数据口经移位寄存器而转换成的口线组成“列”,而由并行数据口的8根线组成“行”,在行列的焦点上放置一个按键(如图11-8所示)。
ADuC845/7/8最多可以扩展出<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />16M的外部存储器。P0口分时复用分别作为数据总线和地址总线的低8位地址线:在访问(读或写)外部存储器时,P0口先输出需要访问的存储器低8位地址(A7~A0),在ALE(单片机给出的地址锁存信号)作用下,把这8位地址锁存到地址锁存器中(通常采用8位锁存器芯片74HC573或74HC373),然后单片机把要写入到外部存储器的数据送到P0口,通过写控制信号把数据写到外部存储器中,或在读控制信号的作用下把外部存储器的数据读到P0口,然后读到单片机的累加器ACC中。这就是P0口的分时复用。在实验板中,采用74HC573作为锁存器锁存P0口给出的低8位地址。
图11-9 外部存储器接口电路 |
在实验板中,采用32k字节的随机读写数据存储器(random access memory,RAM)HM62256作为外部数据存储器。由于只需要64k字节以内的存储器空间,所以只采用一片74HC573锁存低8位地址,由P2口直接锁存输出中8位地址,与标准的80C51的使用方法一样(如图11-9所示)。
图2-10 模拟接口电路 |
模拟输入信号ADCIN接有R1和C1构成的抗混叠(低通)滤波器,该电路的信号输出到ADuC845/7/8的P1.0,即模拟/数字转换器的第0通道ADC0。所以,实验时可以将外部信号接入ADCIN的插座。
运放U1D接成跟随器的形式,它作为ADuC845/7/8的数字/模拟转换器DAC0的缓冲输出。
运放U1A也是接成跟随器的形式,但它作为ADuC845/7/8的参考电源的缓冲输出,可以用于其它外部电路使用。同时,该电路通过R8和C9构成的抗混叠滤波器输入到ADuC845/7/8的模拟/数字转换器的第7通道ADC7,用于检验ADuC845/7/8的模拟/数字转换器的工作正常与否。
4运放LM324中剩余的二个运放的输入端和输出端均已引出,让读者用于其它需要扩展的电路中。
仿真实验板电源电路如图11-11所示。220V的交流电适配器输出的9V直流由插座H5输入。经过C9和C15的滤波输入到三端稳压器7905。注意:7905是-5V输出的稳压集成电路,因而7905的输出端(3端)比接地端(1端)要抵5V。所以在电路中把3端作为地(DGND),而把1端作为DVDD,以保证单片机的工作电压是所需的、稳定的+5V。图中的LED发光管D3主要用作电源的指示。
图11-11 仿真实验板的电源电路
之所以采用这样不同寻常的电源结构,是为了利用稳压块7905的压降提供一个负电源给运放工作,即7905原本输出的-5V作为地,原来的地就作为+5V,保证单片机的供电为正确的+5V电源,而原来比-5V还低2V未稳压的电源现在作为-2V给运放供电。由于运放具有较高的电源抑制比,虽然-2V没有经过稳压,但对于读者做实验没有什么影响。
仿真实验板的数字电路和模拟电路的电源线采用了各自走线的方法,以减少数字电路和模拟电路之间的相互干扰,特别是数字电路对模拟电路的干扰。如果采用完全独立的两套电源为数字电路和模拟电路分别供电,将显著地增加电路的复杂性和成本。电路中用两个小电阻R5和R6,分别将数字电路和模拟电路的电源隔离。实际电路可以将R5和R6以导线直接短接来代替。这种方法在不怎么增加电路的复杂性和成本的情况下,显著地降低数字电路和模拟电路之间的相互干扰。
发光二极管(LED)D3用作电源指示,R7是限流电阻。
电源电路中的二极管D1用于极性保护,避免读者不小心在接电源时接反了电源极性而损坏电路。顺便提示:如果在插入电源后实验板的D3不亮,请检查电源的极性是否正确,电压值是否合适(太高了7905发热严重,太低了电路不能正常工作,一般应在7V~9V之间)。
图11-12所示为实验板元器件安装图(PCB板的TOPOVERLAY层)。由图中可以看出,由于采用了ADuC845/7/8,电路板虽然不大,但功能齐全,能够满足一般情况下的绝大多数的新产品开发的要求。如果还需要一些实验板上没有的功能,实验板上的扩展区也可满足多数情况下的扩展需要。
用户394421 2007-10-31 09:24
你好,你有没有这本书的电子版,可否发给我一份,我的邮箱:zhanghan_it@126.com
谢谢。