ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:478.49KB ,
资源ID:3651233      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3651233.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LM35数字温度计最新.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LM35数字温度计最新.docx

1、LM35数字温度计最新课程设计任务书课程设计内容和要求:以所学EDA课程内容为核心 ,结合LM35温度传感器,及A/D转换器等内容,设计所需的测温系统。所设计的温度计的额定温度范围为-55155,程序设计部分可利用所学二十四进制计数器进行改编。对于其他辅助设备,A/D转换器等内容等需查阅资料,对符合要求的型号进行筛选,选出符合条件且最经济适用的部分。确定其精度大小,适用范围及在整个系统中的连接设置。将EDA技术使用于芯片设计和系统设计,可极大提高电路设计的效率和可靠性,且节约设计成本。在实验过程中锻炼了我们的动手能力。1 LM35温度传感器测温系统摘要2 绪论整个课程设计的思路3 Protel

2、99绘图过程4 LM35温度传感器介绍5 主要芯片及程序6 技术总结7 参考文献8 致谢摘要现在EDA技术是电子设计的重要工具,其核心是利用计算机完成电路设计的全程自动化,将EDA技术使用于芯片设计和系统设计,可极大提高电路设计的效率和可靠性,节约设计成本,减少设计人员的劳动强度。本次课程设计以EDA技术为主体 ,辅助学习传感器原理,A/D转换器原理,设计LM35温度传感器测温系统,运用LM35为温度传感器收集信号,因为用计算机来构建数据采集系统时看,利用温度传感器的敏感特性,去检测周围的温度,所经采集的温度信号时连续的信号,而计算机能处理不连续变化的信号,因此必须用A/D转换器将模拟信号转换

3、为电信号后进行处理,所以再利用A/D转换器将收集到的模拟信号转换为电信号送入计算机进行处理,再利用显示电路把转换后的数字信号显示出来。本次设计将介绍EP2C5Q208C8芯片,温度传感器 LM35及AD521芯片的基本原理和特点,及利用protel99画图的简要过程。绪论本次课程设计主要对常规数字温度计设计。LM35温度传感器测温系统的主要功能是测量周围环境的温度,在各类民用控制,工业控制以及航空航天技术方面,温度测量得到了广泛的使用。小型、低功耗、可靠性高、低成本的LM35温度传感器便得以备受关注,利用LM35为温度传感器,去收集周围环境的温度信号即可。因为所采集的温度信号是连续变化的模拟量

4、,而只要功能芯片EP2C5Q208C8能处理不连续的信号,因此,必须用A/D转换器将模拟信号转换成数字信号,再放大相应的倍数,才能送给主芯片进行处理,再利用显示电路把转换后的数字信号显示出来。对于显示电路的连接必须注意只能和能满足其需要的特定I/O口连接看,否则可能会导致显示的数值出现异常。一.Protel 99 SE 绘图过程设置原理图设计环境,设计环境对画原理图人影响很大,在画原理图之前,应该把设计环境设置好,工作环境是使用DESIGN/OPTIONS和TOOL/PREFERENCE菜单进行的,画原理图环境的设置主要包括图纸大小,捕捉栅格,电气栅格,模板设置等。A. 放置元件。将电气和电子

5、元件放置到图纸上,一般情况下元件的原理图符号在元件库中都可以找到,只需要将元件从元件库中取出,放置在图上,但由于本次设计中有一些新元件,故还要自己画元件。B. 画元件图。1、首先选择菜单FILE/NEW,然后在出现的窗口选择SCHEMATIC LIBRARY DOCUMENT图标建立一个元件库,该库的缺省名为SCHLIBL.LIB;在设计管理器窗口中双击该元件库,这就进入了画元件图窗口,在元件管理器窗口,可以看到已经给元件取了个缺省名COMPONENT_ 。 2、进入编辑窗口后使用page up键将窗口放大,放大到能清楚地看到可视栅格。 3、然后使用绘图工具箱中的工具依次绘出所需使用的元件,如

6、LM35、芯片ADC0809、芯片EP2C5Q208C8、3-8译码器、74LS138等。 4、当需要对所画元件放置管脚时,单击工具箱上的放管脚工具,就会看见鼠标变成十字还带着一个管脚,将鼠标移动到放置管脚的地方,单击鼠标将管脚一个接一个放置,注意用空格键调整管脚方向。 其中管脚的系列号是Protel 99 SE软件自动加上去的,若管脚名称或管脚的序号需要按顺序排列,则在放置第一个管脚之前,按Tab键然后在管脚Name和Number属性中输入排列序号的第一个数值或字母加数字,例如,若管脚序列号按数字增加的顺序排列,则输入第一个数字:若管脚名按D0、D1、D2排列,则输入D0。C. 若需要将所画

