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

淘宝建设网站的崂山区建设管理局网站怎么了黑

淘宝建设网站的,崂山区建设管理局网站怎么了黑,seo成功的案例和分析,百度推广在哪里目录 定时器/计数器的结构 工作方式控制寄存器TMOD和TCON 定时器/计数器T1、T0的4种工作方式 1.方式0 2.方式1 3.方式2 4.方式3 定时器/计数器T2的结构与工作方式 1.T2的特殊功能寄存器T2MOD和T2CON 2.特殊功能寄存器T2CON 3.T2的三种工作模式 1. 捕捉方式 2.重新…目录 定时器/计数器的结构 工作方式控制寄存器TMOD和TCON 定时器/计数器T1、T0的4种工作方式 1.方式0 2.方式1 3.方式2 4.方式3 定时器/计数器T2的结构与工作方式 1.T2的特殊功能寄存器T2MOD和T2CON 2.特殊功能寄存器T2CON 3.T2的三种工作模式 1. 捕捉方式 2.重新装载方式 3.波特率发生器方式及可编程时钟输出 对外部输入的计数信号的要求 定时器/计数器的编程和应用 T1、T0的方式1应用 T1、T0的方式2的应用 T1、T0的方式3的应用 门控制位GATEx的应用----测量脉冲宽度 实时时钟的设计 T2实现1s定时 AT89S52单片机片内有3个可编程的定时器/计数器T0、T1和T2。 定时器/计数器的结构 定时器/计数器T1、T0结构如图5-1所示T0由特殊功能寄存器TH0TL0构成T1由特殊功能寄存器TH1、TL1构成。具有定时器和计数器2种工作模式4种工作方式 (方式0、方式1、方式2和方式3)。属于增1计数器。TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。 TCON用于控制T0、T1的启动和停止计数同时包含了T0、T1的状态。 T0T1不论是工作在定时器模式还是计数器模式都是对脉冲信号进行计数只是计数信号的来源不同。计数器模式是对加在T0(P3.4)和T1(P3.5)两个脚上的外部脉冲进行计数。 定时器工作模式是对单片机的时钟振荡器信号经片内12分频的内部脉冲信号计数。由于时钟频率是定值所以可根据计数值计算出定时时间。 工作方式控制寄存器TMOD和TCON TMOD用于选择定时器/计数器的工作模式和工作方式字节地址为89H,不能位寻址。TCON字节地址为88H可位寻址位地址为88H~8FH。 8位分为两组高4位控制T1低4位控制T0。 TMOD各位的功能:(1) GATE-门控位 0:仅由运行控制位TRx(x0,1)来控制定时器/计数器运行。 1:用外中断引脚(INT0*或INT1*)上的电平与运行控制位TRx共同来控制定时器/计数器运行。 (2) M1、M0----工作方式选择位 M1、M0共有4种编码对应于4种工作方式的选择如表所示 (3) C/T*-----计数器模式和定时器模式选择位 0:为定时器工作模式对单片机的晶体振荡器12分频后的脉冲进行计数。 1:为计数器工作模式计数器对外部输入引脚T0(P3.4)或T1 (P3.5)的外部脉冲(负跳变)计数。   (1) TF1、TF0一一计数溢出标志位 当计数器计数溢出时该位置“1”。使用查询方式时此位作为状态位供CPU查询但应注意查询有效后应使用软件及时将该位清“0”。使用中断方式时此位作为中断请求标志位进入中断服务程序后由硬件自动清“0”。(2) TR1、TR0一一计数运行控制位 TR1位(或TR0位)1启动定时器/计数器工作的必要条件。TR1位(或TR0位)0停止定时器/计数器工作。 该位可由软件置“1”或清“0” (3)IE0、IE1----外部中断标志位 IE0是外中断0的中断请求标志位IE1是外中断1的中断请求标志位。 (4)IT0、IT1----控制外部中断的触发方式 IT1控制外部中断1的触发方式控制外部中断0的触发方式。这两个位字段的取值为 •00低电平触发Low-Level Trigger •01下降沿触发Falling Edge Trigger •10上升沿触发Rising Edge Trigger •11双边沿触发Dual Edge Trigger 定时器/计数器T1、T0的4种工作方式 1.方式0 M1、M000时被设置为工作方式0逻辑结构框图见图(以T1为例TMOD.5、TMOD.400) 为13位计数器由TLx (x0,1) 低5位和THx高8位构成。TLX低5位溢出则向THx进位THx计数溢出则把TCON中的溢出标志位TFx置“1” C/T的两种工作模式在上面都有体现 (1) C/T*0电子开关打在上面位置T1(或T0)为定时器工作模式把时钟振荡器12分频后的脉冲作为计数信号。 (2) C/T*1电子开关打在下面位置T1(或T0)为计数器工作模式计数脉冲为P3.4(或P3.5)引脚上的外部输入脉冲当引脚上发生负跳变时计数器加1。GATE位状态决定定时器/计数器的运行控制取决TRx一个条件还是TRx和INTx*(x01)引脚状态两个条件。 对于左下方的GATE位 (1)GATE0A点 电位恒为1B点电位仅取决于TRx状态。 TRx1B点为高电平控制端控制电子开关闭合允许T1(或T0)对脉冲计数。TRx0B点为低电平电子开关断开禁止T1(或T0)计数。 (2) GATE1B点电位由INT* (x01)的输入电平和TRx的状态这两个条件来确定。当TRx1且INT* 1时B点才为1控制端控制电子开关闭合允许T1(或T0)计数。故这种情况下计数器是否计数是由TRx和INTX* 两个条件来共同控制的。 2.方式1 当M1、M001时定时器/计数器工作于方式1这时定时器/计数器的等效电路逻辑结构如图所示。方式1和方式0的差别仅仅在于计数器的位数不同方式1为16位计数器由THx高8位和TLx低8位构成 (x01)方式0则为13位计数器有关控制状态位的含义(GATE、C/T*、TFX、TRx)与方式0相同。 工作原理图如下 注方式0和方式1的最大特点是计数溢出后计数器为全0。因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题。这不仅影响定时精度也给程序设计带来麻烦。假设TL1与TH1分别代表地址000FH从000FH开始计数后溢出若想返回000FH继续计数那么需要通过软件编程控制将00分配给TL将0F分配给TH而软件编程是需要耗费机器周期的这样装初值会使计时不准确。但是方式2不会出现这一问题。 3.方式2 当M1、M0为10时定时器/计数器处于工作方式2这时定时器/计数器的逻辑结构如图所示(以定时器T1为例x1) 方式2为自动恢复初值 (初值自动装入)的8位定时器/计数器 TLx(x01)作为常数缓冲器当TLx计数溢出时在溢出标志TFx置1的同时还自动将THx中的初值送至TLx使TLx从初值开始重新计数。 定时器/计数器的方式2工作过程如图所示,TL0因为方式2最大就是8位表示溢出TF1表示中断请求标志位申请中断再将TH的初值赋值给TL 该方式可省去用户软件中重装初值的指令执行时间简化定时初值的计算方法可以相当精确地确定定时时间。 4.方式3 是为增加一个8位定时器/计数器而设使AT89S51单片机具有3个定时器/计数器。方式3只适用于T0T1不能工作在方式3。T1处于方式3时相当于TR10,停止计数(此时T1可用来作为串行口波特率产生器)1.工作方式3下的T0TMOD的低2位为11时T0的工作方式被选为方式3各引脚与T0的逻辑关系如图所示 定时器/计数器T0分为两个独立的8位计数器TL0和TH0TL0使用T0的状态控制位C/T*、GATE、TR0、TF0而TH0被固定为一个8位定时器(不能作为外部计数模式因为外部引脚被TL使用)并使用定时器T1的状态控制位TR1和TF1同时占用定时器T1的中断请求源TF1。2.T0工作在方式3时T1的各种工作方式 一般情况下当T1用作串行口的波特率发生器时TO才工作在方式3.TO处于工作方式3时T1可定为方式0、方式1和方式2用来作为串行口的波特率发生器或不需要中断的场合。 当T0工作在方式3时T1的工作方式: (1)T1工作在方式0 T1的控制字中M1,M000时T1工作在方式0 (2)T1工作在方式1 当T1的控制字中M1、M0 01时T1工作在方式1工作示意图如图所示 (3)T1工作在方式2最常使用 当T1的控制字中M1、M010时T1的工作方式为方式2工作示意图如图所示。 (4)T1设置在方式3 当T0设置在方式3再把T1也设为方式3此时T1停止计数。 定时器/计数器T2的结构与工作方式 AT89S52单片机与AT89S51单片机相比新增加了一个16位的定时器/计数器T2。T2有3种工作方式: 捕捉、重新装载(递增或递减计数) 和波特率发生器(若没有T2需要使用T1作为波特率发生器)。 这3种模式由特殊功能寄存器中的控制寄存器T2CON中的相关位进行选择。 1.T2的特殊功能寄存器T2MOD和T2CON •特殊功能寄存器T2MOD 特殊功能寄存器T2MOD的字节地址为C9H8位中只有2位有效其格式见图。 T2MOD寄存器的各位:T20E (D1) :输出允许位。T20E1允许定时时钟从P1.0输出;T20E0禁止定时时钟从P1.0输出。DCEN (D0):计数方式选择。DCEN1T2的计数方式由P1.引脚状态决定。P1.11T2减计数P1.10T2加计数;DCEN0计数方式与P1.1无关同T1和T0一样采用增1计数。 2.特殊功能寄存器T2CON T2的功能选择由特殊功能控制寄存器T2CON来设定T2CON字节地址为C8H可位寻址位地址C8H~CFH。 T2CON的格式见图 T2CON寄存器各位的定义TF2(D7) :T2计数计满溢出回0中断请求标志位。当T2计数计满溢出回0时由内部硬件置“1”TF2向CPU发出中断请求。但是当RCLK位或TCLK位为1时将不予置位。本标志位必须由软件清0。EXF2 (D6):T2外部中断请求标志位。当由引脚T2EX上的负跳变引起“捕捉”或“重新装载”且EXEN2位(外部采样允许位)为1则置“1”EXF2标志位向CPU发出中断请求。本标志位必须由软件清0。RCLK (D5):串行口接收时钟标志位。 •当RC LK位为1时串行通信端使用定时器/计数器T2的溢出回0信号作为串行通信方式1和方式3的接收时钟 •当RCLK位为0时使用定时器/计数器1的溢出回0信号作为串行通信方式1和方式3的接收时钟。TCLK (D4):串行发送时钟标志位。当TCLK位为1时串行通信端使用定时器/计数器2的溢出回0信号作为串行通信方式1和方式3的发送时钟当TCLK位为0时串行通信端使用定时器/计数器1的溢出回0信号作为串行通信方式1和方式3的发送时钟;EXEN2 (D3):T2外部采样允许标志位。当EXEN2位为1时如果T2不是正工作在串行口的时钟则在T2EX引脚 (P11)的负跳变将触发“捕捉”或“重新装载”操作;当EXEN2位为0时在T2EX引脚(P1.1)上的负跳变对T2不起作用。 TR2 (D2) :T2启动/停止控制位。当软件置“1”TR2时即TR21则启动T2开始计数当软件清“0”TR2时即TR20软件置“1”TR2时则停止计数。C/T2* (D1) :T2的定时或计数模式选择位当设置C/T2* 1时选择对外部事件计数模式;C/0时则选择内部定时模式。CP/RL2 (D0):T2捕捉/重新装载选择位。 •当设置为1时如果EXEN2为1则在T2EX引脚(P1.1)上的负跳变将触发“捕捉”操作; •当设置为0时如果EXEN2为1则T2计数计满回0溢出或T2EX引脚上的负跳变都将引起重新装载操作; 当RCLK位为1或TCLK位为1CP/RL2标志位不起作用。T2的计满回0溢出时将迫使T2进行重新装载操作。 计满回0时将迫使T2进行重新装载操作 计时器T2总结 3.T2的三种工作模式 定时器T2有3种工作方式:捕捉、重新装载(增计数或减计数)和波特率发生器3种工作方式可对寄存器T2CON中的相关位进行软件设置来选择具体见表。 1. 捕捉方式 捕捉方式就是及时“捕捉”住输入信号发生的跳变及有关信息。常用于精确测量输入信号的变化如脉宽等等。捕捉方式的工作示意见图。 根据EXEN2位的不同设置“捕捉”方式有两种选择。 注RCAP2L和RCAP2H代表陷阱寄存器暂存数据 (1)当EXEN2位0T2为16位的定时器/计数器。当设C/T2*位为1时选择外部计数方式对T2引脚(P1.0)上的负跳变信号进行计数。计数器计满回0溢出置“1”中断请求标志TF2发出中断请求信号。CPU响应中断进入该中断服务程序后必须用软件将标志位TF2清0。其他操作均与T0和T1的方式1相同。(2)当EXEN2位1T2除上述功能外还可增加“捕捉”功能。当外部T2EX引脚(P1.1)上的信号发生负跳变将选通三态门制端 将计数器TL2和TH2中的当前计数值被分别“捕捉”进RCAP2L和RCAP2H中同时T2EX引脚(P11)上的信号负跳变将置“1”TCON寄存器的EXF2标志位向CPU请求中断。 图中RCAP2L为陷阱寄存器低字节字节地址为CAHRCAP2H为陷阱寄存器高字节字节地址为CBH。T2引脚为P1.0T2EX引脚为P1.1因此当选用T2时P1.0和P1.1就不能作I/O口用了。另外这两个中断请求通过一个“或门输出。因此当CPU响应中断后在中断服务程序中应该用软件识别是哪个中断请求分别进行处理该中断请求标志位必须用软件清“0” 2.重新装载方式 T2的重新再装入方式根据寄存器TCON中的EXEN2的两种状态来进行选择。另外根据寄存器T2MOD中的DCEN位是“0”还是“1”来选择加1还是减1计数方式。 当单片机复位时T2MOD中的DCEN0则默认T2为增1计数方式;当把DCEN置“1”时将由T2EX引脚(P1.1)上的逻辑电平决定是增1/减1计数方式 (1)当设置T2MOD寄存器的DCEN 位为0(或上电复位为0)时T2为增1型重新装载方式此时根据T2CON寄存器中的EXEN2位的状态可选择两种操作方式: •当EXEN2标志位为0时T2计满回0溢出一方面使中断请求标志位TF2置“1”同时又将陷阱寄存器RCAP2L、RCAP2H中预置的16位计数初值重新再装入计数器TL2、TH2中自动进行下一轮的计数操作其功能与T0T1的方式2(自动装载)相同只是本方式是16位的计数范围大。RCAP2L、RCAP2H寄存器的计数初值由软件预置。T2的重新装载方式见图。 •当设置EXEN2标志位为1时T2仍具有上述操作方式的功能并增加了新的特性。当外部输入引脚T2EX(P1.1)产生负跳变时能触发三态门将RCAP2L、RCAP2H陷阱寄存器中的计数初值自动装载到TH2和TL2中重新开始计数并置“1”EXF2位发出中断请求。 (2)当T2MOD的DCEN位设置为1时可以使T2既能实现增1计数也可实现减1计数它取决于T2EX引脚上的逻辑电平由图可见当设置DCEN 位为1时可以使T2具有增1/减1计数功能 当T2EX(P1.1)引脚为“1”时T2执行增1计数功能。当不断加1计满回0溢出时一方面置位TF2为1发出中断请求另一方面溢出信号触发三态门将存放在陷阱寄存器RCAP2L、RCAP2H中的计数初值自动装载到TL2和TH2计数器中继续进行加1计数。 当T2EX (P1.1)引脚为“0”时T2执行减1计数功能。当TL2和TH2计数器中的值等于陷阱寄存器RCAP2L、RCAP2H中的值时产生向下溢出一方面置位TF2为1发出中断请求另一方面下溢信号触发三态门将OFFFFH装入TL2和TH2计数器中继续进行减1计数。中断请求标志位TF2和EXF2位必须用软件清“0” 3.波特率发生器方式及可编程时钟输出 当特殊功能寄存器T2CON中的RCLK和TCLK位均置成1或者其中某位为1时串行口进行接收1发送工作T2可工作于波特率发生器方式还可作为可编程时钟输出。 对外部输入的计数信号的要求 当定时器/计数器工作在计数器模式时计数脉冲来自外部输入引脚TO或T1。当输入信号产生负跳变时计数器的值增1。 每个机器周期的S5P2期间都对外部输入引脚TO或T1进行采样。如在第个机器周期中采得的值为1而在下一个机器周期中采得的值为0则在紧跟着的再下一个机器周期S3P1期间计数器加1。由于确认一次负跳变要花2个机器周期因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。 例如选用6MHz频率的晶体允许输入的脉冲频率最高为250kHz。如果选用12MHz频率的晶体则可输入最高频率为500kHz的外部脉冲。 对于外部输入信号的占空比并没有什么限制但为了确保某一给定电平在变化之前能被采样一次则这一电平至少要保持一个机器周期。故对外部输入信号的要求如图所示图中为机器周期 定时器/计数器的编程和应用 4种方式方式0与方式1基本相同只是计数位数不同。方式0初值计算复杂一般不用方式0而用方式1。 T1、T0的方式1应用 基本思想:方波周期用T0确定T0每隔1ms计数溢出1次即T0每隔1ms产生一次中断CPU响应中断后在中断服务子程序中对P1.0取反如图所示。 当单片机复位时从程序入口0000H跳向主程序MAIN处执行。其中调用了TO初始化子程序PTOMO。 子程序返回后程序执行“AJMP HERE”指令则循环等待当响应T0定时中断时则跳向T0中断入口再从T0中断入口跳向IT0P标号处执行T0中断服务子程序。 当执行完中断返回的指令“RET1”后又返回断点处继续执行循环指令“AJMP HERE”。在实际的程序中“AJMP HERE”实际上是一段主程序。当下一次定时器TO的1ms定时中断发生时再跳向TO中断入口从而重复执行上述过程。 如CPU不做其他工作也可用查询方式进行控制程序要简单得多 查询程序虽简单但CPU必须要不断查询TF0标志工作效率低。 基本思想:采用定时器模式。因定时时间较长首先确定采用哪一种工作方式。时钟为6MHz的条件下定时器各种工作方式最长可定时时间: 方式0最长可定时16.384ms; 方式1最长可定时131.072ms; 方式2最长可定时512us。 由上可见可选方式1每隔100ms中断一次中断10次为1s。 T1、T0的方式2的应用 基本思想:T0设为方式1计数初值为FFFFH。当外部计数输入端T0(P3.4) 发生一次负跳变时T0加1且溢出溢出标志TF0置“1”向CPU发出中断请求此时T0相当于一个负跳沿触发的外部中断源。 进入T0中断程序后F0标志置“1”说明T0引脚上已接收过负跳变信号。T1定义为方式2定时。在T0引脚产生一次负跳变后启动T1每500us产生一次中断在中断服务子程序中对P1.0求反使P1.0产生周期1ms的方波。由于省去重新装初值指令所以可产生精确的定时时间。 程序说明:当单片机复位时从0000H跳向主程序MAIN处执行程序。其中调用了对T0T1初始化子程序PTOM2。子程序返回后执行标号LOOP处指令循环等待T0引脚上负脉冲的到来。由于负脉冲到来的标志位FO的复位初始值为0所以程序就在标号LOOP处循环等待。 程序说明:由于T1的中断服务子程序只有两条指令不超过8个字节所以进入T1中断服务程序入口后没有选择再跳转。 T1、T0的方式3的应用 方式3下的TO和T1大不相同。TO工作在方式3TLO和THO被分成两个独立的8位定时器/计数器。其中TLO可作为8位的定时器/计数器而THO只能作为8位的定时器。此时T1只能工作在方式0、1或2。 一般情况下当T1用作串行口波特率发生器时T0才设置为方式3。此时常把定时器T1设置为方式2用作波特率发生器。 基本思想:设置TL0为方式3计数TLO初值设为OFFH当检测到T0脚信号出现负跳变时TL0溢出同时向CPU申请中断这里T0脚作为一个负跳沿触发的外部中断请求输入端。在中断处理子程序中启动TH-TH0事先被设置为方式3的100us定时从而控制P1.0输出周期为200us的方波信号如图所示 门控制位GATEx的应用----测量脉冲宽度 介绍门控制位GATE的具体应用测量INT1* (P3.3)引脚上正脉冲的宽度 执行以上程序使INT1*引脚上出现的正脉冲宽度以机器周期数的形式显示在显示器上。 实时时钟的设计 [例5-7]实时时钟最小计时单位是“秒”关键是如何获得“秒”的定时时间。基本思想 最小计时单位是秒如何获得1s的定时时间呢?定时器方式1最大定时时间也只能131ms。可将定时器的定时时间定为100ms中断方式进行溢出次数的累计计满10次即得秒计时。而计数10次可用循环程序的方法实现。初值的计算如例5-2。 片内RAM规定3个单元为秒、分、时单元: 42H:“秒”单元;        41H:“分”单元;        40H:”时“单元 从秒到分从分到时是通过软件累加并比较来实现。要求每满1秒则“秒”单元42H中的内容加1;“秒”单元满60则“分”单元41H中的内容加1;“分”单元满60则“时”单元40H中的内容加1;“时”单元满24则将42H、41H、40H的内容全部清“0” 程序设计 (1) 主程序设计 进行定时器T0初始化并启动T0然后反复调用显示子程序等待100ms中断到来。 (2) 中断服务程序的设计实现秒、分、时的计时处理。流程如图所示。 参考程序 T2实现1s定时 下面的的例子是利用T2的16位自动重新装载方式实现1秒定时。 单片机的P1.0脚接一个发光二极管LED进入T2中断服务子程序后对P1.0求反从而控制LED闪烁。晶振采用12MHz因此计数器增1的定时时间为1us。1秒定时时间与计数初值计算如下: 1秒时间采用16次中断来实现每次的中断时间所需的计数为1s/1662500 因此计数初值的十进制数为:216-6250030363036转换为16进制数为OBDCH。 由本例可见定时器T2的16位自动重新装载方式其功能与T0T1的方式2(8位计数初值自动装载)相同只是该方式是16位的计数范围大。当T2计数溢出时又将陷阱寄存器RCAP2L、RCAP2H中预置的16位计数初值重新再装入计数器TL2、TH2中自动进行下一轮的计数操作。 注意由于引起T2中断的可能是EXF2也可能是TF2所以要在中断服务程序进行判断对TF2的中断不处理只处理EXF2引起的中断。
http://www.huolong8.cn/news/52670/

