什么是电子触发器?干什么用的?
触发器(Flip Flop)是一种可以存储电路状态的电子元件。
最简单的是由两个或非门,两个输入端和两个输出端组成的RS触发器(见图)。
复杂一些的有带时钟(CLK)段和D(Data)端,在CLK端为高电平时跟随D端状态,而在CLK端变为低电平的瞬间锁存信号的D触发器。
更常用的是两个简单D触发器级联而成的在时钟下跳沿所存信号的边缘D触发器,广泛应用于计数器、运算器、存储器等电子部件。
触发器的工作原理是什么
JK触发器是数字电路触发器中的一种电路单元。
JK触发器具有置0、置1、保持和翻转功能,在各类集成触发器中,JK触发器的功能最为齐全。
在实际应用中,它不仅有很强的通用性,而e69da5e6ba903231313335323631343130323136353331333330333661且能灵活地转换其他类型的触发器。
由JK触发器可以构成D触发器和T触发器。
1.CP=0时,触发器处于一个稳态。
CP为0时,G3、G4被封锁,不论J、K为何种状态,Q3、Q4均为1,另一方面,G12、G22也被CP封锁,因而由与或非门组成的触发器处于一个稳定状态,使输出Q、Q状态不变。
  
2.CP由0变1时,触发器不翻转,为接收输入信号作准备。
 
 JK触发器电路图:
设触发器原状态为Q=0,Q=1。
当CP由0变1时,有两个信号通道影响触发器的输出状态,一个是G12和G22打开,直接影响触发器的输出,另一个是G4和G3打开,再经G13和G23影响触发器的状态。
前一个通道只经一级与门,而后一个通道则要经一级与非门和一级与门,显然CP的跳变经前者影响输出比经后者要快得多。
在CP由0变1时,G22的输出首先由0变1,这时无论G23为何种状态(即无论J、K为何状态),都使Q仍为0。
由于Q同时连接G12和G13的输入端,因此它们的输出均为0,使G11的输出Q=1,触发器的状态不变。
CP由0变1后,打开G3和G4,为接收输入信号J、K作好准备。
   
3.CP 由1变0时触发器翻转   设输入信号J=1、K=0,则Q3=0、Q4=1,G13和G23的输出均为0。
当CP 下降沿到来时,G22的输出由1变0,则有Q=1,使G13输出为1,Q=0,触发器翻转。
虽然CP变0后,G3、G4、G12和G22封锁,Q3=Q4=1,但由于与非门的延迟时间比与门长(在制造工艺上予以保证),因此Q3和Q4这一新状态的稳定是在触发器翻转之后。
由此可知,该触发器在CP下降沿触发翻转,CP一旦到0电平,则将触发器封锁,处于(1)所分析的情况。
   
总之,该触发器在CP下降沿前接受信息,在下降沿触发翻转,在下降沿后触发器被封锁。
各种触发器的触发方式是什么
按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。
 按触发方式不同分为:电平触发器、边沿触发器和主从触发器。
 按电路结构不同分为:基本RS触发器和钟控触发器。
 按存储数据原理不同分为:静态触发器和动态触发器。
 按构成触发器的基本器件不同分为:双极型触发器和MOS型触发器。
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。
触发器经常用于加强数据的完整性约束和业务规则等。
 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
照明配件
 用于高强度气体放电灯(H.I.D)的启动,型号繁多.由于高强度气体放电灯启动时需要一个高电压来使气体电离进入等离子态,因而需要一个高压发生器做为启动器。
这就是触发器早期的机械型触发器已经淘汰。
现在绝大多数触发器都是使用可控硅或高压触发二极管的电子触发器,常用的型号有:OSRAM 的 CD-7 飞利浦的 SI51 SN58 爱伦的ALK400等
双稳态触发器
 基本电路如图1的上半部。
