adc0832与单片机连接,单片机控制DAC0832让LED亮灭

adc0832与单片机连接,单片机控制DAC0832让LED亮灭,第1张

  STC89C52单片机是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

  DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。adc0832与单片机连接会有怎么样的火花呢?透过单片机控制DAC0832让LED亮灭分析一下。

  单片机控制DAC0832让LED亮灭

  52控制DAC0832芯片输出电流,让发光二极管D12由灭均匀变到最亮,再有亮变灭,在最亮和最灭的时候蜂鸣器发出报警声,完成整个周期的时间是控制在5s左右。

  #include

  #define uchar unsigned char

  #define uint unsigned int

  sbit dula=P2^6;

  sbit wela=P2^7;

  sbit dawr=P3^6;

  sbit dacs=P3^2;

  sbit beep=P2^3;

  void delayms(uint xms)

  {

  uint i,j;

  for(i=xms;i》0;i--)

  for(j=110;j》0;j--);

  }

  void main()

  {

  uchar val,flag;

  dula=0;

  wela=0;

  dacs=0;

  dawr=0;

  P0=0;

  while(1)

  {

  if(flag==0)

  {

  val+=5;

  P0=val;

  if(val==255)

  {

  flag=1;

  beep=0;

  delayms(100);

  beep=1;

  }

  delayms(50);

  }

  else

  {

  val-=5;

  P0=val;

  if(val==0)

  {

  flag=0;

  beep=0;

  delayms(100);

  beep=1;

  }

  delayms(50);

  }

  }

  }

  使能D/A的片选,接着使能写入端。延时50ms,50*51=2551ms,忽略蜂鸣器占用的100ms,约为2.5s,另外半周期同样为2.5s,共计5s。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2705963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-16
下一篇 2022-08-16

发表评论

登录后才能评论

评论列表(0条)

保存