专题二:数字钟及校园打铃系统设计

上传人:wm****3 文档编号:57186959 上传时间:2018-10-19 格式:PPT 页数:47 大小:262KB
返回 下载 相关 举报
专题二:数字钟及校园打铃系统设计_第1页
第1页 / 共47页
专题二:数字钟及校园打铃系统设计_第2页
第2页 / 共47页
专题二:数字钟及校园打铃系统设计_第3页
第3页 / 共47页
专题二:数字钟及校园打铃系统设计_第4页
第4页 / 共47页
专题二:数字钟及校园打铃系统设计_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《专题二:数字钟及校园打铃系统设计》由会员分享,可在线阅读,更多相关《专题二:数字钟及校园打铃系统设计(47页珍藏版)》请在金锄头文库上搜索。

1、专题二:数字钟及校园打铃系统设计,一、教学内容:数字钟设计 二、教学目的及要求: 1、掌握VHDL语言的基本结构及编程思想。 2、掌握VHDL语言的软件仿真方法。 3、掌握VHDL语言的下载及硬件仿真方法。 4、提高综合应用能力。 三、授课课时:6课时 四、教学重点、难点:数字钟VHDL语言设计,数字钟及校园打铃系统设计,设计目标: 1、基本的数字钟计时功能、校时功能; 2、定时闹钟功能; 可以任意设定闹钟时间,闹铃时间为1分钟。 3、校园打铃功能; (1)正常教学打铃:分夏季作息时间和春季作息时间打铃,响铃时间20秒。两季作息时间通过开关切换。 (2)考试时间打铃,响铃时间20秒。 (3)正

2、常教学打铃和考试打铃通过开关切换。,一、基本的数字钟计时功能、校时功能电路设计,1、基本计时功能电路设计,60进制计数器元件外部引脚功能图,说明:1、EN1时,正常计数,0时,停止计数。 2、CLRN0时,复位清零,1时,正常计数。 3、CLK时钟信号,上升沿触发。 4、QSA:60进制个位输出;QSB:60进制十位输出。,LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY clock_60 IS PORT( CLRN,EN,CLK: IN STD_LOGIC; cout1: out STD_LOGIC; Qsa : OUT INTEGER RA

3、NGE 0 TO 9; Qsb : OUT INTEGER RANGE 0 TO 5); END clock_60; ARCHITECTURE a OF clock_60 IS BEGIN PROCESS(CLK,CLRN) VARIABLE tmpsa: INTEGER RANGE 0 TO 9; VARIABLE tmpsb: INTEGER RANGE 0 TO 5;,60进制计数器设计(VHDL程序),BEGIN IF CLRN=0 THEN tmpsb := 0; tmpsa := 0; ELSIF CLKevent AND CLK=1 THEN IF EN=1 THEN IF tm

4、psb=5 AND tmpsa=9 THEN tmpSa:=0; tmpSb:=0 ;COUT1=1; ELSIF tmpSa=9 THEN tmpSa:=0; tmpSb:=tmpSb+1; ELSE tmpSa:=tmpSa+1; END IF; END IF; END IF ; QSA=tmpsa;QSB=tmpsb; END PROCESS ; END a;,24进制计数器设计元件外部引脚功能图:,说明:1、EN1时,正常计数,0时,停止计数。 2、CLRN0时,复位清零,1时,正常计数。 3、CLK时钟信号,上升沿触发。 4、QHA:24进制个位输出;QHB:24进制十位输出。,LI

5、BRARY ieee; USE ieee.std_logic_1164.all; ENTITY clock_24 IS PORT( CLRN,EN,CLK: IN STD_LOGIC; cout: out STD_LOGIC; Qha : OUT INTEGER RANGE 0 TO 9; Qhb : OUT INTEGER RANGE 0 TO 2); END clock_24; ARCHITECTURE a OF clock_24 IS BEGIN PROCESS(CLK,CLRN) VARIABLE tmpha: INTEGER RANGE 0 TO 9; VARIABLE tmphb:

6、 INTEGER RANGE 0 TO 2;,24进制计数器设计,BEGIN IF CLRN=0 THEN tmphb := 0; tmpha := 0; ELSIF CLKevent AND CLK=1 THEN IF EN=1 THEN IF tmphb=2 AND tmpha=3 THEN tmpha:=0; tmphb:=0 ;COUT=1; ELSIF tmpha=9 THEN tmpha:=0; tmphb:=tmphb+1; ELSE tmpha:=tmpha+1; END IF; END IF; END IF ; QHA=tmpha;QHB=tmphb; END PROCESS

7、 ; END a;,数字钟实体,数字钟实体,LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY clock_v IS PORT( EN,CLK,CLRN : IN STD_LOGIC; QSa,QMa,QHa : OUT INTEGER RANGE 0 TO 9; QSb,QMb : OUT INTEGER RANGE 0 TO 5; QHb : OUT INTEGER RANGE 0 TO 2 ; cout: out std_logic ); END clock_v;,ARCHITECTURE a OF clock_v IS signal co