它由两个反相器直接耦合而成。
反相器1由晶体管T1和电阻Rc1R11及R12组成,反相器2由晶体管T2和电阻Rc2、R21及R22组成。
反相器1的输出端Q即是反相器2的输入端,同样,反相器2的输出端悩也是反相器1的输入端,两级反相器是互相反馈的。
这个电路具有两种稳定状态: 图1
一种稳态是T1管导通、T2管截止,Q端为低电位、悩为高电位;另一种稳态是T1管截止、T2管导通,Q端为高电位、悩端为低电位。
加上电压 Ec和-Eb后电路即进入一种稳定状态。
若不加触发信号,电路则永远处于这个稳定状态。
 欲使电路从一种稳态转换到另一种稳态,必须外加触发信号。
图1的下半部分是两个引导触发信号给各个反相器的电路。
它们分别由微分电路R1C1、R2C2和隔离二极管D1、D2组成。
 当外加负触发脉冲作用于引导电路的“S”端时,通过微分电路R1C1使D1导通,b1点呈低电位。
此时不论触发器原处何种状态T1管截止,Q点变为高电位,T2管导通,悩点变为低电位。
这种稳态称为触发器的“置位”状态,“S”端称为“置位”端。
反之,外加负触发脉冲作用于“R”端时,则使悩端为高电位,Q端为低电位。
这种稳态为触发器的“复位”状态,“R”端称为“复位”端。
具有置位、复位功能的触发器称为R-S触发器。
 双稳态触发器可用来构成各种计数器、分频器和寄存器等。
射极耦合触发器
 又称施密特触发器,其原理电路如图2。
它也由两级反相器直接耦合而成。
第一级反相器的输出端c1是第二级反相器的输入端。
第一级反相器的输入端接输入触发电压ui,第二级反相器的输出端提供输出电压u0。
两级反相器通过公共的发射极电阻Re耦合在一起,因而称射极耦合触发器。
这种触发器也有两种稳定状态,一种稳态是T1管导通、T2管 图2
截止,输出u0为高电位;另一种稳态是T1管截止,T2管导通,u0为低电位。
触发器的稳定状态决定于输入u电位的高低,因此这种触发器具有电位触发特性。
当输入ui为低电位时,T1管截止,c1点电位升高,使T2管导通,输出u0也是低电位。
当ui为高电位时,T1管导通,c1点电位下降,使T2管截止,u也是高电位。
射极耦合触发器可用于波形的整形和鉴幅。
单稳态触发器
 单稳态触发器也由两个反相器构成(图3a)。
与图1 的双稳态触发器相比,由晶体管T2组成的反相器2完全相同,但由晶体管T1组成的反相器1中,用电容器C代替电阻器R11,且R12接向 Ec。
另外,在T1管的b1点接有由D1、R1及C1组成的引导电路, ui即外加触发信号。
触发器的状态电压由c1及c2点输出。
 图3b的波形表明单稳态触发器的工作过程。
在外加负触发脉冲u到来以前(0~t1期间),触发器处于稳定状态。
由于b1点通过R12接向电压 Ec,T1导通,T2截止。
c1点的电压uc1为低电位,c2点电压u为高电位,电容器C被充电。
在t=t1瞬间,u到来,通过微分电路R1C1使D1导通,b1呈低电位,T1由导通变为截止,uc1上升为高电位;T2导通,uc2 图3
下降为低电位。
这时,电容器C通过T2放电形成暂时稳定状态(t1~t2期间),称为暂稳态。
随着电容器C的放电,b1点电位上升,当t=t2时,b1点的电位又使T1管导通,uc1下降为低电位,T2管又截止,uc2电位上升。
在t2~t3期间,uc2因受Rc2C充电的影响而上升缓慢,形成恢复期。
t3以后进入原来的稳定状态。
单稳态触发器可用于脉冲整形和脉冲延时。
 各种触发器均可由分立元件构成,也可由集成电路来实现。
