历史上的今天
今天是:2025年01月10日(星期五)
2018年01月10日 | DAC7611控制数/模转换器程序
2018-01-10 来源:eefocus
/****************************************************
子程序名:DAC7611
程序功能:控制数/模转换器DAC7611的工作
程序出口:引脚P1.0(输出片选信号)
引脚P1.1(输出时钟)
引脚P1.2(输出数据)
引脚P1.3(输出数/模转换过程启动信号)
12M晶振
*******************************************************/
#include
#include
#define uint unsigned int
sbit CS =P1^0; //输出片选信号
sbit CLK=P1^1; //输出时钟
sbit SDI=P1^2; //输出数据
sbit LD=P1^3; //输出数/模转换过程启动信号
/******初始化DAC7611******************/
void init_da(void)
{
LD=0; // 装载引脚置低
CS=1; //片选置高
CLK=1; //时钟置高
SDI=0;
}
/*****时钟脉冲子函数***********/
void cLOCk(void)
{
CLK=0;
_nop_();
CLK=1; //产生一个时钟脉冲
_nop_();
}
/******DAC7611转换***************/
void DAC_7611(uint vol)
{
uint i,j;
vol<<=4;
LD=1; //装载引脚置高
_nop_();
CS=0; //片选拉低,准备转换
for(i=0;i<12;i++)
{
j=vol;
SDI=j&0x8000;
clock();
vol<<=1;
}
CLK=1; // 输出时钟置高
_nop_();
CS=1; //DAC7611片选引脚CS置高
_nop_();
LD=0; //装载引脚LD置低以启动数模转换
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_(); //延时一会,使输出模拟电压达到稳定
LD=1; //LD置高
}
/**********主程序*****************/
void main()
{
init_da();
DAC_7611();
}
DAC7611控制数/模转换器程序
下一篇:12864显示屏4*4键盘实验
史海拾趣
|
本文出自康华光《电子字电路基础-数字部分》第五版 P96 TTL反相器基本电路: 画篮线部分不明白。 1。为什么Vb1=0.9v时,T2会截止呢? 2。第二段当输入等于3.6V时,Vb1应该等于3.6+0.7才对啊,可是书上写2.1V 3。倒置的方 ...… 查看全部问答> |
|
北京奥运会即将开幕,到目前为止北京奥运会已经带来了25亿元人民币的安防需求,包括产品及工程在内,而周边社会安防的预算假话达到500亿元人民币。仅国家体育馆需采购的安防设备就包括以下一些: 监视器:20台 枪式固定摄影机:150台 红外 ...… 查看全部问答> |
|
金融风暴来把很多人从岗位上吹落。在找工作时总结了些经验,在此谈谈。 我不是被吹落的, 1、写简历时要把能做出的,成熟的,写的尽量放在前面,不可一带而过,把新掌握的技术写在后面。 2、找工作时尽量从网上找,因为现在的网络求职已很成熟。 ...… 查看全部问答> |
|
假如有两个一样的恒流源,分别接到背靠背的两只电阻上,这样就可以类似电桥那样,通过检测其电压的微小差异,来达到精确的对比的目的。这样就把问题归结到如何精确的产生两个相同的电流的问题上,而这两个电流的绝对值或者少许变动,都对结果影响不 ...… 查看全部问答> |
|
SYN6288-A语音合成评估板销售热线:13528479747孙先生 SYN6288-A语音合成评估板是一款性价比更高,效果更自然的一款中高端语音合技术。SYN6288-A通过异步串口接收待合成的文本,实现文本到声音(TTS)的转换。 国内首 ...… 查看全部问答> |
|
最近项目上碰到个问题。采用2440的处理器,wince5.0系统,原先是直接控制18位色的TTL接口TFT液晶,看了屏的资料,亮度是可以用PWM调节的,编了个简单的驱动,功能基本实现,但是好像不支持对比度调节。可现在要求控制VGA接口的普通台式机的液晶显示 ...… 查看全部问答> |
|
用68013开发USB触摸屏, 现在我想实现的很简单, 就是有两个中断端点, 然后实现分别从这两个端点读写设备, 试了开发包中的那些固件例子好象都读写有点问题, 请问我需要自己写个固件吗, 还是有例子可以用或者参考?… 查看全部问答> |
|
//send address to sl××e USISRL = 0x40; // ... and transmit address, R/W = 0 USICNT = (USICNT & 0xE0) + 0x08; // Bit counter = 8, TX Address while(bit_is_clear(USICTL1, USIIFG)); ...… 查看全部问答> |




