基于vhdl语言的智能空调控制器的设计材料.doc

基于vhdl语言的智能空调控制器的设计材料.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字系统设计与硬件描述语言 期末考试作业 题目: 智能空调控制器的设计 学院: 电子信息工程学院 专业: 电子信息工程 学号: 3012204273 姓名: 王欢 2015-01-09 选题设计描述 功能介绍 对于这次的期末课程作业,我选择的是智能空调控制器的设计。众所周知,日常使用的空调至少具有定时、控温、模式选择等基本功能。我设计的这个智能空调主要能实现以下几种功能: ①四种模式选择:强风、弱风、自然风、睡眠状态。 ②工作时间设定:半小时、一小时、一个半小时、两小时。 ③工作温度设置:可以自由设置温度,然后将室温与设置的温度进行比较,当室温低于设置的温度时,空调温度升高;当室温高于设置的温度时,空调温度下降;并且当室温达到设置的温度时,温度就不再变化。 2. 算法简介 按照上述的几种功能介绍,我将分几个模块依次介绍: ①模式选择模块:因为有4种模式,所以用一个4路数据选择器就可以实现。“00”、“01”、“10”、“11”分别代表“强风”、“弱风”、“自然风”、“睡眠状态”。 ②时间设置模块:半个小时即三十分钟,可以用一个三十进制的计数器来实现定时,一个小时即六十分钟,可以用一个六十进制的计数器实现,依此类推即可。 ③温度设置模块:室温与设置温度的比较需要用比较语句来实现,空调温度的增减都需要用计数器来实现,所以这是一个包含比较和计数两种功能的电路。 ④开关模块:我采用的是一个是三输入开关控制器,三个输入分别代表模式选择、时间设置、温度设置,只要其中有一个模块开始工作,那么开关就打开,空调就开始工作。 ⑤显示模块:上述几个模块都需要这个模块来进行显示。用两个BCD-七段译码器来分别显示显示十位和个位。就可以看出温度和时间的变化。 程序源代码及说明 ①模式选择,四选一数据选择器:仿真见图一 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY xuanze IS PORT(a,b,c,d,s1,s2 : IN STD_LOGIC; ---a,b,c,d是数据端口, s1和s2是选择端口。 y : OUT STD_LOGIC); END ENTITY xuanze; ARCHITECTURE one OF xuanze IS SIGNAL ss : STD_LOGIC_VECTOR (0 TO 1); BEGIN ss=s2s1; ---将两个标准逻辑位类型变成一个标准逻辑矢量类型 PROCESS(ss) BEGIN CASE ss IS ---用case语句实现多路选择 WHEN 00 = y=a; WHEN 01 = y=b; WHEN 10 = y=c; WHEN 11 = y=d; WHEN OTHERS = NULL; END CASE; END PROCESS; END ARCHITECTURE one; ②定时半小时,三十进制计数器:仿真见图二 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity thirty is port(clk,clr:in std_logic; gewei,shiwei:out std_logic_vector(3 downto 0); ---个位和十位 dingshi:out std_logic); ---定时脉冲 end entity; architecture arc of thirty is signal jinwei: std_logic; ---进位 begin process(clk,clr) variable ge:std_logic_vector(3 downto 0); begin if clr=1 then ge:=0000; ---clr有清零作用 elsif clk event and clk=1 then if ge=1000 then ge:=ge+1; jinwei=1;

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档