当前位置: 首页 > news >正文

视频网站推广怎么做淄博高端网站建设

视频网站推广怎么做,淄博高端网站建设,可以免费做兼职的网站有哪些,wordpress widget logic目录 单片机的内部结构 中断请求标志寄存器 (1)TCON寄存器 (2)SCON寄存器 (3)定时器2的控制寄存器T2CON 中断允许与中断优先级的控制寄存器 中断允许寄存器IE 中断优先级寄存器IP 响应中断请求的条件 外部中断响应时间 外部中断的触发方式选择 中断请求的撤销 1.定…目录 单片机的内部结构 中断请求标志寄存器 (1)TCON寄存器 (2)SCON寄存器 (3)定时器2的控制寄存器T2CON 中断允许与中断优先级的控制寄存器 中断允许寄存器IE 中断优先级寄存器IP 响应中断请求的条件 外部中断响应时间 外部中断的触发方式选择 中断请求的撤销 1.定时器/计数器T0、T1中断请求的撤销 2.外部中断请求的撤销 (1)跳沿方式外部中断请求的撤销 (2)电平方式外部中断请求的撤销 3.串行口中断请求的撤销 4.定时器/计数器T2中断请求的撤销 中断服务子程序的设计 1.中断服务子程序设计的任务 2.采用中断时的主程序结构 3.中断服务子程序的流程 (1)现场保护和现场恢复 (2) 关中断和开中断 4.外部中断源系统设计 用优先权编码器扩展外部中断源 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。 当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求要求CPU暂停当前的工作转而去处理这个紧急事件处理完以后再回到原来被中断的地方继续原来的工作这样的过程称为中断实现这种功能的部件称为中断系统请示CPU中断的请求源称为中断源。微型机的中断系统一般允许多个中断源当几个中断源同时向CPU请求中断要求为它服务的时候这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队优先处理最紧急事件的中断请求源即规定每一个中断源有一个优先级别。CPU总是先响应优先级别最高的中断请求。 中断技术主要用于实时监测与控制要求单片机能及时地响应中断请求源提出的服务请求并作出快速响应、及时处理。这是由片内的中断系统来实现的。 当CPU正在处理一个中断源请求的时候(执行相应的中断服务程序)发生了另外一个优先级比它还高的中断源请求。如果CPU能够暂停对原来中断源的服务程序转而去处理优先级更高的中断请求源处理完以后再回到原低级中断服务程序这样的过程称为中断嵌套。这样的中断系统称为多级中断系统没有中断嵌套功能的中断系统称为单级中断系统。 单片机的内部结构 中断系统有6个中断请求源(简称中断源)两个中断优先级可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态中断优先级均可用软件来设置。 (1)INT0外部中断0 由图可知INT0可以通过两种方式触发 •TCON.0/IT00,经过反向器后变为1那么IE01标志此中断即将被触发 •TCON.0/IT11,经过下降沿由高电平变为低电平那么IE01标志此中断即将被触发  接下来将中断允许控制寄存器中的EX0分开关和总开关EA闭合再由中断优先级控制寄存器IP中的PX0置0或置1控制优先级 INT0与INT1原理相同 (2)T0: 定时器/计数器T0计数溢出发出的中断请求中断请求标志为TF0 当TF01向CPU发出申请中断。 T0与T1 原理相同 (3)T2 定时器/计数器T2的中断请求源含有计数溢出 (TF2)和“捕捉”(EXF2)两种中断请求标志,可以通过两种方式执行中断服务: •在方式0下T2作为一个16位定时器计数器的初值从TH2和TL2中读入当计数器递增到0xFFFF时会产生计数溢出中断请求TF2标志位被置为1同时触发中断请求。此时CPU会响应该中断请求并执行对应的中断服务程序。 •在方式2下T2作为一个16位计数器计数器初值从TH2和TL2中读入计数器的递增由外部输入引脚P1.1T2EX来控制。当P1.1引脚上的电平由低变高即发生捕捉事件时会产生捕捉中断请求EXF2标志位被置为1同时触发中断请求。此时CPU会响应该中断请求并执行对应的中断服务程序。 两种中断方式经或门共用一个中断矢量。因此在编写中断服务程序时需要对这两种中断请求进行区分处理。可以通过读取TF2和EXF2标志位的值来判断中断请求的来源从而执行相应的处理程序。 中断请求标志寄存器 6个中断请求源的中断请求标志分别由TCON、SCON和T2CON的相应位锁存 (1)TCON寄存器 为定时器/计数器的控制寄存器字节地址为88H可位寻址。特殊功能寄存器TCON的格式如图所示 (1) TF1一定时器/计数器T1的溢出中断请求标志位。当T1计数产生溢出时由硬件使TF1置“1”向CPU申请中断。CPU响应TF1中断时TF1标志由硬件自动清“0”TF1也可由软件清“0”。(2)TF0一定时器/计数器TO的溢出中断请求标志位功能与TF1类似。(3)IE1一外部中断请求1的中断请求标志位。(4)IE0一外部中断请求0中断请求标志位功能与IE1类似。(5)IT1一选择外部中断请求1为跳沿触发还是电平触发。IT10电平触发方式引脚 上低电平有效并把IE1置“1”。转向中断服务程序时由硬件自动把IE1清“0”IT11跳沿触发方式加到引脚 上的外部中断请求输入信号电平从高到低的负跳变有效并把IE1置“1”。转向中断服务程序时由硬件自动把IE1清“0”(6)IT0一选择外部中断请求0为跳沿触发方式还是电平触发方式其意义与IT1类似。 单片机复位后TCON被清“0”6个中断源的中断请求标志均为0。 (2)SCON寄存器 串行口控制寄存器字节地址为98H可位寻址。 低二位锁存串行口的发送中断和接收中断的中断请求标志TI和RI格式如图所示。 各标志位的功能: (1) TI----串行口的发送中断请求标志位。每发送完一串行数据后TI自动置“1”。TI标志必须由软件清“0” (2) RI----串行口接收中断请求标志位。串行口接收完一个串行数据帧硬件自动使RI中断请求标志置“1”。必须在中断服务程序中用指令对RI清“0” (3)定时器2的控制寄存器T2CON 特殊功能寄存器T2CON的字节地址为C8H可位寻址位地址为C8H~CFH。 T2CON中的最高两位为定时器/计数器T2的中断请求标志位TF2和EXF2。 •TF2 (D7) :当T2的计数器(TL2、TH2) 计数计满溢出回0时由内部硬件置位TF2(寄存器T2CON7)向CPU发出中断请求。但是当RCLK位或TCLK位为1时将不予置位。本标志位必须由软件清0。 •EXF2(D6):当由引脚T2EX (P11脚)上的负跳变引起“捕捉”或“重新装载”且EXEN2位为1则置位EXF2标志位(寄存器T2CON6)向CPU发出中断请求软件清零。 中断允许与中断优先级的控制寄存器 中断允许控制由中断允许寄存器IE控制。 中断优先级控制由中断优先级寄存器IP控制。 中断允许寄存器IE 单片机对各中断源的开放或屏蔽是由中断允许寄存器IE控制的IE字节地址为A8H可位寻址格式如图所示。 IE对中断的开放和关闭实现两级控制 有一个总的开关中断控制位EA (IE.7位) •EA0时所有的中断请求被屏蔽; •EA1时开放中断但6个中断源的中断请求是否允许还要由IE中的低6位所对应的6个中断请求允许控制位的状态来决定 IE中各位功能如下:(1)EA----中断允许总开关控制位。 EA0所有的中断请求被屏蔽 EA1所有的中断请求被开放 (2)ET2----定时器/计数器T2的溢出中断允许位 ET20禁止T2溢出中断。 ET21允许T2溢出中断。 (3)ES----串行口中断允许位。 ES0禁止串行口中断 ES1允许串行口中断。 (4)ET1----定时器/计数器T1的溢出中断允许位 ET10禁止T1溢出中断。 ET11允许T1溢出中断。 (5)EX1----外部中断1中断允许位。 EX10禁止外部中断1中断。 EX11允许外部中断1中断。 (6)ET0----外部中断中断允许位 EX00禁止外部中断0中断。 EX01允许外部中断0中断 (7)EX0----外部中断0中断允许位。 EX00禁止外部中断0中断 EX01允许外部中断0中断 单片机复位以后IE被清“0”所有的中断请求被禁止。IE中与各个中断源相应的位可用指置“1”清“”中源的中请若使某一个中断源被允许中断除了IE相应的位被置“1”外还必须使EA位置“1”即EA位置“1”中请的必要条件。 改变IE的内容可由位操作指令来实现(即SETB bit; CLR bit)也可用字节操作指令实现。 中断优先级寄存器IP AT89S52的中断请求源有两个中断优先级由软件分别设置为高优先级中断或低优先级中断可实现: 两级中断嵌套 AT89S52正在执行低优先级中断的服务程序时可被高优先级中断请求所中断待高优先级中断处理完毕后再返回低优先级中断服务程序。两级中断嵌套的过程如图所示。 各中断源的中断优先级关系可归纳为两条基本规则: (1)低优先级可被高优先级中断高优先级不能低优先级中断。如果某一中断源被设置为高优先级中断则不能被任何其他的中断源的中断请求所中断。 (2) 任何一种中断一旦得到响应不会再被它的同级中断源所中断中断优先级寄存器IP其字节地址为B8H可位寻址。只要用程序改变其内容可进行各中断源中断优先级的设置IP寄存器的格式如图所示。 IP各位的含义如下如果这些位置1高优先级如果这些位置0低优先级 (1)PT2定时T2中优先级控制位 (2)PS串行口中断优先级控制位 (3)PT1定时器T中断优先级控制位 (4)PX1一外部中断1中断优先级控制位 (5)PTO定时器TO中断优先级控制位 (6)PXO外部中断中优先级控制位在同时收到几个同优先级的中断请求时哪一个中断请求能优先得到响应取决于内部的查询顺序。这相当于在同一个优先级内还同时存在另个辅助优先级结构其查询顺序见表。 由此可见各中断源在相同优先级的条件下外部中断0的中断优先权最高T2溢出中断或EXF2中断的中断优先权最低 响应中断请求的条件 中断请求被响应必须满足以下必要条件: (1)总中断允许开关接通即IE存器中的中断总允许位EA1。 (2)该中断源发出中断请求即对应的中断请求标志为“1” (3)该中断源的中断允许位EA1即该中断被允许。 (4)无同级或更高级中断正在被服务。 当CPU查询到有效的中断请求时在满足上述条件时紧接着就进行中断响应。 中断响应的过程 首先由硬件自动生成一条长调用指令“LCALLaddr16”。就是程序存储区中相应的中断入口地址。 例如对于外部中断1的响应硬件自动生成的长调用指令为 LCALL 0013H 首先将程序计数器PC的内容压入堆栈以保护断点再将中断入口地址装入PC使程序转向响应中断请求的中断入口地址。 各中断源服务程序的入口地址(也称中断矢量)是固定的如表所示。 两个中断入口间只相隔8字节难以安放一个完整的中断服务程序。因此通常在中断入口地址处放置一条无条件转移指令使程序执行转向中断服务程序入口。   注 中断响应是有条件的当遇到下列三种情况之一时中断响应被封锁: (1)CPU正在处理同级或更高优先级的中断。(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后才能进行中断响应以确保当前指令执行的完整性。(3)正在执行的指令是RETI或是访问IE或IP的指令。因为按照AT89S52中断系统的规定在执行完这些指令后需要再  执行完一条指令才能响应新的中断请求。 如果存在上述三种情况之一CPU将丢弃中断查询结果不能对中断进行响应。 外部中断响应时间 使用外部中断时需考虑从外部中断请求到转向中断入口地址所需的时间。 外部中断的最短响应时间为3个机器周期。 其中中断请求标志位查询占1个机器周期而这个机器周期恰好处于指令的最后一个机器周期。在这个机器周期结束后中断即被响应CPU接着执行一条硬件子程序调用指令LCALL到相应中断服务程序入口需要2个机器周期 外部中断响应的最长时间为8个机器周期。 执行RETI或访问IE或IP的指令最长需要2个机器周期。接着再执行一条指令最长指令(乘法指令MUL和除法指令DIV)来算也只有4个机器周期。再加上硬件子程序调用指令LCALL的执行需要2个机器周期所以外部中断响应的最长时间为8个机器周期。 在CPU进行中断标志查询时刚好才开始执行RETI或访问IE或IP的指令需执行完指令再继续执行一条指令后才响应中断。 外部中断的触发方式选择 外部中断的触发方式即INT0的两种触发方式两种触发方式分别为电平触发方式和跳沿触发方式 •电平触发方式 外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化。 在中断服务程序返回之前外部中断请求输入必须无效(即外部中断请求输入已由低电平变为高电平)否则会再次响应中断。 所以本方式适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源 (即外中断输入电平又变为高电平)的情况。 •跳沿触发方式 外部中断申请触发器能锁存外部中断输入线上的负跳变。即使不能响应中断请求标志不丢失。 相继连续两次采样一个机器周期为高下一个机器周期采样为低则中断申请触发器置1直到CPU响应此中断时才清0。输入的负脉冲宽度至少保持12个时钟周期才能被采样到。适合于以负脉冲形式输入的外部中断请求。 中断请求的撤销 某个中断请求被响应后就存在着一个中断请求的撤销问题。 1.定时器/计数器T0、T1中断请求的撤销 硬件会自动把中断请求标志位(TFO或TF1)清0自动撤销。 2.外部中断请求的撤销 (1)跳沿方式外部中断请求的撤销 包括两项中断标志位清0和外中断信号的撤销 中断标志位清0是在中断响应后由硬件自动完成的 外中断请求信号的撤销由于跳沿信号过后也就消失了自动撤销。 (2)电平方式外部中断请求的撤销 电平方式外中断请求的撤销其中中断请求标志自动撤销但中断请求信号的低电平可能继续存在为此除了标志位清“0”之外还需在中断响应后把中断请求信号输入引脚从低电平强制改变为高电平如图所示: 由图用D触发器锁存外来的中断请求低电平并通过D触发器的输出端Q接到INT0*(或INT1*)。所以增加的D触发器不影响中断请求。 中断响应后利用D触发器的SD端接AT89S51的P1.0端。因此只要P1.0端输出一个负脉冲就可以使D触发器置“1”撤销低电平的中断请求信号 3.串行口中断请求的撤销 响应串行口的中断后CPU无法知道是接收中断还是发送中断还需测试这两个中断标志位以判定是接收操作还是发送操作然后才清除所以串行口中断请求的撤销只能使用软件的方法在中断服务程序中进行即用如下指令在中断服务程序中对串行口中断标志位进行清除: 4.定时器/计数器T2中断请求的撤销 定时器/计数器T2的中断请求包括两种:TF2和EXF2 上述两种中断请求在满足中断响应条件时CPU都将响应其中断请求转向同一个中断矢量地址。因此必须在T2的中断服务程序中对TF2和EXF2两个中断请求标志位进行查询然后正确转入对应的中断处理程序。 中断结束后中断请求标志位TF2或EXF2必须由软件清0。所以定时器/计数器T2中断请求的撤销只能使用软件的方法在中断服务程序返回前完成。 中断服务子程序的设计 1.中断服务子程序设计的任务 任务有下列4条: (1)设置中断允许控制寄存器IE允许相应的中断请求源中断 (2)设置中断优先级寄存器IP确定所使用的中断源的优先级 (3)若是外部中断源还要设置中断请求的触发方式决定采用电平触发方式还是跳沿触发方式。 (4)编写中断服务子程序处理中断请求 前3条一般放在主程序的初始化程序段中 2.采用中断时的主程序结构 程序必须先从主程序起始地址0000H执行。所以在0000H起始地址的几个字节中用无条件转移指令跳向主程序。 另外各中断入口地址之间依次相差8字节中断服务子程序稍长就超过8字节这样中断服务子程序就占用了其他的中断入口地址影响其他中断源的中断处理。为此一般在进入中断后用一条无条件转移指令把中断服务子程序跳转到远离其他中断入口的入口地址处 常用的主程序结构如下: 首先PC先指向0000H再通过长跳转跳转到主程序入口接着进行外部中断请求时会执行LCALL并且自动跳转到某个中断入口又因为每8位就到了下一个中断地址入口所以再执行一次长跳转选一个空间足够的地址执行中断指令最后通过RETI返回原中断入口 注意:如果有多个中断源就有多个“ORG X1X2X3X4H”的入口地址多个“中断入口地址”必须依次由小到大排列。主程序MAIN的起始地址Y1Y2Y3Y4H根据具体情况来安排。 3.中断服务子程序的流程 流程大致如下 (1)现场保护和现场恢复 现场是指单片机中某些寄存器和存储器单元中的数据或状态。为使中断服务子程序的执行不破坏这些数据或状态因此要送入堆栈保存起来这就是现场保护。现场保护一定要位于中断处理程序的前面。中断处理结束后在返回主程序前则需要把保存的现场内容从堆栈中弹出恢复原有内容这就是现场恢复。现场恢复一定要位于中断处理的后面。 是供现场保护和现场恢复使堆栈操作指令:“PUSHdirect”和“POPdirect”用的。要保护哪些内容应根据具体情况来定。 (2) 关中断和开中断 现场保护前和现场恢复前关中断是为防止此时有高一级的中断进入避免现场被破坏。在现场保护和现场恢复之后的开中断是为下一次的中断做好准备也为了允许有更高级的中断进入。这样中断处理可以被打断但原来的现场保护和现场恢复不允许更改除了现场保护和现场恢复的片刻外仍然保持着中断嵌套的功能。有时候一个重要的中断必须执行完毕不允许被其他中断嵌套。可在现场保护前先关闭总中断开关位待中断处理完毕后再开总中断开关位。这样需把上图中的“中断处理”步骤前后的“开中断”和“关中断”去掉。 [例4-4] 根据图流程编写中断服务程序。设现场保护只将PSW寄存器和累加器A的内容压入堆栈中保护。一个典型的中断服务子程序如下: 上述程序几点说明 (1)本例的现场保护假设仅仅涉及PSW和A的内容如有其他需要保护的内容只需在相应位置再加几条PUSH和POP指令即可。注意堆栈的操作是先进后出。 (2)“中断处理程序段”设计者应根据中断任务的具体要求来编写中断处理程序。 (3)如不允许被其他的中断所中断可将“中处理段”前后的“SETBEA”和“CLR EA”两条指令去掉。 (4)最后一条指令必须是返回指令RETI不可缺少CPu执行完这条指令后返回断点处重新执行被中断的主程序。 4.外部中断源系统设计 实际的应用中两个外部中断请求源往往不够用需对外部中断源进行扩充如图所示。系统有5个外部中断请求源IR0~IR4高电平有效。 最高级的请求源IR0直接接到AT89S52的一个外部中断请求输入端INT0*其余4个请求源IR1~IR4通过各自的OC门(集电极开路门)连到AT89S52的另一个外中断源输入端INT1*同时还连到P1口的P1.0~P1.3脚供AT89S52查询 如图所示电路除了IR0优先权级别最高外其余4个外部中断源的中断优先权取决于查询顺序中断优先权的高与低取决于查询顺序。 查询法扩展外部中断源比较简单但是扩展的外部中断源个数较多时查询时间稍长。 用优先权编码器扩展外部中断源 当需要处理的外部中断源数目较多而又要求响应速度很快时软件查询方法常常满足不了时间上的要求。因为在外部中断源很多的情况下响应优先级最高和响应优先级最低的中断所需的查询时间可能相差很大。如果采用硬件对外部中断源进行优先级排队就可避免这个问题。下面介绍采用优先权编码器扩展外部中断源的方法。 74LS148是一种优先权编码器利用74LS148扩展AT89S52外部中断源的电路如图4-12所示74LS148具有8个输入端“07”用作8个外部中断请求IRO*~IR7*输入端3个编码输出端A2~A0与单片机的P1.3~P1.1口线相连编码器输出控制端与单片机的外中断请求输入INT1*脚相连。在使能端为低电平的情况下只要其8输入端中任一输入为低电平就有一组相应的编码从A2AO端输出且同时编码器输出端输出低电平。 如果8中断源IR0*IR7*中有多个中断请求时 (低有效)其优先权最高的一组编码就出现在单片机的P1.3~P1.1口线上此时CS*端为低电平则AT89S52的INT1*端就为低电平若INT1*中断被允许就可以响应外部中断源所提出的中断请求。 74LS148的真值表见表 程序如下 设置p1.3,p1.2,p1.1的值通过ADPTR起始地址跳转到相应的外部中断设备 注 74LS148的输入端“7”(即IR0*端)具有最高优先权输入端“0”(IR7*即端)优先权最低这相当于给图中的8个外部中断请求源安排了一个中断优先级顺序。因此当同时有多个中断源提出中断申请时AT89S52只响应优先权最高的那个中断源的中断申请。 上述电路结构简单价格低廉但该电路无法实现中断嵌套。即当一个中断申请正在被执行时单片机不能响应别的中断源的中断申请(仅指IR0*~IR7*)。 由于所扩展的外中断源都是向AT89S52提出中断申请因此这些外中断源在使用时应注意以下三个问题。  (1) 中断响应时间 AT89S52的外中断响应时间在3~8个机器周期内由于AT89S52在真正为所扩展的外中断源 (IR0*~IR7*)服务之前需执行一段引导程序因此对所扩展的外中断源而言中断响应时间还要把执行引导程序所需的时间算在内。(2) 中断申请信号低电平的宽度 扩展的外部中断源中断请求信号的低电平要有足够宽度应一直保持到AT89S52将74LS148提供的编码取走为止否则会出现错误。AT89S52读取这个编码要执行4条指令需7个机器周期若系统时钟频率为12MHz则外中断请求信号低电平的宽度至少要大于15us。 (3)堆栈深度的问题 由于AT89S52的堆栈只能设在片内RAM字节有限每次响应中断时都要把断点、现场的内容压入堆栈内如果发生中断服务子程序中又调用子程序则极容易发生堆栈溢出或侵占其它片内RAM内容从而造成程序混乱在使用中要特别注意。 除上述3种方法外还可采用可编程中断控制器接口芯片8259A来进行外部中断源的扩展。
http://www.zqtcl.cn/news/68635/

相关文章:

  • 北京兼职网站建设网络营销就业前景怎么样
  • jsp语言做网站中国营销咨询公司排名
  • 表情网站源码网站做关键词排行一个月多少钱
  • 网站运营优化方案公司用的邮箱有哪些
  • 精密电子东莞网站建设技术支持25个经典网站源代码
  • 网站经营许可备案c mvc 大型网站开发
  • 网站开发攻克时间安卓优化大师下载安装到手机
  • 如何制作一网站怎么做信息发布型网站
  • 网站HTML怎么做链接佛山新网站建设咨询
  • 企业网站程序源码企业做网站乐云seo快速上线
  • 做网站徐州学生做网站的目的
  • 专业做邯郸网站优化企业网站只做英文
  • 莱芜网站建设自助建站优化做网站需要用服务器吗
  • 海口市住房和城乡建设局网站注册咨询公司
  • 网站备案如何查询wordpress tag做专题
  • 徐州网站建设市场分析找公司做网站有什么好处
  • 造型设计网站推荐百度引擎搜索引擎入口
  • 旅游网站开发的需求wordpress获取用户的评论
  • 阿里云做的网站空间网站在别人那里已经建好了_公司里要进行修改_怎么做
  • 做网站网站判刑多少年如何让域名跳转网站
  • 网站建设app销售好做吗杭州网站建设设计公司
  • wordpress 自建cdn烟台网站排名优化价格
  • 微信网站 顶部导航菜单wordpress添加幻灯片
  • 建定制营销型网站网站功能的介绍
  • 玉溪做网站公司wordpress 缓存 iis
  • 网站架构设计图怎么做免费交流网站建设
  • 济南制作公司网站wordpress 播放音频
  • 可以分4天做任务的网站wordpress程序版本
  • 厦门做手机网站公司浙江建设厅特种考试查询
  • 网站建设费包括住房和城乡建设部网站三定