但随着集成电路技术的发展,集成触发器品种逐渐增加,性能优良,应用日益广泛。
基本触发电路有R-S触发器,T触发器,D触发器,J-K触发器等。
什么是触发器?
触发器是一种特殊的存储过程,它在试图更改触发器所保护的数据时自动执行。
    它被定义为在对表或视图发出 UPDATE、INSERT 或 DELETE 语句时自动执行,在有数据修改时自动强制执行其业务规则。
    触发器可以扩展 SQL Server 约束、默认值和规则的完整性检查逻辑,但只要约束和默认值提供了全部所需的功能,就应使用约束和默认值。
    */
    -- 触发器的特点
    /*
    与表相关联
    触发器定义在特定的表上,这个表称为触发器表。
    自动激活触发器
    当对表中的数据执行 INSERT、UPDATE 或 DELETE 操作时,如果对表上的这个特定操作定义了触发器,该触发器自动执行,这是不可撤销的。
    不能直接调用
    与存储过程不同,触发器不能被直接调用,也不能传递或接受参数。
    作为事务的一部分
    触发器与激活触发器的语句一起做为对一个单一的事务来对待,可以从触发器中的任何位置回滚。
    当使用触发器时,应该考虑以下事实和知道原则:
    即使不存在显式的 BEGIN TRANSACTION 语句,在触发器的定义中也可以包括 ROLLBACK TRANSACTION 语句
    如果遇到一个 ROLLBACK TRANSACTION 语句,则整个事务回滚。
如果在触发器脚本中跟随在 ROLLBACK TRANSACTION 语句后还有别的语句,
    这些语句将继续被执行。
需要的话,可以使用 RETURN 语句来防止这些语句的执行。
    如果包括 ROLLBACK TRANSACTION 语句的触发器在一个用户定义的事务中被激活,这个 ROLLBACK TRANSACTION 语句撤销整个事务。
    在这个用户定义的事务的批处理语句中,激活该触发器的语句之后的语句将不再执行。
    */
    -- 举例
    /*
    use Test
    GO
    create table dbo.t_record(idx int identity(1,1),col_1 varchar(20))
    insert t_record (col_1) values ('Row 01')
    insert t_record (col_1) values ('Row 02')
    insert t_record (col_1) values ('Row 03')
    */
    create trigger tr_record_delete on dbo.t_record
    for delete
    as
    /*
    作用:当删除表 t_record 中的记录时,若一次删除 1 条以上,则取消删除
    */
    if (select count(*) from deleted)>1
    begin
    raiserror('You cannot delete more than one record at a time',16,1)
    rollback tran
    end
    Go
    select * from t_record
    delete t_record
    select * from t_record
    delete t_record where idx=1
    -- 触发器的使用
    /*
    触发器最好用于保持低级的数据完整性,而不是返回查询结果。
    触发器的主要好处是可以包含负责的处理逻辑。
    触发器能对数据库中相关的表进行级联修改,强制比 CHECK 约束更复杂的数据完整性。
与 CHECK 约束不同,触发器可以引用其他表中的列。
    定义自定义的错误信息。
    维护非规范化数据。
级联是指保持主键与外键之间的关系,非规范化数据是指派生的,冗余的数据值。
    比较修改前后数据的状态。
绝大多数触发器提供了访问由 INSERT、UPDATE 或 DELETE 语句引起的数据变化前后状态的能力。
    这样,就允许在触发器中引用由修改语句所影响的行。
    */
    -- 使用触发器时的考虑
    /*
    触发器是后反应的(Reactive),约束是前反应的(Proactice)
    在触发器定义的表中执行 DML 语句后,触发器执行。
而约束是在 DML 语句执行前进行检查。
    首先检查约束
    如果在触发器表上存在约束,则约束在触发器之前进行检查。
如果违反约束,触发器就不执行。
    表对任何动作可以有多个触发器
    允许在一个表上嵌套几个触发器。
一个表可以定义多个触发器,每个触发器可以为一个或多个动作定义。
    表的所有者能够指定最先和最后触发的触发器
    当一个表上有多个触发器时,表的拥有者可以使用 sp_settriggerorder 系统存储过程来指定最先和最后激活的触发器。
    其余的触发器的顺序不能被设置。
    用户必须具有执行触发器定义的所有语句的权限
    触发器创建者必须拥有在所有受影响的表上执行触发器所定义的所有语句的权限。
    如果触发器中的任何部分的 T-SQL 语句的权限被拒绝,整个事务将被回滚。
    表的属主不能在视图或临时表上创建 AFTER 触发器,但是触发器可以引用视图和临时表。
    */
    -- 8.2 --------------------------------------------------
    -- 定义触发器
    -- 创建触发器
    -- 创建时须定义 触发器的名称、触发器所在的表、触发器所监视的动作
    CREATE TRIGGER trigger_name
    ON table_name
    FOR INSERT|UPDATE|DELETE
    AS
    ......
    GO
    /*
    模拟一个排队取号系统,当号码到达 50 之后,重新回到 1 开始计数。
    即表中的 idx 到达 50 后,把表情空,把 IDENTITY 种子设置为 1 。
    use Test
    Go
    create table t_queue(idx int identity(1,1),create_time datetime default(getdate()))
    */
    create trigger tr_reset_queue on t_queue
    for insert
    as
    if @@identity>50
    begin
    truncate table t_queue
    declare @now datetime
    set @now=getdate()
    insert t_queue (create_time) values (@now)
    end
    Go
    declare @now datetime
    set @now=getdate()
    insert t_queue (create_time) values (@now)
    select * from t_queue order by idx desc
    -- 修改触发器: 加密触发器、禁用触发器
    -- 加密触发器
    alter trigger tr_reset_queue on t_queue
    with encryption
    for insert
    as
    if @@identity>100
    begin
    truncate table t_queue
    declare @now datetime
    set @now=getdate()
    insert t_queue (create_time) values (@now)
    end
    Go
    sp_helptext tr_reset_queue
    -- 禁用触发器
    alter table t_queue
    disable trigger tr_reset_queue
    alter table t_queue
    disable trigger all
    -- 启用触发器
    alter table t_queue
    enable trigger tr_reset_queue
    -- 删除触发器
    -- 可以直接删除触发器,也可以通过删除触发器所在的表来删除触发器。
    drop trigger tr_reset_queue
    或者
    drop table t_queue
    -- 练习 --------------------------------------------------
    -- 1 在 11 人制足球比赛中,球员在严重犯规后可被罚下场。
    --   但是当场上一个球队中的球员被罚到只剩 7 人时,无论再怎么犯规,都不能被罚下场。
    /*
    use Test
    Go
    create table dbo.t_RealMadrid_On(Name varchar(50),Num tinyint,Position char(3))
    insert t_RealMadrid_On values ('Casillas',1,'GK')
    insert t_RealMadrid_On values ('Salgado',2,'RB')
    insert t_RealMadrid_On values ('Samuel',19,'CBT')
    insert t_RealMadrid_On values ('Pavon',22,'CBT')
    insert t_RealMadrid_On values ('Roberto Carlos',3,'LB')
    insert t_RealMadrid_On values ('Figo',10,'RMF')
    insert t_RealMadrid_On values ('Backham',23,'CMF')
    insert t_RealMadrid_On values ('Ivan Helguera',6,'DMF')
    insert t_RealMadrid_On values ('Zidane',5,'OMF')
    insert t_RealMadrid_On values ('Ronaldo',9,'CF')
    insert t_RealMadrid_On values ('Raul',7,'CF')
    select * from t_RealMadrid_On
    */
    -- 答案 --------------------------------------------------
    -- 1
    create trigger tr_player_delete
    on t_RealMadrid_On
    for delete
    as
    if (select count(*) from t_RealMadrid_On)<7
    begin
    rollback tran
    raiserror('At Least 7 Players should Be On',16,1)
    end
    GO
    delete t_RealMadrid_On where Num in (select max(Num) from t_RealMadrid_On)
    select * from t_RealMadrid_On
    -- 2 使用触发器完成以下功能:当删除 t_Product 表时,检查 t_OrderHist
    -- 中是否包含该产品的订购记录,如果没有,可以删除产品,否则回滚并报错。
    use Test
    Go
    create table dbo.t_Product(p_id int,p_name varchar(50),stock int)
    insert t_Product select 1,'SONY CD-R 52X',25
    insert t_Product select 2,'SONY DVD+R 16X',0
    insert t_Product select 3,'SONY DVD+R 8X',20
    insert t_Product select 4,'MITSUBISHI DVD+R 16X',10
    Go
    create table dbo.t_OrderHist(o_id int,p_id int,quantity int,orderdate smalldatetime default(getdate()))
    insert t_OrderHist (o_id,p_id,quantity) select 10522,10,7
    insert t_OrderHist (o_id,p_id,quantity) select 10523,2,9
    insert t_OrderHist (o_id,p_id,quantity) select 10522,41,24
    insert t_OrderHist (o_id,p_id,quantity) select 10522,7,5
    GO
    select * from t_Product
    select * from t_OrderHist
    create trigger tr_product_delete
    on t_Product
    for delete
    as
    declare @p_id int
    select @p_id = p_id from deleted
    if @p_id  in (select p_id from t_OrderHist )
    begin
    raiserror('t_OrderHist中是否包含该产品的订购记录不允许删除',16,1)
    rollback tran
    end
    GO触发器是什么
