开个智能家居有生意吗-家具批发市场哪儿便宜

2023年5月1日发(作者:海尔与容声冰箱哪个品牌质量好)
电
磁
炉
控
制
器
班级:电信103
学号:1010064087
姓名:李哲
电磁炉控制器
李哲
(陕西理工学院物理与电信工程学院电信103 汉中,723000)
摘要:
设计一个有5个档的电磁炉控制器,其中1和5分别表示最低温和最高温。另外此电
磁炉控制器还具有定时功能,可以定时5和10分钟,当定时结束时,蜂鸣器会鸣叫3秒,
分别用一个静态数码管和动态数码管显示温度档和定时时间。
关键字:FPGA VHDL 电磁炉控制器
Induction cooker controller
Li Zhe
(shaanxi institute of physics and telecommunications telecommunications engineering institute
in 103, hanzhong city, 723000)
Abstract: Design a induction cooker controller has five gears, the highest temperature with
moderate lowest 1 and 5, respectively. The induction cooker controller also has the function of
timing, timing of 5 and 10 minutes, when timing is over, a buzzer will singing for 3 seconds,
respectively, in a static dynamic digital tube display digital tube and temperature profile and
timing.
Key words: the FPGA VHDL induction cooker controller
整体设计思路
设计一个有5个档的电磁炉控制器,其中1和5分别表示最低温和最高温。另外此电磁
炉控制器还具有定时功能,可以定时5和10分钟,当定时结束时,蜂鸣器会鸣叫3秒,分
别用一个静态数码管和动态数码管显示温度档和定时时间。
由于设计要求,对应2种显示方式:静态显示和动态显示,再加上蜂鸣部分。故应分为
三个部分,静态数码管显示,动态数码管显示,和蜂鸣器。用三个拨码开关控制静态数码管
显示,当输入为A2A1A0是,数码管会做出相应的显示,在5个档位范围内则不会显示。动
态数码管有两个状态,分别为五分钟,十分钟倒计时。当计时为0时,输出电平为高,蜂鸣
器鸣三秒。
1.静态数码管显示
静态数码管需要显示1至5档,用3个拨码开关控制,输出对应7个可发光二极管(如
不在1-5档范围内,则不显示)
其真值表如下:
根据真值表可得:
A2 A1 A0 OA OB OC OD OE OF OG
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 0 0 0
0 1 0 1 1 0 1 1 0 1
0 1 1 1 1 1 1 0 0 1
1 0 0 0 1 1 0 0 1 1
1 0 1 1 0 1 1 0 1 1
1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
OA=A2′A1+A2A1′
A0
OB=A2A1′A0′
+A2′A0+A2′A1
OC=A2A1′+A2′
A0
OD=A2A1′A0+A2′
A1
OE=A2′A1A0′
OF=A2A1′
OG=A2′A1+A2A1′
为了让每个脉冲的到来都产生一个跳变,该实验用jk触发器实现0-5的循环,jk触发器的
程序如下所示:
LIBRARY IEEE;
USE _LOGIC_;
ENTITY jk is
PORT(j,k,clk:IN STD_LOGIC;q,qn :OUT STD_LOGIC);
END jk;
ARCHITECTURE one OF jk IS
SIGNAL q_s:STD_LOGIC;
BEGIN
PROCESS(j,k,clk)
BEGIN
IF clk'EVENT AND clk='1'THEN
IF J='0'AND k='0'THEN
q_s<=q_s;
ELSIF J='0'AND k='1'THEN
q_s<='0';
ELSIF J='1'AND k='0'THEN
q_s<='1';
ELSIF J='1'AND k='1'THEN
q_s<=NOT q_s;
END IF;
END IF;
END PROCESS;
q<=q_s;
qn<=not q_s;
END one;
仿真图如下:
2.动态数码管显示
这部分是用74168,74153芯片(74168和74153分别是十进制同步可逆加减
计数器和双四选一数据选择器)来显示五分钟和十分钟倒计时的,需两个动态数
码管。此外,还需要两个拨码开关控制电路,一个控制计时,一个对五分钟,十
分钟倒计时进行选择,其中高电平时五分钟,低电平时十分钟。需要数据选择器
对输出进行挑选,控制输入主要控制数码管可发光的二极管。
2.1 5分钟倒计时显示
如图为芯片引脚连接,对计数器置数时,当信号为5状态时为低电平,输出为0101.当
计数器开始计时时,置数端不工作,而当芯片开始计时时,计时5-1的过程中总会有高电平
输出,当保持端为低电平输入时,不会工作,当计数到0时,保持段的输入信号为1,保持
段工作,对结果进行保持,一直为0000状态。
仿真图如下:
2.2 10分钟倒计时显示
如上图所示为十分钟倒计时,当选择10状态时,十位计数器置数,为0001,保持段输入为
0时,不会工作,此时个位计数器的保持段也为低,不工作,输出为0000,此时显示为10,
当开始计时,计数器十位计数端输入为1,不置数,还是计时,个位也开始计时,当十位计
数到0时,Q0为0 ,保持端工作,输出保持为0000,而只有当个位和十位输出都为0时有
效,也就是说,当计数器结束时显示00(上图下方为十位计数,上方为个位计数)。
其仿真图如下:
2.3 控制输入部分
在1Hz的时钟信号后加一个60进制计数器,从而进行分频,得到的脉冲就是1分钟。
分频计代码
library ieee;
use _logic_;
entity fe is
port(clk:in std_logic;
clk1:out std_logic);
end fe;
architecture fe_arc of fe is
begin
process(clk)
variable cnt:integer range 0 to 99;
begin
if clk'event and clk='1'then
if cnt=59 then
cnt:=0;
clk1<='1';
else
cnt:=cnt+1;
clk1<='0';
end if;
end if;
end process;
end fe_arc;
当拨码开关为低电平时,选择10状态时可为十位计数器提供置数信号。此外还可以屏
蔽掉5状态的时钟信号,让状态五的计数器不工作。拨码开关此时输出为低电平,这是10
状态的个位和十位计数器都没有时钟信号,为10.当start输出高电平时,计数器工作。如果
开关为高电平时,就选择五状态,这样可以对10状态的个位和十位计数器进行屏蔽,当高
电平作为开关输出时,计数器则开始工作。
计数器的置数端真值表
5状态时钟端
5/10 start clockL 5状态LDN 10状态十位LDN
真值表
0 0 0 1 0
5/10 start clockL 5状态CLK 10状态CLK
0 0 1 1 1
0 0 0 0 0
0 1 0 1 0
0 0 1 0 0
0 1 1 1 0
0 1 0 0 0
1 0 0 0 1
0 1 1 0 1
1 0 1 1 1
1 0 0 0 0
1 1 0 0 1
1 1 1 0 1
输出的数通过
输入端来控制,因
1 1 0 0 0
为无五状态和十状
1 1 1 1 0
态要在同一数码管
上显示,故需2片数据选择器。若为低电平,则A为1,选择五状态输出,即选择c1,反之
则选择输出10状态。
显示10状态时,要通过2片数据选择器来进行选择,也要通过对数码管的个位和十位
进行刷新。若开关为低电平时,数据选择器根据高频信号对10状态的个位和十位进行选择
输出,同时地址段也根据高频信号变化。
1 0 1 1 0
十分钟仿真图如下:
五分钟仿真如下:
2.4 蜂鸣输出
当倒计时到0时,也就是说当第一次数据选择的结果为0并且10状态十位计数器的TCN
输出也为0时,蜂鸣器开始。
3.蜂鸣部分
要蜂鸣3秒,就是在蜂鸣器前加一个十进制计数器,当计数到3时,蜂鸣停止,如图:
仿真图如下:
参考文献
谭会生 张昌凡 EDA技术及应用 西安电子科技大学出版社 2011年3月
电热水龙头怎么安装视频-办公室布置方案设计

更多推荐
电磁炉排行榜前十位
发布评论