- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog_HDL家用空调温度控制器设计
数字系统课程设计
设计报告
设计题目:家用空调温度控制器
班 级:电技081
姓 名:翟建峰
学 号:3080422031
日 期:2010-12-31
一 设计题目的要求:
家用空调温度控制器的功能为:
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赋值;在制冷模式状态下,根据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为:11100
文档评论(0)