整理VerilogHDL家用空调温度控制器设计Word下载.docx

上传人:b****4 文档编号:7406409 上传时间:2023-05-08 格式:DOCX 页数:16 大小:264.73KB
下载 相关 举报
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第1页
第1页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第2页
第2页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第3页
第3页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第4页
第4页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第5页
第5页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第6页
第6页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第7页
第7页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第8页
第8页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第9页
第9页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第10页
第10页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第11页
第11页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第12页
第12页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第13页
第13页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第14页
第14页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第15页
第15页 / 共16页
整理VerilogHDL家用空调温度控制器设计Word下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

整理VerilogHDL家用空调温度控制器设计Word下载.docx

《整理VerilogHDL家用空调温度控制器设计Word下载.docx》由会员分享,可在线阅读,更多相关《整理VerilogHDL家用空调温度控制器设计Word下载.docx(16页珍藏版)》请在冰点文库上搜索。

整理VerilogHDL家用空调温度控制器设计Word下载.docx

锁存器:

将cpu输出的显示信号锁存,防止干扰,将信号送给译码器。

译码器:

将BCD码译成数码管显示用的高低电平。

工作原理

在reset信号作用下,设定温度寄存器赋初值,初值为26度,通过add(温度升)和down(温度减)来步进调整设定温度(步进为一)。

按键(key)模块通过seta和setb输出端口将设定温度传给cpu。

cpu接收到设定温度后将其与由温度传感器传来的室温xy比较,将比较结果标志存在寄存器(flag)中。

读取用户工作模式(mod=1时为加热,mod=0时为制冷)。

在加热模式状态下,根据flag的值给出加热控制寄存器heat赋值;

在制冷模式状态下,根据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)设计

按键(key)框图如下:

seta输出温度设定十位

setb输出温度设定个位

add设定温度加一

down设定温度减一

clk时钟信号

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

3、锁存器设计

锁存器框图如下:

data:

锁存数据输入

qout:

锁存数据输出

clk:

时钟信号

4、译码器设计

译码器框图如下:

D4:

译码器BCD码输入信号

a,b,c,d,e,f,g:

译码器输出信号(输入给数码管)

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

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

1、cpu仿真结果

cpu仿真结果如图:

分析:

前两个周期,用户模式为加热模式(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、译码器仿真结果

译码器仿真结果如图:

D4输入8时,abcdefg为:

1111111,D4输入为7时,abcdefg为:

1110000,符合数码管显示规则。

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

五总结体会:

在这次课程设计的过程中,遇到了很多的问题;

但也学习到了很多平时上课不曾接触到的东西、不懂的知识。

了解到了具体的大工程是如何生成的、进一步掌握并熟悉了verilogHDL语言,同时也学会了同学之间相互的团结和协作。

通过本次课程设计,我懂得一个工程,必须先要有一个总体的方案,心中要明确设计的目的,如何才能达到这个目的;

然后划分模块,将复杂抽象的问题具体简单化;

接着逐个设计每个模块,调试,分析,再调试,直到完成各个模块的要求为止;

最终,将各个模块整合起来,完成整体模块,完成工程设计。

可谓受益匪浅……。

附录:

程序源代码

/*温度控制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设置温度超越下界标志位寄存器

modulecpu(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;

outputcool,heat,led_settoohigh,led_settoolow;

input[3:

0]x,y,a,b;

inputmod,clk;

reg[3:

reg[1:

0]flag;

regflag_high,flag_low,cool,heat,led_settoohigh,led_settoolow;

always@(posedgeclk)

begin

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

if(a>

=4)

begin

flag_high=1;

flag_low=0;

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

end

elseif(a<

2)

flag_low=1;

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

flag_high=0;

else

flag_low=0;

flag_high=0;

//flag_low=0flag_high=0设定温度在正常范围内

end

begin/*室温与设置温度比较标志位判断*/

if(x>

a)

flag=2'

b01;

//flag=01室温高于设定温度

elseif(x<

a)//flag=10室温低于设定温度

b10;

else

if(y>

b)

flag=2'

elseif(y<

else

b11;

//flag=11室温等于设定温度

begin/*制冷、加热输出寄存器赋值*/

if(mod)

begin//mod=1加热模式下

if((flag==2'

b01)||(flag==2'

b11))

begin

heat=0;

//停止加热

cool=0;

end

elseif(flag==2'

b10)

begin//加热

heat=1;

else//mod=0制冷模式下

b10)||(flag==2'

//停止制冷

b01)

cool=1;

//制冷

end

begin/*显示、报警输出寄存器赋值*/

if(!

flag_high&

&

!

flag_low)//室温和设定温度显示寄存器赋值

disp_outx=x;

disp_outy=y;

disp_outa=a;

disp_outb=b;

led_settoohigh=0;

//led_settoohigh=0led_settoolow=0设定温度在正常范围

led_settoolow=0;

elseif(flag_high&

flag_low)//设定温度超越上界报警寄存器赋值

led_settoohigh=1;

//led_settoohigh=1设定温度超越上界

elseif(!

flag_low)//设定温度超越下界报警寄存器赋值

led_settoolow=1;

//led_settoolow=1设定温度超越下界

end

endmodule

/*按键输入设定温度*/

//seta输出温度设定十位

//setb输出温度设定个位

//add设定温度加一

//down设定温度减一

//clk时钟信号

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

modulekey(seta,setb,add,down,clk,reset);

0]seta,setb;

inputadd,down,clk,reset;

always@(posedgeclkorposedgereset)

if(reset)/*寄存器赋初值*/

begin

seta=2;

setb=6;

if(add)/*寄存器加一*/

begin

if(setb==9)

setb=0;

seta=seta+1;

setb=setb+1;

elseif(down)/*寄存器减一*/

if(setb==0)

begin

setb=9;

seta=seta-1;

end

else

setb=setb-1;

/*4位锁存器*/

//qout输出信号

//data输入信号

modulesuocunqi(qout,data,clk);

0]qout;

0]data;

inputclk;

0]qout;

always@(clkordata)

begin

if(clk)

qout=data;

//在时钟信号作用下输出信号

end

(2)辨识和分析评价对象可能存在的各种危险、有害因素,分析危险、有害因素发生作用的途径及其变化规律。

/*7位数码管译码器*/

//a,b,c,d,e,f,g,数据输出

2.环境影响报告表的内容//D4输出数据

moduleyimaqi(a,b,c,d,e,f,g,D4);

outputa,b,c,d,e,f,g;

C.环境影响报告书input[3:

0]D4;

B.环境影响登记表rega,b,c,d,e,f,g;

always@(D4)

case(D4)

4'

d0:

{a,b,c,d,e,f,g}=7'

b1111110;

d1:

b0110000;

d2:

b1101101;

d3:

b1111001;

环境影响评价工程师课主持进行下列工作:

d4:

b0110011;

第一节 环境影响评价4'

d5:

b1011011;

d6:

b1011111;

d7:

b1110000;

规划编制单位对可能造成不良环境影响并直接涉及公众环境权益的专项规划,应当在规划草案报送审批前,采取调查问卷、座谈会、论证会、听证会等形式,公开征求有关单位、专家和公众对环境影响报告书的意见。

d8:

b1111111;

发现规划存在重大环境问题的,审查时应当提出不予通过环境影响报告书的意见;

d9:

b1111011;

default:

bx;

//输出任意态

第二节 安全预评价endcase

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2