g. 中断控制系统
8051共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。 h. 时钟电路
MCS-52芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz~12MHz,典型取值为6MHz。 i. 总线
以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。 选用单片机的结构: 1 一个8 位算术逻辑单元
2 32 个I/O 口4 组8 位端口可单独寻址 3 两个16 位定时计数器 4 全双工串行通信
5 6 个中断源两个中断优先级 6 128 字节内置RAM
7 独立的64K 字节可寻址数据和代码区
每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms 。 AT89C52的管脚图如图2::
U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图2 89CS51管脚图 3.1.2 单片机外围电路介绍 电源引脚Vcc和Vss Vcc:电源端,接+5V。 Vss:接地端。
时钟电路引脚XTAL1和XTAL2
XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。 地址锁存允许ALE
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。 P0口的P1.0,P1.1,P1.2,P1.3和键盘相连,作为整个系统的输入部分。其中和P1.0相接的是+5V电源的数字输入键,和P1.1相接的是+12V电压的数字输入键。和P1.2,P1.3相接的分别是“+”,“—”号键。
P1口和DAC0832的输入相接,作为D/A模块的输入。 电路如下:
图3 按键输入图
其中S1、S2为固定电压的输入,分别是+8V和+12V电压的输入按钮,S3、S4分别为+,—键,对电压值进行加和减计算。
/WR和/RD分别接到两数码管的公共端COM1和COM2。 3.2 D/A模块
3.2.1 D/A电路简介
根据平时的使用习惯和相关资料,我们使用的D/A转换一般有下列两种方案:
方案一:采用MX7541 是高速高精度 12 位数字 / 模拟转换器芯片,功耗低,而且其线性失真可低达 0.012% ,特别适合于精密模拟数据的获得和控制。
方案二:采用DAC0832,DAC0832是一种常用的8位的数字/模拟转换芯片。
3.2.2 DAC0832及其外围电路
本系统是基于单片机的数控电源的设计,而MX7541 是 12 位数字 输入的 , 因此须用锁存器。而此数控电源要求单步1V, 2~15 .0V只需区分14个点,DAC0832完全可以达到,故选择常用的DAC0832。当其与单片机进行相连时,电路也 简单,只需把单片机的数据线与DAC0832的输入端直接相连即可,程序也很简单,只需向其送数据即可。
DAC0832的管脚图如图3所示:
U212345678910CSVCCWR1ILE(BY1/BY2)GNDWR2DI3XFERDI2DI4DI1DI5DI0DI6VREFDI7RFBIOUT2GNDIOUT1DAC083220191817161514131211 图4 DAC0832管脚图 其各个引脚的连接及外围图: U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516171218XTAL29RST293031PSENALEEAU212345678910274LS041CSVCCWR1ILE(BY1/BY2)GNDWR2DI3XFERDI2DI4DI1DI5DI0DI6VREFDI7RFBIOUT2GNDIOUT1DAC0832412345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U3:A120191817161514131211U4:A3128R14kU3:B3LM3584274LS04D21N4001 图5 D/A模块电路 管脚的具体名称和用法 D0 ~ D7:数字量输入端; CS:片选信号,低电平有效;
ILE:数据锁存允许信号,高电平有效;
WR1:第1写信号,低电平有效;
WR2:第
2写信号,低电平有效;
XFER:数据传送控制信号,低电平有效;
IOUT1:电流输出端1; IOUT2:电流输出端2;
RFB:反馈电阻端;
VREF:基准电压,基电压范围为-10V ~ +10V;
GND:数字地; AGND:模拟地 ;
单片机与DAC0832的接口可按二级缓冲器方式、单缓冲器方式和直通方式联接。如上图4的联接方式是直通方式联接方式。由OUT1脚输出的为一个模拟电流值,经过运算放大器后为一个电压值,这电压值输入到后面的运算放大部分,作为后面部分的输入。
3.2.3 D/A 转换的计算
D/A转换器(DAC)输入的是数字量,经转换输出的是模拟量。DAC的技术指标很多,如:分辨率、满刻度误差、线性度、绝对精度、相对精度、建立时间、输入/输出特性等。
分辨率:DAC的分辨率反映了它的输出模拟电压的最小变化量。其定义为输
n出满刻度电压与 2的比值,其中 n 为DAC的位数。如:8位DAC的满刻度输出
5555?(V)?(V)1081024256电压为5V,则其分辨率为 2;10位DAC的分辨率为 2。
可见,DAC的位数越高,分辨率越小。
建立时间:是描述DAC转换速度快慢的参数。其定义为从输入数字量变化到输出达到终值误差 达1us。
接口形式:在DAC输入/输出特性之一。包括输入数字量的形式,十六进制式BCD,输入是否带有锁存器等。
DAC0832为8位D/A转换器。单电源供电,范围为+5V ~ +15V,基准电压范围为 ?10V。电流的建立时间为1us。CMOS工艺功耗20 mw。 输入设有两级缓冲锁存器。
电压的计算方式:
设计要求数控电压步进为1V,因此要准确选择D/A的参考电压 VREF,如上图用一个精密电阻进行调节,计算方法如下:
VrefV? 256nVrefV?, 256n?12LSB(最低有效位)所需的时间。高速DAC的建立时间可