AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶休或陶瓷谐振器一起构成自激振荡器,振荡电路参见图2.2。 外接石英晶体(或陶瓷诺振器)及电容C1, C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1, C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,这里选择使用石英晶休,我们的电容使用30pF。如使用陶瓷谐振器的话,应选择40pF士10pF的容值的电容。
也可以采用外部时钟。采用外部时钟的电路的情况时,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
+5VU1Key0Key1Key2Key3Key4Key55171_SCL5171_SDARESETRxD0TxD0X5045_SCKX5045_CS505_LADCLCD_ELCD_RS4052_INH1234567891011121314151617181920P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RST/VPDP0.7P3.0/RxDEA/VppP3.1/TxDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WRP2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.089C5130pF4039383736353433323130292827262524232221D0D1D2D3D4D5D6D7VCCX5045_SOX5045_SI4052_B4052_A038_A1038_A0505_A1505_A0C030pFC1JT
图2.2 单片机外围电路
如图中所示,在单片机的I/O口分配上利用率比较高,应为I/O资源刚好可以满足控制设计的需要,所以不需要另外扩充I/O资源。根据P0口,P1口,P2口及P3口各自的特点,我们选用P0口作为数据口,通过分时复用的方法分别送数据给MAX505的A,B,C通道控制频率和占空比;送数据给LCD1602传送
13
信息显示数据。选用P1口的P1.0~P1.5做按键输入口。P1.6与P1.7做幅度控制的I2C数据输出口,单片机自身不具备I2C功能,所以要通过软件控制实现。另外,P2口与P3口做MAX505,MAX038,4052(段选芯片),的数据控制口及片选口。还有P3.0(RXD),P3.1(TXD)做上位机通信口分别接MAX232芯片的OUT输出IN与输入引脚。
2.3 D/A转换电路(频率,占空比控制电路)
MAX505是8位4通道的D/A转换芯片,内部包含逻辑输入双缓冲寄存器,可
以允许所有的4路模拟量同时更新,也可以通过控制信号进行异步锁存输出。MAX505还含有四个独立的基准电压输入,允许分别对四路独立的D/A进行全程的独立设置。所有的逻辑输入可以是TTL或择是+5V的COMS。
2.3.1MAX505的引脚描述
图2.3是MAX505的封装图,MAX505是8位4路D/A转换芯片。24引脚封装,具体引脚功能详见表2.1:MAX505引脚功能表。
图2.3 MAX505的封装图
14
表2.1 MAX505引脚功能表
引 脚 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 名 称 VOUTB VOUTA VSS VREF VREFA AGND DGND LADC D7 D6 D5 D4 D3 D2 D1 D0 WR A1 A0 VREFD VREFC VDD VOUTD VOUTC 功 能 DAC B 电压输出 DAC A 电压输出 负电压输入 DAC B 基准电压输入 DAC A 基准电压输入 模拟地 数字地 选通DAC(低电平有效) 数据位7 数据位6 数据位5 数据位4 数据位3 数据位2 数据位1 数据位0 写输入(低电平有效) DAC 地址选择位(高位) DAC 地址选择位(低位) DAC D基准电压输入 DAC C基准电压输入 电源 DAC D 电压输出 DAC C 电压输出
2.3.2MAX505的内部结构及原理
MAX505内含4个独立的D/A转换电路,每一路都有自己独自的基准电压源输入引脚,可以通过功能控制引脚WR,A0,A1,LADC分别对每一路进行单独操作,也可以4路同时更新输出数据。
如图2.4所示,MAX505内部每一路D/A都有数字输入的双缓冲寄存器。他主要有8位输入锁存器、8位DAC锁存器、8位D/A转换器和选通控制逻
15
辑四部分组成。选通控制逻辑部分是通过地址线引脚A0,A1控制输入锁存器的选通,单独选择某一路信号输出。
542120输入锁存器AVREFAVREFBVREFCVREFDD/A锁存器ADAC A-+2VOUTAD7(MSB) TO D0(LSB)PINS 9 TO 16输入锁存器BD/A锁存器BDAC B-+1VOUTBDATA BUSWRA0A1171918输入锁存器CD/A锁存器CDAC C-+24VOUTC输入锁存器DD/A锁存器DDAC D-+23VOUTD控制信号8LADC
图2.4 MAX505 内部结构原理框图
8位输入寄存器由8个D锁存器组成,作为输入数据的缓冲器。它的8位输入数据由写控制输入引脚WR控制其输入与锁存。当WR=1时输入锁存器的输出随着输入变化,当WR=0时输入数据被锁存,通过地址线引脚A0,A1控制输入锁存器的选通,单独选择某一路信号输出。功能控制引脚WR,A0,A1,LADC的具体控制状态见表2.2所列出。
表2.2 功能引脚状态表 LDAC H H L L H H H WR H L H L L L L A1 × L × L L H H A0 × L × L H L H 所存状态 输入和DAC数据锁存 DAC A 数据锁存 4个DAC全部数据锁存 DAC A输入数据寄存器 4个DAC被锁 DAC B 数据锁存 DAC C 数据锁存 DAC D 数据锁存
16
8位DAC锁存器也是由8个D锁存器组成的,它的控制端为LDAC。当LDAC=1时输出数据随输入变化,当LDAC=0时将第一级输出的数据锁存在DAC锁存器中。
8位D/A转换器采用T型电阻网络实现D/A转换,输出的是与输入数字成比例的电流,需要外接运算放大器,才能得到模拟电压输出。
2.3.3 D/A转换电路的电路说明
如图2.5所示,我们用+2.5V做MAX505的基准电源。我们选用了MAX505的3路D/A输出分别控制MAX038的DADJ,FADJ和IIN引脚,在前面我们知道MAX038的DADJ和FADJ引脚要求输入的电压信号时在-2.3V~+2.3V之间,IIN的输入要求是0μA~750μA的电流。通过一个转换电路将MAX505的输出是0~2.5V的电压转换为所需要的电压电流。
在MAX038 的DADJ端应用一个- 2.3V~ + 2.3V 的电压控制信号, MAX038 的DADJ引脚上的电压可控制波形的占空比DC(定义为输出波形为正时所占时间的百分数),并且能够改善正弦波的波形,可进行脉冲宽度调制和产生锯齿波。用DAC A通道做为DADJ的模拟输入。VOUTA输出0~2.5V电压
当VOUTA?0V时,
0?VDADJ2.74V?0 (2.1) ?280K330KVDADJ??2.74V?280K??2.3V 330K
2.5V?VDADJ2.74V?2.5V (2.2) ?280K330KVDADJ??0.24V?280K?2.5V??2.3V 330K当VOUTA?2.5V时,
在MAX038 的FADJ端选择DAC B通道,同样的接法可以实现- 2.3V~ + 2.3V 在MAX038 的IIN端选择DAC C通道,需要的模拟控制量是0μA~750μA的电
的电压控制信号。
流,用DAC C通道做为IIN的模拟输入。VOUTC输出0~2.5V电压
当VOUTC?0V时,IIN?2.5V?2?A (2.3)
1.2M?当VOUTC?2.5V时,IIN?2.5V2.5V??750?A
1.2M?3.3K? 这样就实现了所需要的模拟量的输入,D/A转换图如图2.5所示。
在前面式子中用到的2.74V电压是利用的MAX038的内部2.5V的基准源产
17