- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《VHDL语言》课程设计
题目:电子温度计
系 别:电子通信工程系
姓 名: 张 利 丽
组 员:陈丹丹 张旭林
班 级: 医 电 051
学 号: 050411114
指导老师: 石 新 峰
设计时间:2007年12月7日
目 录
前言:……………………………………………………………………1
一、设计任务:…………………………………………………………2
二、题目分析与整体构思:……………………………………………3
三、硬件电路设计:……………………………………………………4
四、程序设计:…………………………………………………………5
五、心得体会:…………………………………………………………6
附录:……………………………………………………………………7
参考文献:………………………………………………………………8
前 言
传统温度计是采用玻璃带水球形式,其精度低,更不适应目前生活和电子化时代的要求。在需要对温度要求较高,并需控制和广泛民用行业中,很需要价廉实用的电子温度计。
传统的测量方法,大都利用固、液体的热膨胀原理而制造的传统温度计,它们都具有一定的局限性,特别是在深度和远距离测温场合中,其不足表现的更为突出。本文所述的电子温度计是使用温度传感器将温度信号转化为电信号,然后用液晶显示器进行温度指示的。既可制作成一个测温装置,也可制成由探测头和显示装置组成的电子温度测试仪。具有读数直观、反映被测温度时间短,测温范围宽和精度高等特点/D转换器,经FPGA内8051IP核处理后,送入数码管显示。
二、题目分析与整体构思
从题目出发,首先要选择温度传感器,考虑性价比,选择AD590来实现。AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。
然后选择A/D转换器,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。Quartus II 6.0,再安装niosii II,新建项目,加入8051IP核,然后进行一系列的参数设置,选择CYLONE系列的FPGA。由VHDL语言描述温度传感器,A/D转换器,数码管。根据8051单片机原理,对各个部分相连接。
三、硬件电路设计
1.PLL50,RAM ,ROM,构成8051单片机原理图
2.A/D转换器原理图
3.硬件电路图
四、程序设计
1.AD590 VHDL描述
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity temc is
port(clk:in std_logic;
data:in std_logic_vector(7 downto 0);
start,hz:out std_logic;
ale,oen:out std_logic;
add:out std_logic_vector(2 downto 0);
temp:out std_logic;
sg:out std_logic_vector(7 downto 0);
com:out std_logic_vector(5 downto 0) );
end temc;
architecture a of temc is
signal osc:std_logic;
signal f:std_logic_vector(5 downto 0);
begin
com(5 downto 0)=f(5 downto 0);
add=000;
oen=2e6 then
d_ff(20 downto 0):=000000000000000000000;
else d_ff(20 downto 0):=d_ff+1;
end if;
hz=not d_ff(6);
osc=not d_ff(8);
start=not d_ff(18);
ale=1010) then
up(3 downto 0):=0000;
else up(3 downto 0):=up(3 downto 0)+1;
end if;
if (up(7 downto 4)=1010) then
up(7 downto 4):=0000;
elsif (up(3 downto 0)=1010)
文档评论(0)