相关文章:

  • 不花钱做推广的网站网站建设过程报告
  • 黄冈网站建设公司制作网站淮北论坛官网app
  • 快速搭建网站2020游戏推广工作怎么样
  • wordpress 多站点 主题漂亮html个人简历代码
  • 微网站 微信网站中铁建设集团有限公司官方网站
  • 做网站广告联盟赚钱如何选择网站公司
  • 哈什么网一个网站做ppt辽宁省建设工程信息网业绩公示
  • 音乐主题的网站设计wordpress数据库缓存
  • 泉州大型网站设计公司企业为什么要上市
  • 海淀网站建设枣庄做网站需要知道的问题
  • 网站开发应注意哪些问题免费商业源码论坛
  • 做旅行的网站微网站 案例
  • 织梦cms 做视频网站wordpress 文章页不显示侧边栏
  • 网站建设数据处理东丽做网站公司
  • 网站建设的费用计入t型布局网站的样子
  • 韩文网站建设期末成绩管理网站开发背景
  • 电话销售做网站打官司白银区住房和城乡建设局网站
  • 宁波网站设计建站服务公司品牌设计图片
  • 深圳网站营销型建设余姚网站建设
  • 余姚厂家高端网站设计怎么免费建个人网站
  • 做网站金山区凡科网站建设网页怎么建
  • 很色h做游戏网站wordpress国外主题优化
  • 平面设计网站有哪些诚信企业查询系统
  • 大丰区城乡和住房建设局网站自己搭建小程序
  • win7 建设网站服务器wordpress 更改自带域名
  • 哪个网站看电影做便宜网页打包app
  • 网站 全屏幻灯片做的网站用户密码在哪里找
  • 东莞网站推广排名工作室是干什么的
  • 重庆公司大学派斯学院自动seo网站源码
  • 做一手楼盘的网站做物流网站注意什么