教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

Verilog HDL 空调温度控制器设计

来源:网络收集 时间:2026-08-08
导读: Verilog HDL Max+Plus 设计题目:家用空调温度控制器 一 设计题目的要求: 家用空调温度控制器的功能为: 1、室内温度可由按键设置,温度的设置范围为20度至39度。 2、有加热和制冷两种工作模式。当空调工作在加热模式时,如果室温低于设定温度,空调加热,

Verilog HDL Max+Plus

设计题目:家用空调温度控制器

一 设计题目的要求:

家用空调温度控制器的功能为:

1、室内温度可由按键设置,温度的设置范围为20度至39度。

2、有加热和制冷两种工作模式。当空调工作在加热模式时,如果室温低于设定温度,空调加热,反之,不加热;当空调工作于制冷模式时,如果室温高于设定温度,空调制冷,反之空调不制冷。

3、对室内温度用两位数码管进行实时显示。

二 设计方案及其工作原理:

总的设计框图如下:

本电路由控制核心cpu、按键、4位锁存器、数码管7位译码器电路组成。 cpu:负责数据接收;室温和设定温度的比较;工作模式选择;显示数据的输出;加热制冷信号的控制;报警信号的输出等。

按键:负责设定标准温度,设置温度的升高与降低。

锁存器:将cpu输出的显示信号锁存,防止干扰,将信号送给译码器。 译码器:将BCD码译成数码管显示用的高低电平。

工作原理

在reset信号作用下,设定温度寄存器赋初值,初值为26度,通过add(温度升)和down(温度减)来步进调整设定温度(步进为一)。按键(key)模块通过seta和setb输出端口将设定温度传给cpu。

cpu接收到设定温度后将其与由温度传感器传来的室温xy比较,将比较结果标志存在寄存器(flag)中。读取用户工作模式(mod=1时为加热,mod=0时为制冷)。在加热模式状态下,根据flag的值给出加热控制寄存器heat

Verilog HDL Max+Plus

赋值;在制冷模式状态下,根据flag的值给制冷状态寄存器cool赋值。

cpu还将设置温度与设置温度范围比较,将比较结果标志存在报警寄存器flag_high(超上界寄存器)和flag_low(超下界寄存器)。

cpu还将室温和设定温度分别存放在室温寄存器和设定温度寄存器中。 最后,cpu将寄存器的值通过各端口输出。

各锁存器将数据锁存后在时钟信号的作用下将锁存信号输出给译码器,译码器再把BCD码转换成数码管显示的高低电平,数码管显示出室温和设置温度。

Led灯接到有效信号后点亮,指示设定温度是否越界(led_settoohigh表示设置温度过高;led_settoolow表示设置温度过低)。

三 各单元电路设计:

1、cpu设计

cpu框图如下:

disp_outx:室温十位输出显示

disp_outy:室温个位输出显示

disp_outa:设置十位输出显示

disp_outb:设置个位输出显示

cool:制冷输出信号

heat:加热输出信号

led_settoohigh:设定温度超越上限报警

led_settoolow:设定温度超越下限报警

x:室温十位输入

y:室温个位输入

a:设定温度十位输入

b:设定温度个位输入

mod:用户加热制冷模式选择

clk:时钟脉冲

flag:室温和设置温度比较标志位寄存器

flag_high:设置温度超越上界标志位寄存器

flag_low:设置温度超越下界标志位寄存器

2、按键(key)设计

Verilog HDL Max+Plus

按键(key)框图如下:

seta 输出温度设定十位

setb 输出温度设定个位

add 设定温度加一

down 设定温度减一

clk 时钟信号

reset复位信号(用于寄存器赋初值)

3、锁存器设计

锁存器框图如下:

data:锁存数据输入

qout:锁存数据输出

clk: 时钟信号

4、译码器设计

译码器框图如下:

D4: 译码器BCD码输入信号

a,b,c,d,e,f,g:译码器输出信号(输入给数码管)

四 模拟仿真验证及结果分析:

因整体仿真验证结果不易说明效果,故将各模块仿真结果予以分析。

1、cpu仿真结果

cpu仿真结果如图:

Verilog HDL Max+Plus

分析:前两个周期,用户模式为加热模式(mod=1)室温<设定温度,加热(heat=1);5~6周期用户模式为制冷(mod=0),室温>设定温度,制冷(cool=1);第7~9周期设置温度<20度,超越下界报警(led_settoolow=1);第10~12周期,设置温度>39度,超越上界报警(led_settoohigh=1)。

2、键盘仿真结果

键盘仿真结果如图:

分析:前2周期,reset=1,设置温度被设为26度,第5~10周期,add=1,设置温度每周期递增一;第12~20周期down=1,设置温度每周期递减一,21~27周期,没有增加和减少信号,温度稳定在24度。

3、锁存器仿真结果

锁存器仿真结果如图:

分析:如图,在每个时钟的上升沿将data中数据从qout输出。

4、译码器仿真结果

Verilog HDL Max+Plus

译码器仿真结果如图:

分析:D4输入8时,abcdefg为:1111111,D4输入为7时,abcdefg为:1110000,符合数码管显示规则。

下图为整个顶层结果仿真图(部分),仅供参考:

五 总结体会:

在这次课程设计的过程中,遇到了很多的问题;但也学习到了很多平时上课不曾接触到的东西、不懂的知识。了解到了具体的大工程是如何生成的、进一步掌握并熟悉了verilog HDL语言,同时也学会了同学之间相互的团结和协作。

通过本次课程设计,我懂得一个工程,必须先要有一个总体的方案,心中要明确设计的目的,如何才能达到这个目的;然后划分模块,将复杂抽象的问题具体简单化;接着逐个设计每个模块,调试,分析,再调试,直到完成各个模块的要求为止;最终,将各个模块整合起来,完成整体模块,完成工程设计。可谓受益匪浅……。

附录:程序源代码

/*温度控制cpu*/

Verilog HDL Max+Plus

//disp_outx 室温十位输出显示

//disp_outy 室温个位输出显示

//disp_outa 设置十位输出显示

//disp_outb 设置个位输出显示

//cool 制冷输出信号

//heat 加热输出信号

//led_settoohigh 设定温度超越上限报警

//led_settoolow 设定温度超越下限报警

//x 室温十位输入

//y 室温个位输入

//a 设定温度十位输入

//b 设定温度个位输入

//mod 用户加热制冷模式选择

//clk 时钟脉冲

//flag 室温和设置温度比较标志位寄存器

//flag_high 设置温度超越上界标志位寄存器

//flag_low 设置温度超越下界标志位寄存器

module cpu(disp_outx, disp_outy, disp_outa, disp_outb, cool, heat, led_settoohigh, led_settoolow,x,y,a,b,mod,clk);

output[3:0] disp_outx, disp_outy, disp_outa, disp_outb;

output cool, heat, led_settoohigh, led_settoolow;

input[3:0] x,y,a,b;

input mod,clk;

reg[3:0] disp_outx, disp_outy, disp_outa, disp_outb;

reg[1:0] flag;

reg flag_high,flag_low, cool, heat, led_settoohigh, led_settoolow; always@(posedge clk)

begin

begin /*设定温度上下界标志位判断*/

if(a>=4)

begin

flag_high =1;

flag_low=0; //flag_high=1 设定温度超出上界

end

else if(a<2)

begin

flag_low=1; //flag_low=1 设定温度超出下界 flag_high =0;

end

e …… 此处隐藏:4155字,全部文档内容请下载后查看。喜欢就下载吧 ……

Verilog HDL 空调温度控制器设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2176062.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)