×

基于AHDL的函数信号发生器的设计(附源代码)

消耗积分:0 | 格式:rar | 大小:0.1 MB | 2017-12-05

分享资料个

  AD558可将输入的数字量(8位)转化成0~2.56V的模拟电压量;用CPLD器件产生四种循环变化的数据量:

  1、0~255(8Bit)循环加法计数;

  2、255~0(8Bit)循环碱法计数;

  3、0~255~0(8Bit)循环加减法计数;

  4、0,20H,40H,60H,80H,A0H,C0H,E0H编码计数器。

  将计数器的八位输出接到DAC的八位输入,可以产生四种波形(频率相同):

  1、递增斜波;

  2、递减斜波;

  3、三角波;

  4、递增阶梯波;

  本实验完全用硬件描述语言实现,参考AHDL源程序

  t11.tdf

  SUBDESIGN t11

  (

  clk,reset,model[1..0]: INPUT;

  daout[7..0]: OUTPUT;

  )

  VARIABLE

  count[7..0],subadd :DFF;

  -- subadd :NODE;

  BEGIN

  count[].clk=clk;

  count[].clrn=reset;

  subadd.clk=clk;

  subadd.clrn=reset;

  daout[]=count[].q;

  -- sa[]=subadd[].q;

  CASE model[] IS

  WHEN 0 =》

  count[].d=count[].q+1;

  WHEN 1 =》

  count[].d=count[].q-1;

  WHEN 2 =》

  IF(subadd.q==GND) THEN

  count[].d=count[].q+1;

  IF(count[].q == 254) THEN

  subadd.d=VCC;

  ELSE

  subadd.d=GND;

  END IF;

  ELSE

  count[].d=count[].q-1;

  IF(count[].q 《= 1) THEN

  subadd.d=GND;

  ELSE

  subadd.d=VCC;

  END IF;

  END IF;

  WHEN 3 =》

  count[].d=count[].q+H“20”;

  END CASE;

  END;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !