
三、设计一个瞬时接通、延时断开的单按钮开关.doc
3页三、设计一个瞬时接通、延时断开的单按钮开关该按钮开关在按钮第一次按下时,输出信号X和Y瞬时变为高电平,在第二次按钮按下时,输出信号X瞬时变为低电平,但是输出信号Y在延迟90s后,才变为低电平试给出控制器框图、信号说明、状态表或状态图、该控制器顶层电路图和各个底层模块的ABEL 语言描述或原理图,给出用ispMACH4064实现的原理图设计中应该注意按钮抖动的影响、该开关的负载能力为200V,1A)1、 控制器原理框图2、 状态表说明现态次态条件输出 TX Y初始状态A0A1B=0000第一次按钮按下后A1A2B=1011第一次按钮按下后弹起A2A3B=0011第二次按钮按下后A3A0Td=11013、顶层电路图4、信号说明(1) SWITCH模块 CLK:时钟信号; Td:定时到信号; X、Y:输出信号;T:定时信号2) TIMER模块 T:定时信号; CLK:1s时钟信号;Td:定时到信号3) 四位二进制计数器/分频模块(用于产生1秒时钟信号)EN:计数允许信号; CLK:时钟信号; CD:计数器复位信号;Q3,Q2,Q1,Q0:输出信号 5、控制器模块(1)原理图(3) ABLE语言描述module switcht,x,y pin istype ’com’;clk,td,b pin; node istype ‘reg’;a0=[0,0];a1=[0,1];a2=[1,0];a3=[1,1];equations.clk=clk;state_diagram state a0:x=0;y=0;t=0;if b=0 then a1 else a0;state a1:x=1;y=1;t=0;if b=1 then a2 else a1;state a2:x=1;y=1;t=0;if b=0 then a3 else a2;state a3:x=0;y=1;t=1;if td=1 then a0 else a3;end6、定时器模块(1)原理图(2)ABEL语言描述 module timert,clk pin;q node istype ‘reg’;td pin istype ’com’;data=90;equationsq.clk=clk;q.ap=data;when t&(q!=^b00000000)then q:=q-1;else when q==^b00000000 then q:=q;when q==^b00000000 then td=1 else td=0;end7、 四位二进制计数/分频器模块(1)原理图(2 )ABEL语言描述module cbu14EN,CLK,CD pin;Q3..Q0 pin istype ‘reg’;count=[Q3..Q0];equationscount.clk=clk;count.AR=CD;count:=(count.fb)&!EN;count:=(count.fb+1)&EN;end 8、ispMACH实现原理图。
