资源描述
1. CD4051
1- A4 2- A6 3-Y 4-A7 5-A5 6-INH 7-VCC 8-VSS
9-C 10-B 11-A 12-A3 13-A0 14-A1 15-A2 16-VDD
用于:传输数字信号,或模拟信号从1路到8路或从8路到1路的开关切换.
CD4051有A、B和C三个二进制控制输入端以及INH共4个输入,具有低导通阻抗和很低的截止漏电流。幅值为4.5~20V的数字信号可控制峰峰值至20V的模拟信号。例如,若VDD=+5V,VSS=0,VEE=-13.5V,则0~5V的数字信号可控制-13.5~4.5V的模拟信号。这些开关电路在整个 VDD-VSS和VDD-VEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。当INH输入端=“1”时,所有的通道截止。只有当INH=0 时,三位二进制信号才可以选通8通道中的一个通道,连接该输入端至输出。其中VEE可以接负电压,也可以接地。当输入电压有负值时,VEE必须接负电压,其他时候可以接地。
CD4051引脚功能说明
引脚号
符号
功能
1 2 4 5 12 13 14 15
IN/OUT
输入/输出端
9 10 11
A B C
地址端
3
OUT/IN
公共输出/输入端
6
INH
禁止端
7
VEE
负电压端
8
Vss
数字信号接地端
16
VDD
电源+
2真值表
输入状态 接通通道
INH
C
B
A
输出
0
0
0
0
“0”
0
0
0
1
“1”
0
0
1
0
“2”
0
0
1
1
“3”
0
1
0
0
“4”
0
1
0
1
“5”
0
1
1
0
“6”
0
1
1
1
“7”
1
x
x
x
均不接通
CD4051功能及使用概述:
CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。INH”是禁止端,当“INH”=1时,各通道均不接通。此外,CD4051还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的 CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰-峰值达15V的交流号。例如,若模拟开关的供电电源VDD=+5V,VSS=0V,当VEE=-5V时,只要对此模拟开关施加0~5V的数字控制信号,就可控制幅度范围为-5V~+5V的模拟信号。使用十六进制代码就可以对CD4051进行操作了。比如说P1=0X07,这样CD4051就选择的是7号(二进制111)通道了。
如果在八个通道输入一模拟量,在输出端将输出什么,输入什么是自己设定。
例如,若模拟开关的供电电源VDD=+5V,VSS=0V,只要对此模拟开关施加0~5V的数字控制信号。这里,ABC数字控制信号就可以使用5V信号了,因为
VDD是5v,里面控制部分就都是5V逻辑.
当VEE=-5V时,就可控制幅度范围为-5V~+5V的模拟信号。
当Vee=-8V时,就可以可控制幅度范围为-8V~+5V的模拟信号,Vee就是电子开关的8个输入端可以允许的信号范围下限,注意不要超过它的极限参数.峰-峰值达15V 。
2. DAC7811 参考资料
DAC7811为12位的DAC。使用一个有三线接口的双缓存器,合乎与SPI和大多数SDO接口标准。当运用复合器件时,通过接口SDO可以菊花链式连接;通过SDO口,用户可以回读DAC register的值。上电时,移位寄存器的值0,DAC输出从0开始。外部输入参考电压决定电流的满额输出电流。当连接外部放大器后,反馈电阻可以提供温度跟踪和满额电压输出。
dac7811是10脚封装
引脚功能:
1脚IOUT1是DAC电流输出
2脚IOUT2是DAC模拟地。这个引脚通常被接在系统的模拟地
3脚是地
4脚串行时钟输入:默认情况下,当串行时钟的下降沿时,数据被存入16位的输入移位寄存器;作为选择,依靠串行控制位,可以设置当时钟线上升沿时把数据输入进输入移位寄存器。
5脚串行数据输入:在有效的串行输入时钟边沿,数据被存入16位的输入移位寄存器。默认情况下,在上电复位时,数据在时钟下降沿时时存入输入移位寄存器;同时控制位允许用户改变为上升沿有效。
6脚SYNC 有效 低控制输入:这是数据输入的帧同步信号。当SYNC变低时,它对SCLK和SDIN器作用,同时使能输入移位寄存器。在有效的边沿时钟线边沿(默认为下降沿),数据下载到输入移位寄存器。IN STAND——alone 模式下,这个串行接口计算有效时钟的个数,同时数据在第16个有效时钟时,整个数据被存入输入移位寄存器。
7脚SDO 串行数据输出:这一位允许很多个部分被菊花链式连接起来。默认情况下,数据在时钟下降沿时存入输入寄存器,在上升沿时经由SDO输出(?)。数据总是被存入输入寄存器(在交替的时钟边沿)。(通过串行数据)在输入寄 存器中写入回读控制字,可以实现在SDO引脚读出DAC寄存器的内容。
8脚VDD:正电压输入端。可以提供输入2.7V——2.5V的电压。
9脚VREF:DAC参考电压输入端
3. TLC085
TLC085:四路宽带宽高输出驱动单路电源运算放大器。
4. DAC7811 程序:
#include "MSP430X16X.h"
#define SCLK_UP P2OUT |= BIT0
#define SCLK_DOWN P2OUT &= ~BIT0
#define SYNC_UP P2OUT |= BIT1
#define SYNC_DOWN P2OUT &= ~BIT1
#define SDIN_UP P2OUT |= BIT2
#define SDIN_DOWN P2OUT &= ~BIT2
uchar DA_ON[4]={0,0,0,1};
uchar DA_OFF[4]={0,0,0,0};
uchar DA_baochi[4]={0,0,1,1};
void write_da7811(uint da);
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P2DIR |= (BIT0+BIT1+BIT2);//P2OUT=0XFF;
while(1)
write_da7811(0X22);
}
void write_da7811(uint da)
{
uchar i;
SCLK_UP;
SYNC_DOWN;
for(i=0;i<4;i++)
{
SCLK_UP;
if(DA_ON[i])
SDIN_UP;
else
SDIN_DOWN;
SCLK_DOWN;
}
for (i=0;i<12;i++)
{
SCLK_UP;
if(da&0x800)
SDIN_UP;
else
SDIN_DOWN;
SCLK_DOWN;
da<<=1;
}
SDIN_UP;
SYNC_UP;
SCLK_DOWN;
delay_us(10);
}
定义一下#define uchar usigned char
#define uint unsigned int
然后把其中的delay函数修改一下即可用了。
展开阅读全文