4),carry_out=>carry_out1(1)); u5: cnt10 port
map(clk=>carry_out1(1),clr=>clr_cnt1,ena=>tsten1,cq=>dto1(11
downto
8),carry_out=>carry_out1(2)); u6: cnt10 port
map(clk=>carry_out1(2),clr=>clr_cnt1,ena=>tsten1,cq=>dto1(15
downto
12),carry_out=>carry_out1(3)); u7: cnt10 port
map(clk=>carry_out1(3),clr=>clr_cnt1,ena=>tsten1,cq=>dto1(19
downto
16),carry_out=>carry_out1(4)); u8: cnt10 port
map(clk=>carry_out1(4),clr=>clr_cnt1,ena=>tsten1,cq=>dto1(23
downto
20),carry_out=>carry_out1(5)); u9: cnt10 port
map(clk=>carry_out1(5),clr=>clr_cnt1,ena=>tsten1,cq=>dto1(27
downto
24),carry_out=>carry_out1(6)); u10:
cnt10
port map(clk=>carry_out1(6),clr=>clr_cnt1,ena=>tsten1,cq=>dto1(31 downto 28)); end behv;
四. 实验现象
数码显示实验测频率 五. 实验说明
在测高频时,显示频率与实测频率相差1KHz 特别测12MHz 在低频则比较精确。
44
3.4 实验四 D/A实验 一. 实验目的
了解EDA在数模变换中的应用,学会用EDA控制DAC0832 二. 实验连线
1 实验板正中Altera芯片板JC103用二十针排线接在实验板正中下方IDE-AD/DA 2 频率源CLK JP156 用短路帽接上65636HZ、JP155 接1024HZ 3 实验板管脚接线区右下端 JPOUT1插入示波器的探头.
4 实验板左下端JP103全部用短路帽接上,,开关区SW1、SW2上拨置1 三. 实验项目添加(方式同实验一)
1 在MAX+plusⅡ软件中,如下顺序点击 “File→project→name”出现如下对话框(图3.17)
45
图3.17
2 点“MAX+PLUS-programmer”后再点”JIAG-multi-device jtag chain setup”出现如下对话框(图3.18)
图3.18
将cpld/dac0832/enddac0832.sof项目添加到“multi-device jtag chain setup, 点 ADD回到“PROGRAMMER“对话框 , 点”configure”即下载。
46
3 现将原程序如下说明 ---打开dac0832.vhd library ieee;
use ieee.std_logic_1164.all; entity dac0832 is
port(clk: in std_logic; ----D/A 转换控制时钟
dd:
out integer range255 downto 0; -- 待转换数据
dispdata: out integer range
255 downto 0); -- 待转换数据输出显示
end dac0832;
architecture behv of dac0832 is signal q: integer range 63 downto 0;
signal d: integer range 255 downto 0;
begin process(clk) begin if (clk'event and clk ='1' ) then
q<=q+1; ---建立转换计数器
end if;
end process; process(q) begin case q is ---64点正弦波波形数据输出 when 00=> d<=255; when 01=> d<=254; when 02=> d<=252; when 03=> d<=249; when 04=> d<=245; when 05=> d<=239; when 06=> d<=233; when 07=> d<=225; when 08=> d<=217; when 09=> d<=207; when 10=> d<=197; when 11=> d<=186; when 12=> d<=174; when 13=> d<=162; when 14=> d<=150; when 15=> d<=137; when 16=> d<=124; when 17=> d<=112;
when 18=> d<=99; when 19=> d<=87; when 20=> d<=75;
47