7、元件图放在原理图中,则需要将左上侧的Place单击则会自动跳转至原理图中,但选取适当的位置后,则单击右键即可确认。D. 原理图布线,元件一旦放置在原理图上,就需要用导线将元件连接起来,连接时一定要符合电气规则。E. 编辑和调整,编辑元件的属性,这些属性包括元件名,参数,封装图等,然后将元件和导线的位置进行细微的调整。F. 检查原理图在编辑元件的属性的基础上使用Protel 99 SE的电气规则检查功能,检查原理图的连线是否合理和正确,给出检查报告,若有错误,就需要根据错误情况进行改正。G. 在原理图右下角输入原理图名称,然后打印输出原理图。 原理图如下:二LM35传感器介绍 LM35是NS公司

8、生产的集成电路温度传感器系列产品之一,它具有很高的工作精度和较宽的线性工作范围,该器件输出电压和摄氏温度线性成比例。因而,从使用角度来说,LM35和用开尔文标准的线性温度传感器相比更有优越之处,LM35无需外部校准或微调,可以提供1/4的常用的室温精度。LM35在单电源模式下在25C下静默电流为50A,非常省电:静默电流温度关系单电源模式的接法单电源供电模式下的温度和电压变化呈线性关系 工作电压:直流430V; 工作电流:小于133A; 输出电压:+6V-1.0V; 输出阻抗:1mA负载时0.1; 精度:0.5精度(+25时); 泄漏电流:小于60A; 比例因数:线性+10.0mV/; 校准方

9、式:直接用摄氏温度校准; 封装:密封TO-46晶体管封装或塑料TO-92晶体管封装; 使用温度范围:-55+150额定范围。 引脚介绍: 正电压Vcc;输出;输出地/电源地。 三.主要芯片及程序 A/D转换器介绍 AD521是个增益放大器,AD521集成数据采集放大器可以在环境恶劣的工作条件下进行高精度的数据采集。它线性好,并具有高共模抑制比、低电压漂移和低噪声的优点,适用于大多数12位数据采集系统。AD521通常用于电阻传感器(电热调节器、应变仪等)构成的桥式传感器放大器以及过程控制、仪器仪表、信息处理和医疗仪器等方面。 AD521主要特性: 低漂移:2.0V/(AD522B); 非线性低:

10、0.005%(G=100); 高共模抑制比:110dB(G=1000); 低噪声:1.5Vp-p(0.1100Hz); 单电阻可编程增益:1G1000; 具有输出参考端及远程补偿端; 可进行内部补偿; 除增益电阻外,不需其它外围器件; 可调整偏移、增益和共模抑制比4、温度采集模数信号转换部分电路图 工作芯片介绍Cyclone II EP2C5Q208C8是Altera公司生产的一款具有较高性价比的FPGA芯片,它采用Stratix架构,使用90nm工艺生产,具有4608个LE,26个M4K单元,2个PLL以及13个乘法器,另外,其I/O管脚可以直接和系统中使用的其它芯片相连而不需要进行电平转换

