什么是电子触发器?干什么用的?
触发器(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到来时电路才被“触发”而动作,并根据输入信号改变输出状态。
把这种在时钟信号触发时才能动作的存储单元电路称为触发器,以区别没有时钟信号控制的锁存器。
(参考资料:搜狗百科)
官方网站:点击访问酷番云官网活动方案:优惠方案一(限时秒杀专场)有需要海外的可以看看,比较划算29月,建议年付划算,月付续费不同价,这个专区。国内节点可以看看,性能高IO为主, 比较少见。平常一般就100IO 左右。优惠方案二(高防专场)高防专区主要以高防为主,节点有宿迁,绍兴,成都,宁波等,节点挺多,都支持防火墙自助控制。续费同价以下专场。 优惠方案三(精选物理机)西南地区节点比较划算,赠送5...
我们对于BlueHost主机商还是比较熟悉的,早年我们还是全民使用虚拟主机的时候,大部分的外贸主机都会用到BlueHost无限虚拟主机方案,那时候他们商家只有一款虚拟主机方案。目前,商家国际款和国内款是有差异营销的,BlueHost国内有提供香港、美国、印度和欧洲机房。包括有提供虚拟主机、VPS和独立服务器。现在,BlueHost 商家周年活动,全场五折优惠。我们看看这次的活动有哪些值得选择的。 ...
TmhHost是一家国内正规公司,具备ISP\ICP等资质,主营国内外云服务器及独立服务器租用业务,目前,商家新上香港三网CN2 GIA线路VPS及国内镇江BGP高防云主机,其中香港三网CN2 GIA线路最低每月45元起;同时对美国洛杉矶CN2 GIA线路高防及普通VPS进行优惠促销,优惠后美国洛杉矶Cera机房CN2 GIA线路高防VPS季付99元起。香港CN2 GIA安畅机房,三网回程CN2 ...
触发器为你推荐
drainage什么叫引流 引流是什么意思excel通配符Excel 条件中带有通配符的怎么用sumif豆瓣fm电台虾米猜电台和豆瓣fm哪个好?replacewithjquery中replaceall和replacewith的区别最好的视频播放器现在最好的播放器 是什么呀系统登录界面怎么样将系统登陆界面设置为可以切换到窗口登陆?微店是什么个人微店和企业微店,有什么区别?阶乘函数用函数求阶乘的C语言武汉教育云平台武汉天喻教育科技有限公司怎么样?传奇私服教程怎样开传奇SF?我要具体详细的步骤
怎么注册域名 ip查域名 重庆服务器租用 php空间租用 提供香港vps 科迈动态域名 希网动态域名 过期域名抢注 电影服务器 紫田 softbank官网 长沙服务器 gg广告 howfile 工信部icp备案号 网站木马检测工具 东莞服务器 国外ip加速器 华为云服务登录 视频服务器是什么 更多