8、ut1,cout2,COUT3:STD_LOGIC; BEGIN u60s: PROCESS(CLK,CLRN) VARIABLE tmpsa: INTEGER RANGE 0 TO 9; VARIABLE tmpsb: INTEGER RANGE 0 TO 5; BEGIN IF CLRN=0 THEN tmpsb := 0; tmpsa := 0; ELSIF CLKevent AND CLK=1 THEN IF EN=1 THEN IF tmpsb=5 AND tmpsa=9 THEN tmpSa:=0; tmpSb:=0 ;COUT1=1; ELSIF tmpSa=9 THEN tmp

9、Sa:=0; tmpSb:=tmpSb+1; COUT1=0; ELSE tmpSa:=tmpSa+1;COUT1=0; END IF; END IF; END IF ; QSA=tmpsa;QSB=tmpsb; END PROCESS u60s;,数字钟VHDL程序的结构体部分,接下页,u60M: PROCESS(cout1,CLRN) VARIABLE tmpMa: INTEGER RANGE 0 TO 9; VARIABLE tmpMb: INTEGER RANGE 0 TO 5; BEGIN IF CLRN=0 THEN tmpMb := 0; tmpMa := 0; ELSIF CO

10、UT1event AND COUT1=1 THEN IF EN=1 THEN IF tmpMb=5 AND tmpMa=9 THEN tmpMa:=0; tmpMb:=0 ;COUT2=1; ELSIF tmpMa=9 THEN tmpMa:=0; tmpMb:=tmpMb+1; COUT2=0; ELSE tmpMa:=tmpMa+1;COUT2=0; END IF; END IF; END IF ; QMA=tmpMa;QMB=tmpMb; END PROCESS u60M;,数字钟分计数器,接下页,u24H: PROCESS(COUT2,CLRN) VARIABLE tmpHa: INT

11、EGER RANGE 0 TO 9; VARIABLE tmpHb: INTEGER RANGE 0 TO 2; BEGIN IF CLRN=0 THEN tmpHb := 0; tmpHa := 0; ELSIF COUT2event AND COUT2=1 THEN IF EN=1 THEN IF tmpHb=2 AND tmpHa=3 THEN tmpHa:=0; tmpHb:=0 ;COUT3=1; ELSIF tmpHa=9 THEN tmpHa:=0; tmpHb:=tmpHb+1; COUT3=0; ELSE tmpHa:=tmpHa+1;COUT3=0; END IF; END

12、 IF; END IF ; QHA=tmpHa;QHB=tmpHb;COUT=COUT3; END PROCESS u24H; END a;,数字钟时计数器,结构图NO.7:此电路适合于设计时钟、定时器、秒表等。因为可利用键8和键5分别控制时钟的清零和设置时间的使能;利用键7、5和1进行时、分、秒的设置。,原理图设计方法,校时电路设计,状态机状态图,2选1多路选择器vhdl程序,ENTITY mux21a IS PORT( a, b : IN BIT ; k : IN BIT; c : OUT BIT ) ; END ENTITY mux21a ; ARCHITECTURE one OF mu

13、x21a IS BEGIN c = a WHEN k = 1 ELSE b ; END ARCHITECTURE one ;,状 态 机 程 序,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY zhuantaiji IS PORT ( CLK 0,reset: IN STD_LOGIC; y : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); END zhuantaiji; ARCHITECTURE behav OF zhuantaiji IS TYPE states IS (st0, st1, st2, st3,st4)

14、; SIGNAL stx : states ; BEGIN COMREG : PROCESS(CLK,RESET) BEGIN -决定转换状态的进程 IF RESET =1 THEN STX STX STX STX STX STX = st0; END CASE ; END IF; END PROCESS COMREG ;,COM1: PROCESS(STX) BEGIN -输出控制信号的进程 CASE STX IS WHEN st0 = y y y y y=“111“ ; END CASE ; END PROCESS COM1 ; END behav;,二、定时闹钟功能电路设计,七段数码管译

15、码器及显示器,K1闭合,显示正常计时时间 K1断开,显示定时器时间,思考:在正常显示时间时,如何使定时器“”键失效,以保证在正常计时时定时时间不被修改?,思考:响铃时间为1秒,如何保证?,数字钟电路设计,将上一讲中的数字钟包装成一个元件,引脚定义如下图所示。,定时器控制电路及定时时间存储电路设计,定时器控制电路及定时时间存储电路VHDL程序,LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY ctrl_memo IS PORT( reset,k1,up_key: IN STD_LOGIC; -k1高电平为调时,低电平为调分 Q_hourb : O

16、UT INTEGER RANGE 0 TO 2;-“时”高位 Q_houra : OUT INTEGER RANGE 0 TO 9;-“时”低位 Q_minueb : OUT INTEGER RANGE 0 TO 5; Q_minuea : OUT INTEGER RANGE 0 TO 9); END ctrl_memo; ARCHITECTURE a OF ctrl_memo IS BEGIN PROCESS(reset,k1,up_key) VARIABLE Q_tmpma: INTEGER RANGE 0 TO 9; VARIABLE Q_tmpmb: INTEGER RANGE 0 TO 5; VARIABLE Q_tmpha: INTEGER RANGE 0 TO 9; VARIABLE Q_tmphb: INTEGER RANGE 0 TO 2;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号