- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字系统设计与硬件描述语言
期末考试作业
基于VHDL 的智能空调控制器设计
一、 选题设计描述
1. 功能介绍
随着科技的发展,家用电器越来越智能化,空调控制器也不例外。根据平日
学习和日常经验,我本次设计的智能空调控制器具备以下功能:
1) 工作时间设定:半小时、一小时、一个半小时、两小时。
2) 工作模式设定:强风、弱风、自然风、睡眠模式。
3) 工作温度设定:用户可自由设置温度,控制器将室温与设置温度作比较。当
室温低于设置温度时,空调温度升高;当室温高于设置温度时,空调温度下
降;当室温等于设置温度时,温度不再变化。开关打开时,显示温度为设置
温度;开关关闭时,显示温度为室温。
2. 算法简介
1) 时间设置模块:半小时即三十分钟,我用一个三十进制计数器实现,每经过
30 个时钟脉冲产生一个定时脉冲,同时个位和十位清零;一小时即六十分钟,
我用一个六十进制计数器实现,每经过 60 个时钟脉冲产生一个定时脉冲,
同时个位和十位清零;以此类推。
2) 模式选择模块:我用“00”、“01”、“10”、“11”分别代表“强风”、“弱风”、“自
然风”、“睡眠模式”四种模式,通过一个4 选1 数据选择器实现。
3) 温度设置模块:室温与设置温度的比较通过 IF 语句实现,温度的增减用计
数器实现。
4) 开关模块:我选择了一个三输入开关控制器,相当于一个三输入或门和另一
个非门相与。三个输入即上述“时间设置模块”、“模式选择模块”、“温度设置
模块”,当任一模块开始工作且禁止端为低电平时,开关就打开,空调就开
始工作。
5) 显示模块:上述模块都需要数码管来显示,我用两个BCD-七段译码器分别
显示个位和十位,从而看出时间和温度的变化。
二、 程序源代码及说明
1) 顶层代码,仿真结果见图1、图2
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY air_conditioning IS
PORT(
a,b,c,d,clk,CLR,s1,s2,switch1,EN1,EN2,off :IN STD_LOGIC;
SETDECADE, SETUNIT, ROOMDECADE, ROOMUNIT: IN
STD_LOGIC_VECTOR(3 DOWNTO 0);
z,engine :BUFFER STD_LOGIC;
shi,ge,temp_shi,temp_ge :OUT STD_LOGIC_VECTOR(6 DOWNTO
0)
);
END ENTITY;
1
ARCHITECTURE connect OF air_conditioning IS
COMPONENT mux41
PORT(s1,s2 : IN STD_LOGIC;
a,b,c,d : IN STD_LOGIC;
z : OUT STD_LOGIC);
END COMPONENT mux41;
COMPONENT thirty
PORT(CLK,CLR ,EN: IN STD_LOGIC;
UNIT,DECADE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --
个位和十位
TIMING : OUT STD_LOGIC); --定时脉冲
END
文档评论(0)