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条评论
快来发表一下你的评论吧 !