触发器是数据库原理术语。
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。
触发器经常用于加强数据的完整性约束和业务规则等。
 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
SQL3的触发器是一个能由系统自动执行对数据库修改的语句。
  触发器也是数字电路领域术语。
在实际的数字系统中往往包含大量的存储单元,而且经常要求他们在同一时刻同步动作,为达到这个目的,在每个存储单元电路上引入一个时钟脉冲(CLK)作为控制信号,只有当CLK到来时电路才被“触发”而动作,并根据输入信号改变输出状态。
把这种在时钟信号触发时才能动作的存储单元电路称为触发器,以区别没有时钟信号控制的锁存器。
(参考资料:搜狗百科) 
		  
		  
		      
			  
		  
			  			   
			      
			        
			          
			          Megalayer 商家主营业务是以独立服务器和站群服务器的,后来也陆续的有新增香港、菲律宾数据中心的VPS主机产品。由于其线路的丰富,还是深受一些用户喜欢的,有CN2优化直连线路,有全向国际线路,以及针对欧美的国际线路。这次有看到商家也有新增美国机房的VPS主机,也有包括15M带宽CN2优化带宽以及30M带宽的全向线路。Megalayer 商家提供的美国机房VPS产品,提供的配置方案也是比较多,...
			         
			       
				  
			     
							   
			      
			        
			          
			          昨天,遇到一个网友客户告知他的网站无法访问需要帮他检查到底是什么问题。这个同学的网站是我帮他搭建的,于是我先PING看到他的网站是不通的,开始以为是服务器是不是出现故障导致无法打开的。检查到他的服务器是有放在SugarHosts糖果主机商中,于是我登录他的糖果主机后台看到服务器是正常运行的。但是,我看到面板中的IP地址居然是和他网站解析的IP地址不同。看来官方是有更换域名。于是我就问 客服到底是什...
			         
			       
				  
			     
							   
			      
			        
			          
			          Virmach商家我们是不是比较熟悉?速度一般,但是人家价格低,而且机房是比较多的。早年的时候有帮助一个有做外贸也许需要多个机房且便宜服务商的时候接触到这个商家,有曾经帮助够买过上百台这样的低价机器。这里需要提醒的,便宜但是速度一般,尤其是中文业务速度确实不快,如果是外贸业务,那肯定是没有问题。这几天,我们有看到Virmach推出了夏季优惠促销,VPS首年8折,最低年付仅7.2美元,多机房可选,如...
			         
			       
				  
			     
							
			   
			   
触发器为你推荐
	网页图片显示不出来手机浏览器加载不出来图片怎么办?微指数新浪微博微指数主要包括哪些内容?codereviewios有什么好的代码review笛卡尔乘积笛卡尔积是什么意思?初始化磁盘如何将磁盘还原为“未初始化”状态?apple以旧换新苹果以旧换新怎么换密码设置怎样登录怎样设置密码diskgenius免费版给我发一个 DISKGenius恢复数据破解版的可以吗,或者其他破解版的也可以,只要能恢复数据,感激不尽,...系统登录界面谁知道XP系统的登录界面。和启动界面怎么更改的 急微店是什么个人微店和企业微店,有什么区别?
域名申请 过期域名 5折 paypal认证 win8升级win10正式版 xen 北京主机 免费智能解析 空间技术网 免费外链相册 中国电信测速网站 阿里云邮箱登陆地址 网络速度 服务器防御 架设代理服务器 建站论坛 wannacry勒索病毒 ftp是什么东西 连连支付 木马检测 更多