历史上的今天
返回首页

历史上的今天

今天是: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控制数/模转换器程序


推荐阅读

史海拾趣

Eurofarad公司的发展小趣事

在追求经济效益的同时,Eurofarad也积极履行社会责任,注重环保和可持续发展。公司采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。同时,Eurofarad还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了基础。

Brand-Rex公司的发展小趣事

Brand-Rex的综合布线产品在国家重大项目上得到了广泛应用。例如,昌北国际机场作为中国干线机场,其总建筑面积达到96616平方米。该项目于2010年9月中标,2011年5月22日竣工并投入使用。整个系统均采用了Brand-Rex的CAT6PLUS全系列铜缆和光纤产品,充分展示了Brand-Rex在大型项目中的技术实力和产品可靠性。此外,Brand-Rex还参与了其他多个重要项目的布线工作,为国家基础设施的建设做出了积极贡献。

Avalon Photonics公司的发展小趣事

随着公司的发展,Avalon Photonics开始寻求国际合作,以进一步拓展市场。公司与欧洲一家知名的科研机构建立了战略合作关系,共同研发新一代的光子学设备。这一合作不仅带来了技术上的互补,也为Avalon打开了欧洲市场的大门。通过国际合作,Avalon的产品逐渐在国际市场上获得认可,公司规模也逐步扩大。

Digital公司的发展小趣事

DIALIGHT公司一直专注于工业LED照明领域的发展。他们深入了解工业空间照明的需求和挑战,设计了一系列专为工业应用而定制的LED照明产品。这些产品不仅易于安装和维护,而且能在恶劣的环境下持续使用。此外,DIALIGHT还提供集成系统解决方案,帮助客户降低能源成本、维护成本和碳足迹,同时提高设施的安全性和生产力。通过不断创新和优质服务,DIALIGHT在工业LED照明领域赢得了广泛的认可和信赖。

DBM Optix公司的发展小趣事

随着技术的不断成熟,DBM Optix开始积极拓展市场,将产品应用于更广泛的领域。公司不仅在国内市场取得了显著的成绩,还积极开拓国际市场,与全球各地的客户建立了紧密的合作关系。同时,DBM Optix还注重品牌建设,通过参加国际展会、发布技术文章等方式提升品牌知名度和影响力。这些努力使得DBM Optix逐渐成为了光学通信领域的知名品牌。

Falco Electronics公司的发展小趣事

Falco Electronics始终将产品质量放在首位。公司建立了严格的质量控制体系,从原材料采购到产品生产,每一个环节都严格把关。这种对质量的坚持让Falco Electronics的产品在市场上赢得了良好的口碑。越来越多的客户选择Falco Electronics的产品,公司的市场份额也逐渐扩大。

问答坊 | AI 解惑

【求助】TTL反相器基本电路

本文出自康华光《电子字电路基础-数字部分》第五版 P96 TTL反相器基本电路: 画篮线部分不明白。 1。为什么Vb1=0.9v时,T2会截止呢? 2。第二段当输入等于3.6V时,Vb1应该等于3.6+0.7才对啊,可是书上写2.1V 3。倒置的方 ...…

查看全部问答>

三大盛会刺激安防需求

北京奥运会即将开幕,到目前为止北京奥运会已经带来了25亿元人民币的安防需求,包括产品及工程在内,而周边社会安防的预算假话达到500亿元人民币。仅国家体育馆需采购的安防设备就包括以下一些: 监视器:20台 枪式固定摄影机:150台 红外 ...…

查看全部问答>

求职交战指南(工程师级别)

金融风暴来把很多人从岗位上吹落。在找工作时总结了些经验,在此谈谈。 我不是被吹落的, 1、写简历时要把能做出的,成熟的,写的尽量放在前面,不可一带而过,把新掌握的技术写在后面。 2、找工作时尽量从网上找,因为现在的网络求职已很成熟。 ...…

查看全部问答>

小电阻测试方法3、DCC电流比较法

假如有两个一样的恒流源,分别接到背靠背的两只电阻上,这样就可以类似电桥那样,通过检测其电压的微小差异,来达到精确的对比的目的。这样就把问题归结到如何精确的产生两个相同的电流的问题上,而这两个电流的绝对值或者少许变动,都对结果影响不 ...…

查看全部问答>

SYN6288-A语音合成(TTS)超小型评估板

SYN6288-A语音合成评估板销售热线:13528479747孙先生    SYN6288-A语音合成评估板是一款性价比更高,效果更自然的一款中高端语音合技术。SYN6288-A通过异步串口接收待合成的文本,实现文本到声音(TTS)的转换。    国内首 ...…

查看全部问答>

WINCE如何调节VGA接口液晶屏的对比度?

最近项目上碰到个问题。采用2440的处理器,wince5.0系统,原先是直接控制18位色的TTL接口TFT液晶,看了屏的资料,亮度是可以用PWM调节的,编了个简单的驱动,功能基本实现,但是好像不支持对比度调节。可现在要求控制VGA接口的普通台式机的液晶显示 ...…

查看全部问答>

USB网卡驱动问题

我的驱动在XP下运行正常,可是在2000下,通过使用[安全删除硬件]拔除硬件也是正常的,可我直接热插拔时,却出现电脑死机现象.请问这方面XP和2000有什么不同,如何处理??…

查看全部问答>

请教 cy7c68013的固件问题

用68013开发USB触摸屏, 现在我想实现的很简单, 就是有两个中断端点, 然后实现分别从这两个端点读写设备,   试了开发包中的那些固件例子好象都读写有点问题,  请问我需要自己写个固件吗, 还是有例子可以用或者参考?…

查看全部问答>

f2013 usi-iic问题

//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)); ...…

查看全部问答>