- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目八 数字电压计设计
班级:09电信 姓名:曾珍 学号:33
实训目标
使用AD0809模数转换芯片实现信号转换。
在EDA-V+系统上实现交通灯控制系统。
实训步骤
首先使用A/D转换模块,通过AD0809芯片,将模拟电压信号转换成8位数字量。
AD0809的V+至+5V,V-至GND,CLK取500KHz。完成剩余管脚的连接。
将8位信号送入到CPLD进行数据处理,并将处理完的数据送至数码管显示。
将分频、采样、译码显示模块连接在一起,实现数字电压计的设计,将输出结果显示在数码管上。
实训数据
画出最终的系统连接图,并附上每个模块的程序代码。
division1
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity division1 is
port(
clk : in std_logic;
clk4 : out std_logic);
end division1;
architecture behave of division1 is
begin
process(clk)
variable counter : std_logic_vector(7 downto 0);
begin
if (clkevent and clk=0) then
if (counter=250) then
counter:
clk4= 1;
else
counter:=counter+1;
clk4=0;
end if;
end if;
end process;
end behave;
code
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity code is
port( clk:in std_logic;
datain : in unsigned(7 downto 0);
scan:out std_logic_vector(1 downto 0);
dataout1: out std_logic_vector(6 downto 0)
);
end code;
architecture behave of code is
signal cnt:integer range 2 downto 0;
signal data:integer range 9 downto 0;
signal temp1: integer range 511 downto 0;
signal temp2: integer range 99 downto 0;
signal count1,count2: integer range 9 downto 0;
signal count3 : integer range 5 downto 0;
begin
process(clk)
begin
if clkevent and clk=1 then
if cnt=2 then cnt=0;
else
cnt=cnt+1;
end if;
end if;
end process;
process(datain)
begin
temp1=conv_integer(datain)+conv_integer(datain);
case temp1 is
when 500 to 511 =
count3=5; temp2=temp1-500;
when 400 to 499 =
count3=4; temp2=temp1-400;
when 300 to 399 =
count3=3; temp2=temp1-300;
when 200 to 299 =
count3=2; temp2=temp1-200;
when 100 to 199 =
count3=1; temp2=temp1-100;
when 0 to 99 =
count3=0; temp2=temp
文档评论(0)