11、。该款FPGA的内部资源以及管脚数量能够完全满足本案的设计需求。故选用该款FPGA作为主控逻辑芯片。FPGA的内部功能模块可以划分为UART收发、AD521控制、包络信号DDS、脉冲信号控制、变频控制信号输出这五个主要部分,另外,还包括各个模块间的协调以及时钟信号产生等部分。这些控制逻辑都通过Verilog硬件描述语言来实现主程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clock ISPORT( clk:IN STD_LOGIC; enable:IN STD_LOGIC; s

12、el:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END clock;ARCHITECTURE rt1 OF clock ISCOMPONENT clk_div1000PORT(clk:IN STD_LOGIC; clk_div:OUT STD_LOGIC);END COMPONENT;COMPONENT count100PORT( enable:IN STD_LOGIC; clk0:IN STD_LOGIC; qh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ql

13、:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT displayPORT( clk:IN STD_LOGIC; qh: IN STD_LOGIC_VECTOR(3 DOWNTO 0); ql: IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT; signal qh:STD_LOGIC_VECTOR(3 DOWNTO 0); sig

14、nal ql:STD_LOGIC_VECTOR(3 DOWNTO 0); signal clk0:STD_LOGIC;BEGINu0:clk_div1000 PORT MAP(clk,clk0);u1:count100 PORT MAP(enable,clk0,qh,ql);u2:display PORT MAP(clk,qh,ql,sel,segment);END rt1;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div1000 ISPORT( clk:IN STD_

15、LOGIC; clk_div:OUT STD_LOGIC);END clk_div1000;ARCHITECTURE rt1 OF clk_div1000 ISSIGNAL q_tmp:INTEGER range 0 to 999;BEGINPROCESS(clk)BEGINIF(clkevent and clk=1)THEN IF(q_tmp=999)THEN q_tmp=0; ELSE q_tmp=q_tmp+1; END IF;END IF;END PROCESS;PROCESS(clk)BEGINIF(clkevent and clk=1)THEN IF(q_tmp=999)THEN

16、clk_div=1; ELSE clk_div=0; END IF; END IF;END PROCESS;END rt1;Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity cont10 isPort(clk,clr:in std_logic;Y: out std_logic_vector(3 downto 0);Cout:out std_logic);End cont10;Architecture example of cont10 isSignal y_temp:std_logic

17、_vector(3 downto 0);Begin Process(clk) Begin If clr=1 then Y_temp=0000; Elsif clkevent and clk=1 then If y_temp=1001then Y_temp=0000; Cout=1; Else Y_temp=y_temp+1; Cout=0; End if; End if;End process;Yx,clr=clr,y=y_h);End example;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.AL

18、L;ENTITY count8 ISPORT( clk:IN STD_LOGIC; sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END count8;ARCHITECTURE rt1 OF count8 ISsignal sel_temp:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(clk)BEGINIF(clkevent and clk=1)THEN IF(sel_temp=111) THEN sel_temp0); ELSE sel_temp=sel_temp+1; END IF; END IF;selqqqsegmen

19、tsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegment=XXXXXXX; END CASE; END PROCESS; END rt1;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY display ISPORT( clk:IN STD_LOGIC; qh: IN STD_LOGIC_VECTOR(3 DOWNTO 0); ql: IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:OUT STD_LOGIC_VECTOR(2 DOWNT

20、O 0); segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END display; ARCHITECTURE rt1 OF display ISCOMPONENT count8 PORT( clk:IN STD_LOGIC; sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END COMPONENT; COMPONENT time_choose PORT( sel:IN STD_LOGIC_VECTOR(2 DOWNTO 0); qh:IN STD_LOGIC_VECTOR(3 DOWNTO 0); ql:IN STD_LOGIC_

21、VECTOR(3 DOWNTO 0); q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END COMPONENT;COMPONENT seg7PORT( q:IN STD_LOGIC_VECTOR(3 DOWNTO 0); segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END COMPONENT ;SIGNAL sel_tmp:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL q:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL segment_tmp:STD_LOGIC_VECTOR

22、(6 DOWNTO 0);BEGINU0:count8 PORT MAP(clk,sel_tmp);sel=sel_tmp;U2:time_choose PORT MAP(sel_tmp,qh,ql,q);U3:seg7 PORT MAP(q,segment_tmp); segment=segment_tmp;END rt1;四、技术总结为期两周的课设已经接近尾声了,在这2周中,我学到了很多,对EDA的认识也进一步加深了。从一个刚入门的学习者,渐渐的爱上了这门技术,虽然说对于EDA的知识还有很多要学习和提高,但是在这2周中我还是感受到这门课程的魅力所在。 在拿到数字钟这个课题时,我和我的合作伙

23、伴对这个课题感到比较轻松,脑海中一下子出现了许多设计念头,于是我们就分头去寻找这方面的资料,通过图书馆的书籍资料,网络上的虚拟资料。在2天的找资料的过程中,我开始觉得所谓的数字钟并非我想象的那么简单。一开始我想到的数字钟只是一般的计数功能并未涉及到调时,调分,和闹铃功能。在如何显示方面也没有细细的考虑过。在看过一些资料后,越来越感觉到数字钟课题并非手到擒来。 在和伙伴商量后,我们以一本参考书的资料为基础开始展开细致设计。我们一开始的输入是有三个模块 ,输入模块,计数模块,和显示模块。对于计数模块我们通过分频方法很快就得到了1HZ的频率用于计数,再通过计数进位标志实现秒,分,时的互相关联,再显示

24、模块,我们通过7段数码管扫描显示也的到了实现。但是在输入模块,我们却遇到了障碍,如何通过硬件上的有限的开关和按钮来实现呢。我们首先想到了 ,做一个可以输入数字的键盘和开关(16*16),可是在想到键盘设计本身就是一个非常复杂的过程,想到2周能做好的话有一定的难度,于是我们果断的放弃了这一计划。那么如何实现输入,这个问题摆在我们面前,我感到了课设以来前所未有的压抑感。通过四个开关控制09的输入,但是如何控制是输入的是哪一位,如何进行调时,闹铃控制?都是难题。 在冥想了2天后,我才发现自己陷如了思维的局限性中,为什么一定通过输入来完成调时呢,我们不可以通过他本身的计数功能来调时,这样虽然没有像我们

25、所想的输入调时那样方便,但是它的简单在于充分利用了1HZ频率,通过干扰进位标志进行调时。这一个方法想到后,其他的闹铃功能和报时功能也都迎刃而解了。经过3天的编程和功能完善,我们基本实现了所有的功能,各个模块的编译和仿真也都实现了,第二个星期,实验室开放,我和伙伴就开始进行硬件上的实现了,在完成顶层设计后,我们成功的下载在硬件上了。通过调时后,基本实现了全部功能,并通过了老师的检查。到此本次课设基本上实现了所有的功能,但在有些功能的实现中,还有待提高。比如说对于调时功能,只能等待调时,这样对于调时的机动性不好,如果控制不好,过了应调时间的话,就必须在等一次循环后才能调时,这样就很浪费时间了 。还有就是闹钟功能并未完全实现它,我们只是编写了一个特定的程序来闹铃,闹铃时间已经事先安排好了,无法再通过手动调节了,这样就缺少了人性化。这在课设结束以后,要进一步的改进,争取获得一款高性能的人性化的数字钟。 通过本次课设,我不仅学到了关于EDA的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。如果我们一味的屋子里苦思冥想那么再给2周的时间或许也不会有数字钟诞生,所以我觉得和

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1